Seite 3 von 3
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 5. Apr 2024 17:50
von EnergieAndi
Leider funktioniert es noch nicht. Doch bereits nur nach Anlegen des Channels, also ohne Link zu einem Item habe ich folgende Fehlermeldung:
2024-04-05 15:23:24.061 [WARN ] [form.CascadedValueTransformationImpl] - Transformation ignore, failed to parse $.[?(@.id == 'ZPUFG')].value: The transformation pattern must consist of the type and the pattern separated by a colon
Also nur mit diesem Code:
Code: Alles auswählen
channels:
- id: Switch_Channel
channelTypeUID: http:switch
label: Schalter
description: ""
configuration:
onValue: "true"
mode: READONLY
offValue: "false"
stateTransformation: $.[?(@.id == 'ZPUFG')].value
Eigentlich kommt als Ergebnis der Json-Transformation nur true oder false raus - und das ist ja bei onValue und offValue konfiguriert.
In welchem Feld kann ich die in der Fehlermeldung genannten type und pattern eingeben?? Wie muss das aussehen?
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 5. Apr 2024 19:31
von udo1toni
Da fehlt JSONPATH: vornedran. Schau Dir bitte noch mal die Definition an, die ich weiter oben gepostet habe...
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 6. Apr 2024 23:05
von EnergieAndi
Oh ja. Das der Fehler. Oh bin ich glücklich. Vielen, vielen Dank.
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 21. Aug 2024 20:17
von asd
Hallo,
ich habe folgendes Problem mit den http Binding / OpenHAB 4.2.1.
Ich würde gerne Daten meiner Wetterstation von AWEKAS abrufen. Mit Hilfe eines persönlichen Keys und der API-Beschreibung kann im mir im Browser alle Daten im JSON-Format anzeigen lassen.
Mein persönlicher Key enthält mehrmals auch das Zeichen %. Das http Binding für automatisch "escaping" durch und ersetzt dabei % in der URL durch %25.
Z.B. wir %7 zu %257
Dadurch wird der Key und damit auch die URL verändert. Diese verändert URL funktioniert leider nicht mehr.
Gibt es für dieses Problem eine Lösung?
lg
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 22. Aug 2024 01:34
von udo1toni
Mein erster Versuch wäre, das % doppelt zu schreiben.
Da hier offensichtlich URL Encoding das "Problem" ist, könnte man stattdessen das Prozentzeichen durch %25 ersetzen (das ist der Escape Code für % im URL Encoding).
Es ist natürlich möglich, dass der Key noch weitere Zeichen enthält, die encodiert werden müssen. Vermutlich der schnellste Weg, das abzugleichen:
https://de.wikipedia.org/wiki/URL-Encoding.
Es gibt auch Tools, die das encodieren/decodieren für Dich übernehmen können, z.B.
https://meyerweb.com/eric/tools/dencoder/, wobei Dir an dieser Stelle natürlich klar sein muss, dass Du potentiell Deinen Key ins Internet herausposaunst...
Es gibt auch verschiedene Optionen, das offline zu erledigen, dazu wird dann eine Funktion aufgerufen, die das Encodieren übernimmt. Ein Kommandozeilen Tool (wie eigentlich von GNU/Linux für alle möglichen Probleme gewohnt) gibt es wohl nicht - die Aufgabe ist anscheinend zu einfach...
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 22. Aug 2024 16:45
von asd
Das einzige Sonderzeichen im Key ist %.
Das URL Encoding habe ich per Hand gemacht, ist aber sicher korrekt.
Im Browser funktioniert der Versuch mit einfach % und % verdoppelt (dein Tip) udn zeigt die JSON Daten an.
Das http Binding ersetzt bei %% aber stur %25%25. Kopiere ich dann die URL aus dem Logsfile in den Browser für das zu einer invaliden Abfrage.
Es liegt also am http Binding. Es ist die Frage ob man im http Binding das escaping unterdrücken kann.
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 23. Aug 2024 11:30
von asd
Ich habe im AWEKAS Forum das Problem thematisiert und von dort den entscheidenden Hinweis zur Lösung bekommen.
Der AWEKAS Key ist bereits Encoded und das Escaping ist bereits durchgeführt.
D.h. man muss den Key decoden z.B. mit
https://www.urldecoder.org.
Der decoded Key wird dann in die URL beim http Binding hinter den "key=" eingefügt. Das http Binding für nun wieder das Encoding durch.
Dadurch ist das einlesen der AWEKAS Wetterstationsdaten in Openhab problemlos möglich.
Re: http Binding und Abfrage einer URL unter openHAB 4
Verfasst: 23. Aug 2024 18:20
von udo1toni
Das war mir tatsächlich auch noch eingefallen, ich fand es aber zu abwegig...
hätte ich mal...