Modul 31_Twinkly.pm - Control Twinkly Lights

Begonnen von t1me2die, 21 November 2022, 13:21:41

Vorheriges Thema - Nächstes Thema

t1me2die

Moin liebes Forum,

passend zur anbrechenden Winterzeit kam mal wieder die Twinkly Lichterkette aus dem Keller zum Vorschein.
Ich stellte mir also erneut die Frage, ob es mittlerweile ein Modul zur Steuerung der unzähligen Twinkly Produkte https://twinkly.com/de gibt.
Bisher habe ich die Steuerung immer über HTTPMOD vorgenommen, was nur sehr eingeschränkt funktionierte.

Bei meiner Recherche bin ich auf die (unofficial) RESTful API Beschreibung von https://xled-docs.readthedocs.io/en/latest/rest_api.html gestoßen.

Anhand der API habe ich nun ein erstes Modul mit dem Namen 31_Twinkly.pm entwickelt, welches ich aktuell mit folgenden Geräten betreibe:

  • Strings GoldEdition (AWW auch genannt)
  • Strings RGBW Edition
  • Spritzer (RGB)
  • Cluster (RGB)
  • Festoon (RGB)

Das Modul steht zum Test in meinem git zu Verfügung / alternativ am Ende des Beitrages:
https://github.com/t1me2die/31_Twinkly.pm/blob/main/31_Twinkly.pm

Dokumentation im FHEMWiki:
https://wiki.fhem.de/wiki/Twinkly

Zu aller erst, dass Modul ist in der Entwicklungsphase und nicht alle Funktionen sind zu 100% getestet, daher gilt "Verwendung auf eigene Gefahr!".

Nachdem ihr das Modul in das FHEM Verzeichnis gepackt habt und einen:
reload 31_Twinkly.pm
vorgenommen habt, könnt ihr mit dem

Define fortsetzen:
define <name> Twinkly <IP-Adresse / Hostname>

Beispiel:
define Weihnachtskaktus Twinkly 192.168.178.100
oder
define Weihnachtskaktus Twinkly Weihnachtskaktus.fritz.box


Stellt bitte sicher, dass euer Twinkly Device im Netzwerk erreichbar ist.
Anschließend gebt dem Modul bitte 1-2Minuten um die notwendigen Informationen auszulesen.

Zuerst wird ein TOKEN vom Twinkly Device angefordert, womit man sich authentifizieren muss (Expire after ~4h).
Es werden interne Geräteinformationen in den Readings abgelegt.
Es wird versucht das Model automatisch zu ermitteln.
Es wird versucht ein Icon und das passende webCmd für eine einfache Steuerung zu setzen.

Folgende GET Befehle stehen zur Auswahl:

  • Gestalt - main device informations
  • Mode    - get actual mode of device
  • Movies  - get all uploaded / saved movies from the device
  • Name    - get internal informations of the device
  • Network - get network informations of the device
  • Token   - check if the token is valid or need to updated

Folgende SET Befehle stehen zur Auswahl:

  • brightness - set brightness to device
  • effect_id  - set a standard effect to device
  • hue        - set hue color to device
  • mode       - set different mode to device
  • movie      - switch between uploaded /saved movies - use "get Device Movies" first!
  • on         - switch device on in the movie mode
  • off        - switch device off
  • saturation - set saturation to device

Folgendes ATTR kann optional gesetzt werden:

  • model                - will be set automatically depends on the product_code
  • interval              - define the refresh interval (min: 15sec -> default: each 60sec)

Eine erste "Device specific Help" habe ich angelegt - zum Großteil zuerst auf englisch.

Falls ihr eine Gruppierung von mehreren Geräten in der Twinkly App vorgenommen habt, so müsst ihr das Main-Steuerungsgerät herausfinden.
In meinem Fall habe ich zwei AWW (400 und 250er Strings) via Join verbunden. In meinem Fall war es das erste Gerät in der Gruppierungsliste (dies war auch das Gerät, welches ich zuerst ausgewählt hatte!).
Das zweite Gerät kann man via einzeln auch steuern, jedoch kommt die Gruppierung dann ein wenig durcheinander, weswegen ich vorschlagen würde, dass ihr nur das Main-Gerät definiert. Die Funktionen sind hier identisch wie bei einem einzelnen Gerät.

Für Feedback, Code-Verbesserung und weitere Vorschläge bin ich gerne offen :)
Ansonsten hoffe ich, dass es vielleicht dem Ein oder Anderen hilft die Weihnachtszeit etwas stressfreier zu gestalten  :)

@Energieverbrauch: Ich habe soeben den Verbrauch vom Spritzer und Cluster (400 RGB) gemessen und bin ein wenig überrascht.

  • Spritzer -> 18-19Watt unabhängig von der eingestellten Helligkeit, d.h. es ist egal ob man auf 1% Helligkeit oder auf 100% Helligkeit das Gerät im Modus "movie" laufen lässt. Im Modus "color" (eine einzelne Farbe), sinkt der Verbrauch geringfügig.
  • Cluster -> 37-38Watt, unabhängig der Helligkeit. Im Modus "color" liegt der Verbrauch bei 100% Helligkeit -> 33Watt, 50% Helligkeit -> 36Watt, 25% Helligkeit -> 37Watt, 1% Helligkeit -> 38Watt

Gruß
Mathias

@Edit:
Changelog:
* v0.1.0 fixed ct colorpicker and published to fhem forum.
* v0.1.1 message in INTERNAL if no movie(s) found on device
* v0.1.2 warning messages if no movies found and cmd 'on' sent
* v0.1.3 ability to use ct colorpicker by RGBW devices (set <name> ct 2000-6500)
* v0.1.4 added error messages for set commands
* v0.1.5 1. call json2reading if $data is not "Invalid Token"
         2. If Token is resettet -> Invalid Token -> call stateRequest to get new Token
* v0.1.6 List of "getMovies" saved with {helper} in devices to save time by the loop

peterk_de

Schön, dass das mal jemand in ein Modul gießt :-)

Wenn ich zwischen den zeilen lese, heißt das, die haben die Firmware/API endlich mal so geupdated, dass man jetzt mehr als eine selbstdesignte Animation auf die Kette hochladen und dann per API dazwischen wechseln kann? Das ging mit meinen Ketten in den letzten Jahren nicht und wäre ja großartig!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

#2
Mit der neusten Firmware (2.8.11) und den GEN II Sticks (welche seit einigen Jahren) ausgeliefert werden, kann man bis zu 15 eigene Effekte via Twinkly App bauen / basteln / malen / downloaden und auf dem Stick speichern / hochladen.
Diese werden dann als Effekte gespeichert.
Diese Effekte alias "Movies" kann man mit dem Modul via "get <name> Movies" vom Stick laden / auslesen.
In den Readings werden dann alle Movies gespeichert.
Jedes Movies besitzt eine ID, diese ID wird benötigt, um das jeweilige Movie anzusteuern / schalten.
Leerzeichen in den Movie-Namen werden raus gelöscht um die Movies darzustellen und via "set <name> movie <Movie-Namen>" absetzen zu können (siehe Screenshot)

Gruß
Mathias

peterk_de

Großartig. Das ist DIE Funktion, die mir seit erscheinen der Ketten fehlte - jetzt kann ich je nach Lichtstimmung einen anderen Effekt nehmen :-)

Dann hole ich direkt mal die Ketten aus dem Keller und teste dein Modul. Das jährliche Entheddern war eigentlich erst für nächstes WE geplant, aber das muss unbedingt nen Probelauf bekommen ;)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

Welche Ketten hast du denn im Bestand?
Achte darauf, dass du das Modul und die Twinkly App nicht gleichzeitig einsetzt!
Disable am besten das Modul / Device, wenn du eine Kette via Twinkly App steuerst!
Hintergrund ist, auch die Twinkly App fragt bei dem Device einen TOKEN an.
Da zwei Anfragen (einmal FHEM und einmal Twinkly App) bei der Kette eintreffen wird jedes Mal ein neuer Token generiert, deswegen kommt es zu Steuerungsproblemen!
Das Modul prüft / aktualisiert automatisch den Token, ggf. könnte man das prüfen / aktualisieren auch via "get <name> Token" erneut anstoßen, läuft aber im Interval alle 60Sekunden.
Dementsprechend sollte sich auch alle 60 Sekunden der Status / Readings im FHEM aktualisieren.
Ein pollen wir beim HUE Modul ist mit meinem aktuellen Wissen nicht möglich.

Gruß
Mathias

peterk_de

Was soll ich sagen - es geht auf Anhieb! Wenn das mal bei jedem Modul so wäre ;-)

Firmware der Kette hatte ich vor der Installation geupdatet - da war dann in der App schon die neue Möglichkeit sichtbar, mehrere Effekte hochzuladen (etwas provisorisch zwar - man kann nur den letzten hochgeladenen Effekt löschen - aber immerhin ;D )

App hatte ich dann geschlossen, das kannte ich noch aus meinem Gebastel mit HTTPMOD. Und dann das Twinkly-Device definiert - List::MoreUtils hatte ich nicht und musste ich noch installieren. Aber dann lief es sofort! Nach ca. 2 min waren alle DeviceInfos gelesen und Steuerung ging. Und nach deinem Tipp mit get movies geht jetzt auch das direkte Ansteuern von Effekten! SUUPER!

Also das Entheddern der Kette war definitiv schwieriger ;) Herzlichen Dank!!!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

Das freut mich  :)
Das Gruppieren von Ketten / Geräten habe ich bisher noch nicht getestet (auch nicht in der Twinkly App).

Neue Updates / Fixes lade ich von Zeit zu Zeit im ersten Beitrag / GitHub hoch.

Gruß
Mathias

peterk_de

Ok, Gruppieren kann ich grad schlecht probieren, brauche ich aber für den W-Baum und teste ich baldmöglichst. Ich denke aber, wenn das in der API so geblieben ist, sollte es keine größeren Probleme machen, solang man immer nur mit der ersten Kette redet, die zweite also in FHEM nicht anfasst. Hoffe ich zumindest ;) Ich berichte dann.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

Falls Dir das Refresh INTERVAL von 60Sekunden (default) zu lange dauert, kannst du über:

attr <name> interval xx

das Interval verändern (min. 15).
Der "define" kann alternativ auch mit dem Hostnamen erfolgen wie z.B.:
define Weihnachtskaktus Twinkly weihnachtskaktus.fritz.box

Ich habe nun den Colortemperatur (CT) Colorpicker von ehemals AWW umbenannt auf CT, sodass man einheitlich ist.
Geräte, die z.B. RGB+W besitzen können nun via HUE (RGB) Colorpicker oder auch via CT Colorpicker gesteuert werden.
Die Set-Befehle sollten entsprechend automatisch vorhanden sein.

Gruß
Mathias

ossi

Hallo,
ich habe dieses Jahr erstmals eine Twinkly Kette im Einsatz und war begeistert, dass es bereits ein Modul dafür gibt. Noch begeisterter war ich, dass gleich alles im ersten Versuch geklappt hat, hatte eigentlich befürchtet, dass ich stundenlang rumbasteln müsste um irgendetwas zum laufen zu bringen. Vielen Dank dafür.

Wie immer sind die Benutzer aber natürlich nie zufrieden  :)

Da ich die Kette per Power Switch (gemeinsam mit dem sonstigen Weihnachtskram) automatisch abschalte wenn nicht benötigt, findet sich im FHEM Logfile natürlich für diesen Zeitraum eine nervige Fehlermeldung, dass die Kette nicht erreichbar wäre.

Nun nutzt man das Ding ja in der Regel sowieso nur für kurze Zeit, daher dachte ich es wäre vielleicht eine gute Idee, wenn man noch ein 'Disable' einbauen könnte, so dass man das Teil nach Weihnachten einfach funktionslos machen kann. Kommt das nächste Jahr kann man auf Knopfdruck wieder weiter machen.

Denkst du sowas wäre noch machbar?

bartman121

Dafür gibt es das Attribut disable

Du kannst das auch setzen ohne, dass es ein rotes Fragezeichen gibt, dann ist es aber nicht persistent und überlebt keinen fhem Neustart.

attr -silent $device $attrval


Das würde ich in deinem Fall auch mit deinen ats notifies setzen, wenn du Steckdose an und aus machst.

t1me2die

Zitat von: ossi am 27 November 2022, 10:18:48
Hallo,
ich habe dieses Jahr erstmals eine Twinkly Kette im Einsatz und war begeistert, dass es bereits ein Modul dafür gibt. Noch begeisterter war ich, dass gleich alles im ersten Versuch geklappt hat, hatte eigentlich befürchtet, dass ich stundenlang rumbasteln müsste um irgendetwas zum laufen zu bringen. Vielen Dank dafür.

Wie immer sind die Benutzer aber natürlich nie zufrieden  :)

Da ich die Kette per Power Switch (gemeinsam mit dem sonstigen Weihnachtskram) automatisch abschalte wenn nicht benötigt, findet sich im FHEM Logfile natürlich für diesen Zeitraum eine nervige Fehlermeldung, dass die Kette nicht erreichbar wäre.

Nun nutzt man das Ding ja in der Regel sowieso nur für kurze Zeit, daher dachte ich es wäre vielleicht eine gute Idee, wenn man noch ein 'Disable' einbauen könnte, so dass man das Teil nach Weihnachten einfach funktionslos machen kann. Kommt das nächste Jahr kann man auf Knopfdruck wieder weiter machen.

Denkst du sowas wäre noch machbar?

Schön, wenn es direkt funktioniert.
Zuerst einmal gibt es die Möglichkeit
attr <name> disable 1

zu setzen, dann sollte das Device auch disabled sein und keine Logmeldungen mehr erzeugen.
Außerdem könntest du mal bitte die Logmeldung posten, die immer wieder erzeugt wird.
Entweder ich habe dort ein falsches oder zu niedriges Loglevel gesetzt, worüber man gerne sprechen kann.
Ansonsten könnte man in dem Device selbst auch noch via:
attr <name> verbose 0

Meldungen nahezu komplett unterdrücken  :)

Gruß
Mathias

ossi

