From 8aca4a89c7cf08a1d0df32a385d695669b666528 Mon Sep 17 00:00:00 2001 From: Artur Albov Date: Tue, 10 Dec 2024 21:51:00 +0300 Subject: [PATCH] Fix KeyError for gpiozero digital_outputs #414 (#415) --- mqtt_io/modules/gpio/gpiozero.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mqtt_io/modules/gpio/gpiozero.py b/mqtt_io/modules/gpio/gpiozero.py index a1ad88c1..ff6f3dbb 100644 --- a/mqtt_io/modules/gpio/gpiozero.py +++ b/mqtt_io/modules/gpio/gpiozero.py @@ -82,7 +82,12 @@ def set_pin(self, pin: PinType, value: bool) -> None: self._out_pins[pin].off() def get_pin(self, pin: PinType) -> bool: - return cast(bool, self._in_pins[pin].is_active) + if pin in self._in_pins: + return cast(bool, self._in_pins[pin].is_active) + elif pin in self._out_pins: + return bool(self._out_pins[pin].value) + else: + raise ValueError(f"Pin {pin} not found") def setup_interrupt_callback( self,