NEUES UPGRADE mit IP 8.1 verfügbar
4. Vorab-Version der Timberwolf VISU mit neuem Diagramm Design Assistenten und vielen Verbesserungen
Neues Backup V4 mit Sicherung Docker Volumes und Migration von 3xx/9xx auf TWS 3500 inkl. FIX mit 8.1
Hinweis: Neue Artikelserie zu Datensicherung / Wiederherstellung / Migration im Wiki online
Alle Infos zur neuen Insider Preview im Wiki: https://elabnet.atlassian.net/l/cp/LUJgwMg7

[Gelöst] [V4.0 IP7] HTTP-API Selektor funktioniert nicht wie erwartet

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
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1133
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 731 Mal
Danksagung erhalten: 904 Mal

[V4.0 IP7] HTTP-API Selektor funktioniert nicht wie erwartet

#1

Beitrag von starwarsfan »

Hallo miteinander,

um das Laden des Stromers auch direkt in der Garage triggern zu können, möchte ich den evcc-Lademodus via dessen REST-API setzen. Das ist ein POST-Request in folgender Form:

Code: Alles auswählen

POST /api/loadpoints/<id>/mode/<mode>
Wobei der Modus eines von "off/pv/minpv/now" ist. Somit habe ich unter "HTTP-API > Subsysteme" ein solches für evcc eingerichtet und dann unter "HTTP-API > Ressourcen Manager" einen entsprechenden HTTP-API-Server nebst Ressourcen angelegt.

Und hier an dieser Stelle habe ich ein Problem. Konkret steht bei "+ Objekt zu HTTP Anfrage hinzufügen" folgender Hilfstext beim Selektor:
Pflichtfeld Selektor: Definieren Sie hier Query-Parameter ODER Variablenname
Abhängig davon, OB Sie in der Ressource-URI Variablen angegeben haben (in der URI oder als Query-Parameter) oder nicht, geben Sie als Selektor den Variablennamen an, der bei JEDER Abfrage durch den aktuellen Objektwert ersetzt wird ODER dies ist die Bezeichnung des Query Parameters der dynamisch mit dem aktuellen Objektwert angefügt wird.
Die entsprechende Ressource sieht damit wie folgt aus:

Code: Alles auswählen

/api/loadpoints/1/mode/MODUS
Beim Selektor habe ich dementsprechend "MODUS" eingetragen. Das Problem ist nun, dass der Selektor nicht ersetzt, sondern als Key-Value-Paar angehängt wird!? Konkret sieht das dann so aus, was in dem Fall einen 404er zurück gibt:

Bild

Mein Verständnis ist so, dass das erste "MODUS" durch den zu übermittelnden Wert (in dem Fall "off") ersetzt und nicht als neuer Parameter angehängt wird. Selbiges Verhalten übrigens auch beim Format "text/plain". Offenbar verstehe ich die oben zitierte Doku nicht richtig und im Wiki gibt es dazu keine Informationen.

Hat jemand hier eine Idee resp. einen Hinweis, was ich falsch mache? :confusion-scratchheadyellow:
Zuletzt geändert von Parsley am So Feb 04, 2024 12:14 am, insgesamt 2-mal geändert.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1133
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 731 Mal
Danksagung erhalten: 904 Mal

#2

Beitrag von starwarsfan »

Hallo miteinander,

dann antworte ich mir mal selbst.

Typischer Fall von "kaum gefragt, schon findet man die Lösung selber". Mein Fehler war, dass die Variablen in der URL in spitze Klammern eingefasst werden müssen. :handgestures-thumbupright:

Kaum macht man's richtig... :doh:
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

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

#3

Beitrag von MrWilson »

Na toll, dann lösche ich meine Antwort wieder :lol:
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

blaubaerli
Reactions:
Beiträge: 2263
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 869 Mal
Danksagung erhalten: 671 Mal

#4

Beitrag von blaubaerli »

Hallo zusammen,

meine Fragestellung zu MQTT und die darauf folgenden Posts habe ich mal in einen neuen Thread geschoben, da das im Zweifel zum OT zu werden droht.

Beste Grüße
Jens
Zuletzt geändert von blaubaerli am Mo Feb 05, 2024 6:35 pm, insgesamt 1-mal geändert.
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Antworten

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