Zigbee Template für Heizthermostat - gelöst

Begonnen von Müller, 13 Oktober 2020, 21:09:28

Vorheriges Thema - Nächstes Thema

Müller

Ja die anderen Geräte sehe ich. Am Anfang sah ich auch Rückmeldung von diesem Thermostat, bevor ein template angewandt wurde.

READINGS:
     2020-10-13 20:29:10   associatedWith  MQTT2_MQTT2
     2020-10-13 20:29:19   battery         100
     2020-10-13 20:29:19   current_heating_setpoint 30
     2020-10-13 20:29:19   eurotronic_error_status 0
     2020-10-13 20:29:19   eurotronic_system_mode 5
     2020-10-13 20:29:19   linkquality     60
     2020-10-13 20:29:19   local_temperature 20
     2020-10-13 20:29:19   occupied_heating_setpoint 30
     2020-10-13 20:29:19   pi_heating_demand 255
     2020-10-13 20:29:19   unoccupied_heating_setpoint 16


Ich habe die Config von FHEM bisher auch noch nicht gespeichert und nach dem Restart kam beim Thermostat auch nichts mehr an.

An den Test mit und ohne """ kann ich mich nicht errinnern.

FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

#31
Hallo Beta-User,

habe gestern mit Amazon "gechattet" und den Thermostat reklamiert und habe nun seit 30 min einen Ersatz in der Hand. Und es scheint zu funktionieren.

list

Internals:
   CFGFN     
   CID        zigbee_0x00158d00053d378e
   DEF        zigbee_0x00158d00053d378e
   DEVICETOPIC zigbee2mqtt/0x00158d00053d378e
   FUUID      5f941f82-f33f-a4d3-75cc-8d49d9e37e184e42
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 13
   MQTT2_TIME 2020-10-24 14:53:11
   MSGCNT     13
   NAME       MQTT2_zigbee_0x00158d00053d378e
   NR         1639
   STATE      Measured: 22 Battery: battery %
   TYPE       MQTT2_DEVICE
   JSONMAP:
     current_heating_setpoint desired-temp
     local_temperature measured-temp
     occupied_heating_setpoint daytemp
     unoccupied_heating_setpoint nighttemp
   OLDREADINGS:
   READINGS:
     2020-10-24 14:35:14   associatedWith  MQTT2_MQTT2
     2020-10-24 14:37:25   attrTemplateVersion 20201014
     2020-10-24 14:53:11   daytemp         28
     2020-10-24 14:53:11   desired-temp    28
     2020-10-24 14:53:11   eurotronic_error_status 0
     2020-10-24 14:53:11   eurotronic_system_mode 1
     2020-10-24 14:53:11   measured-temp   22
     2020-10-24 14:53:11   nighttemp       16
     2020-10-24 14:53:11   pi_heating_demand 255
Attributes:
   IODev      MQTT2
   alias      Eurotronic2
   devicetopic zigbee2mqtt/0x00158d00053d378e
   icon       hm-cc-rt-dn
   jsonMap    occupied_heating_setpoint:daytemp unoccupied_heating_setpoint:nighttemp current_heating_setpoint:desired-temp local_temperature:measured-temp
   model      zigbee2mqtt_eurotronic_spirit
   readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
   room       MQTT2_DEVICE
   setList    boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}
  child_protection:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"child_protection": $EVTPART1 }}
  desired-temp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1 }
  daytemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"occupied_heating_setpoint": $EVTPART1 }
  nighttemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"unoccupied_heating_setpoint": $EVTPART1 }
  window_open:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"window_open": $EVTPART1 }}
  boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}
  x_mirror_display:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"mirror_display": $EVTPART1 }}
   setStateList on off
   stateFormat Measured: measured-temp Battery: battery %
   webCmd     desired-temp
   widgetOverride desired-temp:knob,min:5,max:30,angleArc:180,width:40,height:40,fgColor:#FF9900,bgColor:#CCCCCC,step:0.5,lineCap:round,angleOffset:225


raw
defmod MQTT2_zigbee_0x00158d00053d378e MQTT2_DEVICE zigbee_0x00158d00053d378e
attr MQTT2_zigbee_0x00158d00053d378e IODev MQTT2
attr MQTT2_zigbee_0x00158d00053d378e alias Eurotronic2
attr MQTT2_zigbee_0x00158d00053d378e devicetopic zigbee2mqtt/0x00158d00053d378e
attr MQTT2_zigbee_0x00158d00053d378e icon hm-cc-rt-dn
attr MQTT2_zigbee_0x00158d00053d378e jsonMap occupied_heating_setpoint:daytemp unoccupied_heating_setpoint:nighttemp current_heating_setpoint:desired-temp local_temperature:measured-temp
attr MQTT2_zigbee_0x00158d00053d378e model zigbee2mqtt_eurotronic_spirit
attr MQTT2_zigbee_0x00158d00053d378e readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_zigbee_0x00158d00053d378e room MQTT2_DEVICE
attr MQTT2_zigbee_0x00158d00053d378e setList boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
  child_protection:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"child_protection": $EVTPART1 }}\
  desired-temp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1 }\
  daytemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"occupied_heating_setpoint": $EVTPART1 }\
  nighttemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"unoccupied_heating_setpoint": $EVTPART1 }\
  window_open:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"window_open": $EVTPART1 }}\
  boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
  x_mirror_display:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"mirror_display": $EVTPART1 }}
attr MQTT2_zigbee_0x00158d00053d378e setStateList on off
attr MQTT2_zigbee_0x00158d00053d378e stateFormat Measured: measured-temp Battery: battery %
attr MQTT2_zigbee_0x00158d00053d378e webCmd desired-temp
attr MQTT2_zigbee_0x00158d00053d378e widgetOverride desired-temp:knob,min:5,max:30,angleArc:180,width:40,height:40,fgColor:#FF9900,bgColor:#CCCCCC,step:0.5,lineCap:round,angleOffset:225

setstate MQTT2_zigbee_0x00158d00053d378e Measured: 22 Battery: battery %
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:35:14 associatedWith MQTT2_MQTT2
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:37:25 attrTemplateVersion 20201014
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 daytemp 28
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 desired-temp 28
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 eurotronic_error_status 0
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 eurotronic_system_mode 1
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 measured-temp 22
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 nighttemp 16
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:53:11 pi_heating_demand 255



Ich werde noch die Darstellung für mich anpassen und mal recherchieren was daytemp und nighttemp ist und wie man den Übergang definiert.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

#32
Hallo beta User,

nach einer gewissen Zeit kommen auch die readings bzgl. der Batterie herein.
Ich würde vorschlagen beim Template noch webcmd auf "daytemp" umzuändern, da dies offensichtlich die Stellgröße ist auf die der Thermostat reagiert.
pi_heating_demand gibt an ob geheizt wird (=255) oder nicht (0)

defmod MQTT2_zigbee_0x00158d00053d378e MQTT2_DEVICE zigbee_0x00158d00053d378e
attr MQTT2_zigbee_0x00158d00053d378e IODev MQTT2
attr MQTT2_zigbee_0x00158d00053d378e alias Eurotronic2
attr MQTT2_zigbee_0x00158d00053d378e devStateIcon 100:measure_battery_100@green 9[0-9]:measure_battery_100@green 8[0-9]:measure_battery_75@green 7[0-9]:measure_battery_75@green 6[0-9]:measure_battery_50@green 5[0-9]:measure_battery_50@green 4[0-9]:measure_battery_50@green 3[0-9]:measure_battery_25@green 2[0-9]:measure_battery_25@green 1[0-9]:measure_battery_25@red [1-9]:measure_battery_0@red 0:sani_heating_level_0@blue 255:sani_heating_level_100@red
attr MQTT2_zigbee_0x00158d00053d378e devicetopic zigbee2mqtt/0x00158d00053d378e
attr MQTT2_zigbee_0x00158d00053d378e jsonMap occupied_heating_setpoint:daytemp unoccupied_heating_setpoint:nighttemp current_heating_setpoint:desired-temp local_temperature:measured-temp
attr MQTT2_zigbee_0x00158d00053d378e model zigbee2mqtt_eurotronic_spirit
attr MQTT2_zigbee_0x00158d00053d378e readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_zigbee_0x00158d00053d378e room MQTT2_DEVICE,test
attr MQTT2_zigbee_0x00158d00053d378e setList boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
  child_protection:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"child_protection": $EVTPART1 }}\
  desired-temp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1 }\
  daytemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"occupied_heating_setpoint": $EVTPART1 }\
  nighttemp:slider,5.0,0.5,30.0,1 $DEVICETOPIC/set {"unoccupied_heating_setpoint": $EVTPART1 }\
  window_open:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"window_open": $EVTPART1 }}\
  boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
  x_mirror_display:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"mirror_display": $EVTPART1 }}
attr MQTT2_zigbee_0x00158d00053d378e setStateList on off
attr MQTT2_zigbee_0x00158d00053d378e stateFormat measured-temp °C\
pi_heating_demand\
battery\
battery %
attr MQTT2_zigbee_0x00158d00053d378e webCmd daytemp
attr MQTT2_zigbee_0x00158d00053d378e widgetOverride daytemp:knob,min:5,max:30,angleArc:180,width:40,height:40,fgColor:#FF9900,bgColor:#CCCCCC,step:0.5,lineCap:round,angleOffset:225

setstate MQTT2_zigbee_0x00158d00053d378e 20 °C\
0\
85\
85 %
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:35:14 associatedWith MQTT2_MQTT2
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-24 14:37:25 attrTemplateVersion 20201014
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 battery 85
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 daytemp 14.5
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 desired-temp 14.5
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 eurotronic_error_status 0
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 eurotronic_system_mode 1
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 linkquality 70
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 measured-temp 20
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 nighttemp 16
setstate MQTT2_zigbee_0x00158d00053d378e 2020-10-25 09:56:26 pi_heating_demand 0

FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

pi_heating_demand bewegt sich zwischen 0 und 255
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Hmm, also:
- erst mal schön, dass das jetzt doch irgendwie einen Schuh zu geben scheint :) .
- mit "daytemp" als "Haupt"-Setter bin ich nicht glücklich, v.a. weil sich das nicht so gut in die allgemeine FHEM-Logik einfügt (z.B. der WDT erkennt den dann nicht als "Klimagerät"). Da auch desired-temp aktuell gehalten wird, sehe ich auch keinen Vorteil.

- pi_heating_demand könnte sowas wie ein Valve-Wert sein, allerdings eben in Hexadezimal, also 0-255 statt 0-100%. Wei oft kommt da ein Wert rein? Wenn man "valve" haben wollte, könnte man ein userReading basteln; würde wohl Sinn machen?

Ansonsten fehlt mir irgendwie noch die Doku zu dem Ding, das ist mir noch zu nebulös, was da wie wann warum passiert. Z.B. müßte man eingentlich einen (Un-)Occupied-Modus einschalten können, um zwischen Tag- und Nachttemperatur zu wechseln usw..
Aber so wie sich https://www.zigbee2mqtt.io/devices/SPZB0001.html liest, stellt man - im wesentlichen - halt die Soll-Temperatur ein und "gut ist".

Hast du die dortige "Recommendation" mit dem debounce umgesetzt? Wie ist der Unterschied in dem, was der Thermostat sendet?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

#35
debounce habe ich bisher nicht angewandt

Im zugehörigen logfile werden nur Daten geschrieben, wenn die Wuschtemperatur (in Fhem oder am Gerät)  geändert wird. Dann wird scheinbar die alten Einstellung ins Logfile geschrieben und dann die neuen Daten.

2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e pi_heating_demand: 105
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e desired-temp: 17.5
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e linkquality: 63
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e eurotronic_error_status: 0
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e measured-temp: 20
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e nighttemp: 16
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e daytemp: 18
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e battery: 80
2020-10-26_23:19:30 MQTT2_zigbee_0x00158d00053d378e eurotronic_system_mode: 1
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e measured-temp: 20
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e linkquality: 63
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e eurotronic_error_status: 0
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e desired-temp: 18
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e pi_heating_demand: 105
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e eurotronic_system_mode: 1
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e daytemp: 18
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e battery: 80
2020-10-26_23:19:33 MQTT2_zigbee_0x00158d00053d378e nighttemp: 16
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Hmm, es wird schon einen Grund geben, warum die Empfehlung bei blakadder steht mit debounce.

Ansonsten sieht mir das ok aus, wenn man mit desired-temp arbeitet. Was mir gedanklich noch fehlt, wäre ein setter für "day"- und "night"-Modus, aber da scheint es auch auf der zigbee2mqtt-Seite (noch?) keine Implementierung zu geben.
Von daher sind wir - bis auf ggf. ein farewell mit dem debounce-Hinweis - eigentlich vorläufig fertig, oder übersehe ich was?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

Halle Beta-User,

ja ich denke man kann das template so nutzen. Ich wollte noch einen WeekdayTimer dazu einrichten, hatte aber Probleme die Temperatur bei "daytemp" anzupassen.

Mit Anpassung des "commandTemplate" hat das nun funktioniert
attr TagesTimer commandTemplate set $NAME daytemp $EVENT

Danke für deine Hilfe und deine Zeit
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Danke für die Rückmeldung, aber bei der Gelegenheit nochmal der Hinweis: desired-temp als Setter zu nutzen, ist m.E. besser als daytemp, gerade wegen des WeekdayTimer...

Sonst klappt das ggf. nämlich auch nicht mit "switchInThePast".

Btw.: wirf einen Blick auf die Option, die Temperaturliste von weekprofile an WeekdayTimer übergeben zu lassen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Shadow3561

Moin,

ich habe es nun auch endlich geschafft ein Spirit mit FHEM zu steuern.

Was mir noch fehlt ist die Möglichkeit die Ventilstellung direkt zu steuern damit ich meine MAX Thermostate langsam ersetzen kann.
Laut DOKU von Eurotronic sollte dies unter der Attr_ID 0x4001 möglich sein.

Leider bin ich nicht in der Lage das attrTemplate selbst dahingehend zu bearbeiten weil mir das Verständnis dazu fehlt.

Mit freundlichen Grüßen

Beta-User

Hmm, das attrTemplate berücksichtigt m.E. erst mal alle Befehle/Einstellungen, die auf der Seite https://www.zigbee2mqtt.io/devices/SPZB0001.html angegeben sind.
Ob man eine Art "raw-Kommando" direkt via zigbee2mqtt versenden kann: k.A....

Du solltest daher m.E. erst mal bei kkoenk nachfragen, ob er das direkte Ansteuern des valve implementieren kann/will, dann bekommen wir das auch über FHEM geregelt.

Bei der Gelegenheit: dieses ominöse Reading "pi_heating_demand" ist die Ventilöffnung, allerding in einer 0-255-Skala? Dann könnte man zumindest ein userReadings für die Konvertierung in einen "üblichen" valve-Wert in % ergänzen... (Vorschläge nehme ich gerne entgegen ;) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors