Twinkly

Aus FHEMWiki
Version vom 25. November 2022, 19:31 Uhr von T1me2die (Diskussion | Beiträge) (Neue Seite)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Twinkly
Zweck / Funktion
Steuern von Twinkly Lichtern
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Sonstige Systeme
Modulname 31_Twinkly.pm
Ersteller t1me2die
(Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Beschreibung

Mit diesem Modul ist es möglich, diverse Twinkly (https://twinkly.com/) Lichter zu steuern.

Die aktuellste Version des Moduls findet ihr im Forum oder in meinem Git:

https://github.com/t1me2die/31_Twinkly.pm/blob/main/31_Twinkly.pm

Nachdem ihr das Modul ins passende FHEM Verzeichnis (/opt/fhem/FHEM) gepackt habt, achtet auf eine korrekte Berechtigung und führt in FHEM ein

reload 31_Twinkly.pm

Unterstützte Geräte

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

Voraussetzung zur Verwendung des Modules

Auf dem FHEM System werden folgende Perl Module benötigt, die per cpan im vorwege installiert werden müssen.

  • HttpUtils
  • Time::Piece
  • Color
  • List
  • JSON

Definition

define <name> Twinkly <IP-Adresse / Hostname>

Beispiel:

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

Diese Anweisung erstellt ein Twinkly Device mit dem Namen Weihnachtskaktus und der IP-Adresse 192.168.178.100 / Hostname Weihnachtskaktus.fritz.box.

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 - optional kann das Model auch via

attr <name> model <type>

setzen.

Es wird versucht ein Icon und das passende webCmd für eine einfache Steuerung zu setzen.

Readings

  • state - on / off
  • div. Device Informationen wie z.B.
    • Farben (rgb)
    • brightness
    • saturation
    • movies (hochgeladene / gespeicherte Effekte)

Set

  • brightness - set brightness to device
  • ct - set Colortemperatur to device (must be an RGB+W oder AWW 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

Get

  • 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

Attribute

  • interval - Aktualisierungsinterval verändern (min. 15 Sekunden)
  • model - Auswahl eines unterstützten Gerätes
  • disable - deaktiviert das Gerät
  • disabledForIntervals - deaktiviert das Gerät für den angegebenen Zeitintervall (13:00-18:30 or 13:00-18:30 22:00-23:00)

Bekannte Probleme

Eine parallele Steuerung zwischen FHEM und der Twinkly App führt zu Aussetzern bei den Lampen (Effekte bleiben hängen oder reagieren nicht mehr!

Dies liegt daran, dass das 31_Twinkly.pm Modul und auch die Twinkly App jedes Mal den Token, der für die Steuerung benötigt wird prüft und ggf. einen neuen Token anfordert.

Durch das regelmäßige Interval (default: 60 Sekunden) zerschießt sich das Modul und die Twinkly App den Token.

Daher mein Tipp:

Deaktiviert, bevor ihr eure Effekte in der Twinkly App konfigurieren wollt einfach das jeweilige Twinkly Device.