Twinkly

Version Product Version License Actions

Ermöglicht die Kommunikation mit den Smart LED Lichterketten Twinkly.

Inhaltverzeichnis

  1. Funktionsumfang
  2. Voraussetzungen
  3. Installation
  4. Einrichten der Instanzen in IP-Symcon
  5. Statusvariablen und Profile
  6. WebFront
  7. PHP-Befehlsreferenz
  8. Versionshistorie

1. Funktionsumfang

  • Suchen und Erstellen von Twinkly Geräten (Discovery Modul)
  • Schalten des LED-Betriebsmodus (+ extended mode)
  • Einstellen der Farbe, Helligkeit, Sättigung und Effekt
  • Auslesen aller Geräte- und Netwerkinformationen
  • Auslesen der Firmware Version
  • Änderung des Gerätenamens

2. Voraussetzungen

  • IP-Symcon ab Version 6.0

3. Installation

  • Über den Modul Store das Modul Twinkly installieren.
  • Alternativ Über das Modul-Control folgende URL hinzufügen.
    https://github.com/Wilkware/IPSymconTwinkly oder git://github.com/Wilkware/IPSymconTwinkly.git

4. Einrichten der Instanzen in IP-Symcon

Twinkly Discovery

Die Gerätesuche ist über die Glocke oben rechts in der Konsole aufrufbar. Dort über "SYSTEM AUSWÄHLEN" kann das
'Twinkly Discovery'-Modul ausgewählt und installiert werden.

Twinkly Device

Unter "Instanz hinzufügen" ist das 'Twinkly Device'-Modul (Alias: Smart LED Lichterkette) unter dem Hersteller 'Ledworks' aufgeführt.

Konfigurationsseite:

Einstellungsbereich:

Gerät ...

Name Beschreibung
IP-Adresse Netzwerkadresse der Lichterkette

Zeitschaltung ...

Name Beschreibung
Aus/Ein Zeitschaltung/Timer aktivieren bzw. deaktivieren.
Einschalten Tägliche Einschaltzeit.
Ausschalten Tägliche Ausschaltzeit.
JETZT Trägt die aktuelle Uhrzeit als Start- oder Endezeit ein

Erweiterte Einstellungen ...

Name Beschreibung
AKtivieren des erweiterten Modus Drüber können zusätzliche (ungetestete) LED Betriebsmodi freigeschalten werden (Musicreactive, Playlist & Realtime)!

Aktionsbereich:

Aktion Beschreibung
HELLIGKEIT Über die Schaltflächen kann die aktuelle Helligkeit syncronisiert werden (z.B. wenn von App geändert wurde).
SÄTTIGUNG Über die Schaltflächen kann die aktuelle Sättigung syncronisiert werden (z.B. wenn von App geändert wurde).
FARBE Über die Schaltflächen kann die aktuelle Frabe syncronisiert werden (z.B. wenn von App geändert wurde).
EFFEKT Über die Schaltflächen kann der aktuelle Effekt syncronisiert werden.
GERÄTEINFOS Über die Schaltflächen können die verschiedensten gerätespezifischen Einstellungen abgerufen werden.
FIRMWARE Über die Schaltflächen kann die Version des Gerätes ausgelesen und angezeigt werden.
NETZWERKSTATUS Über die Schaltflächen können die hinterlegten Netzwerkeinstellungen angezeigt werden.
Neuer Gerätenamen Zeigt den aktuellen (nach dem Öffnen des Formulares) Namen an bzw. kann in einen neuen Namen geändert werden.
ÄNDERN Setzt den Gerätenamen (Alias) neu.

5. Statusvariablen und Profile

Die Statusvariablen werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.

Name Typ Beschreibung
Schalter Integer Schalter (An/Aus)
Modus Integer LED-Betriebsmodus
Farbe Integer Farbwert
Effekt Integer Effektauswahl (1..5)
Brightness Integer Helligkeitswert (0..100%)
Sättigung Integer Sättigungswert (0..100%)

Folgendes Profil wird angelegt:

Name Typ Beschreibung
Twinkly.Switch Integer LED-Betriebsmodus (0=Aus, 1=An)
Twinkly.Mode Integer LED-Betriebsmodus (0=Color, 1=Effekt, 2=Film, 3=Demo)
Twinkly.ModeEx Integer Extended LED-Betriebsmodus (0=Color, 1=Effekt, 2=Film, 3=Demo, 4=Music Reactive, 5=Playlist, 6=Echtzeit)
Twinkly.Effect Integer Vordefinierte Effekte (1..5)

6. WebFront

Die pro Twinkly Gerät erzeugten Variablen können direkt ins Webfront verlingt werden.

7. PHP-Befehlsreferenz

void TWICKLY_Color(int $InstanzID);

Liest den aktuell am Gerät eingestelten Farbwert aus und synchronisert ihn mit der dazugehörigen Statusvariable.
Die Funktion liefert als Rückgabewert einen String (Farbe: 0xRRGGBB (<Integer-wert>)).

Beispiel: TWICKLY_Color(12345); Ausgabe "Helligkeit: 100%".

void TWICKLY_Effect(int $InstanzID);

Liest den aktuell am Gerät hinterlegten Effekt aus und synchronisert ihn mit der dazugehörigen Statusvariable.
Die Funktion liefert als Rückgabewert einen String (Effekt: x (<uuid>)).

Beispiel: TWICKLY_Brightness(12345); Ausgabe "Helligkeit: 100%".

void TWICKLY_Brightness(int $InstanzID);

Liest den aktuell am Gerät hinterlegten Helligkeitswert aus und synchronisert ihn mit der dazugehörigen Statusvariable.
Die Funktion liefert als Rückgabewert einen String (Helligkeit: xy%).

Beispiel: TWICKLY_Brightness(12345); Ausgabe "Helligkeit: 100%".

void TWICKLY_Saturation(int $InstanzID);

Liest de aktuell am Gerät hinterlegten Sättigungswert aus und synchronisert ihn mit der dazugehörigen Statusvariable.
Die Funktion liefert als Rückgabewert einen String (Sättigung: xy%).

Beispiel: TWICKLY_Saturation(12345); Ausgabe "Helligkeit: 100%".

void TWICKLY_Gestalt(int $InstanzID);

Liest alle Geräteinformationen aus.
Die Funktion liefert als Rückgabewert einen (sprintf) formatierten String.

Beispiel: TWICKLY_Gestalt(12345);

Product name: Twinkly
Hardware Version: 100
Bytes per LED: 3
Hardware ID: ab01cd
Flash Size: 64
LED Type: 14
Product Code: TWS250STP-B
Firmware Family: F
Device Name: Weihnachtsbaum
Uptime: 239317051
MAC: 12:34:56:ba:dc:fe
UUID: 12345678-bacd-1234-abcd-1234567890ab
Max supported LED: 1020
Number of LED: 250
LED Profile: RGB
Frame Rate: 23,810000
Movie Capacity: 992
Copyright: LEDWORKS 2018

void TWICKLY_Version(int $InstanzID);

Liest die installierte Firmwareversion des Gerätes aus.
Die Funktion liefert als Rückgabewert einen String (Firmware: x.yy.zz).

Beispiel: TWICKLY_Version(12345); Ausgabe "Firmware: 2.4.16".

void TWICKLY_Network(int $InstanzID);

Liest die eingestellten Netzwerkinformationen aus. Die Funktion liefert als Rückgabewert einen (sprintf) formatierten String.

Beispiel: TWICKLY_Network(12345);

Network mode: 1 (Station)
Station:
SSID: ssid
IP: 192.168.1.9
Gateway: 192.168.1.1
Mask: 255.255.255.0
RSSI: -54 db
Access Point:
SSID: Twinkly_DE99EF
IP: 192.168.4.1
Channel: 1
Encryption: NONE
SSID Hidden: false
Max connections: 4

void TWICKLY_DeviceName(int $InstanzID, string $NewName);

Setzt den Gerätenamen (Alias) neu.
Die Funktion liefert als Rückgabewert einen String (Erfolgsmeldung).

Beispiel: TWICKLY_DeviceName(12345, 'Lichterkette'); Ausgabe "Der Name wurde erfolgreich geändert!".

8. Versionshistorie

v3.0.20221201

  • NEU: Trennung von Ein/Aus-Schaltung und Änderung des Betriebsmodus
  • NEU: Betriebsmodus "Farbe" und "Effekt" konfiguriebar hinzugefügt
  • NEU: Steuerung der Sättigung hinzugfefügt
  • NEU: Synchronisation der Statusvariablen erweitert (z.B. wenn von App geändert wurde)
  • NEU: Konfigurationsformular überarbeitet und vereinheitlicht
  • NEU: Twinkly-API erweitert
  • NEU: Nutzung erweiterte Betriebsmodi (experimentell) ermöglicht
  • FIX: Interne Bibliotheken überarbeitet und vereinheitlicht
  • FIX: Doppelte gefundene Geräte gefixt
  • FIX: Dokumentation überarbeitet

v2.1.20210801

  • NEU: Konfigurationsformular überarbeitet und vereinheitlicht
  • NEU: Zeitschaltung (Timer) hinzugefügt
  • NEU: Abruf der Netzwerkinformation hinzugefügt
  • NEU: Änderung des Gerätenamens (Alias) hinzugefügt
  • NEU: Twinkly-API erweitert
  • FIX: Übersetzungen nachgezogen
  • FIX: Interne Bibliotheken überarbeitet und vereinheitlicht
  • FIX: Debug Meldungen überarbeitet
  • FIX: Dokumentation überarbeitet

v2.0.20201016

  • NEU: Steuerung bzw. Einstellung der Helligkeit
  • NEU: Vereinfachte Modusschaltung als normaler Lichtschalter
  • NEU: Fehlerbehandlung wenn keine Verbindung zum Gerät hergestellt werden kann
  • FIX: Bugfix Discovery Modul
  • FIX: Debugausgabe überarbeitet
  • FIX: API erweitert und überarbeitet

v1.0.20200501

  • NEU: Initialversion

v1.1.20200510

  • FIX: Bugfix Discovery Modul

v1.0.20200501

  • NEU: Initialversion

Entwickler

Seit nunmehr über 10 Jahren fasziniert mich das Thema Haussteuerung. In den letzten Jahren betätige ich mich auch intensiv in der IP-Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti 😉

GitHub

Spenden

Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.

PayPal

Lizenz

Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International

Licence