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
-
@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.
-
@Asgothian
Ich habe nur ein Thermostat und das funktioniert nicht.
ET 200431 - 2238 -
@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.
-
@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.
-
ET200431-1029 -> funktioniert nicht
ET195031-0231 -> funktioniert
ET195031-0209 -> funktioniert -
@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.
-
@danny_v1 Hast du ein Vergleichsfoto, damit ich sehe, was du meinst? Ansonsten sehe ich auf den ersten Blick keinen Unterschied.
-
@r0b1zZle Beitrag Nr.7 etwas weiter oben!
-
@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.
-
@danny_v1 Ah ok, dann sind alle fein geriffelt
-
@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!
-
@pd_mueller Ich habe alle meine Thermostate nach der Anleitung:
link text
gemacht. Finde das da echt gut beschrieben.