Autor Thema: Twinkly Weihnachtsbeleuchtung: Einschalten  (Gelesen 130 mal)

Offline gestein

  • Sr. Member
  • ****
  • Beiträge: 989
Twinkly Weihnachtsbeleuchtung: Einschalten
« am: 25 November 2021, 11:30:31 »
Hallo,

ich wollte gestern meine Twinkly ICICLE auch in fhem einbinden.
Vorgegangen bin ich nach dieser Anleitung von peterk_de.
https://forum.fhem.de/index.php/topic,93197.msg1004834.html#msg1004834

Das scheint auch zu funktionieren. Danke dafür.

Allerdings habe ich meine Probleme mit dem Einschalten.
Anscheinend gibt es kein einfaches "on", sondern man muss einen mode aus den folgenden Möglichkeiten auswählen:
  • off - turns off lights
  • color - shows a static color
  • demo - starts predefined sequence of effects that are changed after few seconds
  • movie - plays predefined or uploaded effect. If movie hasn’t been set (yet) code 1104 is returned.
  • rt - receive effect in real time
  • effect - plays effect with effect_id
  • playlist

Da bei mir noch kein movie gesetzt war, kommt halt einfach nur der Fehler 1104.
Kennt jemand eine Möglichkeit den letzten Modus aufzurufen?

Immerhin kann man z.B. den Modus einfach wechseln, mit dem eingeschaltet wird.
Wenn man z.B. die letzte statische Farbe mit "an" einschalten will, dann ändert man das Attribut eventmap:
eventMap /mode off:aus/mode color:an/.

Allerdings ändert sich der Status (zumindest bei mir) erst, wenn wieder mal ein Update aufgerufen wird.

Danke, lg, Gerhard

Offline gestein

  • Sr. Member
  • ****
  • Beiträge: 989
Antw:Twinkly Weihnachtsbeleuchtung: Einschalten
« Antwort #1 am: Heute um 14:21:12 »
Hallo,

ich habe mich in den letzten Tagen etwas mit meinen Twinklys und der Einbindung in fhem beschäftigt.
Eigentlich wollte ich die per MQTT einbinden, das funktioniert aber wahrscheinlich nur bei der Firmware Version F.
Ich habe beim mir Firmware Version G, damit läuft die Verbindung über TLS.
An das Zertifikat kommt man aber nicht.
Selbst Twinkly sagt njet und verweist auf Anfrage nur auf die inoffiziellen API-Dokumentationen im Netz.
Es gibt nix Offizielles dazu.
Bleibt also der Weg über HTTPMOD und das funktioniert eh ganz gut.

Mich hat bisher gestört, dass man nicht sieht, wenn das Device offline ist.
Falls es jemand brauchen kann, hier meine Lösung zusätzlich zur Anleitung von peterk_de.
attr wz.wbaum showError 1
attr wz.wbaum stateFormat {my $err=ReadingsVal($name,"LAST_ERROR","");; ($err =~ "timed out")? "offline":ReadingsVal($name,"mode","Error");;}
Wenn jemand weiß, wie man das besser abfängt, bitte lasst es mich wissen.

Falls noch jemand die entsprechende Funktion benötigt um am Twinkly etwas zu ändern (hier als Bespiel die MQTT Einstellungen):
attr wz.wbaum set02Data {"broker_host":"192.168.0.xxx","broker_port":1883,"client_id":"E8DB840EDCA1","user":"xxxx","keep_alive_interval":60}
attr wz.wbaum set02Name set_MQTT
attr wz.wbaum set02URL http://192.168.0.xxx/xled/v1/mqtt/config

Und hier die Ergänzung zum Auslesen von Parametern, die nicht-public sind (hier z.B. MQTT):
attr wz.wbaum get02Header1 Content-Type: application/json
attr wz.wbaum get02Header2 X-Auth-Token: $sid
attr wz.wbaum get02Name MQTT
attr wz.wbaum get02URL http://192.168.0.xxx/xled/v1/mqtt/config

lg, Gerhard

 

decade-submarginal