<?php
namespace ControlScripts;
use \SHServ\Entities\Device;
class TestScriptsScope extends \SHServ\Middleware\ControlScripts implements \SHServ\Implements\ControlScriptsInterface {
public function register_events_handlers(): void {
// $this -> stand_btn_pressed_to_stand_relay();
}
public function register_actions_scripts(): void {
$this -> add_action_script([
"alias" => "script_alias",
"name" => "script name",
"description" => "script description",
"author" => "Eugene Sukhodolskiy"
], function($params) {
return ["test", $params];
});
}
public function register_regular_scripts(): void {
// $this -> add_regular_script([
// "alias" => "regular_script_alias2",
// "name" => "regular script name 2",
// "description" => "regular script description 2",
// "author" => "Eugene Sukhodolskiy"
// ], function() {
// try {
// $button = $this -> devices() -> by_alias("backdoor_buttons");
// $btn_api = $button -> device_api();
// if($btn_api instanceof \SHServ\Tools\DeviceAPI\Button) {
// if(($btn_api -> get_status())["channels"][2]["indicator"] != "error") {
// $btn_api -> set_channel_state("error", 2);
// } else {
// $btn_api -> set_channel_state("mute", 2);
// }
// }
// } catch(\Exception $e) {
// echo $e -> getMessage();
// }
// });
}
// EVENTS HANDLERS
// protected function stand_btn_pressed_to_stand_relay() {
// $this -> add_event_handler("button@backdoor_buttons(1).press", function(Device $device, Array $data) {
// $relay = $this -> devices() -> by_alias("stand_relay");
// $relay -> device_api() -> toggle_channel(0);
// $relay_channels = ($relay -> device_api() -> get_status())["channels"];
// $device_api = $device -> device_api();
// if($device_api instanceof \SHServ\Tools\DeviceAPI\Button) {
// $device_api -> set_channel_state(
// $relay_channels[0]["state"] == "on" ? "enabled" : "disabled",
// $data["channel"]
// );
// }
// });
// }
}