Seite 3 von 4

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 22. Dez 2019 13:23
von Kahzia
Hab alles entfernt, bis auf die Temperaturübergabe
Code schaut aktuell so aus:

.items

Code: Alles auswählen

Number thermostat_wz "Thermostat Wohnzimmer [%.1f °C]"  { http=">[*:GET:http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=%2$s{Authorization=Basic SECRET}] <[thermostatWohnzimmer:600000:JSONPATH($.temperature)]" }
http.cfg

Code: Alles auswählen

thermostatWohnzimmer.url=http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8{Authorization=Basic SECRET}
thermostatWohnzimmer.updateInterval=120000


Error Meldung nach wie vor vorhanden.

Code: Alles auswählen

2019-12-22 13:21:34.138 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'http' of item 'thermostat_wz' could not be parsed correctly.

org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig '>[*:GET:http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=%2$s{Authorization=Basic SECRET}] <[thermostatWohnzimmer:600000:JSONPATH($.temperature)]' doesn't contain a valid binding configuration

	at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]

	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:397) ~[?:?]

	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:366) ~[?:?]

	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:229) ~[?:?]

	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:432) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]

	at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

	at java.lang.Thread.run(Thread.java:748) [?:?]

Caused by: org.openhab.model.item.binding.BindingConfigParseException: bindingConfig '>[*:GET:http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=%2$s{Authorization=Basic SECRET}] <[thermostatWohnzimmer:600000:JSONPATH($.temperature)]' doesn't contain a valid binding configuration

	at org.openhab.binding.http.internal.HttpGenericBindingProvider.parseBindingConfig(HttpGenericBindingProvider.java:143) ~[?:?]

	at org.openhab.binding.http.internal.HttpGenericBindingProvider.processBindingConfiguration(HttpGenericBindingProvider.java:119) ~[?:?]

	at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:49) ~[?:?]

	... 16 more

Irgendwas stimmt da mit dem Binding nicht oder ?
Ich weiß leider nicht, wo ich da ansetzen soll.
Spontan schaut es so aus, dass er mit dem "http" nicht klar kommt oder in der Syntax des HTTP Befehls etwas nicht stimmt...






Nachtrag:

ich habe den Code ein wenig abgeändert, ich weiß nicht ob ich es schlimmer oder besser gemacht habe :P

Code: Alles auswählen

Number thermostat_wz "Thermostat Wohnzimmer [%.1f °C]"  { http="<[*:GET:http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=%2$s{Authorization=Basic SECRET}]>;[thermostatWohnzimmer:600000:JSONPATH($.temperature)]" }
geändert habe ich das &gt und &lt sowie &amp und ersetzt durch <;>;&.
Dies hab ich im Forum gelesen, zumindest ist die Fehlermeldung erstmal weg.
Trotzdem setzt der Thermostat das ganze leider immernoch nicht um.

Wann sendet die BASICUI den Befehl für den Thermostat ? alle 2 Minuten richtig ? bzw das JSONPath alle 10m.

Die Frage welche sich mir stellt, stimmt die Syntax des Befehls...

Code: Alles auswählen

http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=%2$s{Authorization=Basic SECRET}]>;[thermostatWohnzimmer:600000:JSONPATH($.temperature)]
Wenn ich diesen Teil des Codes im Browser eingebe und nur die Variable %2$s ändere in einen statischen Wert zb 25 setzt der Thermostat das ganze sofort um.
Also stellt sich mir wieder die Frage ist dieses %2$s überhaupt richtig ? bzw wird es befüllt ?

Code: Alles auswählen

2019-12-22 14:13:37.159 [ome.event.ItemCommandEvent] - Item 'thermostat_wz' received command 20

2019-12-22 14:13:37.173 [vent.ItemStateChangedEvent] - thermostat_wz changed from 20.5 to 20
Anhand des Log's würde ich jetzt auf ja tippen....

