Closed diddi68 closed 2 years ago
Kennt vielleicht jemand ein HomeMatic-Gerät, das einen Text als Wert sendet?
Beim HmIP-Device "WRCD_V2" gibt es den Datenpunkt "Channel 1 - KEY_TRANSCEIVER", und da ist der Parameter "TEXT" logisch als "string" und physikalisch als "integer" read/write. Ich kenn mich damit nicht sonderlich gut aus, aber vielleicht hilft es dir weiter. Ein reines HM-Device habe ich leider nicht gefunden.
Wie sehen denn die gesendeten Payloads aus?
Ich weiß gar nicht, ob man in CCU-Programmen überhaupt Zeichenketten verarbeiten kann.
Wenn es einen festen Satz an Zeichenketten gibt (z.B. Mo bis So), dann könnten sie auf die Zahlen von 0 bis 6 abgebildet werden. Eine Uhrzeit könnte auch auf eine Zahl abgebildet werden.
Der MQTT Analogwertempfänger könnte entsprechend erweitert werden.
Wie sehen denn die gesendeten Payloads aus?
Sehr unterschiedlich. Als Uhrzeit (z.B. 08:00), als Wochentag in Hex (z.B. 0x01) oder bei meinem Wasserzähler der Fehlerzeitbereich (z.B. 22-31 days). Die Beispiele stellen jeweils einen Payload dar.
Ich weiß gar nicht, ob man in CCU-Programmen überhaupt Zeichenketten verarbeiten kann.
Das Verarbeiten in Programmen wäre für mich gar nicht so wichtig. Das Anzeigen des MQTT-Payloads würde mir reichen (auch in einer Systemvariablen).
Die oben genannten Payloads kann der CCU-Jack bereits in Zahlen konvertieren:
Beispiel für die Uhrzeit:
Template | Eingabe | Ausgabe |
---|---|---|
{{slice . 0 2}}{{slice . 3 5}} | 14:23 | 1423,0 |
{{slice . 0 2}}{{slice . 3 5}} | 00:01 | 1,0 |
Beispiel für die Wochentage:
Template | Eingabe | Ausgabe |
---|---|---|
{{slice . 3 4}} | 0x03 | 3,0 |
Die Zahlen vom Fehlerzeitbereich können einzeln extrahiert werden, z.B. mit einem regulären Ausdruck.
Eine Beschreibung ist im Wiki zu finden.
An die Datenpunkte kannst Du dann ein CCU-Programm hängen, das die Zahlenwerte als Text umwandelt und in in Systemvariablen ablegt.
Siehe auch #93.
Vielen Dank für den Tipp. Werde ich bei nächster Gelegenheit mal ausprobieren.
Es gibt noch die Möglichkeit, dass der Text direkt auf ein MQTT-Topic einer Zeichenkettensystemvariablen (z.B. /sysvar/set/1234) geschrieben wird. Das Topic muss dann aber beim Sender konfigurierbar sein.
Dann schließe ich den Eintrag vorläufig. Technisch ist die ursprüngliche Anforderung wohl nicht zu erfüllen.
Falls das irgendwie machbar ist, wünsche ich mir ein virtuelles Gerät, mit dem ich MQTT-Textnachrichten empfangen kann. Mein Mähroboter sendet unter anderem z.B. Timerdaten in Uhrzeitformat (08:00) und Wochentag (Mo). Wäre super, wenn das implementiert werden könnte.