Twinkly

Aus FHEMWiki
Version vom 27. November 2022, 12:20 Uhr von Ph1959de (Diskussion | Beiträge) (Forenlink korrigiert)
Twinkly
Zweck / Funktion
Steuern von Twinkly Lichtern
Allgemein
Typ Inoffiziell
Details
Dokumentation 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

Das Modul Twinkly ermöglicht es, Lichter der Marke Twinkly zu steuern.

Die jeweils aktuelle Version des Moduls steht im ersten Beitrag des Forenthemas Modul 31_Twinkly.pm - Control Twinkly Lights und in Github unter https://github.com/t1me2die/31_Twinkly.pm/blob/main/31_Twinkly.pm zur Verfügung.

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-2 Minuten 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>

gesetzt werden.

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)
  • fullResponse - Fehlermeldung z.B. "Keine Route zum Zielrechner (113)"

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.