Hallo, die Meldung im log lautet
Zitat
error while requesting http://192.168.xxxxxx/xled/v1/verify - connect to http://192.168.xxxxxx:xxxx timed out - Data ->

Mit dem disable 0 verschwindet das allerdings, danke für die schnelle Hilfe.

t1me2die

Moin ossi,

die Fehlermeldung erscheint, wie du schon richtig erkannt hast, wenn das Gerät im Netzwerk nicht erreichbar ist.
Es ist ein eine verbose 3 Meldung, d.h. mit:

attr <name> verbose 2

taucht die Meldung nicht mehr im Log auf.
Außerdem sollte in dem INTERNAL (NETWORK_STATE) von dem Device "offline" stehen.
Die Logmeldung sollte außerdem auch in dem Reading "fullResponse" auftauchen.

Gruß
Mathias

Borkk

Hallo Zusammen,

Super das es nun ein Modul gibt. Bei mir klappt es leider nicht so reibungslos. Sobald das Modul zum ersten mal auf die Kette zugreift startet FHEM neu.

/entry.sh: line 621: kill: (9298) - No such process
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 778.
Abrupt daemon termination, starting 10s countdown .../entry.sh: line 625: kill: (9298) - No such process
10/entry.sh: line 625: kill: (9298) - No such process
9/entry.sh: line 625: kill: (9298) - No such process
8/entry.sh: line 625: kill: (9298) - No such process
7/entry.sh: line 625: kill: (9298) - No such process
6/entry.sh: line 625: kill: (9298) - No such process
5/entry.sh: line 625: kill: (9298) - No such process
4/entry.sh: line 625: kill: (9298) - No such process
3/entry.sh: line 625: kill: (9298) - No such process
2/entry.sh: line 625: kill: (9298) - No such process
1/entry.sh: line 625: kill: (9298) - No such process
/entry.sh: line 632: kill: (9298) - No such process
0
Automatic restart ...


Es könnte an 2 Dingen liegen:
1.) Ich nutze FHEM im DOCKER Container, (u.U. fehlen Pakete)
2.) Ich habe noch eine (zu) alte Twinkly Wall (gibts leider nicht mehr) (Modell TI200SEUP07, FW 2.3.5)

Mit dem HTTPMOD Workarround konnte ich jedoch die Kette steuern.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

peterk_de

So, ich konnte nun mit dem Modul auch erfolgreich 2 gruppierte Twinklys steuern! Das lief nicht direkt, was aber nicht am Modul liegt, sondern an den Twinklys selbst. So hab ich es hinbekommen:

- In der App vor dem Gruppieren die Twinklys auf die aktuelle Firmware bringen (in meinem Fall 2x Modell TWS400SPP auf FW 2.8.15). Achtung, die App hat mich nicht gewarnt, dass eine der Ketten eine ältere Firmware hatte. Manuell checken!

- Dann gruppieren. Ich habe den "Join-Mode" gewählt (schlägt die App auch per default vor). Die anderen Modi hab ich nicht getestet, werden aber sicher genauso klappen.

- Dann EINE von den verknüpften Ketten in FHEM anlegen. Die IP kann man praktischerweise direkt in der App nachlesen. Das Problem: Es muss die richtige Kette sein. Die Settings bekommt das Modul zwar offenbar von jeder der verknüpften Ketten korrekt gelesen, aber per FHEM steuern kann man sie nur, wenn man "die richtige" erwischt. Welche Kette das ist - gute Frage, es ist in der App nirgends gekennzeichnet! Ich habs durchprobiert - bei mir war es die ältere, also die, die ich zuerst mit der App gekoppelt hatte.

Und dann läuft das wie am Schnürchen, inkl. Wechsel der Effekte.

Ich habe momentan nur noch ein anderes Problem - mindestens eine Kette von mir schaltet sich nach ein paar Stunden von allein immer mit dem ersten hochgeladenen Movie an, obwohl beim ausschalten ein anderer gewählt war. Am FHEM-Modul hier kanns nicht liegen, das hab ich zum Test deaktiviert. Timer hab ich auch keine in der App aktiviert. Ich vermute es liegt an der Kette selbst. Wer hier also sachdienliche Hinweise hat, gern posten :-)


Und @Borkk: Hast du mal in der App geschaut, ob du die Firmware upgraden kannst? Ist tief in den Settings versteckt und kommt nicht automatisch hoch. Dann könnte es evtl. klappen mit dem Modul!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

Zitat von: Borkk am 05 Dezember 2022, 18:44:30
Hallo Zusammen,

Super das es nun ein Modul gibt. Bei mir klappt es leider nicht so reibungslos. Sobald das Modul zum ersten mal auf die Kette zugreift startet FHEM neu.

/entry.sh: line 621: kill: (9298) - No such process
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 778.
Abrupt daemon termination, starting 10s countdown .../entry.sh: line 625: kill: (9298) - No such process
10/entry.sh: line 625: kill: (9298) - No such process
9/entry.sh: line 625: kill: (9298) - No such process
8/entry.sh: line 625: kill: (9298) - No such process
7/entry.sh: line 625: kill: (9298) - No such process
6/entry.sh: line 625: kill: (9298) - No such process
5/entry.sh: line 625: kill: (9298) - No such process
4/entry.sh: line 625: kill: (9298) - No such process
3/entry.sh: line 625: kill: (9298) - No such process
2/entry.sh: line 625: kill: (9298) - No such process
1/entry.sh: line 625: kill: (9298) - No such process
/entry.sh: line 632: kill: (9298) - No such process
0
Automatic restart ...


Es könnte an 2 Dingen liegen:
1.) Ich nutze FHEM im DOCKER Container, (u.U. fehlen Pakete)
2.) Ich habe noch eine (zu) alte Twinkly Wall (gibts leider nicht mehr) (Modell TI200SEUP07, FW 2.3.5)

Mit dem HTTPMOD Workarround konnte ich jedoch die Kette steuern.

Er fliegt beim "decode_json" auf die Schnauze.
Könnte es sein, dass du das JSON Package nicht installiert hast?

Ich bin der Meinung mit
cpan JSON
sollte es installierbar sein.

Gruß

t1me2die

#17
Zitat von: peterk_de am 05 Dezember 2022, 19:48:54
...
Ich habe momentan nur noch ein anderes Problem - mindestens eine Kette von mir schaltet sich nach ein paar Stunden von allein immer mit dem ersten hochgeladenen Movie an, obwohl beim ausschalten ein anderer gewählt war. Am FHEM-Modul hier kanns nicht liegen, das hab ich zum Test deaktiviert. Timer hab ich auch keine in der App aktiviert. Ich vermute es liegt an der Kette selbst. Wer hier also sachdienliche Hinweise hat, gern posten :-)
...

Moin, ich hoffe mal, dass das Modul nicht automatisch deine Kette nach ein paar Stunden anschaltet, denn dies sollte nicht passieren.
Magst du mal bitte prüfen, ob in dem Reading "movie", auch dein tatsächlich zuletzt verwendetes Movie steht?
Was steht zum Zeitpunkt des anschaltens im Reading "mode"?
Außerdem sollte dieses Movie natürlich auch in deiner Movie-Liste stehen.

Wenn ich es nun richtig überflogen habe (nicht getestet), dann sollte bei einem:
set <name> on
lediglich der Mode auf "movie" switchen, sodass die Kette an geht, ohne ein explizites Movie.

Wenn du jedoch im ausgeschalteten Zustand ein:
set <name> movie <moviename>
ausführst, so wird automatisch die Kette auf den Mode "movie" geswitcht und zusätzlich dazu wird das angegebene Movie gesetzt (vorausgesetzt, es ist in der Movie-Liste vorhanden!).
Über die API habe ich nicht die Möglichkeit ein einfaches "on" zu senden, weswegen zum einschalten in den Mode "movie" switche, wodurch die Kette automatisch angeht.

Gruß

peterk_de

t1me2die, ich glaube mittlerweile ausschließen zu können, dass es an deinem Modul liegt. Denn es tritt nur an einer von nunmehr 3 in FHEM angebundenen Ketten auf. Die Ketten sind alle die gleichen. Sie ist aber die einzige, die draußen hängt - ich vermute, die hat irgendeinen Wackler und resettet sich nach ein paar Stunden..

Das von dir beschriebene Verhalten mit den Movies kann ich so 1:1 reproduzieren und ist vollkommen OK :-)

Aktuell nutze ich dein Modul erstmal, um die Außenkette bei detektierten Niederschlag / Schnee  automatisch auf eine Schneefall-Animation zu stellen. Schon extrem cool. Und der Baum wird diesjahr die verschiedenen Hue-Beleuchtungszenen im Wohnzimmer farblich passend  mitmachen. 😎
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

t1me2die

Super, dass freut mich.
Ich muss demnächst mal die v0.1.6 einchecken, habe etwas refactoring vorgenommen im Bezug auf die getMovies Routine.
Ich denke in ca. 1-2Tagen sollte im Git + Forum die neue Version vorhanden sein.

Gruß

Borkk

Zitat von: t1me2die am 06 Dezember 2022, 09:57:07
Er fliegt beim "decode_json" auf die Schnauze.
Könnte es sein, dass du das JSON Package nicht installiert hast?

Ich bin der Meinung mit
cpan JSON
sollte es installierbar sein.

Gruß

Da ich eine ganze Reihe anderer Module verwende, die JSON nutzen (u.a. HUE) glaube ich das nicht. Zudem sind eigentlich alle gängigen Pakete im FHEM Docker Image enthalten. Aber ich probiere es mal...
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

Zitat von: Borkk am 10 Dezember 2022, 11:08:21
Da ich eine ganze Reihe anderer Module verwende, die JSON nutzen (u.a. HUE) glaube ich das nicht. Zudem sind eigentlich alle gängigen Pakete im FHEM Docker Image enthalten. Aber ich probiere es mal...

Da könntest du dann wohl Recht haben.
Über welches Gerät sprechen wir bei Dir?
Welche Firmware Version ist installiert?
Welchen Stick hast du? Version 1 oder Version 2?
Das Gerät ist auch im selben Netzwerk wie dein FHEM?
Berechtigungen, von dem Modul hast du im Verzeichnis geprüft?
Lad Dir mal die neuste Version herunter, mache ein "reload 31_Twinkly", binde das Gerät anschließend wie gewohnt mit Define <name> Twinkly IP-Adresse ein.
Poste hier dann mal bitte die Fehlermeldung, falls FHEM sich wieder verabschiedet.
Falls es wieder die Zeile beim decode_json sein sollte, können wir die Testweise bei Dir einmal ausbauen / aus kommentieren um zu schauen, ob das Modul sonst was macht.

Gruß
Mathze

t1me2die

Zur Info für alle, die mehrere Geräte in der Twinkly App gruppieren:

ZitatFalls ihr eine Gruppierung von mehreren Geräten in der Twinkly App vorgenommen habt, so müsst ihr das Main-Steuerungsgerät herausfinden.
In meinem Fall habe ich zwei AWW (400 und 250er Strings) via Join verbunden. In meinem Fall war es das erste Gerät in der Gruppierungsliste (dies war auch das Gerät, welches ich zuerst ausgewählt hatte!).
Das zweite Gerät kann man zwar einzeln auch steuern, jedoch kommt die Gruppierung dann ein wenig durcheinander, weswegen ich vorschlagen würde, dass ihr nur das Main-Gerät definiert. Die Funktionen sind hier identisch wie bei einem einzelnen Gerät.

Gruß

Borkk

#23
Ich versuche mal alle Fragen zu beantworten, danke das du dich für das Modul engagierst :-)

Über welches Gerät sprechen wir bei Dir? -> Twinkly Wall (TI200SEUP07)
Welche Firmware Version ist installiert?  -> 2.3.5
Welchen Stick hast du? Version 1 oder Version 2? Was für einen Stick meinst du
Das Gerät ist auch im selben Netzwerk wie dein FHEM? ja, klar. Musste extra meinen Wlan Schlüssel kürzen, weil Twinkly mit meinem langen Schlüssel nicht klar kam
Berechtigungen, von dem Modul hast du im Verzeichnis geprüft? -> ja, setzt Docker immer automatisch beim Start des Containers
Lad Dir mal die neuste Version herunter, mache ein "reload 31_Twinkly", binde das Gerät anschließend wie gewohnt mit Define <name> Twinkly IP-Adresse ein.
Poste hier dann mal bitte die Fehlermeldung, falls FHEM sich wieder verabschiedet. siehe unten
Falls es wieder die Zeile beim decode_json sein sollte, können wir die Testweise bei Dir einmal ausbauen / aus kommentieren um zu schauen, ob das Modul sonst was macht.

Das Modul startet und erkannt auch auch mein Twinkly, dann hat es aber FHEM um. 

2022.12.12 00:18:24 1: PERL WARNING: Use of uninitialized value $movies in string ne at ./FHEM/31_Twinkly.pm line 353.
2022.12.12 00:18:24 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 481.
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 794.

Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

Zitat von: Borkk am 12 Dezember 2022, 00:15:47
Ich versuche mal alle Fragen zu beantworten, danke das du dich für das Modul engagierst :-)

Über welches Gerät sprechen wir bei Dir? -> Twinkly Wall (TI200SEUP07)
Welche Firmware Version ist installiert?  -> 2.3.5
Welchen Stick hast du? Version 1 oder Version 2? Was für einen Stick meinst du
Das Gerät ist auch im selben Netzwerk wie dein FHEM? ja, klar. Musste extra meinen Wlan Schlüssel kürzen, weil Twinkly mit meinem langen Schlüssel nicht klar kam
Berechtigungen, von dem Modul hast du im Verzeichnis geprüft? -> ja, setzt Docker immer automatisch beim Start des Containers
Lad Dir mal die neuste Version herunter, mache ein "reload 31_Twinkly", binde das Gerät anschließend wie gewohnt mit Define <name> Twinkly IP-Adresse ein.
Poste hier dann mal bitte die Fehlermeldung, falls FHEM sich wieder verabschiedet. siehe unten
Falls es wieder die Zeile beim decode_json sein sollte, können wir die Testweise bei Dir einmal ausbauen / aus kommentieren um zu schauen, ob das Modul sonst was macht.

