From be9aff8b5e4b11fae6c1423c55f3c0a12368e4f0 Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Fri, 23 Sep 2022 07:34:11 -0400 Subject: [PATCH] power: loosen bound service requirement Specifically check against the detected service unit, otherwise allow a power device to bind to any available service. Signed-off-by: Eric Callahan --- moonraker/components/power.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/moonraker/components/power.py b/moonraker/components/power.py index 660fe6a..98bca04 100644 --- a/moonraker/components/power.py +++ b/moonraker/components/power.py @@ -321,11 +321,12 @@ class PowerDevice: def _setup_bound_service(self) -> None: if self.bound_service is None: return - if self.bound_service.startswith("moonraker"): - raise self.server.error( - f"Cannot bind to '{self.bound_service}' " - "service") machine_cmp: Machine = self.server.lookup_component("machine") + if machine_cmp.unit_name == self.bound_service.split(".", 1)[0]: + raise self.server.error( + f"Power Device {self.name}: Cannot bind to Moonraker " + f"service, {self.bound_service}." + ) sys_info = machine_cmp.get_system_info() avail_svcs: List[str] = sys_info.get('available_services', []) if self.bound_service not in avail_svcs: