JSON-APIs auswerten
Moderator: Co-Administratoren
-
- Beiträge: 79
- Registriert: 20.12.2019, 16:42
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 1 Mal
Re: JSON-APIs auswerten
Besten Dank Michael!
Es hat nicht sauber funktioniert, d.h. bei gewünschten 12 SV aus zwei URLs sind 1-2 SV gerne mal "liegengeblieben".
Was auf den ersten Blick gut geht, ist die Aufteilung auf 2 Skripte, die ich mit 10s versetzt innerhalb des gleichen WebUI Programms laufen lasse.
Es hat nicht sauber funktioniert, d.h. bei gewünschten 12 SV aus zwei URLs sind 1-2 SV gerne mal "liegengeblieben".
Was auf den ersten Blick gut geht, ist die Aufteilung auf 2 Skripte, die ich mit 10s versetzt innerhalb des gleichen WebUI Programms laufen lasse.
Raspberry Pi 4 auf Bookworm mit Homebridge und HomeMatic 3.75.7 (piVCCU3, RPI-RF-MOD)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
-
- Beiträge: 79
- Registriert: 20.12.2019, 16:42
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 1 Mal
Re: JSON-APIs auswerten
Hallo Michael,
ich versuche eine Auswertung in das Skript zu integrieren, um in Abhängigkeit von einer ausgewerteten Variable eine SV (Boolean) zu setzen. Das Übersetzen einer ausgewerteten Variable in eine SV (Integer) funktioniert schon wunderbar.
Folgendes habe ich probiert, leider ohne Erfolg. Syntaxfehler (da lerne ich noch) oder Logik?
ich versuche eine Auswertung in das Skript zu integrieren, um in Abhängigkeit von einer ausgewerteten Variable eine SV (Boolean) zu setzen. Das Übersetzen einer ausgewerteten Variable in eine SV (Integer) funktioniert schon wunderbar.
Folgendes habe ich probiert, leider ohne Erfolg. Syntaxfehler (da lerne ich noch) oder Logik?
Code: Alles auswählen
if (Variable.Value() == 'OFF') {
dom.GetObject("Zustand").State(0);
}
elseif (Variable.Value() == 'AWAY') {
dom.GetObject("Zustand").State(0);
}
elseif (Variable.Value() == 'TIME-CONTROLLED') {
dom.GetObject("Zustand").State(1);
}
Raspberry Pi 4 auf Bookworm mit Homebridge und HomeMatic 3.75.7 (piVCCU3, RPI-RF-MOD)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
-
- Beiträge: 9804
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1655 Mal
Re: JSON-APIs auswerten
Und wie ist definiert?
Code: Alles auswählen
Variable
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 +++
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 +++
-
- Beiträge: 79
- Registriert: 20.12.2019, 16:42
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 1 Mal
Re: JSON-APIs auswerten
Als eigene Variable gar nicht bzw. nur basierend auf Deinem Skript -> JSON_operationMode0
Raspberry Pi 4 auf Bookworm mit Homebridge und HomeMatic 3.75.7 (piVCCU3, RPI-RF-MOD)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
Homematic-HAP
HmIP-PSM, HmIP-PS, HmIP-PS-2, HmIP-BSM x4, HmIP-BROLL x17, HmIP-WTH2, HmIP-STH, HmIP-SWDO, HmIP-SWSD x3, HmIP-WRC6, HmIP-SWDM-2 x2, HmIP-SCTH230
Garagentor (HMIP-SWDO, HM-LC-Sw1-Pl-CT-R1)
Solar-log Base 15, FW 6.0.2
Nuki 3 Pro
IKEA Tradfi (Licht, ShortButton -> Garagentor)
HM-pdetect mit Fritzbox-Config (Anwesenheit)
-
- Beiträge: 9804
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1655 Mal
Re: JSON-APIs auswerten
Dann kann das auch nicht funktionieren. Woher soll die Skriptengine wissen, was Du mit Variable ansprechen willst?
Wie man Systemvariablen anspricht, kannst Du Dir in der Signatur unter "undokumentierte Skript Befehle" ansehen.
Wie man Systemvariablen anspricht, kannst Du Dir in der Signatur unter "undokumentierte Skript Befehle" ansehen.
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 +++
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 +++
-
- Beiträge: 581
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 29 Mal
- Danksagung erhalten: 136 Mal
Re: JSON-APIs auswerten
In deinem Falle kann die Auswertung statt über if / ifelse - Blöcke
auch durch ein einziges Statement erledigt werden.
Ich hätte das einfach am Ende des Scripts eingefügt:
auch durch ein einziges Statement erledigt werden.
Ich hätte das einfach am Ende des Scripts eingefügt:
Code: Alles auswählen
string JSON_operationMode0 = dom.GetObject(ID_SYSTEM_VARIABLES).Get("JSON_operationMode0").Value();
boolean zustand = (JSON_operationMode0 == "TIME-CONTROLLED") ;
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Zustand").State(zustand);
Gruß
Harry
Harry
Re: JSON-APIs auswerten
Hallo Zusammen,
ich benutze das Script endlich seit langem wieder weil es im Sommer plötzlich nicht mehr funktionierte.
Nur zur Info: ich hatte die DNS Einträge in der Rasperrymatic auf Freie Betreiber umgestellt die nachweislich nicht tracken etc. und bekam immer nur eine Fehlermeldung bei der Auführung des Scripts. Heute, nach unzähligen Stunden der Fehlersuche einfach mal die üblichen Verdächtigen eingetragen und es funzt wieder.
Vielen Dank für diesen großartigen Code....
Eine Frage hätte ich noch.
Wenn man im Browser die Seite aufruft gibt es ja 3 Reiter: JSON Raw Data und Header
Unter Header gibts ne Zeile: RateLimit-Remaining also die noch freien Abfragen.
Das würde ich gerne mitverarbeiten. Beim Aufruf per: system.Exec(url , &rueck, &error);
steht das Zeugs ja in &error; (wenn man wget mit -d ausführt).
Wie bekomm ich diese Daten per Cuxd abfrage zurück?
Grüße aus dem Schwabenland...
ich benutze das Script endlich seit langem wieder weil es im Sommer plötzlich nicht mehr funktionierte.
Nur zur Info: ich hatte die DNS Einträge in der Rasperrymatic auf Freie Betreiber umgestellt die nachweislich nicht tracken etc. und bekam immer nur eine Fehlermeldung bei der Auführung des Scripts. Heute, nach unzähligen Stunden der Fehlersuche einfach mal die üblichen Verdächtigen eingetragen und es funzt wieder.
Vielen Dank für diesen großartigen Code....
Eine Frage hätte ich noch.
Wenn man im Browser die Seite aufruft gibt es ja 3 Reiter: JSON Raw Data und Header
Unter Header gibts ne Zeile: RateLimit-Remaining also die noch freien Abfragen.
Das würde ich gerne mitverarbeiten. Beim Aufruf per: system.Exec(url , &rueck, &error);
steht das Zeugs ja in &error; (wenn man wget mit -d ausführt).
Wie bekomm ich diese Daten per Cuxd abfrage zurück?
Grüße aus dem Schwabenland...
-
- Beiträge: 9804
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1655 Mal
Re: JSON-APIs auswerten
Wieso nutzt du nicht einfach System.Exec?
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 +++
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 +++
Re: JSON-APIs auswerten
Hallo,
ich möchte die API von Ondilo per script auf der CCU3 auslesen.
Die Prozedur API Token Exchange habe ich erfolgreich durchführen können.
Nun komme ich nicht weiter, ich denke, es liegt am wget header.
Ich habe es mit temperature1 versucht...
Ondilo API Anleitung: https://interop.ondilo.com/docs/api/cus ... -data-last
Pool-ID und Token sind entsprechend eingetragen:
string url = "https://interop.ondilo.com/api/customer ... emperature";
url = "wget --header=Authorization: Bearer Token, Accept: application/json, Accept-Charset: utf-8, Accept-Encoding: gzip, deflate, Content-Type: application/x-www-form-urlencoded "#url#"'";
Über Hilfe würde ich mich freuen.
Danke
Gruss
ich möchte die API von Ondilo per script auf der CCU3 auslesen.
Die Prozedur API Token Exchange habe ich erfolgreich durchführen können.
Nun komme ich nicht weiter, ich denke, es liegt am wget header.
Ich habe es mit temperature1 versucht...
Ondilo API Anleitung: https://interop.ondilo.com/docs/api/cus ... -data-last
Pool-ID und Token sind entsprechend eingetragen:
string url = "https://interop.ondilo.com/api/customer ... emperature";
url = "wget --header=Authorization: Bearer Token, Accept: application/json, Accept-Charset: utf-8, Accept-Encoding: gzip, deflate, Content-Type: application/x-www-form-urlencoded "#url#"'";
Über Hilfe würde ich mich freuen.
Danke
Gruss
Re: JSON-APIs auswerten
string url = "https://interop.ondilo.com/api/customer ... emperature";
url = "wget --header=Authorization: Bearer 66d1d961e4a5ce834a5599c0b00981c72f7c0215, Accept: application/json, Accept-Charset: utf-8, Accept-Encoding: gzip, deflate, Content-Type: application/x-www-form-urlencoded "#url#"'";
url = "wget --header=Authorization: Bearer 66d1d961e4a5ce834a5599c0b00981c72f7c0215, Accept: application/json, Accept-Charset: utf-8, Accept-Encoding: gzip, deflate, Content-Type: application/x-www-form-urlencoded "#url#"'";