Das Modul startet und erkannt auch auch mein Twinkly, dann hat es aber FHEM um. 

2022.12.12 00:18:24 1: PERL WARNING: Use of uninitialized value $movies in string ne at ./FHEM/31_Twinkly.pm line 353.
2022.12.12 00:18:24 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 481.
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 794.


Moin, magst du mal bitte in der Twinkly App prüfen, ob du ein Firmware Update für deine Kette bekommst?
Aktuelle Firmware sollte 2.8.15 sein.
Beim Stick spreche ich von dem Twinkly Controller, dieser schwarze Stick, der zwischen Netzteil und LED's ist. Welchen hast du?
Die ersten beiden Warnings sind okay, wenn du keine Movies hochgeladen hast, dass geht glaub ich erst mit einer aktuellen Firmware.

Die Meldung bzw. "malformed JSON String..." deutet ziemlich klar auf ein invaliden JSON String hin.
Ich habe mal eine Prüfung auf den JSON String eingebaut, probiere es mal bitte mit der Version im Anhang.
Setze das Twinkly Device bitte auf
attr <name> verbose 2

Er sollte bei einem fehlerhaften JSON String nun eine Logmeldung schreiben, bitte poste diese mal.
Hast du Ahnung von Postman?

Gruß

Borkk

#25
Zitat von: t1me2die am 12 Dezember 2022, 09:34:21
Moin, magst du mal bitte in der Twinkly App prüfen, ob du ein Firmware Update für deine Kette bekommst?
Aktuelle Firmware sollte 2.8.15 sein.
Beim Stick spreche ich von dem Twinkly Controller, dieser schwarze Stick, der zwischen Netzteil und LED's ist. Welchen hast du?
Die ersten beiden Warnings sind okay, wenn du keine Movies hochgeladen hast, dass geht glaub ich erst mit einer aktuellen Firmware.

Die Meldung bzw. "malformed JSON String..." deutet ziemlich klar auf ein invaliden JSON String hin.
Ich habe mal eine Prüfung auf den JSON String eingebaut, probiere es mal bitte mit der Version im Anhang.
Setze das Twinkly Device bitte auf
attr <name> verbose 2

Er sollte bei einem fehlerhaften JSON String nun eine Logmeldung schreiben, bitte poste diese mal.
Hast du Ahnung von Postman?

Gruß

Postman sagt mir leider nichts. Aber mit dem Modul aus deinem letzten Post stürzt mein FHEM nicht mehr ab. Vermutlich gab es aber tatsächlich ein Problem mit der JSON Version des Docker Image, gestern Nacht hat nämlich mein Watchtower ein neues FHEM Image gemeldet. Das habe ich heute eingespielt.

Also Status ist jetzt, das das Modul nicht mehr abstürzt aber es funktioniert auch nicht wirklich. Ich habe mal auf die schnelle einen Screenshot der Reading angehängt. Danach sieht es eigentlich so aus, also würde das Modul mit Twinkly sprechen. In der APP kann ich leider weder ein movie anlegen noch wird mir ein Update angeboten. Zwischen Netzteil und LEDs ist ein schwarzes Kästchen mit einer Taste. Als Stick würde ich das nicht bezeichnen. Wie ich schon ganz am Anfang geschrieben habe, ist Twinkly Wall schon recht alt, gibt es auch leider nicht mehr.


Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

#26
Puh, womit fange ich an.
Ich glaube, dass du die Twinkly Gen. 1 Version hast (siehe Bilder im Anhang).
Ich habe leider keine Gen. 1 Version am Start um zu prüfen, was für Infos über die API gehen.

Anhand deines "product_code" (TI200SEUP07) dürfte auch keine automatische Modelzuordnung stattgefunden haben, richtig?
Bitte einmal ein "list <name>" hier posten!

Auch die Möglichkeiten "SET" oder "GET" Befehle abzusetzen dürften nicht angezeigt werden, richtig?

Ich habe dein Model mal nachgepflegt, im Anhang ist eine neue Version.
Ich hoffe, dass nun das Model korrekt dein Model ermittelt und automatisch dies setzt.
Anschließend sollten dann auch die "SET" und "GET" Befehle auftauchen (ob die Befehle dann aber funktionieren steht auf einem anderen Blatt geschrieben  ;) ).

Gruß

Borkk

Zitat von: t1me2die am 13 Dezember 2022, 09:52:01
Puh, womit fange ich an.
Ich glaube, dass du die Twinkly Gen. 1 Version hast (siehe Bilder im Anhang).
Ich habe leider keine Gen. 1 Version am Start um zu prüfen, was für Infos über die API gehen.

Anhand deines "product_code" (TI200SEUP07) dürfte auch keine automatische Modelzuordnung stattgefunden haben, richtig?
Bitte einmal ein "list <name>" hier posten!

Auch die Möglichkeiten "SET" oder "GET" Befehle abzusetzen dürften nicht angezeigt werden, richtig?

Ich habe dein Model mal nachgepflegt, im Anhang ist eine neue Version.
Ich hoffe, dass nun das Model korrekt dein Model ermittelt und automatisch dies setzt.
Anschließend sollten dann auch die "SET" und "GET" Befehle auftauchen (ob die Befehle dann aber funktionieren steht auf einem anderen Blatt geschrieben  ;) ).

Gruß

Ja, Twinkly Wall ist ein Gen.1 Produkt und ja Set und Get werden nicht angezeigt. Eben ist FHEM auch wieder gecrasht mit diesem Fehler:

Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 760.
- Data: Resource not found.


Ich probiere das Modul gleich aus. Die API scheint ja irgendwie schon zu gehen, ich Steuer mein Twinkly (an/aus) über HTTPMOD
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Borkk

Das neue Modul, zeigt schon mal On/OFF einen PCT- und einen Farb-Slider an, allerdings alles ohne Funktion. Das Modul kann Twinkly scheinbar nicht erreichen (Invalid Token). Kein Netzwerkproblem, HTTPMOD erreicht aus dem gleichen Docker FHEM Container die Kette.

Im LOG:
2022.12.13 23:44:17 1: PERL WARNING: Use of uninitialized value $movies in string ne at ./FHEM/31_Twinkly.pm line 353.
2022.12.13 23:44:17 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 481.
2022.12.13 23:44:17 2: AttrTemplates: got 254 entries
2022.12.13 23:44:27 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Invalid Token.") at ./FHEM/31_Twinkly.pm line 764.
- Data: Invalid Token.
2022.12.13 23:44:53 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 430.
2022.12.13 23:44:53 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Invalid Token.") at ./FHEM/31_Twinkly.pm line 764.
- Data: Invalid Token.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

#29
Hast du die Möglichkeit ein:
get twink Token abzusetzen?
Steht in den INTERNALS ein Token drin oder ist das Feld leer?

Kann es sein, dass du das HTTPMOD für das Twinkly Device noch aktiv hast?
Falls ja, bitte unbedingt deaktivieren, in der Device Help steht auch folgendes:

If you multiple define the same device you get a problem of different tokens because every request from different sources generate a new token.

