NEWS
[gelöst] Deconz Adapter Headsetpoint
-
@jey-cee ich habe mir die letzte Betaversion der Phoscon App installiert. Dort hat man die Möglichkeit API Informationen der angelernten Geräte auszulesen hier das Resultat von einem Thermostat vielleicht hilft das evtl. weiter. Wenn ich Helfen kann einfach Bescheid geben.
{ "config": { "battery": 95, "displayflipped": false, "heatsetpoint": 3000, "locked": false, "mode": "auto", "offset": 0, "on": true, "reachable": true }, "ep": 1, "etag": "a693d2b7d2af2758d13cce3478ac1551", "lastseen": "2021-06-20T13:16Z", "manufacturername": "Eurotronic", "modelid": "SPZB0001", "name": "Temperaturregler Badezimmer", "state": { "lastupdated": "2021-06-20T13:16:49.057", "on": true, "temperature": 2300, "valve": 255 }, "swversion": "22190930", "type": "ZHAThermostat", "uniqueid": "00:15:8d:00:03:69:85:e6-01-0201" }
-
@jey-cee Ich habe mal was probiert, wahrscheinlich ist es nicht der Fehler, da du da bestimmt sowieso schon dran gedacht hättest. Aber ich schreibe es zur Sicherheit trotzdem mal hier. Also, wenn es Blödsinn ist, einfach ignorieren.
Besteht die Möglichkeit, das der Wert des Keys als Typ String, anstatt Number gesendet wird ? Z.B.:{"heatsetpoint": "1800"}
Damit wird nämlich auch diese Fehlermeldung zurückgegeben.
-
Hallo @jey-cee ; @steff75 wir sollten mal eingrenzen womit das passiert.
Ich arbeite mit dem Phoscon Gateway von Dresden.
Ich habe da die Beta Version drauf 2.12.01 / 14.6.2021 und die
Firmware 26690700. Wie sieht es bei euch aus?
Hier wird beschrieben was verändert worden ist evtl. hängt das damit zusammen. https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/v2.12.1-betaNode.js v12.22.1
NPM6.14.12Grüße
Fabio -
@fa-bio Ich habe auch diese Version. Nur mein Conbee 2 hat die Firmware 266B0700. In meinem "Home Assistant" Docker-Testcontainer funktioniert das Verändern des Heatsetpoints auch.
Du könntest in deinem Blockly als Alternative zum "Steuere..." Block auch einen "Exec" Block nehmen. Da drin kannst du dann mit einem curl Befehl die Wertänderung direkt über die API machen.
Bei Befehl trägst du dann folgendes ein:
curl -X PUT http://192.168.178.31:8077/api/XXXXXX/sensors/21/config -H 'Content-Type: application/json' -d '{"heatsetpoint": 1800}'
Curl muss dafür installiert sein. Die IP und Port musst du natürlich anpassen. Auch die Nummer des Sensors entsprechend deinem Thermostat und den Wert für die gewünschte Temperatur. Das XXXXXX ersetzt du mit deinem API-Key. Die Werte findest du auf der Konfigurationsseite vom Deconz-Adapter. Ist halt nur ein Workaround, bis es wieder direkt im ioBroker funktioniert.
-
@steff75
Es ist einen Versuch wert. Allerdings ist das letztendlich genau das was auch der ioBroker Adapter macht. ich rechne also damit das auch da das gleiche Ergebnis kommen wird.Bevor Du das im Skript ausprobierst würde ich das einfach aus der Konsole auf dem Pi testen - damit du das Ergebnis zu sehen bekommst.
-
@asgothian Ich habe es ausprobiert und es funktioniert. Wie ich bereits in den vorherigen Beiträgen im Thread beschrieben habe, funktionieren die Requests über die Rest API direkt ja problemlos.
-
@steff75 Ich bekomme das nicht hin,
bin da nicht so fit wie ihr trotz der super Anleitung.
Ich habe Simple RESTful API installiert wie würde denn da der URL Aufruf aussehen geht das damit überhaupt?
Ist auch nicht so schlimm, ich Glaube fest daran das @jey-cee es rausfindet.
Wie gesagt ich bin noch nicht lange mit Iobroker zu Gange erst ein paar Monate. Und mit fast 60 fällt es mit doch schwer immer zu folgen.
Vielen Dank -
@fa-bio Kein Problem
, ich kann auch nur das nötigste. Ich denke auch, dass eine Lösung gefunden wird.
Für meinen Workaround brauchst du aber auch nicht den den Simple Restful Adapter. Da reicht es den Block in deinem Blockly-Script zu ersetzen.
-
@steff75 hab es noch mal probiert bekomme das im log
javascript.0 2021-06-21 11:59:51.575 error (15878) script.js.common.heizen: {}
-
@fa-bio So ohne weiteres kann ich da nicht helfen. Evt hilft da ein Screenshot von deinem Blockly.
-
@steff75 ich sehe gerade "Curl muss dafür installiert sein".
Wie geht das über den IObroker? -
@fa-bio
sudo apt install curl -y
-
@bbtown ich danke dir
-
@steff75 sagte in Deconz Adapter Headsetpoint:
Besteht die Möglichkeit, das der Wert des Keys als Typ String, anstatt Number gesendet wird ?
Darüber habe ich auch Nachgedacht und jetzt extra nochmal geprüft.
Der Adapter intern rechnet das ja um und macht daraus immer eine Zahl. Einen Punkt hab ich gefunden an dem es hängen könnte, aber dann hätte das nie Funktionieren dürfen.
Ich hab das jetzt mal geändert.Kann bitte jemand den Adapter von Github installieren und Testen?
-
@jey-cee Hallo, ich habe die Version vom Github installiert. Der Heatsetpoint wird damit vom Thermostat übernommen.
Herzlichen Glückwunsch -
Kann es evt auch am Wechsel zum JS-Controller 3.3 liegen, dass es seit einiger Zeit nicht mehr funktionierte. Ich weiß, der ist Beta, aber zeitlich haut das doch ungefähr hin.
-
@steff75 ne das hat nix mit dem js-controller zu tun. Ich denke deconz prüft jetzt ob da ne Zahl oder ein String kommt, anders kann ich mir das nicht erklären.
-
@jey-cee sagte in Deconz Adapter Headsetpoint:
Github installieren
würdest du mir sagen wie das geht dann teste ich das auch.
-
@fa-bio auf der Adapterseite ist oben das Github Symbol, da drauf Klicken und den Adapter auswählen. Dann Installieren Klicken.
Das wars. -
@steff75 Sag mal du meinst doch die IP vom Iobroker plus Port oder meinst du die IP vom Phoscon gateway.
Ich habe jetzt CURL installiert und auch die Fehler wegbekommen.