Hallo Zusammen,
könnte mir Jemand einen Anfängertipp geben (gerne auch einen Verweis zum Nachlesen), wie ich die Selektoren bei HTTP Anfragen (Post) bezeichnen muss, so dass sich das json mit Listenwerte (in eckigen Klammern) aufbaut?
Ich verstehe die Anleitung zum Zerlegen von verschachtelten json Antworten und das funktioniert auch gut (bekomme entsprechende Werte auf den KNX-Bus). Im MQQT Video erklärt Stefan, dass sich das für den Request einfach umdrehen lässt (hatte ich zumindest so verstanden). Ich bekomme Werte auf die gleiche Ebene, aber sobald ich anfange im Selektor mit eckigen Klammern zu arbeiten, bringe ich das „HTTP-API Subsystem“ zum Absturz.
Ich möchte gerne meine Squeezebox Player steuern. Der LMS läuft problemlos im Timberwolf Docker Container. In der Anleitung wird folgender json body beschrieben:
{'method': 'slim.request', 'params': [<player_mac_address>, <command>]}
Per jeweiliger Multiplexer (String) Logik würde ich „slim.request“, MAC Adresse Player, „status“ und „-„ an die Abfragegruppe senden mit dem Ziel den Status abzufragen:
{'method': 'slim.request', 'params': [b8:27:eb:57:94:12, ["status","-"]]}
Aber wie bekomme ich die Listeneinträge an die richtige Stelle?
Ich stehe hier (ich habe die Listenwerte nur zum Test auf die gleiche Ebene gebracht):
LG
Stephan
KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor
KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum
Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki
[Gelöst] [V4.0 IP3] Anfängerfrage json body für Squeezebox HTTP-Request
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: 17
- Registriert: Sa Okt 02, 2021 6:56 pm
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 6 Mal
[V4.0 IP3] Anfängerfrage json body für Squeezebox HTTP-Request
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Mibr85 am Mo Apr 03, 2023 7:08 pm, insgesamt 1-mal geändert.
TWS 3500XL ID1422 - VPN geschlossen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 17
- Registriert: Sa Okt 02, 2021 6:56 pm
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 6 Mal
Hallo Zusammen,
hat keiner einen Tipp für mich bzw. eine Idee, wie ich die Selektoren benennen müsste?
Oder bin ich mit meiner Fragestellung auf den Holzweg bzw. gäbe es einen anderen Ansatz oder Workaround?
VG Stephan
hat keiner einen Tipp für mich bzw. eine Idee, wie ich die Selektoren benennen müsste?
Oder bin ich mit meiner Fragestellung auf den Holzweg bzw. gäbe es einen anderen Ansatz oder Workaround?
VG Stephan
TWS 3500XL ID1422 - VPN geschlossen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 284
- Registriert: Do Dez 27, 2018 2:19 pm
- Wohnort: Borgsdorf
- Hat sich bedankt: 46 Mal
- Danksagung erhalten: 168 Mal
Hey Stephan,
man kann leider nicht sehen, wie du die Selektoren angelegt hast, daher wäre mein Vorschlag jeweils folgende Selektoren anzulegen:
method -> slim request
params[0] -> 00:04:20:10:2a
params[1][0] -> status
params[1][1] -> -
So sollte dann das Ergebnis aussehen:
{"method": "slim request", "params": ["00:04:20:10:2a", ["status", "-"]]}
Nachtrag Variante 2:
Du kannst übrigens auch beim Anlegen der Ressource bei "Request Content-Type" auf "text/plain" umstellen und dann einfach {"method": "slim request", "params": ["00:04:20:10:2a", ["status", "-"]]} als String komplett rausschicken. Musst nur schauen, ob diese Variante für andere Befehle zweckmäßig ist.
Herzliche Grüße
Willy
man kann leider nicht sehen, wie du die Selektoren angelegt hast, daher wäre mein Vorschlag jeweils folgende Selektoren anzulegen:
method -> slim request
params[0] -> 00:04:20:10:2a
params[1][0] -> status
params[1][1] -> -
So sollte dann das Ergebnis aussehen:
{"method": "slim request", "params": ["00:04:20:10:2a", ["status", "-"]]}
Nachtrag Variante 2:
Du kannst übrigens auch beim Anlegen der Ressource bei "Request Content-Type" auf "text/plain" umstellen und dann einfach {"method": "slim request", "params": ["00:04:20:10:2a", ["status", "-"]]} als String komplett rausschicken. Musst nur schauen, ob diese Variante für andere Befehle zweckmäßig ist.
Herzliche Grüße
Willy
Zuletzt geändert von MrWilson am Sa Apr 15, 2023 2:59 pm, insgesamt 5-mal geändert.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache
-
- Reactions:
- Beiträge: 17
- Registriert: Sa Okt 02, 2021 6:56 pm
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 6 Mal
Hi Willy,
Mega, vielen Dank!
Variante 1 haut bei mir leider nicht hin. Bei mir meldet der TWS dann den Fehler "No callee registered for procedure" und dann hängt sich immer der HTTP-API Subsystem Dienst auf (passiert, sobald ich eckige Klammern setze).
Aber mit der reinen Text Lösung haut es hin und die Player lassen sich steuern. Damit komme ich schon weiter!
Vielen Dank!!!
Mega, vielen Dank!
Variante 1 haut bei mir leider nicht hin. Bei mir meldet der TWS dann den Fehler "No callee registered for procedure" und dann hängt sich immer der HTTP-API Subsystem Dienst auf (passiert, sobald ich eckige Klammern setze).
Aber mit der reinen Text Lösung haut es hin und die Player lassen sich steuern. Damit komme ich schon weiter!
Vielen Dank!!!
TWS 3500XL ID1422 - VPN geschlossen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 284
- Registriert: Do Dez 27, 2018 2:19 pm
- Wohnort: Borgsdorf
- Hat sich bedankt: 46 Mal
- Danksagung erhalten: 168 Mal
Naja, das du mit Klammern ein System zum Absturz bekommst sollte man vielleicht etwas genauer betrachten.
Schön das ich helfen konnte.
Schön das ich helfen konnte.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache