CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Der CCU-Jack als REST- und MQTT-Schnittstelle für die CCU und virtuelle Geräte für das IoT

Moderator: Co-Administratoren

Mathias
Beiträge: 1781
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von Mathias » 04.06.2022, 10:29

Ich nehme an, dass Du primär de MQTT-Funktionalität nutzt. Welche Geräte bzw. Software senden den Nachrichten an den CCU-Jack?

MQTT-Nachrichten, die mit dem Retained-Flag gesendet werden, behält der CCU-Jack im RAM. Wenn davon viele und große Nachrichten an den CCU-Jack gesendet werden, könnte das eine Erklärung sein.

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von DJDieter » 04.06.2022, 10:42

Es ist mein Mähroboter, der aber schon seit mehreren Wochen im CCU-Jack eingerichtet ist (sendet mit Retain-Flag, lässt sich auch nicht ändern) und seit ein paar Tagen mein Wasserzähler (ohne Retain), der allerdings alle 16 Sekunden sendet. Bei dem schalte ich testweise mal das MQTT ab. Reicht das oder muss ich im Jack das virtuelle Gerät auch löschen?
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von DJDieter » 04.06.2022, 12:31

Es war mein Wasserzähler. Seitdem ich bei diesem MQTT deaktiviert hatte, ist der Speicherverbrauch nicht mehr gestiegen. Da muss ich mich mal auf die Suche nach dem Fehler machen.

Noch eine Nachfrage:
Wenn ich in einem MQTT-JSON-String mit mehreren Daten eine Zeitangabe habe, die ich auflösen muss (mit z.B. {{slice . 0 2}}{{slice . 3 5}}), ist das möglich und wenn ja, wie?
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

Mathias
Beiträge: 1781
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von Mathias » 04.06.2022, 14:28

DJDieter hat geschrieben:
04.06.2022, 12:31
Wenn ich in einem MQTT-JSON-String mit mehreren Daten eine Zeitangabe habe, die ich auflösen muss (mit z.B. {{slice . 0 2}}{{slice . 3 5}}), ist das möglich und wenn ja, wie?
{{slice . 0 2}}{{slice . 3 5}} funktioniert mit der aktuellen Version 2.2.0. Damit kann dann z.B. 12:34 als Zahl 1234,0 eingelesen werden.

Pro MQTT-Analogwertempfänger kann nur ein einziger Zahlenwert empfangen werden. Wenn Du mehrere Infos aus der MQTT-Payload herausziehen willst, musst Du mehrere MQTT-Analogwertempfänger anlegen.

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von DJDieter » 04.06.2022, 15:20

Da hab ich mich etwas missverständlich ausgedrückt. Hier mal ein konkretes Beispiel an folgendem MQTT-JSON:

Code: Alles auswählen

 {"total_m3":6.388,"target_m3":6.377,"max_flow_m3h":0.000,"flow_temperature":8,"external_temperature":23,"current_status":"DRY","timestamp":"2018-02-08T09:07:22Z"}
Je Analogwertempfänger hole ich mir mit z.B. „After total_m3“ die Werte. Das funktioniert. Mein Problem ist der „timestamp“. Wie kann ich den gleichzeitig extrahieren und mit „slice“ zu einer Zahl zusammenbauen?
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

Mathias
Beiträge: 1781
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von Mathias » 04.06.2022, 20:10

DJDieter hat geschrieben:
04.06.2022, 15:20
Hier mal ein konkretes Beispiel an folgendem MQTT-JSON:

Code: Alles auswählen

 {"total_m3":6.388,"target_m3":6.377,"max_flow_m3h":0.000,"flow_temperature":8,"external_temperature":23,"current_status":"DRY","timestamp":"2018-02-08T09:07:22Z"}
Je Analogwertempfänger hole ich mir mit z.B. „After total_m3“ die Werte. Das funktioniert. Mein Problem ist der „timestamp“. Wie kann ich den gleichzeitig extrahieren und mit „slice“ zu einer Zahl zusammenbauen?
Mit folgendem Template

Code: Alles auswählen

 {{with (parseJSON .).timestamp }}{{ slice . 0 4 }}{{ slice . 5 7 }}{{ slice . 8 10 }}{{ slice . 11 13 }}{{ slice . 14 16 }}{{ slice . 17 19 }}{{end}}
bekommst Du als Timestamp 20180208090722,0. Ich weiß aber nicht, ob die CCU so große Zahlen gut darstellen kann.

DJDieter
Beiträge: 311
Registriert: 11.01.2008, 14:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 33 Mal
Danksagung erhalten: 19 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von DJDieter » 04.06.2022, 20:32

Super, hat funktioniert. Vielen Dank. :D
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

schneider.obw
Beiträge: 69
Registriert: 30.09.2014, 23:02
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 17 Mal
Danksagung erhalten: 10 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von schneider.obw » 10.06.2022, 19:34

Hallo.

Gerade eben bin ich auf das Addon CCU-Jack hier gestoßen, und würde es gerne testen.
Ich habe eine Raspberrymatic in der aktuellsten Version auf dem Tinkerboard S laufen.
Kann ich dafür die Installationsdatei des RP2+3 verwenden: ccu-jack-ccu3-rm-rp2+3?

In Handbuch wird das Tinkerboard bei den Installationsversionen nicht erwähnt.

Danke vorab für kurze Rückinfo.


schneider.obw
Beiträge: 69
Registriert: 30.09.2014, 23:02
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 17 Mal
Danksagung erhalten: 10 Mal

Re: CCU-Jack V2.2.0: Bulk-API zum Lesen/Setzen mehrerer Datenpunkte in einer Anfrage

Beitrag von schneider.obw » 10.06.2022, 19:54

Super. Danke.
Die Suchfunktion hat bei mir leider nichts rausgeworfen,
weil keiner der Anfragenden den Begriff "Tinkerboard" verwendet hat.
TB, Tinker Board ist halt nicht der korrekte Name des Asus MiniPCs.

Antworten

Zurück zu „CCU-Jack“