Blockly - Yeelight

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
GünWün
Beiträge: 7
Registriert: 26. Apr 2019 15:15
Answers: 0

Blockly - Yeelight

Beitrag von GünWün »

openHAB 4.3.0
Binding: Yeelight Binding

Hallo zusammen,
ich würde gerne die Yeelight Light Stripes über Blockly steuern,
leider weiß ich nicht wie der Befehl in dem Blockly Skript aussehen muss:
2024-07-16 14_30_45-Window.png

Hier die Fehlermeldungen aus dem LOG:

Code: Alles auswählen

2024-07-16 14:21:27.259 [DEBUG] [internal.handler.YeelightHandlerBase] - Handle Stripe Command: {"id":0("set_power;\"on\",\"smooth\",2000")}

2024-07-16 14:21:27.260 [DEBUG] [internal.handler.YeelightHandlerBase] - Handle Stripe Command: {"id":0("set_power \"on\",\"smooth\",2000")}

2024-07-16 14:21:27.260 [DEBUG] [lib.device.connection.WifiConnection] - WifiConnection: Write Success!

2024-07-16 14:21:27.311 [DEBUG] [lib.device.connection.WifiConnection] - WifiConnection: get response: {"id":0, "error":{"code":-1, "message":"invalid command"}}

2024-07-16 14:21:27.312 [INFO ] [light.internal.lib.device.DeviceBase] - status = DeviceStatus [isPowerOff=true, r=255, g=160, b=122, color=16752762, brightness=1, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]

2024-07-16 14:21:27.312 [DEBUG] [internal.handler.YeelightHandlerBase] - UpdateState->DeviceStatus [isPowerOff=true, r=255, g=160, b=122, color=16752762, brightness=1, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]

2024-07-16 14:21:27.312 [DEBUG] [internal.handler.YeelightHandlerBase] - Update Color->17.143,52.15700,0

2024-07-16 14:21:27.312 [DEBUG] [internal.handler.YeelightHandlerBase] - Update CT->2700
Könnte mir jemand einen Tipp geben, wie der Befehl geschrieben wird?
Vielen Dank
Gruß Günni
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Harka
Beiträge: 371
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Blockly - Yeelight

Beitrag von Harka »

Moin,
ich nutze kein Yeelight. Mir scheint, dass Dein Befehl zu umfangreich ist. Ist die ID nicht schon im Thing hinterlegt?
Folgendes könnte ein Versuch wert sein:
Yeelight1.png
oder
Yeelight2.png
Der stringify-Befehl ist Bestandteil der Block Libraries "JSON Tool" und ist unter /addons/automation/ zu finden.
Wenn es ums Schalten geht schau mal hier -> https://community.openhab.org/t/yeeligh ... l/149706/2
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

GünWün
Beiträge: 7
Registriert: 26. Apr 2019 15:15
Answers: 0

Re: Blockly - Yeelight

Beitrag von GünWün »

Hi @Harka,
danke für deine Hilfe.
Das hat leider nicht funktioniert.

Code: Alles auswählen

2024-07-17 22:17:05.204 [DEBUG] [internal.handler.YeelightHandlerBase] - Handle Stripe Command: "set_power;\"on\",\"smooth\",500"
2024-07-17 22:17:05.204 [DEBUG] [internal.handler.YeelightHandlerBase] - Handle Stripe Command: "set_power \"on\",\"smooth\",500"
2024-07-17 22:17:05.204 [DEBUG] [lib.device.connection.WifiConnection] - WifiConnection: Write Success!
2024-07-17 22:17:05.312 [DEBUG] [lib.device.connection.WifiConnection] - WifiConnection: get response: {"id":0, "error":{"code":-1, "message":"invalid command"}}
2024-07-17 22:17:05.312 [INFO ] [light.internal.lib.device.DeviceBase] - status = DeviceStatus [isPowerOff=true, r=255, g=160, b=122, color=16752762, brightness=11, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]
2024-07-17 22:17:05.312 [DEBUG] [internal.handler.YeelightHandlerBase] - UpdateState->DeviceStatus [isPowerOff=true, r=255, g=160, b=122, color=16752762, brightness=11, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]
2024-07-17 22:17:05.313 [DEBUG] [internal.handler.YeelightHandlerBase] - Update Color->17.143,52.15700,0
2024-07-17 22:17:05.313 [DEBUG] [internal.handler.YeelightHandlerBase] - Update CT->2700
So sieht das aus, wenn ich das über die APP versende.

