Mercurial > code > home > repos > light-bridge
diff light.py @ 23:7d9a056e29fe
esp rgbw output; cleanup
author | drewp@bigasterisk.com |
---|---|
date | Mon, 29 Jan 2024 23:41:27 -0800 |
parents | 178e020289c1 |
children | cee43f550577 |
line wrap: on
line diff
--- a/light.py Mon Jan 29 13:01:23 2024 -0800 +++ b/light.py Mon Jan 29 23:41:27 2024 -0800 @@ -6,7 +6,7 @@ from color import Color from color_convert import DeviceColor, brightnessConv, ikeaWhiteConv, oneWhiteConv, relayConv, twoWhitesConv, zbConv from mqtt_io import MqttIo -from protocols import ShellyGen1WebTransport, SonoffRelayTransport, TasmotaWebTransport, Transport, ZigbeeTransport, zbBrightnessMessage, zbRelayMessage, zbWhiteSpectrumMessage +from protocols import ShellyGen1WebTransport, SonoffRelayTransport, TasmotaWebTransport, Transport, ZigbeeTransport, espColorMessage, zbBrightnessMessage, zbRelayMessage, zbWhiteSpectrumMessage log = logging.getLogger('lite') @@ -98,6 +98,12 @@ transport=ZigbeeTransport(mqtt, name, '', topic=lambda *arg: topicPrefix + '/command', msg=zbBrightnessMessage)) +def makeEspRgbw(mqtt: MqttIo, name: str, topicPrefix: str) -> Light: + return Light(name=name, + convertColor=oneWhiteConv, + transport=ZigbeeTransport(mqtt, name, '', topic=lambda *arg: topicPrefix + '/command', msg=espColorMessage)) + + class Lights: _d: dict[str, Light] = {} @@ -136,6 +142,8 @@ self.add(makeEspBrightness(mqtt, 'ws-kid', 'workshop/light/kid')) self.add(makeEspBrightness(mqtt, 'ws-sewing', 'workshop/light/sewing')) + self.add(makeEspRgbw(mqtt, 'br-headboard', 'bed/light/headboard')) + # ft-ceil # li-toys # sh-top