Übersetzt bedeutet das, wenn man auf ein physisches Gerät von zwei / drei Quellen zugreift (z.B. App + Twinkly Modul + HTTPMOD Modul), dann fragt jede Quelle einen neuen Token an, weil sich dieser immer wieder ändert.

Ohne Token geht natürlich erst einmal gar nichts, weil eine Authentifizierung nicht möglich ist, somit werden auch keine Befehle korrekt ausgeführt.

Gruß

PS.: Im Anhang habe ich noch einmal etwas refactoring vorgenommen, ich prüfe nun zuerst, ob der JSON String valid ist, ansonsten steigt das Modul direkt aus.

Borkk

Es wird... :) Ich habe HTTPMOD disabled, dein Modul eingespielt alles neu gestartet und es scheint tatsächlich zu gehen. Screenshot hänge ich mal an. In den Reading stehen zwar noch ein paar Fehler, aber ein/ausschalten und dimmen geht, super. Du bist echt hartnäckig :) Danke.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

CoolTux

Hallo,

Der Code in Deinem Modul sieht stark nach einem meiner älteren Module aus. Daher ein zwei Tipps.

Entferne mal alle Prototypings. Also aus sub bla($$) { wird einfach sub bla {

Mach das ganze Modul in nur einem package.

#-- Export to main context with different name
GP_Export(
    qw(
      Initialize
      )
);


Eine Möglichkeit für die Initialize Funktion. Das ganze Modul geht ohne main.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

t1me2die

#32
Moin Borkk, freut mich das wir es so ganz langsam hinbekommen.
In den INTERNALS steht unter "NETWORK_STATE" offline, dies passiert, wenn er beim HTTP Response einen Error zurückgemeldet bekommt.
Mit "verbose 3", sollte im Log eine Fehlermeldung mit "... error while requesting ..." stehen, kannst du mir die bitte mal mitteilen?
Ich habe die Vermutung, dass bei der Generation 1 es noch keine Möglichkeit der "saturation" gibt - dies ist aber auch nur eine Vermutung.

@CoolTux: Ja, ich hatte damals mal an deinem 74_XiaomiBTLESens die Erweiterung für den "clearGrassSens" Sensor vorgenommen, deswegen war ich etwas vertraut mit der Quelle und habe mich an deinem alten Modul lang gehangelt und versucht das ähnlich aufzubauen.
Wie du richtig gemerkt hast, bin ich nicht so zu 100% firm in Perl, daher muss ich immer etwas spicken :)
Ich habe deine Tipps mal umgesetzt und das Modul läuft immer noch, ich bin ein wenig überrascht, weil ich es in der Vergangenheit so nie gemacht hatte (weil ich es einfach nicht wusste ::) ).
Ich habe mal einen Blick in dein GardenaSmartBridge Modul geworfen und festgestellt, dass es bei Dir um einiges schöner ausschaut wie bei mir.
In diesem Sinne, es gibt noch einiges zu tun!  :)

CoolTux

Jeder fängt mal klein an und die meisten lernen am Anfang durch anschauen. Völlig normal, habe ich auch gemacht.

Viel Spaß weiterhin beim programmieren  :)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Borkk

Zitat von: t1me2die am 15 Dezember 2022, 09:06:09
Moin Borkk, freut mich das wir es so ganz langsam hinbekommen.
In den INTERNALS steht unter "NETWORK_STATE" offline, dies passiert, wenn er beim HTTP Response einen Error zurückgemeldet bekommt.
Mit "verbose 3", sollte im Log eine Fehlermeldung mit "... error while requesting ..." stehen, kannst du mir die bitte mal mitteilen?
Ich habe die Vermutung, dass bei der Generation 1 es noch keine Möglichkeit der "saturation" gibt - dies ist aber auch nur eine Vermutung.

Hier mal ein Verbose 3 Log:


2022.12.16 17:37:07 1: PERL WARNING: Use of uninitialized value $movies in string ne at ./FHEM/31_Twinkly.pm line 353.
2022.12.16 17:37:07 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 481.
2022.12.16 17:37:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:37:18 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 430.
2022.12.16 17:38:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:39:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:40:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:40:11 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:40:26 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56083b90e110) - devtype -> Global -
2022.12.16 17:40:31 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843710700) - devtype -> Twinkly -
2022.12.16 17:40:31 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843710700) - devtype -> Twinkly -
2022.12.16 17:40:32 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436f1ec8) - devtype -> Twinkly -
2022.12.16 17:40:32 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843595498) - devtype -> Twinkly -
2022.12.16 17:40:38 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436446b0) - devtype -> Twinkly -
2022.12.16 17:40:38 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084130ae00) - devtype -> Twinkly -
2022.12.16 17:40:38 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436ea8f8) - devtype -> Twinkly -
2022.12.16 17:40:46 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608432e2cc8) - devtype -> Twinkly -
2022.12.16 17:40:46 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608432e06c8) - devtype -> Twinkly -
2022.12.16 17:40:46 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436a08e0) - devtype -> Twinkly -
2022.12.16 17:41:05 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/89_ESPEInk.pm line 2083.
2022.12.16 17:41:05 1: PERL WARNING: Use of uninitialized value in numeric ne (!=) at ./FHEM/89_ESPEInk.pm line 2094.
2022.12.16 17:41:05 1: epaper_2.9: problems with communication to device, max retries (0) reached
2022.12.16 17:41:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:41:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608412c97c8) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436d4a28) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608434e7c20) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436a3160) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084367e308) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843691f18) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560842339210) - devtype -> Twinkly -
2022.12.16 17:41:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436a70d0) - devtype -> Twinkly -
2022.12.16 17:41:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:41:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:42:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:42:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843709048) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437138c8) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437bee90) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437c1978) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084340ab40) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843712ef0) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843700c58) - devtype -> Twinkly -
2022.12.16 17:42:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843619890) - devtype -> Twinkly -
2022.12.16 17:42:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:42:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:42:17 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084360e680) - devtype -> Twinkly -
2022.12.16 17:42:17 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084360e680) - devtype -> Twinkly -
2022.12.16 17:42:17 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084367ac00) - devtype -> Twinkly -
2022.12.16 17:42:17 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436f24f8) - devtype -> Twinkly -
2022.12.16 17:42:22 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084135ff10) - devtype -> Twinkly -
2022.12.16 17:42:22 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084351a038) - devtype -> Twinkly -
2022.12.16 17:42:22 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843594de0) - devtype -> Twinkly -
2022.12.16 17:42:23 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084361fe78) - devtype -> Twinkly -
2022.12.16 17:42:23 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608433af488) - devtype -> Twinkly -
2022.12.16 17:42:23 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437cd608) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:43:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843487ef8) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560840aaba10) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843630958) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560842602970) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436cee28) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608428f6cd0) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437c8c48) - devtype -> Twinkly -
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084361fe78) - devtype -> Twinkly -
2022.12.16 17:43:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:43:10 3: error while requesting http://192.168.23.72/xled/v1/led/color - http://192.168.23.72/xled/v1/led/color: empty answer received - Data ->
2022.12.16 17:43:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608405a81a0) - devtype -> Twinkly -
2022.12.16 17:43:51 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843487320) - devtype -> Twinkly -
2022.12.16 17:43:51 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843487320) - devtype -> Twinkly -
2022.12.16 17:43:52 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084114b438) - devtype -> Twinkly -
2022.12.16 17:43:52 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56083b8a8e70) - devtype -> Twinkly -
2022.12.16 17:43:57 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843656fe0) - devtype -> Twinkly -
2022.12.16 17:43:57 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843729688) - devtype -> Twinkly -
2022.12.16 17:43:57 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560841380100) - devtype -> Twinkly -
2022.12.16 17:44:07 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436f1dc0) - devtype -> Twinkly -
2022.12.16 17:44:07 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843640590) - devtype -> Twinkly -
2022.12.16 17:44:07 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608426944a0) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:44:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608428f6eb0) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084340ac18) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436a3580) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436a3280) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436e42f8) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843641010) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084366ad20) - devtype -> Twinkly -
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56083b92b5f0) - devtype -> Twinkly -
2022.12.16 17:44:10 3: error while requesting http://192.168.23.72/xled/v1/led/color - http://192.168.23.72/xled/v1/led/color: empty answer received - Data ->
2022.12.16 17:44:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608418b9788) - devtype -> Twinkly -
2022.12.16 17:44:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:45:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:45:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56083b89fa98) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084362a9c8) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436c0228) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608412fa7e0) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608437bf5b0) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084250d068) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56083b887880) - devtype -> Twinkly -
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436367f8) - devtype -> Twinkly -
2022.12.16 17:45:10 3: error while requesting http://192.168.23.72/xled/v1/led/color - http://192.168.23.72/xled/v1/led/color: empty answer received - Data ->
2022.12.16 17:45:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608436ec420) - devtype -> Twinkly -
2022.12.16 17:45:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:46:05 1: epaper_2.9: problems with communication to device, max retries (0) reached
2022.12.16 17:46:10 3: Twinkly stateRequestTimer (twink) - Anfang: name -> twink - hash -> HASH(0x560842607d10)
2022.12.16 17:46:10 3: Twinkly (twink) - stateRequest: name -> twink - Token -> ' kgT84quybec= '
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843535e98) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843487ef8) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608426d6df0) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843657bc8) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x56084134bd38) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x5608428f4768) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560843595b10) - devtype -> Twinkly -
2022.12.16 17:46:10 3: Twinkly Notify (twink) - Anfang - events -> ARRAY(0x560842b24be8) - devtype -> Twinkly -
2022.12.16 17:46:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
2022.12.16 17:46:10 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 736.
- Data: Resource not found.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

