<?php /** * Example: List sensors. * * Usage: HUE_HOST=127.0.0.1 HUE_USERNAME=1234567890 php list-sensors.php */ require_once 'common.php'; $client = new \Phue\Client($hueHost, $hueUsername); echo 'Listing sensors:', "\n"; foreach ($client->getSensors() as $sensor) { echo "\t", "#{$sensor->getId()} - {$sensor->getName()}", "\n", "\t\t", "Type: {$sensor->getType()}", "\n", "\t\t", "Model Id: {$sensor->getModelId()}", "\n", "\t\t", "Manufacturer Name: {$sensor->getManufacturerName()}", "\n", "\t\t", "Software Version: {$sensor->getSoftwareVersion()}", "\n", "\t\t", "Unique Id: {$sensor->getUniqueId()}", "\n", "\t\t", "Model name: {$sensor->getModel()->getName()}", "\n"; foreach ($sensor->getState() as $key => $value) { echo "\t\t", "State - {$key}: ", json_encode($value), "\n"; } foreach ($sensor->getConfig() as $key => $value) { echo "\t\t", "Config - {$key}: ", json_encode($value), "\n"; } }
<?php /** * Example: Update test sensor. * * Usage: HUE_HOST=127.0.0.1 HUE_USERNAME=1234567890 php update-sensor.php */ require_once 'common.php'; $client = new \Phue\Client($hueHost, $hueUsername); echo 'Updating test rule', "\n"; $sensor = $client->getSensors()[4]; $client->sendCommand((new \Phue\Command\UpdateSensor($sensor))->name('Test sensor new name')); $client->sendCommand((new \Phue\Command\UpdateSensorState($sensor))->stateAttribute('flag', false)); $client->sendCommand((new \Phue\Command\UpdateSensorConfig($sensor))->configAttribute('battery', 99));
<?php /** * Example: Create test rule. * * Usage: HUE_HOST=127.0.0.1 HUE_USERNAME=1234567890 php create-rule.php */ require_once 'common.php'; $client = new \Phue\Client($hueHost, $hueUsername); echo 'Creating test rule', "\n"; $sensors = $client->getSensors(); $sensor = $sensors[2]; $rule = new \Phue\Command\CreateRule('Button 1 press'); $cond1 = new \Phue\Condition(); $cond2 = new \Phue\Condition(); $g_state = new \Phue\Command\SetGroupState(0); $cmd = $rule->addCondition($cond1->setSensorId($sensor)->setAttribute('buttonevent')->equals()->setValue(\Phue\SensorModel\ZgpswitchModel::BUTTON_2))->addCondition($cond2->setSensorId($sensor)->setAttribute('lastupdated')->changed())->addAction($g_state->brightness(2)); $ruleId = $client->sendCommand($cmd); echo 'Rule Id: ', $ruleId, "\n";