Das ganze ist wirklich verwirrend und unklar woran es noch liegen kann :<

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 22. Dez 2019 14:39
von peter-pan
...vielleicht mag der Parser so etwas nicht "&gt;, &amp:,&lt;" Anstelle dessen ">, & und <" verwenden. Bin mir aber nicht sicher, ob das die "richtige Übersetzung ist und ob das der Grund ist.

Ich habe ein ähnliches Item, dass das per HTTP(HTTP-Cache) aktuell ermittelte Tasmota-Release enthält . Das Item mit dem Channel-Link sieht so aus:

Code: Alles auswählen

String    Sonoff_Current_FW_Available   "Current Release available from Theo[%s]"  <arendst>  { http="<[tasmotaRelease:10000:JSONPATH($[0].name)]"}
< (kleiner als)= &lt; (less than/kleiner als) ??!!

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 22. Dez 2019 15:14
von Kahzia
jap, hab ich ja jetzt auch so.
Ja &lt = less then &gt = greater than

Fehlermeldungen erhalte ich ja jetzt nicht mehr, trotzdem setzt er es nicht um :P

Müsste man im Log sehen wenn er es refreshed ?

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 22. Dez 2019 16:15
von peter-pan
...sollte, man im Log sehen.

Und "&amp;" = &

Weiter fällt mir im Moment nichts mehr ein.

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 22. Dez 2019 16:19
von Kahzia
Also im Log müsste ich alle 2 min dann einen Eintrag sehen :o ?
Gut, dann ist da schon der Fehler das dies garnicht passiert.
Würde bedeuten, weshalb auch keine Werte an den Thermostat gehen ?

VG

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 23. Dez 2019 11:29
von Kahzia
Ich hab den Code jetzt eigentlich soweit abgewandelt, dass er es senden muss.

Code: Alles auswählen

Number thermostat_wz "Thermostat Wohnzimmer [%.1f °C]"  { http="<[*:GET:http://192.168.178.35/eq/php/eq3.php?mac=00:1A:22:10:71:C8&temperature=25]>;[thermostatWohnzimmer:60000:JSONPATH($.temperature)]" }

Der Fehler muss daran liegen, dass OH es garnicht rausschickt.
Ich sehe im Log auch nicht, dass es sich nach der angegeben Zeit aktualisiert.
Dieser Befehl funktioniert zu 100% so wie er dort steht.

Jemand eine Idee weshalb OH das ganze nicht rausschickt ? bzw refresht...

VG

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 23. Dez 2019 13:52
von peter-pan
... du musst noch den Strichpunkt(;) vor "[thermostatWohnzimmer:60000:JSONPATH($.temperature)]" rausnehmen ;)

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 23. Dez 2019 17:57
von Kahzia
Hm geht beides in der URL :P habs jetzt weggemacht, hast du noch eine Idee wieso OH das ganze nicht losschickt ? bzw das ganze nicht aktualsiert ?

Re: eQ-3 Thermostat mit OpenHab Smart Home

Verfasst: 24. Dez 2019 13:07
von peter-pan
...neee, leider nicht. Aber trotzdem wünsche ich dir und allen anderen in der Gemeinschaft ein frohes, friedvolles Weihnachtsfest, viel Spass beim "Basteln und Testen mit OH2" zwischen den Jahren ;) ;) und ein erfolgreiches neues Jahr 2020 (auch mit der Thermostatsteuerung). :D :D

Liebe Grüsse aus dem Schwabenland

Peter

Re: OH2 refreshed Thermostat Befehl nicht (BasicUI)

Verfasst: 24. Dez 2019 16:55
von Kahzia
Danke, wünsche ich dir auch ! :)

Auch Danke für deine bisherige Hilfe, ich werde natürlich weiter versuchen das ganze zum laufen zu kriegen :P
Wäre ja gelacht, wenn wir jetzt aufgeben.

Guten Rutsch und ein glückliches und gesundes neues Jahr ! :)

VG