NEWS
How-To: Eurotronic Spirit Zigbee mit Conbee II
-
@Strberg Genau das habe ich probiert (thermostat.cpp in der Rest-Api angepasst, neu kompiliert, Plugin überschrieben, Thermostat neu angelernt). Leider kann ich das nicht wirklich durchdebuggen, um genau zu sehen, wo das Problem ist.
Unteranderem existieren diese switch cases in der thermostat.cpp:
case 0x0012: // Occupied Heating Setpoint { if (sensor->modelId().startsWith(QLatin1String("SPZB"))) // Eurotronic Spirit { // Use 0x4003 instead. } else { qint16 heatSetpoint = attr.numericValue().s16; item = sensor->item(RConfigHeatSetpoint); if (item && item->toNumber() != heatSetpoint) { item->setValue(heatSetpoint); enqueueEvent(Event(RSensors, RConfigHeatSetpoint, sensor->id(), item)); configUpdated = true; } } sensor->setZclValue(updateType, ind.srcEndpoint(), THERMOSTAT_CLUSTER_ID, attrId, attr.numericValue()); } break;und
case 0x4003: // Current temperature set point { // this will be reported when manually changing the temperature if (zclFrame.manufacturerCode() == VENDOR_JENNIC && sensor->modelId().startsWith(QLatin1String("SPZB"))) // Eurotronic Spirit { qint16 heatSetpoint = attr.numericValue().s16; item = sensor->item(RConfigHeatSetpoint); if (item) { if (updateType == NodeValue::UpdateByZclReport) { stateUpdated = true; } if (item->toNumber() != heatSetpoint) { item->setValue(heatSetpoint); enqueueEvent(Event(RSensors, RConfigHeatSetpoint, sensor->id(), item)); stateUpdated = true; } } } sensor->setZclValue(updateType, ind.srcEndpoint(), THERMOSTAT_CLUSTER_ID, attrId, attr.numericValue()); } break;Die "attrId" enthält entweder 0x0012 oder 0x4003 in diesem Fall. Ich habe im ersten case die if / else weggeschmissen und im zweiten case die attrId per bruteforce auf 0x0012 gesetzt (in der setZclValue). Leider hat dies noch nicht den gewünschten Effekt gehabt. Immerhin, wenn ich beide cases rausschmeiße, wird gar nichts mehr aktualisiert (was ja auch so sein sollte).
Zur Info:
Die THERMOSTAT_CLUSTER_ID ist der Block 0201, der ist fix und auch korrekt. updateType bezeichnet den Fall, ob die Werte an der jeweiligen Stelle gelesen oder beschrieben werden sollen. Die attr.numericValue ist dann der eigentliche Wert. Hier habe ich noch überlegt, ein eigenes attr zu erstellen und nicht im ersten Case 0x0012 zu lesen, sondern 0x4003. Aber bislang kam ich noch nicht dazu, das zu testen. Ansonsten wüsste ich nicht weiter.Habt ihr noch Ideen?
@Asgothian said in How-To: Eurotronic Spirit Zigbee mit Conbee II:
@danny_v1 sagte in How-To: Eurotronic Spirit Zigbee mit Conbee II:
Ich denke das sollt für die Entwickler vom Deconz Adapter keine große Sache das anzupassen und dann würden beide Versionen des Thermostates funktionieren.
Du hast da durchaus recht. Das lässt sich einfach anpassen. Allerdings ist damit nicht alles gut. Es sind noch weitere Datenpunkte von dem Problem betroffen:
- local_temperature_calibration
- spz_system_mode
- trv_system_mode
A.
Die Werte sind mir erst mal egal, weil ich das ganze eh via Script mittels ioBroker steuern wollte. Aber dafür findet sich sicher auch noch etwas.
Ich hab mir zum Testen noch einen Thermostat besorgt und der zeigt das gleiche Verhalten, sowohl am deconz als auch am Zigbee Adapter. Da ich mehrere funktionierende Thermostate besitze habe ich mir diese mal genauer angeschaut, und bin auf eine Art "Seriennummer" der Thermostate gestossen (unter den Batterien versteckt eingelagert, ETxxxxxx - xxxx
Ich würde alle die nicht funktionierende Thermostate besitzen (bzw. auch funktionierende) diese ET Nummer zusammen mit der Info ob der thermostat geht oder nicht hier zu posten, damit ich damit an den Hersteller heran treten kann.
A
-
Ich hab mir zum Testen noch einen Thermostat besorgt und der zeigt das gleiche Verhalten, sowohl am deconz als auch am Zigbee Adapter. Da ich mehrere funktionierende Thermostate besitze habe ich mir diese mal genauer angeschaut, und bin auf eine Art "Seriennummer" der Thermostate gestossen (unter den Batterien versteckt eingelagert, ETxxxxxx - xxxx
Ich würde alle die nicht funktionierende Thermostate besitzen (bzw. auch funktionierende) diese ET Nummer zusammen mit der Info ob der thermostat geht oder nicht hier zu posten, damit ich damit an den Hersteller heran treten kann.
A
@Asgothian Ok, ich würde heute abend mal nach den Nummern schauen. Hatte den Hersteller auch schon mal angeschrieben und nach Infos der Firmware gefragt, was sich da genau geändert hat und welche davon der aktuelle Stand ist. Aber außer der Frage ob ich schon einen Reset durchgeführt habe kam da nichts zurück.
-
@Asgothian Ok, ich würde heute abend mal nach den Nummern schauen. Hatte den Hersteller auch schon mal angeschrieben und nach Infos der Firmware gefragt, was sich da genau geändert hat und welche davon der aktuelle Stand ist. Aber außer der Frage ob ich schon einen Reset durchgeführt habe kam da nichts zurück.
-
@danny_v1 Deswegen ja die Sammlung der Nummern. Ich will denen vor Augen führen das es kein Problem von einem Thermostat ist.
A.
@Asgothian Ja das macht Sinn. Aber eine Änderung am Deconz Adapter oder am Rest-API müsste bestimmt dennoch erfolgen.
-
Ich hab mir zum Testen noch einen Thermostat besorgt und der zeigt das gleiche Verhalten, sowohl am deconz als auch am Zigbee Adapter. Da ich mehrere funktionierende Thermostate besitze habe ich mir diese mal genauer angeschaut, und bin auf eine Art "Seriennummer" der Thermostate gestossen (unter den Batterien versteckt eingelagert, ETxxxxxx - xxxx
Ich würde alle die nicht funktionierende Thermostate besitzen (bzw. auch funktionierende) diese ET Nummer zusammen mit der Info ob der thermostat geht oder nicht hier zu posten, damit ich damit an den Hersteller heran treten kann.
A
@Asgothian
Ich habe nur ein Thermostat und das funktioniert nicht.
ET 200431 - 2238 -
@danny_v1 Deswegen ja die Sammlung der Nummern. Ich will denen vor Augen führen das es kein Problem von einem Thermostat ist.
A.
@Asgothian
Eins das funktioniert: ET 200431 - 0470
Eins das nicht funktioniert: ET 200431 - 2120Zwei weitere habe ich hier irgendwo noch rumzuliegen, da muss ich dann morgen nochmal nachschauen.
PS: Alle vier habe ich bei Amazon bestellt.
-
@Asgothian
Eins das funktioniert: ET 200431 - 0470
Eins das nicht funktioniert: ET 200431 - 2120Zwei weitere habe ich hier irgendwo noch rumzuliegen, da muss ich dann morgen nochmal nachschauen.
PS: Alle vier habe ich bei Amazon bestellt.
@r0b1zZle sagte in How-To: Eurotronic Spirit Zigbee mit Conbee II:
Eins das funktioniert: ET 200431 - 0470
Das funktioniert zu 100%, inclusive. dem Temperaturoffset ?
Gibt es irgend welche erkennbaren Unterschiede zwischen dem funktionierenden und dem nicht funktionierenden Thermostat ?
A.
-
@r0b1zZle sagte in How-To: Eurotronic Spirit Zigbee mit Conbee II:
Eins das funktioniert: ET 200431 - 0470
Das funktioniert zu 100%, inclusive. dem Temperaturoffset ?
Gibt es irgend welche erkennbaren Unterschiede zwischen dem funktionierenden und dem nicht funktionierenden Thermostat ?
A.
@Asgothian Ja, das funktioniert. Kann alles ändern. Heute habe ich noch die anderen beiden getestet:
ET 200431 - 2256 --> funktioniert nicht
ET 200431 - 0993 --> funktioniert nichtKeine erkennbaren Unterschiede. SW Build ID bei allen: 22190930 und Date Code: 20191014 auch bei allen gleich. Ansonsten ist alles identisch.
-
@Asgothian Ja, das funktioniert. Kann alles ändern. Heute habe ich noch die anderen beiden getestet:
ET 200431 - 2256 --> funktioniert nicht
ET 200431 - 0993 --> funktioniert nichtKeine erkennbaren Unterschiede. SW Build ID bei allen: 22190930 und Date Code: 20191014 auch bei allen gleich. Ansonsten ist alles identisch.
@r0b1zZle said in How-To: Eurotronic Spirit Zigbee mit Conbee II:
@Asgothian Ja, das funktioniert. Kann alles ändern. Heute habe ich noch die anderen beiden getestet:
ET 200431 - 2256 --> funktioniert nicht
ET 200431 - 0993 --> funktioniert nichtKeine erkennbaren Unterschiede. SW Build ID bei allen: 22190930 und Date Code: 20191014 auch bei allen gleich. Ansonsten ist alles identisch.
Wie sehen die Befestigungsmuttern aus eine fein geriffelt und das andere grob?
-
@r0b1zZle said in How-To: Eurotronic Spirit Zigbee mit Conbee II:
@Asgothian Ja, das funktioniert. Kann alles ändern. Heute habe ich noch die anderen beiden getestet:
ET 200431 - 2256 --> funktioniert nicht
ET 200431 - 0993 --> funktioniert nichtKeine erkennbaren Unterschiede. SW Build ID bei allen: 22190930 und Date Code: 20191014 auch bei allen gleich. Ansonsten ist alles identisch.
Wie sehen die Befestigungsmuttern aus eine fein geriffelt und das andere grob?
-
@danny_v1
der Thermostat der bei mir nicht funktioniert hat eine feine Riffelung. Ich denke für Diskussionen mit dem Hersteller sind die ET Nummern aber besser@Asgothian ja klar sind die ET Nummern besser, wollte nur wissen ob das mit den Muttern auch immer so ist. Oder ob das kein richtiges Unterscheidungsmerkmal ist.
-
@r0b1zZle said in How-To: Eurotronic Spirit Zigbee mit Conbee II:
@Asgothian Ja, das funktioniert. Kann alles ändern. Heute habe ich noch die anderen beiden getestet:
ET 200431 - 2256 --> funktioniert nicht
ET 200431 - 0993 --> funktioniert nichtKeine erkennbaren Unterschiede. SW Build ID bei allen: 22190930 und Date Code: 20191014 auch bei allen gleich. Ansonsten ist alles identisch.
Wie sehen die Befestigungsmuttern aus eine fein geriffelt und das andere grob?
-
@danny_v1 Hast du ein Vergleichsfoto, damit ich sehe, was du meinst? Ansonsten sehe ich auf den ersten Blick keinen Unterschied.
-
Hallo,
da ich hier einen ziemlichen Kampf hatte die Thermostate einigermaßen ans fliegen zu bekommen möchte ich gerne teilen, wie man vorgehen muss:
- Batterien einlegen
- Thermostat auf Werkseinstellungen zurücksetzen („Jin“ erscheint im Display wenn es nagelneu ist, muss aber trotzdem zurückgesetzt werden)
- Thermostat initial verbinden
- „Jin“ erscheint im Display des Thermostats
- In Phoscon neuen Sensor suchen —> „Sensor verbinden“ findet nichts, ist erstmal egal…
- In deCONZ erscheint das Thermostat (Name 0xXXXXXX)
- Thermostat auf Werkseinstellungen zurücksetzen
- Thermostat neu verbinden
- „Jin“ erscheint im Display des Thermostat
- In Phoscon neuen Sensor suchen —> „Sensor verbinden“ findet das Thermostat („Sensor bereit“)
- Das Thermostat erscheint NICHT in Phoscon, da es noch nicht in der GUI unterstützt wird
- In deCONZ im Dropdown Menü „Basic“ wählen und die Attribute per „read“ auslesen
- Nun ändert sich der Name von 0xXXXXXX in SPZB0001
- Ab jetzt steht das Thermostat per Rest-API zur Verfügung
- Wer den Namen des Thermostats in einen sprechenderen ändern möchte kann dies per Rest API machen:
- Sensornummer per Rest-API auslesen (Alternativ in der iobroker Objektliste des deCONZ-Adapters):
- curl -X GET -H "Content-Type: application/json" http://###deCONZ-Server###:###Port###/api/322B1ACC0B/sensors
- Neuen Namen setzen
- curl -X PUT -H "Content-Type: application/json" -d '{"name“:“###Neuer Name###“}‘ http://###deCONZ-Server###:###Port###/api/322B1ACC0B/sensors/###Sensornummer###
- Sensornummer per Rest-API auslesen (Alternativ in der iobroker Objektliste des deCONZ-Adapters):
- Nun ändert sich der Name von 0xXXXXXX in SPZB0001
- deCONZ-Adapter neu starten, falls das Thermostat nicht in der Objektliste auftaucht
So hat es bei mir funktioniert und es liest sich auch schlimmer als es tatsächlich ist ;)
@falk0holic Servus, wie kann ich den die Phoscon app und die Deconz app gleichzeitig laufen lassen?
-
@falk0holic Servus, wie kann ich den die Phoscon app und die Deconz app gleichzeitig laufen lassen?
@Matthias1234 Das baut aufeinander auf. Deswegen laufen die immer gleichzeitig. Oder ich verstehe dein Problem nicht.
[Edit:] Die Services deconz und deconz-gui laufen nicht parallel.
-
Hallo,
da ich hier einen ziemlichen Kampf hatte die Thermostate einigermaßen ans fliegen zu bekommen möchte ich gerne teilen, wie man vorgehen muss:
- Batterien einlegen
- Thermostat auf Werkseinstellungen zurücksetzen („Jin“ erscheint im Display wenn es nagelneu ist, muss aber trotzdem zurückgesetzt werden)
- Thermostat initial verbinden
- „Jin“ erscheint im Display des Thermostats
- In Phoscon neuen Sensor suchen —> „Sensor verbinden“ findet nichts, ist erstmal egal…
- In deCONZ erscheint das Thermostat (Name 0xXXXXXX)
- Thermostat auf Werkseinstellungen zurücksetzen
- Thermostat neu verbinden
- „Jin“ erscheint im Display des Thermostat
- In Phoscon neuen Sensor suchen —> „Sensor verbinden“ findet das Thermostat („Sensor bereit“)
- Das Thermostat erscheint NICHT in Phoscon, da es noch nicht in der GUI unterstützt wird
- In deCONZ im Dropdown Menü „Basic“ wählen und die Attribute per „read“ auslesen
- Nun ändert sich der Name von 0xXXXXXX in SPZB0001
- Ab jetzt steht das Thermostat per Rest-API zur Verfügung
- Wer den Namen des Thermostats in einen sprechenderen ändern möchte kann dies per Rest API machen:
- Sensornummer per Rest-API auslesen (Alternativ in der iobroker Objektliste des deCONZ-Adapters):
- curl -X GET -H "Content-Type: application/json" http://###deCONZ-Server###:###Port###/api/322B1ACC0B/sensors
- Neuen Namen setzen
- curl -X PUT -H "Content-Type: application/json" -d '{"name“:“###Neuer Name###“}‘ http://###deCONZ-Server###:###Port###/api/322B1ACC0B/sensors/###Sensornummer###
- Sensornummer per Rest-API auslesen (Alternativ in der iobroker Objektliste des deCONZ-Adapters):
- Nun ändert sich der Name von 0xXXXXXX in SPZB0001
- deCONZ-Adapter neu starten, falls das Thermostat nicht in der Objektliste auftaucht
So hat es bei mir funktioniert und es liest sich auch schlimmer als es tatsächlich ist ;)
@falk0holic
Hallo und danke für die Anleitung.
Damit bin ich schon mal so weit gekommen, dass das Thermostat in der deCONZ GUI angezeigt wird.
Allerdings habe ich keinen Datenpunkt im iobroker unter “deconz.0->sensors”.
Ich hab den iobroker schon neu gestartet, den RaspBee natürlich auch, den deconz-Adapter gestoppt …. Ich kann auch den Sollwert über die deconz-GUI ändern (0x0012), allerdings den Namen nicht (heisst bei mir 0x9254, würde ich natürlich gern ändern).
Hast du einen Tipp was ich noch machen könnte, damit das Thermostat als Datenpunkt im iobroker angezeigt wird? Und einen weiteren Tipp, wie ich den Namen ändern kann?Vielen Dank!
-
@falk0holic
Hallo und danke für die Anleitung.
Damit bin ich schon mal so weit gekommen, dass das Thermostat in der deCONZ GUI angezeigt wird.
Allerdings habe ich keinen Datenpunkt im iobroker unter “deconz.0->sensors”.
Ich hab den iobroker schon neu gestartet, den RaspBee natürlich auch, den deconz-Adapter gestoppt …. Ich kann auch den Sollwert über die deconz-GUI ändern (0x0012), allerdings den Namen nicht (heisst bei mir 0x9254, würde ich natürlich gern ändern).
Hast du einen Tipp was ich noch machen könnte, damit das Thermostat als Datenpunkt im iobroker angezeigt wird? Und einen weiteren Tipp, wie ich den Namen ändern kann?Vielen Dank!
-
Hallo zusammen,
dieses Problem hat mich nun veranlasst, dass ich mich hier auch mal angemeldet habe :)
Das Problem, dass im ioBroker der "falsche" Wert gesetzt werden kann, besteht bei mir ebenso.
Werte werden vom ioBroker gelesen, aber nicht geschrieben bzw. wird nicht akzeptiert.
Eine Änderung führt zu keiner Reaktion am Thermostat. Sobald man am Regler selbst etwas einstellt, wird das im ioBroker auch umgehend wieder überschrieben.Im Deconz kann ich aber prima dem "heatsetpoint" per Hand schreiben!
Es erfolgt auch umgehend eine Reaktion am Thermostat. Es funktioniert also rein technisch!
Der State ist auch als "rw" gekennzeichnet.
Wenn ich es via Deconz GUI per VNC setzen kann, muss es doch auch per shell irgendwie gehen, oder nicht?
Es muss doch eine Möglichkeit geben, dass ich eben diesen Wert (0x0012) via ioBroker irgendwie schreiben kann?Danke bis hierhin ;)
