NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

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

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 236 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#11

Beitrag von Chris M. »

Ja, Leerzeichen sind hier erlaubt (genauer: hier wird ein "string" erwartet, und bei dem gibt es nur wenige Einschränkungen https://www.json.org/json-de.html )

Wohingegen
MrWilson hat geschrieben: Mi Nov 16, 2022 2:03 pm Data."Logging Analog".[0].Value.Value
kein korrektes JavaScript ist. Hier wäre Data["Logging Analog"][0].Value.Value dagegen eine korrekte Variante. Das sollte aber nicht überraschen, der Json Pathfinder hat ja genau diesen Selektor ausgegeben.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

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

#12

Beitrag von MrWilson »

Das ist ja scheinbar das Problem. Der TWS nimmt die Variante angeblich nicht an. Was Thomas aber genau macht, eingestellt hat oder welche Geräte er überhaupt benutzt ist nicht klar.
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

#13

Beitrag von Tomtheripper »

@MrWilson

Nein, funktioniert so nicht, Format Path Invalid.

Die Abfrage funktioniert in diesem Fall ja eigentlich immer gleich, je nach gewünschter Info wird jsonparam=AM ergänzt,
z.B. jsonparam=AM,I,O,La
(in diesem Beispiel: AM=Modbus, I=Eingänge vom Heizungsregler, O=Ausgänge, La=Analog Datalogging)

Sonst liefern alle Request-Parameter ein Ergebnis, nur dieser mit der Leerstelle nicht.

Bild
Zuletzt geändert von Tomtheripper am Do Nov 17, 2022 12:28 am, 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

#14

Beitrag von Tomtheripper »

Oh, wenn das Format json-konform ist - wie @Chris M. schreibt, haben wir ja vielleicht doch einen kleinen Fehler am Timberwolf entdeckt, oder?


Nachtrag, grad nochmal gecheckt:
Die "Logging Analog"-Antworten können mehrere Nodes (UVR16x2 und CMI), und funktionieren bei keinem.
Bei beiden kommt dieser Path invalid Fehler.
Alle anderen gewünschten Werte von beiden Geräten werden korrekt ausgewertet.

Deswegen vermute ich tatsächlich einen TWS - Bug.
Ich denke, das sollten sich die ElabNet-Jungs und Mädels anschauen.

An Elabnet: falls ihr euch auf meinen Server draufschalten wollt, kein Problem. Ich hab' Testweise die betreffenden API-Sachen alle dringelassen.
Aber: Das "Technische Alternative CMI" kann leider nur mindestens "60 Sekunden".

LG
Thomas
Zuletzt geändert von Tomtheripper am Do Nov 17, 2022 1:01 am, 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: 231
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 143 Mal

#15

Beitrag von MrWilson »

Das Thema interessiert mich auch. Ich hatte z.B. bei der Abfrage einer Hue-Lampe als Antwort

[
{
"success": {
"/groups/7/action/on": false
}
}
]

der Pfad ist laut Pathfinder eigentlich

[0].success["/groups/7/action/on"]

der TWS akzeptiert aber bei mir nur [0].success."/groups/7/action/on"

Also eckige Klammer weg und ein Punkt eingefügt. Was da alles an Varianten zugelassen ist oder konform/nichtkonform ist kann ich nicht sagen.

Es bleibt spannend ;)
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9748
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4865 Mal
Danksagung erhalten: 7738 Mal
Kontaktdaten:

#16

Beitrag von StefanW »

Hi TOm,
Tomtheripper hat geschrieben: Do Nov 17, 2022 12:30 amAn Elabnet: falls ihr euch auf meinen Server draufschalten wollt, kein Problem. Ich hab' Testweise die betreffenden API-Sachen alle dringelassen.
ich gebe das an die Entwickler, allerdings werden wir das voraussichtlich erst ab nächster Woche schaffen, weil wir arbeiten gerade daran, die IP1 zur V 4.0 herauszugeben


Edit: Hilfreich wäre eine Zusammenfassung, was nun genau das Problem ist, damit sich die Entwickler nicht durch den ganzen Thread arbeiten müssen


lg

Stefan
Zuletzt geändert von StefanW am Do Nov 17, 2022 10:59 am, insgesamt 3-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

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

#17

Beitrag von Tomtheripper »

...ja le** mich doch...

Eigentlich hab' ich gedacht, alles probiert zu haben. :oops:

Aber so (Klammer weg, Punkt gesetzt) funktionierts jetzt - bei beiden Nodes.

Data."Logging Analog"[20].Value.Value

Manchmal zweif'le ich an mir selbst... :angry-banghead:

Danke @MrWilson !!

@Stefan
Es gibt kein Problem, nur mal wieder Dummheit vor dem PC... :oops:

Wobei ganz so einfach ist's dann doch nicht. Woher sollte ich wissen, dass der Pfad vom Json-Pathfinder "nicht in Stein gemeißelt ist" und man den noch "anpassen" kann/muss.

Case closed!


Viele Grüße
Thomas
Zuletzt geändert von Tomtheripper am Do Nov 17, 2022 11:16 am, insgesamt 4-mal geändert.
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542

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

#18

Beitrag von MrWilson »

:clap:

Ganz großes Kino.

Data."Logging Analog".[0].Value.Value

Da war bei meinem Vorschlag der Punkt zu viel, was ja eigentlich logisch ist :?

Hilfreich wäre eine Zusammenfassung
Im Kern geht es darum, wie der Selektor im TWS angegeben werden muss.

[0].success["/groups/7/action/on"] wird mit den eckigen Klammern nicht akzeptiert und der TWS will

[0].success."/groups/7/action/on"

Oder bei Data["Logging Analog"][0].Value.Value möchte der TWS

Data."Logging Analog"[0].Value.Value

Da muss man den Punkt setzen und eine Klammer lassen.
Zuletzt geändert von MrWilson am Do Nov 17, 2022 11:28 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

#19

Beitrag von Tomtheripper »

Das ist m.M.n ein Interpretations-Fehler vom Json-Pathfinder.
Denn wie ich schonmal geschrieben habe: wenn man die Leerstelle zw. Logging Analog entfernt, setzt Json-Pathfinder den Punkt und die Klammer richtig.
TW2400 #149 / Wartungs-VPN an / Neustart jederzeit / TP-UART Light geflasht 8 Tunnel / PBM01-USB 542
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 236 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#20

Beitrag von Chris M. »

MrWilson hat geschrieben: Do Nov 17, 2022 11:19 am Im Kern geht es darum, wie der Selektor im TWS angegeben werden muss.

[0].success["/groups/7/action/on"] wird mit den eckigen Klammern nicht akzeptiert und der TWS will

[0].success."/groups/7/action/on"

Oder bei Data["Logging Analog"][0].Value.Value möchte der TWS

Data."Logging Analog"[0].Value.Value

Da muss man den Punkt setzen und eine Klammer lassen.
Nun, der TWS kann natürlich bzgl. Syntax machen was er will - dieses Verhalten ist aber nicht konform zum Standard und erzeugt folglich Verwirrung (und damit unnötigen Support-Aufwand)

@StefanW hier vielleicht nochmal beim Entwickler nachfragen ob das absichtlich so ist. Falls ja, dann sollte das ganz klar dokumentiert werden. Oder in das übliche Format gebracht werden das jeder JavaScript Kundige erwartet und der Json Pathfinder auch ausgibt.
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache
Antworten

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