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

[Frage] [V4.0.1] Simple HTTP Anfrage ohne Parameter/Daten

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
Antworten

Ersteller
AndererStefan
Reactions:
Beiträge: 261
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

[V4.0.1] Simple HTTP Anfrage ohne Parameter/Daten

#1

Beitrag von AndererStefan »

Hallo zusammen,

ich spiele gerade mit der Sonos HTTP-API von jishi herum (https://github.com/jishi/node-sonos-http-api) und versuche per KNX-Telegram einen Radio-Sender einzustellen bzw. eine Playlist auf dem Sonos Move abzuspielen.

Die HTTP-Anfrage die ich senden möchte lautet z.B. "http://192.168.1.21:5005/Sonos%20Move/playlist/test". Per Browser funktioniert das auch schonmal. Die Antwort ist ein json-Objekt mit "status: success" bzw. error. Allerdings ist mir die Rückmeldung nicht wichtig und kann erstmal ignoriert werden.

Wie ihr seht, enthält die HTTP Anfrage keinerlei Parameter oder variable Daten. Ich hatte kurz überlegt den Gerätenamen und/oder die Playlist als Parameter zu übergeben. Aber dann müsste ich die entsprechenden Bezeichnungen mit dem KNX-Telegram senden, bzw. aus einem KNX-Telegram übersetzen. Doch nicht jeder Taster kann einen Text senden, sodass ich mit einer Logik z.B. Integer-Werte in Text konvertieren müsste. Das würde mir alles zu unübersichtlich.

Ich habe mir daher gedacht, ich lege einfach für jede Funktion (d.h. Kombination aus Abspielgerät/Raum und Playlist) eine eigene Ressource an, die den vollständigen und fertigen HTTP-Aufruf enthält. So viele Kombinationen werden das nicht und ich möchte auch gar keine "Fernsteuerung" mit zig Funktionen nachbauen. Per KNX-Telegram (DTP 1.017) triggere ich dann lediglich die Anfrage.

So lange Vorgeschichte... nun zur eigentlichen Sache:
Bei den Einstellungen des Objektes ist der JSON Selektor ein Pflichtfeld (rot umrandet). Man kann die Einstellungen aber speichern, auch wenn das Feld noch leer ist. Der HTTP-Befehl wird auch korrekt gesendet, allerdigns das fühlt sich das für mich nicht "richtig" an. Wenn man für den JSON Selektor einmal einen Wert eingegeben hat, bekommt man den auch nicht mehr gelöscht. Es sieht im ersten Moment zwar so aus, aber nach dem Neuladen der Seite ist die Eingabe wieder da.

Hier ein Beispiel der Objekt-Einstellungen ohne, dass ich einen Selektor eingetragen habe. Das Fenste lässt sich speichern und schließen:
Bild

Und so sehen dann die übertragenen Daten aus (der Radio-Sender wird auch wirklich abgespielt):
Bild

In diesem Beispiel habe ich als Selektor ein "x" eingegeben, dass ich nun nicht mehr wegbekomme (aber auch hier wird die Playliste abgespielt):
Bild

A) ist meine Herangehensweise sinnvoll und die Konfiguration im TWS soweit korrekt, oder bin ich schon vorher falsch abgebogen?
B) Falls alles richtig ist fände ich es gut, wenn man bei den Einstellungen des Objekts für Lokation statt "Header" oder "URI" auch "keine" wählen könnte und dann eben keinen Objektselektor hat oder braucht.

Viele Grüße
Stefan
Zuletzt geändert von Parsley am So Jul 28, 2024 9:54 am, insgesamt 1-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

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

#2

Beitrag von StefanW »

Hi Stefan,

danke sehr. Wir besprechen das im nächsten Entwicklermeeting, wir werden sicher eine gute Lösung finden.

Danke dass Du uns darauf aufmerksam gemacht hast.

lg

Stefan
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.
Antworten

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