PHP code example of mapo-89 / laravel-homeassistant-api
1. Go to this page and download the library: Download mapo-89/laravel-homeassistant-api library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mapo-89 / laravel-homeassistant-api example snippets
use Mapo89\LaravelHomeassistantApi\Facades\HomeassistantApi;
$homeassistantApi = HomeassistantApi::make();
//Alternative with dynamic configuration
$config = [
'url' => 'http://homeassistant.local:8123',
'token' => 'your_long_lived_token'
];
$homeassistantApi = HomeassistantApi::make($config);
// Check if the API is working
$homeassistantApi->system()->verify();
// Output current configuration
$homeassistantApi->config()->get();
// Check current configuration
$homeassistantApi->config()->check();
$homeassistantApi->states()->all(); // adapt this to your use case
// renders a template
$homeassistantApi->template()->render(<<<'TEMPLATE'
Paulus is at {{ states('device_tracker.paulus') }}!
TEMPLATE
);
// Retrieve all available events
$events = $homeassistantApi->events()->all();
// Trigger custom event
$homeassistantApi->events()->fire('my_custom_event', [
'source' => 'laravel',
'user_id' => 123,
]);
// Grouped history by entity
$history = $homeassistantApi->history()->get(
start: now()->subHours(12),
entityIds: ['light.kitchen', 'sensor.temperature'],
significantOnly: true
);
// Access per entity
$history['light.kitchen']; // HistoryState[]
$flat = $homeassistantApi->history()->flat(
start: now()->subHours(6),
entityIds: ['light.kitchen', 'sensor.temperature'],
);
$entries = $homeassistantApi->logbook()->get(
start: now()->subHours(6),
entityIds: ['light.kitchen'],
end: now()
);
use Mapo89\LaravelHomeassistantApi\Facades\HomeassistantApi;
$states = HomeassistantApi::make()
->states()
->whereDomain('light')
->whereState('on')
->get();
$lights = HomeassistantApi::make()
->states()
->whereDomain('light')
->get();
$active = HomeassistantApi::make()
->states()
->whereState('on')
->get();
$states = HomeassistantApi::make()
->states()
->whereEntityIds([
'light.kitchen',
'sensor.temperature',
])
->get();
$lights = HomeassistantApi::make()
->states()
->whereDomain('light')
->whereAttribute('brightness', 255)
->get();
$states = HomeassistantApi::make()
->states()->get();
$state = HomeassistantApi::make()
->states()
->whereEntityIds(['light.kitchen'])
->first();
bash
php artisan vendor:publish --provider="Mapo89\LaravelHomeassistantApi\HomeassistantApiServiceProvider" --tag="config"