UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
[Frage] [3.5.1] API/JSON: Wie Antwort mit mehreren "Channels" Auswerten?
Forumsregeln
- Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
- Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
- Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
- Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
-
- Reactions:
- Beiträge: 135
- Registriert: Mo Okt 01, 2018 11:34 am
- Hat sich bedankt: 62 Mal
- Danksagung erhalten: 37 Mal
[3.5.1] API/JSON: Wie Antwort mit mehreren "Channels" Auswerten?
Hallo,
ich frage die Sonnenbatterie ECO 8 - und hier speziell das verbaute Powermeter per API-GET (mit API-Key) ab und bekomme auch folgende Antwort:
[
{
"a_l1": 2.4519999027252197,
"a_l2": 2.4059998989105225,
"a_l3": 2.371999979019165,
"channel": 1,
"deviceid": 4,
"direction": "production",
"error": 0,
"kwh_exported": 0,
"kwh_imported": 33760.69921875,
"v_l1_l2": 412.3999938964844,
"v_l1_n": 237.39999389648438,
"v_l2_l3": 410.1000061035156,
"v_l2_n": 236.8000030517578,
"v_l3_l1": 410.8999938964844,
"v_l3_n": 236.39999389648438,
"va_total": 1712.699951171875,
"var_total": 0,
"w_l1": 582.2999877929688,
"w_l2": 569.7000122070312,
"w_l3": 560.7000122070312,
"w_total": 1712.699951171875
},
{
"a_l1": 3.6040000915527344,
"a_l2": 0.8059999942779541,
"a_l3": 1.940999984741211,
"channel": 2,
"deviceid": 4,
"direction": "consumption",
"error": 0,
"kwh_exported": 0,
"kwh_imported": 35696.80078125,
"v_l1_l2": 412.3999938964844,
"v_l1_n": 237.10000610351562,
"v_l2_l3": 410.1000061035156,
"v_l2_n": 236.8000030517578,
"v_l3_l1": 410.8999938964844,
"v_l3_n": 236.39999389648438,
"va_total": 1013.7000122070312,
"var_total": -131.1999969482422,
"w_l1": 731.9000244140625,
"w_l2": 18,
"w_l3": 237.89999389648438,
"w_total": 1005.2000122070312
}
]
Da hier die Abfragenamen nicht eindeutig sind (alle Namen in Anführungszeichen kommen doppelt vor - aber in verschiedenen Gruppen bzw. Channels), weiß ich nicht, wie ich die einzelnen Auswertungen erhalten kann.
Wo (bei "Auswertung HTTP Antwort hinzufügen"?) muss ich was eintragen, um z.B. in der Verbrauchs-Gruppe den Strom von L1 (a_l1) zu erhalten?
Schöne Grüße
Thomas
ich frage die Sonnenbatterie ECO 8 - und hier speziell das verbaute Powermeter per API-GET (mit API-Key) ab und bekomme auch folgende Antwort:
[
{
"a_l1": 2.4519999027252197,
"a_l2": 2.4059998989105225,
"a_l3": 2.371999979019165,
"channel": 1,
"deviceid": 4,
"direction": "production",
"error": 0,
"kwh_exported": 0,
"kwh_imported": 33760.69921875,
"v_l1_l2": 412.3999938964844,
"v_l1_n": 237.39999389648438,
"v_l2_l3": 410.1000061035156,
"v_l2_n": 236.8000030517578,
"v_l3_l1": 410.8999938964844,
"v_l3_n": 236.39999389648438,
"va_total": 1712.699951171875,
"var_total": 0,
"w_l1": 582.2999877929688,
"w_l2": 569.7000122070312,
"w_l3": 560.7000122070312,
"w_total": 1712.699951171875
},
{
"a_l1": 3.6040000915527344,
"a_l2": 0.8059999942779541,
"a_l3": 1.940999984741211,
"channel": 2,
"deviceid": 4,
"direction": "consumption",
"error": 0,
"kwh_exported": 0,
"kwh_imported": 35696.80078125,
"v_l1_l2": 412.3999938964844,
"v_l1_n": 237.10000610351562,
"v_l2_l3": 410.1000061035156,
"v_l2_n": 236.8000030517578,
"v_l3_l1": 410.8999938964844,
"v_l3_n": 236.39999389648438,
"va_total": 1013.7000122070312,
"var_total": -131.1999969482422,
"w_l1": 731.9000244140625,
"w_l2": 18,
"w_l3": 237.89999389648438,
"w_total": 1005.2000122070312
}
]
Da hier die Abfragenamen nicht eindeutig sind (alle Namen in Anführungszeichen kommen doppelt vor - aber in verschiedenen Gruppen bzw. Channels), weiß ich nicht, wie ich die einzelnen Auswertungen erhalten kann.
Wo (bei "Auswertung HTTP Antwort hinzufügen"?) muss ich was eintragen, um z.B. in der Verbrauchs-Gruppe den Strom von L1 (a_l1) zu erhalten?
Schöne Grüße
Thomas
Zuletzt geändert von StefanW am Do Nov 03, 2022 2:01 pm, insgesamt 2-mal geändert.
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
-
- Reactions:
- Beiträge: 229
- Registriert: Do Dez 27, 2018 2:19 pm
- Wohnort: Borgsdorf
- Hat sich bedankt: 44 Mal
- Danksagung erhalten: 143 Mal
Hey Thomas,
gib mal dein JSON bei JSON Path Finder ein. Da wird dir das dann schön aufgeschlüsselt.
Grüße
Willy
Beispiel: [0].a_l1 und [1].a_l1
gib mal dein JSON bei JSON Path Finder ein. Da wird dir das dann schön aufgeschlüsselt.
Grüße
Willy
Beispiel: [0].a_l1 und [1].a_l1
Zuletzt geändert von MrWilson am Do Nov 03, 2022 12:03 pm, insgesamt 2-mal geändert.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache
-
- Reactions:
- Beiträge: 135
- Registriert: Mo Okt 01, 2018 11:34 am
- Hat sich bedankt: 62 Mal
- Danksagung erhalten: 37 Mal
Hallo Willy,
Super, vielen Dank für den Hinweis und das Beispiel, perfekt!!!
Beste Grüße
Thomas
Super, vielen Dank für den Hinweis und das Beispiel, perfekt!!!
Beste Grüße
Thomas
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
-
- Reactions:
- Beiträge: 135
- Registriert: Mo Okt 01, 2018 11:34 am
- Hat sich bedankt: 62 Mal
- Danksagung erhalten: 37 Mal
@MrWilson
und gerne auch an alle anderen:
Nachtrag:
Hallöle, ich komm' schon wieder nicht weiter:
Wie bekomm ich die Auswertung bei so einer Antwort?:
{
"Header":{
"Version":6,
"Device":"87",
"Timestamp":1668539804
},
"Data":{
"Logging Analog":[
{
"Number":21,
"AD":"A",
"Value":{
"Value":35.6,
"Unit":"1"
}
}]},
"Status":"OK",
"Status code":0
}
HIer führt der Pfad von Json Path Finder zu keinem (vom TW akzeptierten) Ergebnis.
Beste Grüße
Thomas
und gerne auch an alle anderen:
Nachtrag:
Hallöle, ich komm' schon wieder nicht weiter:
Wie bekomm ich die Auswertung bei so einer Antwort?:
{
"Header":{
"Version":6,
"Device":"87",
"Timestamp":1668539804
},
"Data":{
"Logging Analog":[
{
"Number":21,
"AD":"A",
"Value":{
"Value":35.6,
"Unit":"1"
}
}]},
"Status":"OK",
"Status code":0
}
HIer führt der Pfad von Json Path Finder zu keinem (vom TW akzeptierten) Ergebnis.
Beste Grüße
Thomas
Zuletzt geändert von Tomtheripper am Di Nov 15, 2022 7:21 pm, insgesamt 1-mal geändert.
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
-
- Reactions:
- Beiträge: 135
- Registriert: Mo Okt 01, 2018 11:34 am
- Hat sich bedankt: 62 Mal
- Danksagung erhalten: 37 Mal
Zuletzt geändert von Tomtheripper am Di Nov 15, 2022 7:05 pm, insgesamt 3-mal geändert.
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
-
- Reactions:
- Beiträge: 138
- Registriert: Do Sep 29, 2022 12:52 am
- Hat sich bedankt: 145 Mal
- Danksagung erhalten: 101 Mal
Moin,
wenn ich das jetzt richtig verstehe solltest du einfach bei der -Auswertung HTTP Antwort- im Feld -Selektor- die Variabel eingeben welche du ausgewertet haben möchtest. Also zum Beispiel: Version.
Dann bekommst du bei jeder Objekt Abfrage den dahinter stehenden Wert ausgegeben.
Grüße Sebastian
wenn ich das jetzt richtig verstehe solltest du einfach bei der -Auswertung HTTP Antwort- im Feld -Selektor- die Variabel eingeben welche du ausgewertet haben möchtest. Also zum Beispiel: Version.
Dann bekommst du bei jeder Objekt Abfrage den dahinter stehenden Wert ausgegeben.
Grüße Sebastian
Grüße
Sebastian
TWS 3500S ID:860, VPN offen, Reboot möglich
Sebastian
TWS 3500S ID:860, VPN offen, Reboot möglich
-
- Reactions:
- Beiträge: 229
- Registriert: Do Dez 27, 2018 2:19 pm
- Wohnort: Borgsdorf
- Hat sich bedankt: 44 Mal
- Danksagung erhalten: 143 Mal
Data."Logging Analog".0.Value.Value
sollte in deinem Beispiel 35.6 ausgeben. Ich kann es aber nicht testen, deswegen mal bitte ausprobieren.
sollte in deinem Beispiel 35.6 ausgeben. Ich kann es aber nicht testen, deswegen mal bitte ausprobieren.
Zuletzt geändert von MrWilson am Mi Nov 16, 2022 9:43 am, insgesamt 1-mal geändert.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache
-
- Reactions:
- Beiträge: 135
- Registriert: Mo Okt 01, 2018 11:34 am
- Hat sich bedankt: 62 Mal
- Danksagung erhalten: 37 Mal
Hallo @Sebastian104 und @MrWilson und Danke für die Antworten!
Leider funzen beide Vorschläge nicht, ich habe aber noch was rausgefunden:
Ich vermute einen Fehler in der Antwort vom C.M.I (Technische Alternative), da sie vom Json Pathfinder anders "interpretiert" wird als die ganz unten:
{
"Header": {
"Version": 6,
"Device": "8D",
"Timestamp": 1668603585
},
"Data": {
"Modbus": [
{
"Number": 1,
"AD": "A",
"Value": {
"Value": 1,
"Unit": "0"
}
}
]
},
"Status": "OK",
"Status code": 0
}
Diese Antwort z.B. wird korrekt aufgeschlüsselt
wohingegen bei dieser Antwort
{
"Header": {
"Version": 6,
"Device": "87",
"Timestamp": 1668604466
},
"Data": {
"Logging Analog": [
{
"Number": 21,
"AD": "A",
"Value": {
"Value": 32.7,
"Unit": "1"
}
}
]
},
"Status": "OK",
"Status code": 0
}
das Leerzeichen zwischen "Logging Analog" für den Fehler sorgt!
Und genau diesen Wert kann ich nicht entlocken, egal was ich versuche...
Hier zum Vergleich die Json Pathfinder Interpretation mit von mir eingefügtem Unterstrich:
Wisst ihr, ob das mit der Leerstelle erlaubt ist? Sonst würde ich das an Technische Alternative als Fehler melden.
Ich habe mir nun so beholfen: Ich hole den gesuchten Wert über die Abfrage eines anderen Gerätes.
Trotzdem nochmal Danke für die Hilfe!!
Beste Grüße
Thomas
Leider funzen beide Vorschläge nicht, ich habe aber noch was rausgefunden:
Ich vermute einen Fehler in der Antwort vom C.M.I (Technische Alternative), da sie vom Json Pathfinder anders "interpretiert" wird als die ganz unten:
{
"Header": {
"Version": 6,
"Device": "8D",
"Timestamp": 1668603585
},
"Data": {
"Modbus": [
{
"Number": 1,
"AD": "A",
"Value": {
"Value": 1,
"Unit": "0"
}
}
]
},
"Status": "OK",
"Status code": 0
}
Diese Antwort z.B. wird korrekt aufgeschlüsselt
wohingegen bei dieser Antwort
{
"Header": {
"Version": 6,
"Device": "87",
"Timestamp": 1668604466
},
"Data": {
"Logging Analog": [
{
"Number": 21,
"AD": "A",
"Value": {
"Value": 32.7,
"Unit": "1"
}
}
]
},
"Status": "OK",
"Status code": 0
}
das Leerzeichen zwischen "Logging Analog" für den Fehler sorgt!
Und genau diesen Wert kann ich nicht entlocken, egal was ich versuche...
Hier zum Vergleich die Json Pathfinder Interpretation mit von mir eingefügtem Unterstrich:
Wisst ihr, ob das mit der Leerstelle erlaubt ist? Sonst würde ich das an Technische Alternative als Fehler melden.
Ich habe mir nun so beholfen: Ich hole den gesuchten Wert über die Abfrage eines anderen Gerätes.
Trotzdem nochmal Danke für die Hilfe!!
Beste Grüße
Thomas
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
-
- Reactions:
- Beiträge: 229
- Registriert: Do Dez 27, 2018 2:19 pm
- Wohnort: Borgsdorf
- Hat sich bedankt: 44 Mal
- Danksagung erhalten: 143 Mal
Ich glaube da nicht wirklich an einen Fehler. Interessanter wäre eigentlich ein paar Screenshots mit den Einstellungen und Abfragen im TWS.
funktioniert
Data."Logging Analog".[0].Value.Value
?
funktioniert
Data."Logging Analog".[0].Value.Value
?
Zuletzt geändert von MrWilson am Mi Nov 16, 2022 2:06 pm, insgesamt 1-mal geändert.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache