Newer
Older
smart-home-server / automation / Scopes / TestScriptsScope.php
<?php

namespace ControlScripts\Scopes;

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_sync_map(): void {

	}

	public function register_actions_scripts(): void {
		$this -> add_action_script([
			"alias" => "stand_relay_toggle",
			"icon" => '<i class="ph ph-flask"></i>',
			"name" => "Toggle Stang Relay",
			"description" => "Управление тестовым стендом у меня на столе. Просто переключатель",
			"author" => "Eugene Sukhodolskiy"
		], function($params) {
			$device = $this -> devices() -> by_alias("test_stand_relay");
			return [
				"device_response" => $device -> device_api() -> toggle_channel(),
			];
		});
	}

	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();
		// 	}
		// });
	}
}