[BETA][Modul] Wordclock

Das Modul ist nur als BETA verfügbar, daher wird dieses nur mit dem komplette Namen Wordclock im Store gefunden.

Das Modul ist zur Kommunikation mit diesem Projekt ausgelegt.

ESPWortuhr/Multilayout-ESP-Wordclock: Software for an ESP8266 based word clock with support of different layouts and languages

Wordclock – IP-Symcon Modul

Dieses Modul integriert eine Wordclock LED-Uhr über MQTT in IP-Symcon.

Es wertet den Status der Uhr aus, stellt komfortable Steuervariablen bereit (Helligkeit, Farbe, Effekte) und sendet Änderungen automatisch über MQTT zurück an die Uhr.

Funktionen

  • Empfängt Wordclock-Status über MQTT (<Topic>/status)
  • Stellt Steuervariablen in IP-Symcon bereit
  • Sendet Änderungen automatisch per MQTT (<Topic>/cmd)
  • Farbauswahl über HexColor + automatische Umrechnung in Hue/Saturation
  • Einstellbarer Effekt über Variablenprofil Wordclock.Effect
  • Frei definierbarer Lauftext. Die Laufzeit des Textes kann im Modul vorgegeben werden.. Die Geschwindigkeit muss jedoch in der Konfiguration der Wordclock definiert werden.
  • Debug-Ausgaben für alle MQTT-Ein-/Ausgänge

Installation

  1. Repository als Modul in IP-Symcon einbinden
  2. Instanz Wordclock anlegen
  3. Beim Anlegen der Instanz wird ebenfalls eine MQTT-Server Instanz angelegt, wenn noch keine besteht
  4. MQTT-Server und Server-Socket mit der Wordclock-Instanz verbinden und konfigurieren
  5. Basis-Topic im Konfigurationsformular konfigurieren
  6. Die Wordclock muss danach allenfalls neu gestartet werden

Konfigurationsformular

Option Beschreibung
Basis-Topic MQTT-Basis-Topic aus der Konfgiguration - Smart Home der Wordclock

Erzeugte Variablen

Ident Name Typ Profil Beschreibung
Color Farbe Integer ~HexColor Farbe
Brightness Helligkeit Float ~Intensity.100 0–100%
Hue Farbton Integer Wordclock.Hue 0–360°
Saturation Sättigung Integer ~Intensity.100 0–100%
Effect Effekt Integer Wordclock.Effect Effektliste
ScrollingText Lauftext String ~Textbox Eingabefeld
ScrollingDuration Lauftext Dauer Integer Wordclock.ScrollDuration Dauer des Lauftextes

Variablenprofile

Wordclock.Hue

  • Integer 0–360
  • Icon: Bulb

Wordclock.Effect

Wert Name
0 Wordclock
1 Seconds
2 Digitalclock
3 Scrollingtext
4 Rainbowcycle
5 Rainbow
6 Color
7 Symbol

Wordclock.ScrollDuration

  • Integer 0–600
  • Icon: Clock

MQTT Kommunikation

Empfang: <Topic>/status

{
  "state": "ON",
  "brightness": 180,
  "color": { "h": 210, "s": 80 }
}

Senden: <Topic>/cmd

{
  "state": "ON",
  "effect": "Scrollingtext",
  "color": { "h": 210, "s": 80 },
  "brightness": 180,
  "scrolling_text": " Hallo Symcon"
}

Andere Parameter sendet oder empfängt die Wordclock nicht.

PHP-Befehlsreferenz

// Lauftext für 20 Sekunden in Weiss anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 20, "#FFFFFF");

// Lauftext für 30 Sekunden in Rot anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 30, "#FF0000");

// Lauftext für 40 Sekunden ohne Farbänderung anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 40, "");
Farbe Hex
Rot #FF0000
Grün #00FF00
Blau #0000FF
Gelb #FFFF00
Weiss #FFFFFF
Pink #FF00FF

Die Farbe wird im Hex-Format eingegeben. Weitere Farben: https://htmlcolorcodes.com/

Debug Log

