Aufgrund der überdurchschnittlichen Resonanz und Featurewünsche kann es derzeit nur die 4 Standard-Modi schalten. Also AN, AUS, DEMO und REALTIME. Bei AN/AUS klar- wird immer der letzte eingestellte Effekt geschalten. Demo geht durch alle Effekte durch (Schleife) und Realtime soll angeblich auf Musik reagieren und entsprechende Effekte darstellen (nie benutzt).
Viel Spaß
Heiko
PS: meine Family war auch erst negativ eingestellt bei dem Preis, aber dann war der Spieltrieb groß und das Ding war ständig in Betrieb
wieso „auch“ ? Hat mich sofort begeistert - bis auf den Preis, aber ich habe einfach 2 bestellt.
Mit der App konnte ich alles einrichten, habe meine beiden Lichterketten dann als Sequenz verbunden. Soweit so gut, aber komischerweise erkannte das Discovery …
als das erste Twinkly eingeschaltet war, nur das erste Twinkly
als das zweite auch an war, nur noch das zweite Twinkly
und als ich das erste vom Strom getrennt habe plötzlich BEIDE … ääääh…
egal, danach hatte ich beide Instanzen, aber jetzt stellt sich die Frage: Kann ich auch die Twinklies als Sequenz ansprechen ?
Ja, du kannst in der App mehrere Lichterketten als Sequenz verbinden. Dann kann man ganz ganze quasi als eine große Lichterkette ansprechen.
Es geht mit deinem Modul, indem man eben für jede Instanz die SetModes auch synchron abfeuert. Ob es eigene API-Befehle für Sequenzen gibt, weiß ich nicht.
Meinst du, du könntest noch die Brightness einbauen ? Das scheint die api ja herzugeben, so wie es aussieht. Zum Dimmen ganz nett
habe eine neue Beta eingereicht im Store - Helligkeit ist dabei
CHANGELOG
v2.0.20201016
[ul]
[li] NEU: Steuerung bzw. Einstellung der Helligkeit
[/li][li] NEU: Vereinfachte Modusschaltung als normaler Lichtschalter
[/li][li] NEU: Fehlerbehandlung wenn keine Verbindung zum Gerät hergestellt werden kann
[/li][li] FIX: Debugausgabe überarbeitet
[/li][li] FIX: API erweitert und überarbeitet
[/li][/ul]
Hmm,Tom hatte das Problem ja auch schon und ich hatte auch einen kleinen Fehler korriegiert. Könnt Ihr/Du mal bitte folgendes Script ausführen und schauen ob es Output liefert!
@pitti
Kennst du diese Seite?: https://github.com/scrool/xled
Es ist eine Python-Lib für Twinkly - hier geht wohl auch die Effektauswahl (Movie = Effekt)
Die Lib ist hier beschrieben.
Hier ist ein REST-API-Request für die Effektauswahl beschrieben.
Die Sachen kenne ich, aber vielleicht interpretiere ich die API auch falsch. In der verlinkten Python Teil ist eine Funktion vorhanden …
def set_led_movie_config(self, frame_delay, frames_number, leds_number):
"""
Performs firmware update from previously uploaded images
:param int frame_delay: speed of movie
:param int leds_number: total number of LEDs
:param int frames_number: total number of frames
:raises ApplicationError: on application error
:rtype: :class:`~xled.response.ApplicationResponse`
"""
json_payload = {
"frame_delay": frame_delay,
"frames_number": frames_number,
"leds_number": leds_number,
}
url = urljoin(self.base_url, "led/movie/config")
response = self.session.post(url, json=json_payload)
return ApplicationResponse(response)
Wie man lesen kann, kann man die Konfiguration eines Effekts/Movies einstellen, aber das Aktivieren eines Effektes ist das für mich nicht???
Twinkly private messaging API reference
Overview
Since firmware version 2.0.22-mqtt device sends messages with its states to a broker with MQTT. By default broker is set to mqtt.twinkly.com.
Last topic levels are always client ID which are by default derived from MAC address of the device as uppercased hexadecimal digits.
Status from device
Device publishes these messages to a broker.
Topic xled/status/ followed by client ID
Messages
online
ip - IP address. Added in firmware 2.1.0.
ssid - SSID to which device is connected. Added in firmware 2.1.0.
offline
Example
Online (firmware 2.0.22-mqtt):
{"status": "online"}
Online (since firmware 2.1.0):
{"status": "online", "ip": "192.168.4.1", "ssid": "home"}
Offline:
{"status": "offline"}
Application status from device
Device publishes these messages to a broker.
Topic
xled/appstatus/ followed by client ID
Messages
off
movie
collision
rainbow
twinkle
snake
Example
Rainbow:
{"appstatus": "rainbow"}
Command messages to device
Device listens to these messages.
Topic
xled/command/ followed by client ID
Messages
changeeffect
each message switches to next of default effects or movie. Same as pressing the button on the device.
setmovie
sets to uploaded movie effect
setcollision
sets default effect “collision”
setrainbow
sets default effect “rainbow”
setsnake
sets default effect “snake”
settwinkle
sets default effect “twinkle”
setwaves
sets default effect “waves”
switchoff
switches off the device
switchon
switches on the device
Example
Switch on:
{"command": "switchon"}
Es werden auch die Messages „ChangeEffect“ und der Aufruf der Standard-Effekte beschrieben (besser: erwähnt)
Ich weiss nicht, ob man das auf die REST-API anwenden kann oder es MQTT dazu braucht…
Bin auch kurz davor die Twinkly’s zu bestellen. Ich hab bisher keine „schönen“ WS2811/WS2812 Strings gefunden die da mithalten können. Leider lassen sich die Twinklys nicht so supereinfach wie die WS28xx steuern. Bisher hat es auch noch keiner geschafft das „Protokoll“ der LED’s zu knacken. Find es aber auch spannend dass hier 24v LEDS und nur zwei Leitungen verwendet werden.
Meine WS2811 Strips (sind tatsächlich lichterkettenähnliche Strips) kann ich aktuell gemütlich via Symcon steuern und auch Effekte anwählen. Ich hab ebenso die Möglichkeit sie dann noch via Art.Net und co zu steuern und auch diverse Python Scripte für Sound-to-light via dem Computer… Gäbe es nur eine Möglichkeit die Twinklys komplett zu knacken um sie an einem eigenen ESP8266/ESP32 zu verwenden.
Da könnte der Seitenschneider helfen. Allerdings verliert man dann wohl diese geniale Funktion des scannens, um die Position der einzelnen LEDs zu erfassen. Für meine anderen digitalen stripes, die fest verbaut sind, nutze ich wled…