NEWS
[gelöst] Deconz Adapter Headsetpoint
-
@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.
-
@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,:disappointed: 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 -
@steff75 Ich bekomme das nicht hin,:disappointed: 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.
-
@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? -
@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.

@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?
-
@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?
-
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 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?
-
@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.

-
@fa-bio auf der Adapterseite ist oben das Github Symbol, da drauf Klicken und den Adapter auswählen. Dann Installieren Klicken.
Das wars.@jey-cee Viele Dank dir, man lernt jeden Tag was dazu auch wenn man schon alter Mann ist.:blush:
Habe ich installiert und bestätige Headsetpoint funktioniert wieder und es gibt keine Fehler im Log. Ich danke dir ganz herzlich. Der Winter kann kommen....Grüße
Fabio -
@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.
@fa-bio Eigentlich kannst du jetzt auch einfach den deconz Adapter über Github updaten. Dort wurde eine Änderung gemacht, mit der dein ursprüngliches Script wieder funktionieren sollte.
Bei der curl Alternative ist IP und Port deines Phoscon gemeint, wenn du das trotzdem noch ausprobieren willst.
Edit: zu spät
-
@fa-bio Eigentlich kannst du jetzt auch einfach den deconz Adapter über Github updaten. Dort wurde eine Änderung gemacht, mit der dein ursprüngliches Script wieder funktionieren sollte.
Bei der curl Alternative ist IP und Port deines Phoscon gemeint, wenn du das trotzdem noch ausprobieren willst.
Edit: zu spät
@steff75 Danke dir habe es jetzt endlich auch so geschafft wie du es erklärt hast.
Jetzt qualmt mir der Kopf. ;-) Jetzt speichere ich mir das mal ab, damit kann man ja auch vielseitig mit steuern.:+1:Ja meine Thermostat Skripte laufen wieder fehlerfrei
-
@steff75 Danke dir habe es jetzt endlich auch so geschafft wie du es erklärt hast.
Jetzt qualmt mir der Kopf. ;-) Jetzt speichere ich mir das mal ab, damit kann man ja auch vielseitig mit steuern.:+1:Ja meine Thermostat Skripte laufen wieder fehlerfrei
Auch wenn es etwas spät ist, aber vielleicht hilft es ja jemandem (ggf. bei der Fehlersuche):
Ich habe herausgefunden, dass das Schreiben des Heatsetpoint mit Blockly nur dann funktioniert,
wenn man den Block "control ObjectID" mit einem Wert zwischen 5 und 32 (?) verwendet.
Wenn man den Block "update ObjectID" verwendet, funktioniert es nicht.Der Unterschied ist im Java-Code des Blockly-Scripts zu sehen, aber mir nicht verständlich, da ich den Quellcode von setState nicht kenne:
funktioniert:
control 'Thermostat HeatsetPoint' with 25 with delay false
==> setState("deconz.1.Sensors.2.heatsetpoint"/Thermostat 2 heatsetpoint/, 25;funktioniert nicht:
update 'Thermostat HeatsetPoint' with 25 with delay false
==> setState("deconz.1.Sensors.2.heatsetpoint"/Thermostat 2 heatsetpoint/, 25 , true);