<?php
namespace ControlScripts;
use \SHServ\Entities\Device;
class LightHubScope extends \SHServ\Middleware\ControlScripts implements \SHServ\Implements\ControlScriptsInterface {
public function register_events_handlers(): void {
}
public function register_actions_scripts(): void {
$this -> add_action_script([
"alias" => "master_room_lamp_switcher",
"name" => "Осн. свет в спальне",
"icon" => '<i class="ph ph-lightbulb"></i>',
"description" => "Включить/выключить основной свет в спальне",
"author" => "Eugene Sukhodolskiy"
], function($params) {
return $this -> lamp_switch("light_hub_1", 1);
});
$this -> add_action_script([
"alias" => "hallway2_lamp_switcher",
"name" => "Осн. свет в холе, эт2",
"icon" => '<i class="ph ph-lightbulb"></i>',
"description" => "Включить/выключить основной свет в холе на втором этаже",
"author" => "Eugene Sukhodolskiy"
], function($params) {
return $this -> lamp_switch("light_hub_1", 2);
});
$this -> add_action_script([
"alias" => "bathroom2_lamp_switcher",
"name" => "Осн. свет в ванной 2",
"icon" => '<i class="ph ph-lightbulb"></i>',
"description" => "Включить/выключить основной свет в ванной комнате на верху",
"author" => "Eugene Sukhodolskiy"
], function($params) {
return $this -> lamp_switch("light_hub_1", 3);
});
}
public function register_regular_scripts(): void {
}
// ACTIONS
protected function lamp_switch(String $relay_alias, int $channel): Array {
$relay_api= $this -> devices() -> by_alias($relay_alias) -> device_api();
$result = false;
if($relay_api instanceof \SHServ\Tools\DeviceAPI\Relay) {
$result = $relay_api -> toggle_channel($channel);
}
return [
"result" => $result
];
}
}