Hallo,
ich habe ein Ubisys H1 Thermostaten für Heizkörper. Angelernt in zigbee2mqtt (kein Problem). Kann über zigbee2mqtt angesteuert werden.
Über autocreate in FHEM angemeldet und als template habe ich "zigbee2mqqtt_thermotat_without_weekprofile" und auch "with".
Nun kommen bei zigbee2mqtt (und beim Thermostaten) nicht von den Parametern von FHEM an (außer der Ist Temperatur). Hauptproblem ist natürlich "desired Temperatur"
define MQTT2_zigbee_0x001fee000000999e MQTT2_DEVICE zigbee_0x001fee000000999e
attr MQTT2_zigbee_0x001fee000000999e userattr weekprofile
attr MQTT2_zigbee_0x001fee000000999e comment For use with weekprofile, additional configuration is needed
attr MQTT2_zigbee_0x001fee000000999e devStateIcon LOCKED:secur_lock:btnLock+UNLOCK UNLOCKED:secur_open:btnLock+LOCK
attr MQTT2_zigbee_0x001fee000000999e devicetopic zigbee2mqtt/0x001fee000000999e
attr MQTT2_zigbee_0x001fee000000999e getList desired-temp:noArg desired-temp $DEVICETOPIC/get {"current_heating_setpoint": ""}\
temperature:noArg temperature $DEVICETOPIC/get {"local_temperature": ""}\
preset:noArg preset $DEVICETOPIC/get {"preset": ""}
attr MQTT2_zigbee_0x001fee000000999e icon temp_control
attr MQTT2_zigbee_0x001fee000000999e jsonMap occupied_heating_setpoint:daytemp unoccupied_heating_setpoint:nighttemp child_protection:btnLock current_heating_setpoint:desired-temp local_temperature:temperature battery:batteryPercent voltage:batterymV
attr MQTT2_zigbee_0x001fee000000999e model zigbee2mqtt_eurotronic_spirit
attr MQTT2_zigbee_0x001fee000000999e periodicCmd temperature:55
attr MQTT2_zigbee_0x001fee000000999e readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_zigbee_0x001fee000000999e room MQTT2_DEVICE
attr MQTT2_zigbee_0x001fee000000999e setList boost:true,false $DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
btnLock: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_0x001fee000000999e setStateList on off
attr MQTT2_zigbee_0x001fee000000999e stateFormat Measured: temperature Battery: battery %
attr MQTT2_zigbee_0x001fee000000999e userReadings batteryVoltage:batterymV.* {ReadingsNum($name,'batterymV',0)/1000}
attr MQTT2_zigbee_0x001fee000000999e webCmd desired-temp
attr MQTT2_zigbee_0x001fee000000999e weekprofile MQTT2_zigbee_0x001fee000000999e
attr MQTT2_zigbee_0x001fee000000999e 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
# CFGFN
# CID zigbee_0x001fee000000999e
# DEF zigbee_0x001fee000000999e
# FUUID 660fd9eb-f33f-cb54-0da0-a2304b938877ea3f
# IODev MQTT2_FHEM_Server
# LASTInputDev MQTT2_FHEM_Server
# MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_127.0.0.1_56846
# MQTT2_FHEM_Server_MSGCNT 20
# MQTT2_FHEM_Server_TIME 2024-04-05 13:38:38
# MSGCNT 20
# NAME MQTT2_zigbee_0x001fee000000999e
# NR 6436
# STATE Measured: 24 Battery: battery %
# TYPE MQTT2_DEVICE
# eventCount 39
# periodicCounter 35
# JSONMAP:
# battery batteryPercent
# child_protection btnLock
# current_heating_setpoint desired-temp
# local_temperature temperature
# occupied_heating_setpoint daytemp
# unoccupied_heating_setpoint nighttemp
# voltage batterymV
# OLDREADINGS:
# READINGS:
# 2024-04-05 13:00:59 IODev MQTT2_FHEM_Server
# 2024-04-05 13:00:59 associatedWith MQTT2_zigbee_pi
# 2024-04-05 13:11:39 attrTemplateVersion 20220110
# 2024-04-05 13:38:38 batteryPercent 100
# 2024-04-05 13:38:38 batteryVoltage 3.4
# 2024-04-05 13:38:38 batterymV 3400
# 2024-04-05 13:38:38 daytemp 22
# 2024-04-05 13:35:10 desired-temp set desired-temp 20.5
# 2024-04-05 13:38:38 linkquality 117
# 2024-04-05 13:38:38 nighttemp 16
# 2024-04-05 13:38:38 occupancy true
# 2024-04-05 13:38:38 pi_heating_demand 0
# 2024-04-05 13:38:38 running_mode heat
# 2024-04-05 13:38:38 system_mode heat
# 2024-04-05 13:38:38 temperature 24
# 2024-04-05 13:38:38 update_available true
# 2024-04-05 13:38:38 update_installed_version 22086704
# 2024-04-05 13:38:38 update_latest_version 22152240
# 2024-04-05 13:38:38 update_state available
# 2024-04-05 13:38:38 vacation_mode false
#
setstate MQTT2_zigbee_0x001fee000000999e Measured: 24 Battery: battery %
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:00:59 IODev MQTT2_FHEM_Server
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:00:59 associatedWith MQTT2_zigbee_pi
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:11:39 attrTemplateVersion 20220110
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 batteryPercent 100
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 batteryVoltage 3.4
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 batterymV 3400
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 daytemp 22
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:35:10 desired-temp set desired-temp 20.5
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 linkquality 117
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 nighttemp 16
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 occupancy true
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 pi_heating_demand 0
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 running_mode heat
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 system_mode heat
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 temperature 24
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 update_available true
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 update_installed_version 22086704
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 update_latest_version 22152240
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 update_state available
setstate MQTT2_zigbee_0x001fee000000999e 2024-04-05 13:38:38 vacation_mode false
Hat jemand eine Idee wo das Problem liegt ?
Danke & Gruß
Jochen
in zigbee2mqtt habe ich folgende Einstellungen gefunden:
{
"battery": 100,
"linkquality": 87,
"local_temperature": 24,
"occupancy": true,
"occupied_heating_setpoint": 16,
"pi_heating_demand": 0,
"running_mode": "off",
"system_mode": "heat",
"unoccupied_heating_setpoint": 16,
"update": {
"installed_version": 22086704,
"latest_version": 22152240,
"state": "available"
},
"update_available": true,
"vacation_mode": false,
"voltage": 3400
}
Daher habe ich in FHEM in jsonMap "current_heating_setpoint" gegen "occupied_heating_setpoint" ersetzt.
und bei setList entsprechend.
Nun scheint es zu gehen.
vielleicht kann jemand ein entsprechendes template erstellen ?
Zitat von: Müller am 06 April 2024, 23:06:12vielleicht kann jemand ein entsprechendes template erstellen ?
Hmmmm, also....:
Können ja, aber ich bin sehr unsicher, ob sich das lohnt, und wie es am besten anzugehen wäre. Hintergrund:
- Nach https://www.zigbee2mqtt.io/devices/H1.html gäbe es z.B. auch die Option, eine "schedule" zu setzen (=> with weekprofile). Da steht aber nicht, wie das ggf. ginge, und wenn, könnte es sein, dass das irgendwie "endet", weil erst dann "occupied" gilt (?).
- Anscheinend gibt es auf der z2m-Seite keine wirklichen Bestrebungen, die Endpoints (für Thermostate bzw. "Heizgeräte"?) irgendwie zu standardisieren, so dass man anscheinend für jede Variante eine eigene Implementierung auf der MQTT-Seite braucht. Das wird mit der Zeit dann aber tendenziell sehr unübersichtlich, so dass es am Ende dann (auf der MQTT- bzw. FHEM-Seite) ggf. einfacher ist, die paar exemplarischen Beispiele zu haben und klarzustellen, dass man das individuell mit den Angaben auf der blackadder/z2m.io-Seite abgleichen (und anpassen) muss, so wie du das ja am Ende dann auch (korrekt) gemacht hast....
Bin aber für Vorschläge offen, wie man das ggf. lösen kann.
Ich gebe dir recht, wenn man mehrere templates für verschiedenste Thermostate braucht wird die template liste unübersichtlich lang.
Grüße