Seite 1 von 2

SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 5:04 pm
von rkaeufl
Ich möchte aus einer influx Datenbank Zählerstände und Leistungsdaten auslesen.
Mit dieser URL:

Code: Alles auswählen

http://192.168.xx.xx:8086/query?db=openhab_db&u=xxxxx&p=xxxxx&q=SELECT+value+FROM+kW_Pool+ORDER+BY+time+DESC+LIMIT+1;
erhalte ich im Browser diese Antwort:

Code: Alles auswählen

{"results":[{"statement_id":0,"series":[{"name":"kW_Pool","columns":["time","value"],"values":[["2022-08-04T16:50:02.464457791Z",0.012]]}]}]}
Wert wird mit ".values[1] ausgelesen.

Auch mit Prozentzeichen und 20 klappt es im Browser

Code: Alles auswählen

http://192.168.xx.xx:8086/query?db=openhab_db&u=xxxxx&p=xxxxx2&q=SELECT%20value%20FROM%20kW_Pool%20ORDER%20BY%20time%20DESC%20LIMIT%201;
In den Einstellungen natürlich mit doppelten Prozentzeichen.

Leider wird im Log nur die Änderung in den Einstellungen geloggt und dann nichts mehr:

Code: Alles auswählen

2022-08-04 19:00:09,118 INFO (2) WhirlPool rel: 0 oncnt/onstandby/time: 0/0/0 Status/Üeb: 10/1 akt: 0 Z: 0
2022-08-04 19:00:05,602 INFO Speicher Entladung(-)/Ladung(+): 0 SpeicherSoC: 100
2022-08-04 19:00:05,598 INFO Uberschuss: 169 Uberschuss mit Offset: -6431
2022-08-04 19:00:05,597 INFO EVU Bezug(-)/Einspeisung(+): 169 max Speicherladung: 6600
2022-08-04 19:00:00,582 INFO Mq pub openWB/SmartHome/Status/uberschuss=151 old 156
2022-08-04 19:00:00,578 INFO Mq pub openWB/SmartHome/Status/uberschussoffset=-6449 old -6444
2022-08-04 19:00:00,572 INFO Einschaltgruppe rel: 0 Summe Einschaltschwelle: 0 max Einschaltverzögerung 0 nur Einschaltgruppe prüfen bis: 00:00:00 in Total sec 0
2022-08-04 19:00:00,571 INFO Anzahl devices in Auschaltgruppe: 0 akt: 0 Anzahl devices in Einschaltgruppe: 0
2022-08-04 19:00:00,570 INFO Total Watt nicht im Hausverbrauch: 0
2022-08-04 19:00:00,569 INFO Total Watt nichtabschaltbarer smarthomedevices: 0
2022-08-04 19:00:00,568 INFO Total Watt abschaltbarer smarthomedevices: 0
2022-08-04 19:00:00,566 INFO (3) Sauna rel: 0 oncnt/onstandby/time: 0/0/0 Status/Üeb: 10/1 akt: 0 Z: 0
2022-08-04 18:59:57,217 INFO (2) WhirlPool rel: 0 oncnt/onstandby/time: 0/0/0 Status/Üeb: 10/1 akt: 0 Z: 0
2022-08-04 18:59:53,988 INFO Speicher Entladung(-)/Ladung(+): 0 SpeicherSoC: 100
2022-08-04 18:59:53,988 INFO Uberschuss: 151 Uberschuss mit Offset: -6449
2022-08-04 18:59:53,987 INFO EVU Bezug(-)/Einspeisung(+): 151 max Speicherladung: 6600
2022-08-04 18:59:48,975 INFO Mq pub openWB/SmartHome/Status/uberschuss=156 old 169
2022-08-04 18:59:48,971 INFO Mq pub openWB/SmartHome/Status/uberschussoffset=-6444 old -6431
2022-08-04 18:59:48,966 INFO Einschaltgruppe rel: 0 Summe Einschaltschwelle: 0 max Einschaltverzögerung 0 nur Einschaltgruppe prüfen bis: 00:00:00 in Total sec 0
2022-08-04 18:59:48,964 INFO Anzahl devices in Auschaltgruppe: 0 akt: 0 Anzahl devices in Einschaltgruppe: 0
2022-08-04 18:59:48,964 INFO Total Watt nicht im Hausverbrauch: 0
2022-08-04 18:59:48,963 INFO Total Watt nichtabschaltbarer smarthomedevices: 0
2022-08-04 18:59:48,962 INFO Total Watt abschaltbarer smarthomedevices: 0
2022-08-04 18:59:48,959 INFO (3) Sauna rel: 0 oncnt/onstandby/time: 0/0/0 Status/Üeb: 10/1 akt: 0 Z: 0
2022-08-04 18:59:45,674 INFO (2) WhirlPool rel: 0 oncnt/onstandby/time: 0/0/0 Status/Üeb: 10/1 akt: 0 Z: 0
2022-08-04 18:59:42,545 INFO Config reRead done
2022-08-04 18:59:42,541 INFO (9) Device nicht (länger) definiert
2022-08-04 18:59:42,538 INFO (8) Device nicht (länger) definiert
2022-08-04 18:59:42,536 INFO (7) Device nicht (länger) definiert
2022-08-04 18:59:42,534 INFO (6) Device nicht (länger) definiert
2022-08-04 18:59:42,533 INFO (5) Device nicht (länger) definiert
2022-08-04 18:59:42,531 INFO (4) Device nicht (länger) definiert
2022-08-04 18:59:42,529 INFO (3) Slbase überlesen RelayStatus 0
2022-08-04 18:59:42,528 INFO (3) Slbase überlesen device_pbtype none
2022-08-04 18:59:42,527 INFO (3) Slbase überlesen OnCountNor 0
2022-08-04 18:59:42,525 INFO (3) Slbase überlesen device_nonewatt 0
2022-08-04 18:59:42,524 INFO (3) Slbase überlesen Watt 0
2022-08-04 18:59:42,523 INFO (3) Slbase überlesen Wh 0.0
2022-08-04 18:59:42,522 INFO (3) Slbase überlesen Status 10
2022-08-04 18:59:42,515 INFO (3) Slbase überlesen DailyYieldKwh 0
2022-08-04 18:59:42,514 INFO (3) Separate Messung. Nur Parameter update json
2022-08-04 18:59:42,513 INFO (3) Sbase überlesen RelayStatus 0
2022-08-04 18:59:42,512 INFO (3) Sbase überlesen device_measurejsoncounter none
2022-08-04 18:59:42,511 INFO (3) Sbase überlesen Watt 0
2022-08-04 18:59:42,511 INFO (3) Sbase überlesen device_measurejsonurl http://192.168.xx.xx:8086/query?db=openhab_db&u=xxxxx&p=xxxxx&q=SELECT+value+FROM+kW_Sauna+ORDER+BY+time+DESC+LIMIT+1;
2022-08-04 18:59:42,510 INFO (3) Sbase überlesen device_measurejsonpower .values[1]
2022-08-04 18:59:42,509 INFO (3) Sbase überlesen OnCountNor 0
2022-08-04 18:59:42,507 INFO (3) Sbase überlesen Wh 0.0
2022-08-04 18:59:42,506 INFO (3) Sbase überlesen Status 10
2022-08-04 18:59:42,505 INFO (3) Sbase überlesen DailyYieldKwh 0
2022-08-04 18:59:42,503 INFO (3) Typ gleich, nur Parameter update
2022-08-04 18:59:42,502 INFO (3) Device bereits erzeugt
2022-08-04 18:59:42,499 INFO (2) Slbase überlesen RelayStatus 0
2022-08-04 18:59:42,498 INFO (2) Slbase überlesen device_pbtype none
2022-08-04 18:59:42,496 INFO (2) Slbase überlesen OnCountNor 0
2022-08-04 18:59:42,495 INFO (2) Slbase überlesen device_nonewatt 0
2022-08-04 18:59:42,494 INFO (2) Slbase überlesen Watt 0
2022-08-04 18:59:42,492 INFO (2) Slbase überlesen Wh 2446.0
2022-08-04 18:59:42,491 INFO (2) Slbase überlesen Status 10
2022-08-04 18:59:42,490 INFO (2) Slbase überlesen DailyYieldKwh 0
2022-08-04 18:59:42,488 INFO (2) Separate Messung. Nur Parameter update json
2022-08-04 18:59:42,487 INFO (2) Sbase überlesen RelayStatus 0
2022-08-04 18:59:42,485 INFO (2) Sbase überlesen device_measurejsoncounter none
2022-08-04 18:59:42,475 INFO (2) Sbase überlesen Watt 0
2022-08-04 18:59:42,474 INFO (2) Sbase überlesen device_measurejsonurl http://192.168.xx.xx:8086/query?db=openhab_db&u=xxxxx&p=xxxxx&q=SELECT+value+FROM+kW_Pool+ORDER+BY+time+DESC+LIMIT+1;
2022-08-04 18:59:42,473 INFO (2) Sbase überlesen device_measurejsonpower .values[[1]]
2022-08-04 18:59:42,472 INFO (2) Sbase überlesen OnCountNor 0
2022-08-04 18:59:42,471 INFO (2) Sbase überlesen Wh 2446.0
2022-08-04 18:59:42,470 INFO (2) Sbase überlesen Status 10
2022-08-04 18:59:42,470 INFO (2) Sbase überlesen DailyYieldKwh 0
2022-08-04 18:59:42,469 INFO (2) Typ gleich, nur Parameter update
2022-08-04 18:59:42,468 INFO (2) Device bereits erzeugt
2022-08-04 18:59:42,466 INFO (1) Device nicht (länger) definiert
2022-08-04 18:59:37,053 INFO Config reRead start
Kann ich irgendwo die JSON Antwort auf die Anfrage sehen, um evtl. dort den Fehler zu finden?

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 5:48 pm
von derNeueDet
Evtl. kapiere ich was nicht, aber um den Wert 0.012 auzulesen, müsste das Filter wie folgt aussehen:

Code: Alles auswählen

.results[].series[].values[][1]
VG
Det

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 6:18 pm
von rkaeufl
Dachte auch schon, dass der Filter falsch ist.
Dein Vorschlag bringt leider auch keine Werte.

Gruß
Roland

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 7:16 pm
von derNeueDet
rkaeufl hat geschrieben: Do Aug 04, 2022 6:18 pm Dachte auch schon, dass der Filter falsch ist.
Dein Vorschlag bringt leider auch keine Werte.

Gruß
Roland
macht 0,012 denn überhaupt Sinn???
Sollen das 12W sein? Smarthome will Ganzzahlen in W.

Code: Alles auswählen

.results[].series[].values[][1]*1000
VG
Det

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 7:32 pm
von rkaeufl
Die Umwälzpumpe läuft nur tagsüber. Somit wird jetzt nur die Steuerung gemessen.
Bei Gebrauch geht es bis zu 7,5 kW hoch.

Teste gerade auf der Konsole und bekomme mit diesem Filter:

Code: Alles auswählen

results[0].series[0].values[0]
jetzt diese Ausgabe:

Code: Alles auswählen

['2022-08-04T19:17:02.926485047Z', 0.012]
Ich müsste nur noch in die letzte Klammer rein und dort den 2. Wert bekommen.

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 7:42 pm
von rkaeufl
Mit dem Filter bekomme ich jetzt den Wert auf der Konsole:

Code: Alles auswählen

results[0].series[0].values[0[1]]*1000

Code: Alles auswählen

root@openhab:~# python3 strom_openwb.py
{"results":[{"statement_id":0,"series":[{"name":"kW_Pool","columns":["time","value"],"values":[["2022-08-04T19:37:02.243266266Z",0.012]]}]}]}

12.0
Leider im SmartHome 2.0 nicht.

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 7:53 pm
von derNeueDet
Ich bin immer noch bei meinem Filter

Code: Alles auswählen

results[].series[].values[][1]*1000|round
12.0 ist keine Ganzzahl!

Dein Filter results[0].series[0].values[0[1]]*1000 kann meiner Meinung nach nicht funktionieren. Die Schachtelung der Arrays ist so nicht korrekt.

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 8:14 pm
von rkaeufl
Ich multipliziere jetzt schon in der Query:

Code: Alles auswählen

http://192.168.xx.xx:8086/query?db=openhab_db&u=xxxxx&p=xxxxx&q=SELECT+1000+*+value+FROM+kW_Pool+ORDER+BY+time+DESC+LIMIT+1;
Ergebnis:

Code: Alles auswählen

root@openhab:~# python3 strom_openwb.py
{"results":[{"statement_id":0,"series":[{"name":"kW_Pool","columns":["time","value"],"values":[["2022-08-04T19:57:02.45849275Z",12]]}]}]}
Mit dem Filter

Code: Alles auswählen

results[0].series[0].values[0[1]]
bekomme ich eine glatte Wie gesagt alles auf einem Testsystem mit Python.

Grüße
Roland

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 8:20 pm
von derNeueDet
Da ich nicht weiß, was in deinem strom_openwb.py drin steht, kann ich dazu nichts sagen.

Aber die Module verwenden normalerweise das jq Modul und in jq ist dein Filter nicht korrekt.

Hast du meinen Filter mal in Smarthome 2.0 eingegeben?

Re: SmartHome 2.0 JSON Leistungsmessung aus influx Datenbankk

Verfasst: Do Aug 04, 2022 8:22 pm
von rkaeufl
Natürlich, hat aber nichts gebracht.
Aber danke für den Hinweis mit dem Jq Modul. Ich forsche da mal weiter.

Gute Nacht.
Roland