Neues Video veröffentlicht



Wir haben ein tolles Video für Euch. Darin zeigen wir Dir Schritt für Schritt die Einrichtung einer täglichen automatischen Datensicherung. Wenn Du das parallel mitklickst, bist Du in 15 Minuten fertig.


In diesem Video zeigen wir das am Beispiel einer Synology, aber diese automatische Sicherung funktioniert mit jedem anderen FTP Server. Dafür einfach nur die URL anpassen, die man dem Logik-Modul als Parameter mitgibt. Wer keinen eigenen FTP-Server hat, kann diesen auch mieten. Preistipp mit täglicher Kündigung ist HETZNER (1 TB für 3,81 EUR/Monat). Letzteres hat auch den Vorteil, dass die Datensicherung "außer Haus" ist.

Im Video zeigen wir auch die Einrichtung einer Logik "Schritt für Schritt" mit Dr. Modus. Damit ist das Video auch für diejenigen interessant, die mit dem Logikmanager noch wenig erfahren sind.

Links:
Video: https://www.youtube.com/watch?v=S-30UqV3BZA
Umfangreicher Forenbeitrag: viewtopic.php?t=5953
Wiki zur Sicherung mit FTP: https://elabnet.atlassian.net/wiki/x/LgCOwg
Preistipp Hetzner Storage Box: https://elabnet.atlassian.net/wiki/x/AQAuww

AKTION: Wir haben noch 150 weitere Videos (und 800 Wiki Seiten) geplant. Bitte unterstütze uns mit einem Software-Wartungsvertrag, damit wir dieses alles erreichen können. Und damit Dein Server weiterhin Updates, Upgrades und Support erhält. Jetzt in der Aktion schenken wir Dir den Insider Club mit derselben Laufzeit wie der am längsten laufende aktive Wartungsvertrag dazu - bei sofortigem Laufzeitbeginn. Damit profitierst Du auch von einer vorzeitigen Verlängerung. Alle Infos: https://elabnet.atlassian.net/wiki/x/GQB8z

[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
Beiträge: 150
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 68 Mal
Danksagung erhalten: 40 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.
2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
3500 #1680

MrWilson
Beiträge: 285
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 46 Mal
Danksagung erhalten: 170 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
Beiträge: 150
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 68 Mal
Danksagung erhalten: 40 Mal

#3

Beitrag von Tomtheripper »

Hallo Willy,

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

:handgestures-thumbupright:

Beste Grüße

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

Ersteller
Tomtheripper
Beiträge: 150
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 68 Mal
Danksagung erhalten: 40 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.
2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
3500 #1680

Ersteller
Tomtheripper
Beiträge: 150
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 68 Mal
Danksagung erhalten: 40 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.
2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
3500 #1680

Sebastian104
Beiträge: 151
Registriert: Do Sep 29, 2022 12:52 am
Hat sich bedankt: 159 Mal
Danksagung erhalten: 113 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
Beiträge: 285
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 46 Mal
Danksagung erhalten: 170 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
Beiträge: 285
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 46 Mal
Danksagung erhalten: 170 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
Beiträge: 150
Registriert: Mo Okt 01, 2018 11:34 am
Hat sich bedankt: 68 Mal
Danksagung erhalten: 40 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
2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
3500 #1680

MrWilson
Beiträge: 285
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 46 Mal
Danksagung erhalten: 170 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“