Steuerung der Schedules der Sonoff TRVZB Thermostaten unter Z2M

Hallo,
ich mache gerade meine ersten Gehversuche mit HASS und Sonoff TRVZB.
@simon42 : Danke für die Videos, die mir dabei sehr geholfen haben!

Im Modus “auto” wenden die TRVZB Schedules an.
Ich möchte mir nun verschiedene Schedules einrichten, z.B. für Urlaub.
Nur ist mir nicht richtig klar, wie die in Z2M unter “Szene” verwaltet werden. Was macht z.B. “Szenen verwalten”?
Wie werden diese Szenen dann unter HA ausgewählt/gesteuert?

Im deutschen Z2M heißen die Schedules Szenen und haben Szenen-IDs. Das hat nichts mit den HA-Szenen zu tun, oder?

2 „Gefällt mir“

Herzlich willkommen, hier im Forum :tada: und generell gesprochen verwende ich die Schedules von Thermostaten überhaupt nicht, ich stelle die immer auf “heat” und steuere die dann über Better Thermostat oder meine Blueprint aus dem Video oder eine Kombination aus beidem.

Reicht für mich aus und ist insgesamt verlässlicher :wink:

Trotzdem fände auch ich es interessant, ob jemand damit bisher gute Erfahrungen gemacht hat. Bei einigen Thermostaten kann man ja auch Temperaturfühler sowie Fensterkontakte verknüpfen… Das wäre dann ja bestimmt auch sinnvoll, um alle Automationen “direkt auf dem Thermostat” zu haben :slight_smile:

1 „Gefällt mir“

Ich habe keine Info gefunden, dass das TRVZB mehrere Zeitpläne unterstützen soll.

Ich wollte testweise eine Szene aktualisieren (ID ändern und umbenennen), um zu schauen, ob dann irgendwas davon in HA ankommt, aber das funktioniert schon mal nicht.

z2m: Publish ‘set’ ‘scene_store’ to ‘TH Bad’ failed: ‘Error: ZCL command 0x0cae5ffffeb12c27/1 genScenes.store({“groupid”:0,“sceneid”:1}, {“timeout”:10000,“disableResponse”:false,“disableRecovery”:false,“disableDefaultResponse”:true,“direction”:0,“reservedBits”:0,“writeUndiv”:false}) failed (Timeout - 907 - 1 - 232 - 5 - 4 after 10000ms)’

Wenn ich unter Details im Schedule was ändere und speichere, wird es aber in die Scene 0 (ID 0) übernommen.

Darüber hinaus kann ich nur zigbee2mqtt.io zitieren:

Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"weekly_schedule": {"sunday": VALUE, "monday": VALUE, "tuesday": VALUE, "wednesday": VALUE, "thursday": VALUE, "friday": VALUE, "saturday": VALUE}}

Vielleicht gehts über die Sonoff Bridge mit der App, habe ich aber nicht zu Verfügung.

Ja, das ist auch meine Idee.
Diese “scenes” sind ja eine Funktion der TRVZB und würden (nach meinem Verständnis) autark weiterlaufen, auch dann wenn HA nicht liefe.

@Alex
Diese payloads sehe ich auch.
Anscheinend schickt Z2M alle paar Minuten den kompletten Datensatz einschl. “weekly_schedule” an das Gerät.
Die Aktionen unter Z2M " Szenen verwalten" laufen bei mir alle auf Fehler.

Das möchte ich mir eigentlich gerade nicht noch anschaffen. Der “Zoo” ist schon groß genug und Datenschutz-seitig sind mir diese Geräte nicht geheuer.

Ich fürchte, deine gewünschten Szenen kannst du dann wohl nur als jeweilige MQTT message abspeichern und bei Bedarf absenden.

Ich probiere gerade, direkt per MQTT-publish einzugreifen. Erst einmal nur per get.
Aber jeder Aufruf mit einem Topic wie z.B. “zigbee2mqtt/HEIZKOERPER1/get” und einer Payload ‘{“state”: “”}’ liefert eine Fehlermeldung:
error: z2m: No converter available for 'get' ({"state":""})
Was ist das denn für ein Trick? Fängt Z2M die Nachrichten ab?
Wie bekommt man denn einen “get” oder “set” durch?

Beachte das hier … HIVE SLR2(x) climate entity · Issue #25523 · Koenkk/zigbee2mqtt · GitHub

Z2M 2.* überträgt möglicherweise die Schedule-Daten nicht. Ich bleibe auf Version 1.42 solange das offen ist.

set:
Topic entsrepchend deiner Z2M Config
Beispiel:

zigbee2mqttm/ZigbeeMHeatWz/set
{
   "weekly_schedule":{
      "monday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21",
      "tuesday":"00:00/21 07:30/19 16:30/21 16:30/21 16:30/21 16:30/21",
      "wednesday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21",
      "thursday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21",
      "friday":"00:00/21 07:30/11 07:30/11 07:30/11 07:30/11 07:30/11",
      "saturday":"00:00/11 00:00/11 00:00/11 00:00/11 00:00/11 00:00/11",
      "sunday":"00:00/18 10:00/21 10:00/21 10:00/21 10:00/21 10:00/21"
   }
}

Schedule wird als Status im “normalen” topic übertragen

