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")&&(ReadingsTimestamp($name,"mode",0) lt ReadingsTimestamp($name,"LAST_ERROR",0)))? "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
Edit: Mir ist noch im laufenden Betrieb aufgefallen, dass das Reading "LAST_ERROR" nicht zurückgesetzt wird, wenn Twinkly wieder online ist.
Daher muss man das stateFormat anpassen (siehe korrigierte Version oben).
Edit2: von der Funktion "ReadingsTimestamp" wird ein String zurückgegeben, daher muss man nicht mit "<" sondern mit "lt" prüfen.
Der Code wurde korrigiert.