diff light.py @ 29:35affd4d37d4 default tip

add 1st ikea color light
author drewp@bigasterisk.com
date Sat, 14 Dec 2024 22:36:29 -0800
parents fb2e91f230f4
children
line wrap: on
line diff
--- a/light.py	Mon Sep 02 20:00:53 2024 -0700
+++ b/light.py	Sat Dec 14 22:36:29 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, WledControl, WledTransport, ZigbeeTransport, espColorMessage, zbBrightnessMessage, zbRelayMessage, zbWhiteSpectrumMessage
+from protocols import ShellyGen1WebTransport, SonoffRelayTransport, TasmotaWebTransport, Transport, WledControl, WledTransport, ZigbeeTransport, espColorMessage, zbBrightnessMessage, zbColorMessage, zbRelayMessage, zbWhiteSpectrumMessage
 
 log = logging.getLogger('lite')
 
@@ -72,7 +72,7 @@
     return Light(name=name, convertColor=twoWhitesConv, transport=TasmotaWebTransport(hostname))
 
 
-def makeShellyRGW2(name: str, hostname: str) -> Light:
+def makeShellyRGBWW(name: str, hostname: str) -> Light:
     return Light(name=name, convertColor=oneWhiteConv, transport=ShellyGen1WebTransport(hostname))
 
 
@@ -84,6 +84,10 @@
     return Light(name=name, convertColor=ikeaWhiteConv, transport=ZigbeeTransport(mqtt, name, ieee, msg=zbWhiteSpectrumMessage))
 
 
+def makeZbIkeaRGBWW(mqtt: MqttIo, name: str, ieee: str) -> Light:
+    return Light(name=name, convertColor=zbConv, transport=ZigbeeTransport(mqtt, name, ieee, msg=zbColorMessage))
+
+
 def makeZbBrightness(mqtt: MqttIo, name: str, ieee: str) -> Light:
     return Light(name=name, convertColor=brightnessConv, transport=ZigbeeTransport(mqtt, name, ieee, msg=zbBrightnessMessage))
 
@@ -120,7 +124,7 @@
 
         self.add(makeZbBar(mqtt, 'do-bar', '0xa4c13844948d2da4'))
         self.add(makeTasmota('do-lamp', 'tasmota-9E2AB7-2743'))
-        self.add(makeTasmota('li-high-shelf', 'light-li-ceil'))
+        self.add(makeTasmota('li-high-shelf', 'li-high-shelf')) # bulb labeled 'L3'. athom. broken wifi.
         self.add(makeTasmota('tr-door', 'light-tr-door'))
 
         self.add(makeWledSingleBulb('ft-hanging', 'light-ft-ceil'))
@@ -128,8 +132,8 @@
         self.add(makeWledStringBrightness('hr-string', 'light-hr-string'))
         self.add(makeWledStringBrightness('tr-string', 'light-tr-string'))
 
-        self.add(makeShellyRGW2('ki-ceiling', 'shellyrgbw2-e868e7f34c35'))
-        self.add(makeShellyRGW2('ki-counter', 'shellyrgbw2-e868e7f34cb2'))
+        self.add(makeShellyRGBWW('ki-ceiling', 'shellyrgbw2-e868e7f34c35'))
+        self.add(makeShellyRGBWW('ki-counter', 'shellyrgbw2-e868e7f34cb2'))
 
         self.add(makeZbIkeaWhiteTemp(mqtt, 'br-floor', '0x000b57fffedabd20'))
         self.add(makeZbIkeaWhiteTemp(mqtt, 'br-wall', '0x14b457fffe2dab6e'))
@@ -137,7 +141,8 @@
         self.add(makeZbIkeaWhiteTemp(mqtt, 'py', '0x000b57fffeaf42cd'))
         self.add(makeZbIkeaWhiteTemp(mqtt, 'rr-lamp', '0x000b57fffe32e5a5'))
         self.add(makeZbIkeaWhiteTemp(mqtt, 'ft-ceiling', '0xd0cf5efffe28abcf'))
-        self.add(makeZbIkeaWhiteTemp(mqtt, 'di-ceiling', '0x000b57fffe8c0ad4'))
+        self.add(makeZbIkeaWhiteTemp(mqtt, 'di-ceiling', '0x000b57fffe8c0ad4')) 
+        self.add(makeZbIkeaRGBWW(mqtt, 'li-high-shelf4', '0xd0cf5efffe158e49')) 
 
         self.add(makeZbBrightness(mqtt, 'go-high', '0x847127fffebb3efa'))