zigbee2mqttm/ZigbeeMHeatWz
{
   "battery":100,
   "child_lock":"UNLOCK",
   "closing_steps":362,
   "device":{
      "applicationVersion":0,
      "dateCode":"20240823",
      "friendlyName":"ZigbeeMHeatWz",
      "ieeeAddr":"xxxxxx7fffe743989",
      "manufacturerID":4742,
      "manufacturerName":"SONOFF",
      "model":"TRVZB",
      "networkAddress":56388,
      "powerSource":"Battery",
      "softwareBuildID":"1.2.1",
      "type":"EndDevice",
      "zclVersion":8
   },
   "frost_protection_temperature":10,
   "idle_steps":178,
   "last_seen":"2025-02-10T19:04:58+01:00",
   "linkquality":255,
   "local_temperature":21.5,
   "local_temperature_calibration":-1,
   "occupied_heating_setpoint":21,
   "open_window":"ON",
   "running_state":"idle",
   "system_mode":"auto",
   "update":{
      "installed_version":4609,
      "latest_version":4609,
      "state":"idle"
   },
   "update_available":false,
   "valve_closing_degree":100,
   "valve_closing_limit_voltage":2600,
   "valve_motor_running_voltage":1626,
   "valve_opening_degree":20,
   "valve_opening_limit_voltage":2116,
   "weekly_schedule":{
      "friday":"00:00/21 07:30/11 07:30/11 07:30/11 07:30/11 07:30/11",
      "monday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21",
      "saturday":"00:00/11 00:00/11 00:00/11 00:00/11 00:00/11 00:00/11",
      "sunday":"00:00/18 10:00/21 10:00/21 10:00/21 10:00/21 10:00/21",
      "thursday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21",
      "tuesday":"00:00/21 07:30/19 16:30/21 16:30/21 16:30/21 16:30/21",
      "wednesday":"00:00/21 07:30/19 16:00/21 16:00/21 16:00/21 16:00/21"
   }
}

Ich habe sowohl Schedules bei Homematic als auch mit den Sonoff Thermostaten über Z2M im Einsatz. Da es sowas in HA nicht gibt habe ich mir das komplett in Node-Red gebaut. Incl. Anbindung an Google Calendar. Bis auf das aktuelle Gap in Z2M mit den abgeschnittenen Attributen läuft das perfekt.

Könntest Du bitte Beispiele für die Topics und Payloads posten?
Wie oben beschrieben, würde ich gerne die Liste (0, 1, …) der “Schedules” pflegen und abrufen, die anscheinend in den TRVZBs gespeichert werden.

Ich benutze mosquitto_pub von einem anderen Rechner und schicke etwas wie:

mosquitto_pub … -t zigbee2mqtt/HEIZKOERPER1/get -m ‘{ “running_state”: “” }’

Egal was ich schicke, es antwortet immer nur “zigbee2mqtt/HEIZKOERPER1” mit dem kompletten (?) Datensatz.

Daraus kannst du dir ja die Daten extrahieren. Ist ein Standard Json String. Wenn du explizit anforderst wird nur die entsprechende Information aktuallisiert.

Weiß nicht was du meinst. Die Syntax der set-Anweisung ist in der Z2M Doku und auch in meinem Beispiel enthalten.

Ja, danke, die Doku kenne ich.

Ich würde schon gerne verstehen, warum bei mir diese set-Topics aus der (auch von Dir zitierten) Zigbee2MQTT Doku nicht funktionieren.
Mache ich das etwas falsch? Was?
Detail s.o.

Wenn Du Dir die Zigbee2MQTT-Oberfläche ansiehst, findest Du bei den Geräten einen Reiter “Szene” und da dann “Szene aktualisieren” und " Szenen verwalten". Da funktioniert leider nicht und liefert alles Fehlermeldungen.
Das passt sonst genau zu dem, was auf der Sonoff Seite als “Schedules” beschrieben wird.
Und das möchte ich gerne benutzen (Details s.o.)

Ja, demnach verwaltest Du ja genau diese Schedules, die ich auch gerne benutzen möchte.
Beschreibe das doch bitte einmal.

Welche Version von Z2M nutzt du? Die 2* Version hat da ggf. Probleme.

Danke, auch das kenne ich schon.

Ich habe die Zeitpläne in einer CSV. Mit Node-Red lese ich Tage, Zeiten und Temperaturen zum entsprechenden Thermostat aus der Datei, konvertiere sie in das benötigte Format und sende die dann über MQTT an die Mqtt-Integration zum publishen oder über die Homematic Integration an Homematic.

Trigger zum Setzen sind Dropdown in HA in denen ich Thermostate und weitere Kriterien auswähle. MIt dem Drücken eines Send-Buttons triggert es in Rode-Ned die Logik wo aus der CSV die Daten gelesen, aufbereitet und geschickt werden.

Bei mir läuft Z2M V2.1.1.
Wie oben schon geschrieben ist das Ganze neu aufgesetzt. Daher mit den aktuellen Versionen.

@mostie
Danke Dir! Ich hatte Dich so verstanden, daß Du die Schedules steuern würdest, die in den Thermostaten gespeichert werden.

mach ich auch. Ich schreibe den Wochenplan in the Thermostate und die arbeiten dann autark ohne HA. Würde HA ausfallen würden die Thermostate das eingestellte Wochenprofil solange abspulen bis die Batterien leer sind. HA kommt nur wieder zum Einsatz wenn ich einen anderen Wochenplan schreibe.