Doppelpunkt in URL
-
- Beiträge: 4
- Registriert: 8. Okt 2020 11:46
Doppelpunkt in URL
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
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
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:
vorausgesetzt dein HTTP-String hat einen Wert. Die Konfigurationsdatei heisst übrigens "http.cfg" im Ordner "services".
Gehe zur vollständigen AntwortDas 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)]"}
- peter-pan
- Beiträge: 2768
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Doppelpunkt in URL
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:
vorausgesetzt dein HTTP-String hat einen Wert. Die Konfigurationsdatei heisst übrigens "http.cfg" im Ordner "services".
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)]"}
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 4
- Registriert: 8. Okt 2020 11:46
Re: Doppelpunkt in URL
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
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
JSONPATH($[0].mac' doesn't contain a valid binding configuration
Wahrscheinlich ist es etwas komplett banales. Ich finde aber partout den Fehler nicht.
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
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
Wahrscheinlich ist es etwas komplett banales. Ich finde aber partout den Fehler nicht.
-
- Beiträge: 4
- Registriert: 8. Okt 2020 11:46
Re: Doppelpunkt in URL
Wie vermutet hatte ich noch einen banalen Fehler drin. Die Antwort von peter-pan hat geholfen. Danke dafür!
- peter-pan
- Beiträge: 2768
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Doppelpunkt in URL
..was war's ? Hab grad nochmal den JSON angeschaut.
Das sollte evtl.(ungetestet) gehen:
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
-
- Beiträge: 4
- Registriert: 8. Okt 2020 11:46
Re: Doppelpunkt in URL
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)]"}
Number heizung_buero_ist "Büro Ist-Temperatur [%.1f]" (g_heizung_buero) {http="<[heizung_buero:60000:JSONPATH($.temperature)]"}
- peter-pan
- Beiträge: 2768
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Doppelpunkt in URL
...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.

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