Doppelpunkt in URL

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
chrishab
Beiträge: 4
Registriert: 8. Okt 2020 11:46
Answers: 0

Doppelpunkt in URL

Beitrag von chrishab »

Hallo zusammen,

ich versuche über das HTML Binding Daten auszulesen. Allerdings bekomme ich die Fehlermelung, dass das Pattern nicht passt. Meine Vermutung liegt darin, dass meine URL Doppelpunkte enthält und daher das Pattern nicht mehr passt. Ich habe in der HTML cfg Datei folgendes stehen:

heizung_buero_soll.url=http://xxx.xxx.xxx.xx/eQ-3-radiator-the ... x:xx:xx:xx
heizung_buero_soll.updateInterval=10000

Das Item habe ich folgendermaßen definiert:
String buero_test {http="<[heizung_buero_soll:1000]"}

Im Log steht folgendes:

Caused by: org.openhab.model.item.binding.BindingConfigParseException: bindingConfig 'heizung_buero_soll:1000' doesn't represent a valid in-binding-configuration. A valid configuration is matched by the RegExp '(.*?)(\{.*\})?:(?!//)(\d*):(.*)'
at org.openhab.binding.http.internal.HttpGenericBindingProvider.parseInBindingConfig(HttpGenericBindingProvider.java:193) ~[?:?]
at org.openhab.binding.http.internal.HttpGenericBindingProvider.parseBindingConfig(HttpGenericBindingProvider.java:157) ~[?:?]
at org.openhab.binding.http.internal.HttpGenericBindingProvider.processBindingConfiguration(HttpGenericBindingProvider.java:123) ~[?:?]
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:53) ~[?:?]
... 15 more
Hat jemand eine Idee wie ich das in den Griff bekommen kann?

Gruß
Christian
von peter-pan » 12. Okt 2020 13:14
Ich nehme mal an du willst aus einem Thermostat (per REST) einen Wert auslesen.
Das dürfte aber ein JSON-String sein. Dann müsste dein Item ungefähr so eine Syntax haben:

Code: Alles auswählen

String    Sonoff_Current_FW_Available   "Current Release available from Theo[%s]"         <arendst>               (gSonoffs)                 { http="<[tasmotaRelease:10000:JSONPATH($[0].name)]"}
vorausgesetzt dein HTTP-String hat einen Wert. Die Konfigurationsdatei heisst übrigens "http.cfg" im Ordner "services".
Gehe zur vollständigen Antwort

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Doppelpunkt in URL

Beitrag von peter-pan »

Ich nehme mal an du willst aus einem Thermostat (per REST) einen Wert auslesen.
Das dürfte aber ein JSON-String sein. Dann müsste dein Item ungefähr so eine Syntax haben:

Code: Alles auswählen

String    Sonoff_Current_FW_Available   "Current Release available from Theo[%s]"         <arendst>               (gSonoffs)                 { http="<[tasmotaRelease:10000:JSONPATH($[0].name)]"}
vorausgesetzt dein HTTP-String hat einen Wert. Die Konfigurationsdatei heisst übrigens "http.cfg" im Ordner "services".
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

chrishab
Beiträge: 4
Registriert: 8. Okt 2020 11:46
Answers: 0

Re: Doppelpunkt in URL

Beitrag von chrishab »

Danke für deine Antwort. Ja, ich meite die http cfg, sorry. Ja, es ist eine JSON. Aber auch wenn ich das anpasse bekomme ich den gleichen Fehler.

Die JSON sieht bei mir so aus:

{
"mac" : "xx:xx:xx",
"temperature" : 20.0,
"valve" : 85,
"mode" : {
"auto" : "ON",
"manual" : "OFF",
"low battery" : "OFF",
"open window" : "OFF",
"vacation" : "OFF",
"locked" : "OFF",
"boost" : "OFF",
"unknown" : "OFF",
"dst" : "ON",
"on" : "OFF",
"off" : "OFF"
},
"vacation" : null
}

Wenn ich das ITEM jetzt so definiere:
String buero_test {http="<[heizung_buero_soll:1000:JSONPATH($[0].mac"}

bekomme ich noch immer folgenden Fehler:
[ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'http' of item 'buero_test' could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig '<[heizung_buero_soll:1000:JSONPATH($[0].mac' doesn't contain a valid binding configuration

Wahrscheinlich ist es etwas komplett banales. Ich finde aber partout den Fehler nicht.

chrishab
Beiträge: 4
Registriert: 8. Okt 2020 11:46
Answers: 0

Re: Doppelpunkt in URL

Beitrag von chrishab »

Wie vermutet hatte ich noch einen banalen Fehler drin. Die Antwort von peter-pan hat geholfen. Danke dafür!

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Doppelpunkt in URL

Beitrag von peter-pan »

..was war's ? Hab grad nochmal den JSON angeschaut.
Das sollte evtl.(ungetestet) gehen:

Code: Alles auswählen

String buero_test  {http="<[heizung_buero_soll:1000:JSONPATH($.mac)]"}
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

chrishab
Beiträge: 4
Registriert: 8. Okt 2020 11:46
Answers: 0

Re: Doppelpunkt in URL

Beitrag von chrishab »

Man muss noch zusätzlich sagen wo dann die ausgelesene Variable angezeitgt werden soll. Sprich:

Number heizung_buero_ist "Büro Ist-Temperatur [%.1f]" (g_heizung_buero) {http="<[heizung_buero:60000:JSONPATH($.temperature)]"}

Benutzeravatar
peter-pan
Beiträge: 2768
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Doppelpunkt in URL

Beitrag von peter-pan »

...ok, der Suffix/Formatter. Das passiert mir manchmal auch.
In manchen Bindings gibt es dafür einen Default-Wert, bei manchen eben nicht, deshalb hab ich mir angewöhnt, immer einen bei der Item-Definition im Label zu setzen. ;) ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten