Sonoff trvzb (Heizkörperthermostat) Commandtopic

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von udo1toni »

Im Prinzip richtig, aber hier ist es ja so, dass die Zigbee zu mqtt Bridge ein Sonoff Device ist, welches mit Tasmota geflasht wurde.
Die Kommunikation findet also über eine serielle Schnittstelle des Sonoff Device statt, innerhalb des Tasmota Baums lautet das fullTopic entsprechend
%fulltopic%/ZBsend, wobei %fulltopic% gewöhnlich %prefix%/%topic%/ entspricht, %prefix% wiederum für Befehle cmnd lautet und %topic% gewöhnlich der Name des Geräts ist (diesen Wert stellt man selbst ein)
In einer aktuellen Tasmota Version gibt es einen Plugin-Mechanismus, um Zigbee Devices direkt im Tasmota-Baum abzubilden, aber das ist, soweit ic hdas in der Doku gesehen habe, trotz der Einfachheit ein eher fortgeschrittenes Thema. Solltest Du (@mcandrew) allerdings beim Stöbern über solche Plugins stolpern, wäre es sicherlich einen Versuch wert, Deine Devices darüber direkt in Tasmota verfügbar zu machen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 175
Registriert: 13. Dez 2018 17:42
Answers: 0

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von mcdandrew »

Der erste Teilerfolg ist da....die LED kann ich schalten und dimmen.
Ich hatte tatsächlich das fulltopic im Tasmota geändert.
Nun habe ich wieder "%prefix%/%topic%/" eingetragen und es funktioniert.

Für die LED lautet das Think nun

Code: Alles auswählen

Type switch : osram_led_1_state [ stateTopic = "zigbee_bridge/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xD272.Power", commandTopic = "cmnd/zigbee_bridge/ZbSend", formatBeforePublish = "{ \"Device\":\"0xD272\", \"send\":{\"Power\":\"%s\"} }", on = "1", off = "0"]    
Type dimmer : osram_led_1_brightness [ stateTopic="zigbee_bridge/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xD272.Dimmer", commandTopic = "cmnd/zigbee_bridge/ZbSend", min = 0, max = 254, step = 1, formatBeforePublish = "{ \"device\":\"0xD272\", \"send\":{\"Dimmer\":\"%s\"} }"]


Die Thermostate funktionieren jedoch noch immer nicht....hier ist aber scheinbar das Problem, dass "OccupiedHeatingSetpoint" nicht erkannt wird.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von udo1toni »

Schau mal hier: https://www.zigbee2mqtt.io/devices/TRVZB.html danach soll es occupied_heating_setpoint heißen, nicht OccupiedHeatingSetpoint
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 175
Registriert: 13. Dez 2018 17:42
Answers: 0

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von mcdandrew »

Leider nicht...im Tasmota kommt bei der Eingabe von

Code: Alles auswählen

 ZbSend {"Device":"0x0FA5","send":{"occupied_heating_setpoint":30}}
die Meldung
10:24:28.199 MQT: stat/zigbee_bridge/RESULT = Unrecognized zigbee command: occupied_heating_setpoint
Auch bei den anderen Befehlen wie bspw. "Child_Lock" erscheint diese Meldung

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von udo1toni »

Gerade habe ich noch mal einen Blick in die Doku von Tasmota geworfen.

Da steht Send, nicht send. Alternativ soll auch Write gehen.
Ich hatte das aus den Augen verloren... im dritten Posting hattest Du ja ein Beispiel eines Receives Events mitgeliefert, da dort OccupiedHeatingSetpoint als Label verwendet wird, wird zigbee2tasmota das auch beim Senden erwarten.
Hattest Du schon

Code: Alles auswählen

 ZbSend {"Device":"0x80ED","Send":{"OccupiedHeatingSetpoint":30}}
und

Code: Alles auswählen

 ZbSend {"Device":"0x80ED","Write":{"OccupiedHeatingSetpoint":30}}
ausprobiert? Stimmt die Device ID? Die hier habe ich nämlich aus der JSON Antwort, aber vermutlich hast Du eh mehrere TRVZB am Start...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 175
Registriert: 13. Dez 2018 17:42
Answers: 0

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von mcdandrew »

Jetzt läuft es :D

Vielen Vielen Dank für deine Unterstützung!!!
Hier nun das funktionierende Thing für alle anderen

Code: Alles auswählen

Type number  : badezimmer_zieltemperatur [ stateTopic="tele/zigbee_bridge/Heizkoerper_Badezimmer/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0x0FA5.OccupiedHeatingSetpoint", commandTopic = "cmnd/zigbee_bridge/Heizkoerper_Badezimmer/ZbSend", formatBeforePublish = "{\"Device\": \"0x0FA5\", \"Write\": {\"occupiedheatingsetpoint\":%s} }" ]	

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von udo1toni »

Prima. Wenn Du magst, kannst Du auch noch unit="°C" als Parameter ergänzen und dann im Item Number:Temperature, ebnfalls mit der unit °C einsetzen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 175
Registriert: 13. Dez 2018 17:42
Answers: 0

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von mcdandrew »

Noch eine allgemeine Frage.

Die Thermostate übergeben per MQTT den folgenden JSON

Code: Alles auswählen

{
  "ZbReceived": {
    "0x80ED": {
      "Device": "0x80ED",
      "Name": "Heizkoerper Schlafzimmer",
      "OccupiedHeatingSetpoint": 18,
      "Endpoint": 1,
      "LinkQuality": 58
    }
  }
}
Laut Doku gibt es noch viele weitere Informationen
- ChildLock
- system_mode
- running_state
- local_temperature_calibration

Wie komme ich an diese Infos, wenn MQTT diese nicht direkt bereitstellt?

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Sonoff trvzb (Heizkörperthermostat) Commandtopic

Beitrag von udo1toni »

Du könntest versuchen, mal den Befehl ZbInfo abzusetzen, vom MQTT Explorer aus cmnd/zigbee_bridge/ZbInfo mit leerer Payload, oder halt direkt in der Console der Zibee Bridge. Eventuell bekommst Du dann erweiterte Informationen aller Geräte zu sehen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten