Twinkly – Geräte
Ermöglicht die Kommunikation mit den Smart LED-Leuchten Twinkly.
1. Funktionsumfang
- Schalten des LED-Betriebsmodus (+ extended mode)
- Einstellen der Farbe, Helligkeit, Sättigung, Effekt und Film
- Auslesen aller Geräte- und Netwerkinformationen
- Auslesen der Firmware Version
- Änderung des Gerätenamens
2. Voraussetzungen
- Symcon ab Version 6.4
3. Installation
- Über den Modul Store das Modul Twinkly installieren.
- Alternativ Über das Modul-Control folgende URL hinzufügen.
https://github.com/Wilkware/Twinklyodergit://github.com/Wilkware/Twinkly.git
4. Einrichten der Instanzen in Symcon
Unter “Instanz hinzufügen” ist das ‘Twinkly Gerät’-Modul (Alias: Twinkly Lichterkette oder Smarte 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. |
| FILM(E) | Über die Schaltflächen kann der aktuelle Film und alle hinterlegten Filme 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) |
| Film | Integer | Filmauswahl (abhänig von in der APP hinterlegten Filmen/Effekten) |
| 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) |
| Twinkly.Movie | Integer | Hinterlegte Filme (-1 für keine; >0 für hinterlegte Filme) |
6. Visualisierung
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_Effect(12345); Ausgabe “Effekt: 1 (00000000-0000-0000-0000-000000000001)”.
void TWICKLY_Movie(int $InstanzID);
Liest den aktuell am Gerät hinterlegten Film und und alle hinterlegten Filme aus und synchronisert ihn mit der dazugehörigen Statusvariable.
Die Funktion liefert als Rückgabewert einen String (Film: x (<name>)).
Beispiel: TWICKLY_Movie(12345); Ausgabe “Film: 1 (Rainbow)”.
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.2.20240222
- NEU: Anpassungen für IPS 7.x (Konfigurator & TileVisu)
- NEU: Schaltervariable migriert auf Boolean
- FIX: Übersetzungen nachgezogen
- FIX: Interne Bibliotheken überarbeitet
v3.1.20231127
- NEU: Steuerung der Film(effekte) hinzugefügt
- NEU: Synchronisation der Statusvariablen erweitert (dynamisches Film-Profil)
- NEU: Twinkly-API erweitert
- NEU: Kompatibilität auf IPS 6.4 hoch gesetzt
- FIX: Interne Bibliotheken überarbeitet
- FIX: PHP Syle Check korrigiert
- FIX: Dokumentation überarbeitet
v3.0.20221201
- NEU: Trennung von Ein/Aus-Schaltung und Änderung des Betriebsmodus
- NEU: Betriebsmodus “Farbe” und “Effekt” konfigurierbar hinzugefügt
- NEU: Steuerung der Sättigung hinzugefü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: 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: Debugausgabe überarbeitet
- FIX: API erweitert und überarbeitet
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 Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti ;-)
Spenden
Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.
Lizenz
Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International