Moin Borkk,

danke.
Magst du mal bitte testen, ob du eine feste Farbe wie z.B.
set <name> hue 10
absetzen kannst? Sollte der Farbe Orange entsprechen.
Ich habe das Gefühl, dass die Twinkly Generation 1 div. Befehle noch nicht kann wie z.B. "saturation" und "color", denn bei beiden Befehlen kommt immer nur eine "leere Antwort" zurück.

Gruß

PS.: Außerdem habe ich mal die aktuellste Version (v.0.2.0) hinzugefügt.

Borkk

Hi,

auf das "set twink hue ..." tut sich nichts. Es kann schon sein das mit den Gen.1 Twinkly´s das alles nicht geht. evtl. kannst du die Funktionen im Modul deaktivieren wenn eine Gen1 Kette erkannt wird, damit es keine Fehlermeldungen gibt.

Ich hab eine der letzten Wall´s bekommen und würde gerne auch noch eine 2 irgendwo kaufen. Leider hat Twinkly den Formfaktor nicht mehr im Programm.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

Moin Borke, dass sollte der Plan sein, alles was unter Gen. 1 noch nicht supported wird, sollte auch eigentlich nicht angezeigt werden.
Unter dem SET Befehl sollten nun in der Version im Anhang die Möglichkeit für "Movies" und für "Hue" fehlen.
Unter dem GET Befehl sollten nun "get <name> Movies" nicht mehr auftauchen.
Auch das in einem bestimmten Abstand die "saturation" abgefragt wird, sollten deaktiviert sein.

Gruß

Borkk

Moin und ein frohes neues Jahr  :)

Ich habe dein Modul jetzt die ganze zeit am laufen, es tut aktuell das was ich brauche. Das HTTPMOD Teil habe ich entfernt.

Allerdings ballert dein Modul immer noch das Log mit folgender Meldung voll:

2023.01.02 00:00:05 2: Twinkly (twink) Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Resource not found.") at ./FHEM/31_Twinkly.pm line 758.
- Data: Resource not found.


Kannst du da nochmal bei Gelegenheit mach schauen? Oder kann ich was machen?
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

t1me2die

Versuch es mal mit einem verbose  ;)

attr twink verbose 0

Sollte hoffentlich helfen.
Ansonsten müssten wir die Logmeldung mal auskommentieren.

Gruß

Borkk

Zitat von: t1me2die am 02 Januar 2023, 11:38:15
Versuch es mal mit einem verbose  ;)

attr twink verbose 0

Sollte hoffentlich helfen.
Ansonsten müssten wir die Logmeldung mal auskommentieren.

Gruß

Ok, das geht natürlich, ich dachte da wäre noch ein Fehler im Modul, den du rausmachen wolltest.  ;)
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Ziton

Hallo Zusammen,

zwar wurde in diesem Thema lange nichts mehr geschrieben ich denke es ist dennoch der beste Ort für mein Anliegen.
Ich habe heute erfolgreich eine Twinkly StringsRGBW in mein FHEM eingebunden. Die Ansteuerung funktioniert auch weitestgehend problemlos.

Leider rebootet FHEM wenn ich versuche die hinterlegten "Movies" abzurufen.
 
Aus dem Log geht bislang folgendes hervor:
2023.12.05 15:02:00 1: PERL WARNING: Use of uninitialized value $movies in string ne at ./FHEM/31_Twinkly.pm line 373.
2023.12.05 15:02:00 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 501.
2023.12.05 15:02:19 1: PERL WARNING: Use of uninitialized value $movies in string eq at ./FHEM/31_Twinkly.pm line 450.

Des weiteren taucht regelmäßig folgender Fehler auf:
Twinkly_ParseHttpResponse - decode_json failed! Error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Invalid Token") at ./FHEM/31_Twinkly.pm line 820.
 - Data: Invalid Token

Vielleicht könnt ihr mir weiterhelfen. Danke schonmal!

Gruß Ziton

t1me2die

Moin Zion,

wie lautet der genaue Produktcode von deinem Twinkly?
(product_code)

Ich gehe davon aus, dass du in der Twinkly App bereits Effekte auf dein Twinkly Gerät gespeichert hast?
Also via "Galerie" -> Effekt auswählen -> "Anwenden"?
Dieser Effekt sollte dann in deinem Twinkly Device unter "Effekte speichern" sichtbar sein?

Sobald du dies getan hast, bitte die Twinkly App schließen, etwas warten (so 2-3Minuten), in dieser Zeit holt sich dein FHEM einen neuen Token von deinem Twinkly Gerät und anschließend sollte ein:

