From 7d0a614a86d984fb1c8c87bee9231a14fc5eea51 Mon Sep 17 00:00:00 2001 From: tomaae <23486452+tomaae@users.noreply.github.com> Date: Mon, 20 Apr 2020 11:46:23 +0200 Subject: [PATCH] added option to specify router name for services --- custom_components/mikrotik_router/__init__.py | 5 +++-- .../mikrotik_router/mikrotik_controller.py | 12 ++++++++++-- custom_components/mikrotik_router/services.yaml | 5 ++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/custom_components/mikrotik_router/__init__.py b/custom_components/mikrotik_router/__init__.py index 625bf3a..6dd249a 100644 --- a/custom_components/mikrotik_router/__init__.py +++ b/custom_components/mikrotik_router/__init__.py @@ -5,7 +5,6 @@ import voluptuous as vol import homeassistant.helpers.config_validation as cv from homeassistant.exceptions import ConfigEntryNotReady -from homeassistant.const import CONF_NAME from .const import ( DOMAIN, DATA_CLIENT, @@ -15,7 +14,9 @@ from .mikrotik_controller import MikrotikControllerData _LOGGER = logging.getLogger(__name__) -SCRIPT_SCHEMA = vol.Schema({vol.Required(CONF_NAME): cv.string}) +SCRIPT_SCHEMA = vol.Schema( + {vol.Required("router"): cv.string, vol.Required("script"): cv.string} +) # --------------------------- diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 5450fa6..de2488d 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -194,8 +194,16 @@ class MikrotikControllerData: def run_script(self, name): """Run script using Mikrotik API""" if type(name) != str: - if CONF_NAME in name.data: - name = name.data.get(CONF_NAME) + if "router" not in name.data: + return + + if self.config_entry.data["name"] != name.data.get("router"): + return + + if "script" in name.data: + name = name.data.get("script") + else: + return try: self.api.run_script(name) diff --git a/custom_components/mikrotik_router/services.yaml b/custom_components/mikrotik_router/services.yaml index 4d7cb38..d318823 100644 --- a/custom_components/mikrotik_router/services.yaml +++ b/custom_components/mikrotik_router/services.yaml @@ -1,6 +1,9 @@ run_script: description: Run script on Mikrotik fields: - name: + router: + description: Name of the router + example: "Mikrotik" + script: description: Name of the script example: "MyScript" \ No newline at end of file