Code: Alles auswählen

2024-07-17 22:18:56.340 [DEBUG] [lib.device.connection.WifiConnection] - WifiConnection: get response: {"method":"props","params":{"power":"on"}}
2024-07-17 22:18:56.341 [INFO ] [light.internal.lib.device.DeviceBase] - status = DeviceStatus [isPowerOff=false, r=255, g=160, b=122, color=16752762, brightness=11, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]
2024-07-17 22:18:56.341 [DEBUG] [internal.handler.YeelightHandlerBase] - UpdateState->DeviceStatus [isPowerOff=false, r=255, g=160, b=122, color=16752762, brightness=11, ct=2700, hue=17, sat=52, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=, backgroundIsPowerOff=false, backgroundR=0, backgroundG=0, backgroundB=0, backgroundHue=0, backgroundBrightness=0, backgroundSat=0, activeMode=null]
2024-07-17 22:18:56.342 [DEBUG] [internal.handler.YeelightHandlerBase] - Update Color->17.143,52.15700,11
2024-07-17 22:18:56.342 [DEBUG] [internal.handler.YeelightHandlerBase] - Update CT->2700
Ich habe es jetzt "erstmal" so lösen können. Ich wussste nicht das das geht...
2024-07-17 22_26_56-Window.png
Ich würde es ja nur gerne verstehen :-D
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 14387
Registriert: 11. Apr 2018 18:05
Answers: 224
Wohnort: Darmstadt

Re: Blockly - Yeelight

Beitrag von udo1toni »

Grundsätzlich wird man gewöhnlich Lampen direkt steuern wollen, hier handelt es sich um eine RGB-Lampe, entsprechend gibt es einen color Channel, der mit einem Color Item verlinkt werden kann.
Das Color Item kann dann direkt über ein Color Wigdet gesteuert werden, man kann aber auch Dimmer Befehle verwenden (das sollte dann nur die Helligkeit steuern ohne am Farbton etwas zu ändern) oder auch Switch Befehle, also OFF/ON.
Was bei ON genau passiert, ist natürlich abhängig von der Umsetzung im Binding und in der jeweiligen Hardware. Meine Dimmer sind per knx angebunden und dimmen beim ON-Befehl auf einen von mir vorher festgelegten Wert, also nicht unbedingt die volle Helligkeit. Außerdem tun sie dies über einen definierten Zeitraum, sie "blenden" also allmählich auf oder ab.
Bei den Yeelights kannst Du halt auch komplexere Befehle senden, über Die Du gezielt z.B. eine Blendzeit mit übergeben kannst.
Auf die Schnelle habe ich dieses Handbuch gefunden: https://www.yeelight.com/download/Yeeli ... n_Spec.pdf da sind die möglichen Befehle und deren Parameter genau erklärt.
Das Format in openHAB weicht etwas vom Format in Yeelight ab, dort wird ein JSON gesendet, das Binding nutzt stattdessen einen einfachen String. Der String enthält allerdings Anführungszeichen, welche escaped werden müssen, wenn man den String als String innerhalb einer Textdatei definiert.

Ich nutze Blockly nicht, ebenso habe ich keine Yeelights, mein Tipp hier: Klicke Dir den betreffenden Befehl zusammen und wechsele anschließend in die Code Ansicht. Dort gibt es zunächst einen verwirrend komplexen Codeblock, der tatsächlich die dargestellte Grafik beschreibt, weiter unten findest Du dann den eigentlichen auszuführenden Code. Prüfe dort die übergebene Zeichenkette. Notfalls kannst Du auch den Code hier hochladen (als Text einfügen, den Text als Code markieren), vier Augen sehen mehr als zwei ;)
openHAB4.2.0 stable in einem Debian-Container (bookworm) (Proxmox 8.2.4, LXC), mit openHABian eingerichtet

Antworten