Schrittweise Auswertung einer http-Antwort mit jq

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
PaulM
Beiträge: 315
Registriert: 16.02.2015, 17:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 125 Mal
Danksagung erhalten: 35 Mal

Schrittweise Auswertung einer http-Antwort mit jq

Beitrag von PaulM » 19.10.2021, 19:13

Ich mache eine http-Abfrage, deren Antwort alle notwendigen Informationen beeinhaltet

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("curl --connect-timeout 10 --max-time 10 'http://<IP>/status=json'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string antwort = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();   
Die Variable antwort werte ich schrittweise mit JQ aus (pro SV eine JQ Auswertung).

Bisher gelingt mir dies nur in Kombination mit der system.exec() der CCU (http://homematic-forum.de/forum/viewtop ... tf#p564824).

Code: Alles auswählen

string stdout;
string stderr;
system.Exec("printf $(echo '"#antwort#"' | jq 'JQ-SYNTAX0')", &stdout, &stderr);
string antwort0 = stdout.ToFloat();  

system.Exec("printf $(echo '"#antwort#"' | jq 'JQ-SYNTAX1')", &stdout, &stderr);
string antwort1 = stdout.ToFloat(); 

system.Exec("printf $(echo '"#antwort#"' | jq 'JQ-SYNTAXn')", &stdout, &stderr);
string antwortn = stdout.ToFloat(); 
Wie kann ich auch die schrittweise jq-Auswertung mit CUxD umsetzen ?
Mit Mut und Entschlossenheit gegen Intoleranz

Hattermann
Beiträge: 126
Registriert: 14.12.2015, 19:58
Danksagung erhalten: 4 Mal

Re: Schrittweise Auswertung einer http-Antwort mit jq

Beitrag von Hattermann » 16.01.2022, 18:22

Ich mache das ganz primitiv mit der such Funktion "String.Find".
Schau dir mal mein script an:
viewtopic.php?f=19&t=62796&p=695773&hil ... ti#p695773

Gruß Thomas

PaulM
Beiträge: 315
Registriert: 16.02.2015, 17:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 125 Mal
Danksagung erhalten: 35 Mal

Re: Schrittweise Auswertung einer http-Antwort mit jq

Beitrag von PaulM » 11.02.2022, 00:02

@Thomas
danke, auch dieser Weg führt auch Rom.
Die Vorteile von jq-Abfragen kann man aber damit leider nicht nutzen.
Gruß
Paul
Mit Mut und Entschlossenheit gegen Intoleranz

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Schrittweise Auswertung einer http-Antwort mit jq

Beitrag von MichaelN » 11.02.2022, 00:12

Was ist denn dein Ziel? Warum muss es cuxd sein?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

Zurück zu „CUxD“