Geloggte Infos:

  • Eingehende MQTT-Daten
  • Ausgehende Kommandos
  • WebFront-Aktionen
  • RGB/HSV Berechnungen

Versionen

Version 2.0 (27.12.2025)

  • Umbau auf IPSModuleStrict, daher Kompatibilität hochgezogen auf 8.1.
  • Version um die Store-Kompatibilität zu erreichen.

Version 1.2 (23.11.2025)

  • Lauftext jetzt mit Farbangabe in Hex.

Version 1.1 (16.11.2025)

  • Standard Topic auf ESPWordclock geändert, was dem Standard der Uhr entspricht.
  • Helligkeit wird nun in Prozent dargestellt.
  • Debug überarbeitet.
  • Nach Möglichkeit Symcon eigene Profile verwendet.
  • Lauftext mit Laufzeit.

Version 1.0 (15.11.2025)

  • Initiale Version.

Lizenz

MIT License
(c) 2025 Stefan Künzli

2 „Gefällt mir“

Moin,

habe die Installation gestartet und anschließend gleich eine Instanz… folgender Fehler kommt.

AH, nicht reproduzierbar, also direkt nach der Modul installation von dort aus eine neue Instanz erstellen. Gedächnisprotokoll: Variablen werden nicht/ sind nicht vorhanden. Eine “Unnamed Instanz” mit Variable “Farbe” wurde angelegt mehr nicht.

Anschließend über rechte Maustaste, Objekt und Instanz “Wordclock” wählen hinzufügen funktioniert sofort, es werden die Variablen und die Instanz angelegt. Nur noch das Topic der Wortuhr angeben das im Webmenü der Uhr hinterlegt ist Standard: “ESPWordclock” und es Funktioniert sofort. Super Lösung

Werde mich mit der Beschreibung und den Funktionen im Einzelnen befassen und Berichten, das ist Super - DANKE

Bei mir ist eine Uhr mit SK2812 (RGBW) LED und eine (2) mit WS2812 (RGB) LED.

Gruß DVoss

Werde den Standard in der nächsten Version noch ändern, so dass noch weniger eingestellt werden muss.

Neue Beta-Version 1.1 mit folgenden Änderungen

  • Standard Topic auf ESPWordclock geändert, was dem Standard der Uhr entspricht.

  • Helligkeit wird nun in Prozent dargestellt.

  • Debug überarbeitet.

  • Nach Möglichkeit Symcon eigene Profile verwendet.

Tolle Arbeit!
Könntest du die Screenshots aus dem Gitprojekt auch hier einstellen, damit wird es gleich ohne viel Klicken für alle anschaulich.

Hallo habre,

das kann ich nur bestätigen - habe mich sehr gefreut und es funktioniert super.

Verstehe deine Frage nicht:
Welche Screenshots? von der Uhr? oder aus dem Wordclock-Modul?

D.Voss

Ging eigentlich an den Thread-Owner. Die ErgebnisBilder von der Uhr. Dann muss man nicht extra rüberklicken und kann sich gleich ein Bild machen.

Spannendes Thema. Scheint ja noch den einen oder anderen Wordclock Liebhaber hier zu geben.

Richtig spannend wäre es natürlich, wenn man die Laufschrift der Uhr aus Symcon heraus, mittels Texteingabe oder Definition einer Variable, beschreiben könnte…. dann bekämen die Uhren tatsächlich eine feine Hinweisfunktion.

Gruss

B71

Finde ich nicht nötig, jeder der eine ESP Wordclock hat, weiss wohl dass er sie hat, ansonsten ein kurzer klick auf die URL.

1 „Gefällt mir“

Gute Idee, die aktuellen Kommunikations-Möglichkeiten der Uhr über MQTT sind allerdings aktuell sehr dürftig. Wenn du aber dazu was findest, poste es gerne hier…

Hi, ich kann leider nur so ein Ding zusammenlöten, aber bei der Software und Ihren Details muss ich leider die weiße Fahne hissen :slight_smile:

Aber hier gibt es sooooo viele Mega-Entwickler, dass ich sicher bin das da jemand ne Idee hat.

Gruß

B71

Den Scrolltext anpassen bzw. ändern wäre toll +1

ich bin nicht der Programmierer, habe folgendes gefunden. In dem Quelltext der Wordclock im Verzeichnis ist folgendes hinterlegt.

Wordclock/…. /include/mqtt.hpp

/* Description:

This function processes the "scrolling_text" key in the provided JSON document.
If the "scrolling_text" key is present, it copies its value to the global
scrolling text buffer.

Input:

const JsonDocument &doc: The JSON document containing the "scrolling_text" key.

Output:

None
*/

void Mqtt::processScrollingText(const JsonDocument &doc) {
    if (doc.containsKey("scrolling_text")) {
        strcpy(G.scrollingText, doc["scrolling_text"]);
    }
}

Hilft das?

1 „Gefällt mir“

Diese Funktion wurde ohne neue Versionsnummer hinzugefügt.

Die Geschwindigkeit des Lauftextes kann nur im Interface der Uhr eingestellt werden, dafür gibt es keine MQTT Parameter.

Grundsätzlich läuft der Lauftext endlos, wie auch im Webinterface der Uhr.

Das Modul ermöglicht es aber, nach dem Ende der Laufzeit, automatisch zum vorherigen Effekt zurückzukehren.

Es gibt also zwei Möglichkeiten:

1: Über die Visu unter Angabe des Textes und der Dauer

2: Über eine Automation oder Script mit Angabe der Laufzeit

WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 20);
1 „Gefällt mir“

Genial,

Danke für die schnelle Anpassung, werde im Laufe des Tages schauen wie sich das nutzen lässt.

Solaranlage Akku voll, Fehler bzw. Systemmeldungen Anzeigen, Temperatur, Waschmaschine Fertig und natürlich das Herz “Symbol” für das erfolgreiche Rückstellen der Meldungen :wink:

Toll gemacht

Es gibt eine neue Beta.

Hier kann zusätzlich zur Dauer des Scrolltextes die Farbe in Hex gesetzt werden. Wer den Scrolltext bereits in einer Automation verwendet, muss die Parameter nun anpassen, ansonsten eine Fehlermeldung generiert wird.

Ein Beispiel wäre eine Fehlermeldung in Rot oder eine Bestätigung in Grün etc…

Hier näher Infos und Beispiele dazu:

PHP-Befehlsreferenz

// Lauftext für 20 Sekunden in Weiss anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 20, "#FFFFFF");

// Lauftext für 30 Sekunden in Rot anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 30, "#FF0000");

// Lauftext für 40 Sekunden ohne Farbänderung anzeigen
WCLOCK_ShowScrollingText(12345, "Mein Lauftext!", 40, "");
Farbe Hex
Rot #FF0000
Grün #00FF00
Blau #0000FF
Gelb #FFFF00
Weiss #FFFFFF
Pink #FF00FF

Die Farbe wird im Hex-Format eingegeben. Weitere Farben: https://htmlcolorcodes.com/

Tolle Anpassung mit der Zeit und Farbe,

Nach dem Update und dem erstellen eines Test Script mit diesem Inhalt kommt ein Fehler.

<?php

// WCLOCK_ShowScrollingText(12345, „Mein Lauftext!“, 30, „#FF0000“);

WCLOCK_ShowScrollingText(31366, „Mein Lauftext!“, 30, „#FF0000“);
Parse error: syntax error, unexpected identifier "Lauftext", expecting ")" in /var/lib/symcon/scripts/52882.ips.php on line 5

Die erste Klammer nach “…ScrollingText” wird Rot angezeigt

Ja, weil du Anführungszeichen aus dem Forum kopiert hat, die funktionieren nicht.
Michael

Stimmt, Copy/Paste war (m)ein Fehler,

Danke
Glück Auf D.Voss

Habe ich falsch dargestellt, nun stimmte es, dass es auch mit Copy/Paste funktioniert.

1 „Gefällt mir“

Ich bin begeistet - Funktioniert prima.

Mehrere Uhren laufen problemlos mit den Einstellungen und die zeitliche Scrolltext Übergabe ist perfekt für Info anzeigen.

DANKE