get dein_Twinkly_Name Movies
alle deine Effekte auslesen und in Readings ablegen.
Sobald in deinen Readings die Effekte stehen, sollte auch ein "set" möglich sein.

Der Fehler, der regelmäßig auftaucht, passiert meistens dann, wenn FHEM und du via Handy App zur selben Zeit auf das Twinkly Device zugreifen wollt.
Die App und auch FHEM benötigen immer einen Token um das Gerät zu steuern.
Dieser Token ist zeitlich begrenzt und läuft immer ab, wenn ein anderes Gerät auch auf dein Twinkly zugreifen möchte.
Siehe dazu auch das Wiki:
https://wiki.fhem.de/wiki/Twinkly
Unter dem Punkt: Bekannte Probleme

Ansonsten bitte ich Dich einmal ein List von deinem Twinkly Device zu posten.

Ziton

Hallo t1me2die,

der Produktcode lautet: TWS400SPP
Du liegst richtig in Annahme dass ich bereits zuvor Effekte auf dem Controller gespeichert habe, genau wie du es beschrieben hast.

Mein FHEM macht leider nach wie vor einen Reboot wenn ich den Befehl "get Wz.Twinkly movies" ausführe.

Fehlermeldungen im Log konnte ich diesmal keine finden. Könnte natürlich das verbose Level des Geräts nochmal hochschrauben beim Versuch Falls es dir
helfen würde.

Hier die Ausgabe vom List Befehl
nternals:
   AUTHOR     https://forum.fhem.de/index.php?action=profile;u=23907
   CHALLENGE  AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=
   CODE       1000
   DEF        192.168.2.184
   FUUID      656f268e-f33f-9d63-d8ec-04b9a96c5eeebdc8
   FVERSION   31_Twinkly.pm:0.2.2/2023-12-04
   INTERVAL   60
   IP         192.168.2.184
   NAME       Wz.Twinkly
   NETWORK_STATE online
   NOTIFYDEV  global,Wz.Weihnachtsbaum
   NR         436
   NTFY_ORDER 50-Wz.Weihnachtsbaum
   STATE      on
   TOKEN      Buw/kFsjUwU=
   TYPE       Twinkly
   eventCount 50466
   loglevel   4
   message    No movies found. Upload first via Twinkly App.
   method     GET
   url        http://192.168.2.184/xled/v1/led/color
   READINGS:
     2024-01-07 14:06:29   authentication_token Buw/kFsjUwU=
     2024-01-07 14:06:29   authentication_token_expires_in 14400
     2024-01-07 14:21:29   blue            144
     2024-01-07 14:21:29   brightness      48
     2024-01-07 14:21:29   bytes_per_led   4
     2024-01-07 14:06:29   challenge-response c11c4ec802f1557ac2e903a063523e6ffaf60e13
     2024-01-07 14:21:29   code            1000
     2023-12-05 17:07:43   color_config_blue 0
     2023-12-05 17:07:43   color_config_green 255
     2023-12-05 17:07:43   color_config_hue 70
     2023-12-05 17:07:43   color_config_red 213
     2023-12-05 17:07:43   color_config_saturation 255
     2023-12-05 17:07:43   color_config_value 255
     2023-12-05 17:07:43   color_config_white 163
     2024-01-07 14:21:29   copyright       LEDWORKS 2021
     2024-01-07 14:21:29   detect_mode     0
     2024-01-07 14:21:29   device_name     Weihnachtsbaum
     2023-12-05 17:09:27   effect_id       4
     2024-01-07 14:21:29   flash_size      64
     2024-01-07 14:21:29   frame_rate      11.61
     2024-01-07 12:12:28   fullResponse    http://192.168.2.184/xled/v1/led/color: empty answer received
     2024-01-07 14:21:29   fw_family       G
     2024-01-07 14:21:29   green           255
     2024-01-07 14:21:29   hardware_version 308
     2024-01-07 14:21:29   hue             154
     2024-01-07 14:21:29   hw_id           7a1ac4
     2024-01-07 14:21:29   id              0
     2024-01-07 14:21:29   led_profile     RGBW
     2024-01-07 14:21:29   led_type        12
     2024-01-07 14:21:29   mac             8c:4b:14:7a:1a:c5
     2024-01-07 14:21:29   max_movies      55
     2024-01-07 14:21:29   max_supported_led 510
     2024-01-07 14:21:29   measured_frame_rate 14.08
     2024-01-07 14:21:29   mode            movie
     2024-01-07 14:21:29   movie_capacity  2536
     2023-12-07 10:31:24   movie_duration  3599
     2023-12-07 10:31:24   movie_id        0
     2023-12-07 10:31:24   movie_name      Twinkle Marie
     2023-12-07 10:31:24   movie_unique_id B9956645-0E70-4508-919E-00C310115EBA
     2024-01-07 14:21:29   name            Twinkle Marie
     2024-01-07 14:21:29   number_of_led   400
     2024-01-07 14:21:29   product_code    TWS400SPP
     2024-01-07 14:21:29   product_name    Twinkly
     2024-01-07 14:21:29   red             0
     2024-01-07 14:21:29   saturation      255
     2024-01-07 14:21:29   shop_mode       0
     2024-01-07 14:21:29   state           on
     2024-01-07 14:21:29   unique_id       B9956645-0E70-4508-919E-00C310115EBA
     2024-01-07 14:21:29   uptime          2954400008
     2024-01-07 14:21:29   uuid            3FC6ED27-0669-4643-8940-C30F03DEB11F
     2024-01-07 14:21:29   value           255
     2024-01-07 14:21:29   wire_type       1
   helper:
     listMoviesDone finished_empty
Attributes:
   DbLogExclude .*
   alias      Weihnachtsbaum
   disable    0
   group      Licht
   icon       hue_filled_lightstrip
   model      StringsRGBW
   room       Wohnzimmer
   webCmd     hue:on:off

Gruß Ziton

t1me2die

Moin Ziton,

ich sehe, du hast die neuste Version vom Modul v0.2.2 im Einsatz, da wird das Problem liegen, die hat wohl noch paar Probleme.
Ich habe soeben auf v0.2.3 aktualisiert im Git, lade dir bitte die Version und probiere es erneut.

Mit v0.2.2 wollte ich bestehende Movies-Readings löschen, bevor neue gelesen werden und irgendwo muss ich da einen Wurm drin haben, jedoch hatte ich noch keine Zeit dieses Problem weiter zu analysieren und habe dummerweise vergessen die Git Version zu aktualisieren.

Hintergrund:
Wenn man seine Movies-Liste in der Twinkly App aktualisiert und anschließend in der App weniger Movies hinterlegt sind, als Movie-Readings im Twinkly Device, kann es zu Fehlern kommen.
Deswegen empfehlen ich in solch einem Fall ein "deletereading Twinkly_Name movies_.*" auszuführen.

Gruß

Ziton

Das war ja einfach  :)

Nun geht's, danke dir!

Gruß Ziton

t1me2die

Moin Ziton,

habe eine neue Version eingecheckt (v0.2.4), diese sollte jetzt laufen.

Gruß

& danke für die Rückmeldung  :)