Thermostat Ubisys H1 arbeitet nicht mit zigbee2mqtt - gelöst

Begonnen von Müller, 05 April 2024, 13:41:21

Vorheriges Thema - Nächstes Thema

Müller

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
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

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.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

vielleicht kann jemand ein entsprechendes template erstellen ?
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Müller

Ich gebe dir recht, wenn man mehrere templates für verschiedenste Thermostate braucht wird die template liste unübersichtlich lang.

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