diff --git a/server/ControlScripts/SpotlightsScope.php b/server/ControlScripts/SpotlightsScope.php index ea020fb..6a44047 100644 --- a/server/ControlScripts/SpotlightsScope.php +++ b/server/ControlScripts/SpotlightsScope.php @@ -104,10 +104,6 @@ protected function backdoor_btns_online() { $this -> add_event_handler("button@buttons_backdoor.online", function(Device $btns_block, Array $data) { - $btns_block -> device_ip = $data["data"]["device_ip"]; - $btns_block -> description = $btns_block -> description . "\n" . json_encode($data); - $btns_block -> update(); - $btns_block_api = $btns_block -> device_api(); if($btns_block_api instanceof \SHServ\Tools\DeviceAPI\Button) { $btns_block_api -> set_channel_state("mute", 3); diff --git a/server/SHServ/App.php b/server/SHServ/App.php index 16120f8..406cb87 100644 --- a/server/SHServ/App.php +++ b/server/SHServ/App.php @@ -23,6 +23,7 @@ public $devtools; public $control_scripts_instances = []; + protected $required_control_scripts_instance; public function __construct(){ parent::__construct(); @@ -80,6 +81,8 @@ } public function control_scripts_init() { + $this -> required_control_scripts_instance = new \SHServ\RequiredControlScriptsScope(); + $scripts_dir = scandir(__DIR__ . "/../ControlScripts/"); $scripts = array_filter($scripts_dir, function($item) { return !is_dir($item) and (pathinfo($item))["extension"] == "php"; diff --git a/server/SHServ/RequiredControlScriptsScope.php b/server/SHServ/RequiredControlScriptsScope.php new file mode 100644 index 0000000..d3f9ebd --- /dev/null +++ b/server/SHServ/RequiredControlScriptsScope.php @@ -0,0 +1,26 @@ + add_event_handler("online", function(Device $device, Array $data) { + $device -> device_ip = $data["data"]["device_ip"]; + $device -> description = $device -> description . "\n" . json_encode($data); + + $device_info = $device -> device_api() -> get_about(); + if($device_info and isset($device_info["data"]) and $device_info["data"]) { + $device -> firmware_version = $device_info["data"]["firmware_version"]; + } + + $device -> update(); + }); + } + + public function register_regular_scripts(): void { } + + public function register_actions_scripts(): void { } + +} \ No newline at end of file