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

[Frage] [3.5.1] API/JSON: Wie Antwort mit mehreren "Channels" Auswerten?

Wissen, Planung & Diskussion zur Unterstützung von Rest-API & Webabfragen im Timberwolf Server.
Stellt uns hier Eure Projekte und Ideen vor.
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

Ersteller
Tomtheripper
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?

#1

Beitrag von Tomtheripper »

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
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

MrWilson
Reactions:
Beiträge: 229
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 143 Mal

#2

Beitrag von MrWilson »

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
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

Ersteller
Tomtheripper
Reactions:
Beiträge: 135
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 62 Mal
Danksagung erhalten: 37 Mal

#3

Beitrag von Tomtheripper »

Hallo Willy,

Super, vielen Dank für den Hinweis und das Beispiel, perfekt!!!

:handgestures-thumbupright:

Beste Grüße

Thomas
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542

Ersteller
Tomtheripper
Reactions:
Beiträge: 135
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 62 Mal
Danksagung erhalten: 37 Mal

#4

Beitrag von Tomtheripper »

@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
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

Ersteller
Tomtheripper
Reactions:
Beiträge: 135
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 62 Mal
Danksagung erhalten: 37 Mal

#5

Beitrag von Tomtheripper »

:confusion-helpsign:
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

Sebastian104
Reactions:
Beiträge: 138
Registriert: Do Sep 29, 2022 12:52 am
Hat sich bedankt: 145 Mal
Danksagung erhalten: 101 Mal

#6

Beitrag von Sebastian104 »

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
Grüße
Sebastian

TWS 3500S ID:860, VPN offen, Reboot möglich

MrWilson
Reactions:
Beiträge: 229
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 143 Mal

#7

Beitrag von MrWilson »

Was möchtest du ausgewertet haben?
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

MrWilson
Reactions:
Beiträge: 229
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 143 Mal

#8

Beitrag von MrWilson »

Data."Logging Analog".0.Value.Value

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

Ersteller
Tomtheripper
Reactions:
Beiträge: 135
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 62 Mal
Danksagung erhalten: 37 Mal

#9

Beitrag von Tomtheripper »

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
Bild


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
}

Bild

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:
Bild

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

MrWilson
Reactions:
Beiträge: 229
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 143 Mal

#10

Beitrag von MrWilson »

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

?
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
Antworten

Zurück zu „HTTP-API, REST & Web-Abfragen“