Ich habe zwei Thermostate MOES Zigbee Radiator Actuator (HY368) versucht über Conbee, Deconz und Huebridge in fhem einzubinden. Durch die Hilfe auf github zum Deconz-rest-plugin (https://github.com/dresden-elektronik/deconz-rest-plugin/issues/4401) habe ich es soweit geschafft die beiden Thermostate als HUEBridge zu installieren. Und mit dem attrTemplate für das Eurotronic Spirit Thermostat habe ich es auch geschafft den heatsetpoint zu setzen (ändert sich am Thermostat, jedoch kein Reading in fhem).
Ich erhalte leider überhaupt keine Readings (temperature, heatsetpoint, valve, battery etc.) in fhem zu den beiden Thermostaten. Und ich weiss auch nicht, wie ich noch andere Werte/Optionen setzen kann. Was mache ich falsch bzw. was muss ich machen?
Hier der Auszug über einen REST client
"81": {
"config": {
"heatsetpoint": 1800,
"locked": false,
"mode": null,
"offset": -100,
"on": true,
"preset": "manual",
"reachable": true,
"schedule": {},
"schedule_on": false,
"setvalve": false,
"windowopen_set": false
},
"ep": 1,
"etag": "9469bdada24c5ec31f65ea89902524ce",
"lastseen": "2021-02-13T20:25Z",
"manufacturername": "_TZE200_ywdxldoj",
"modelid": "TS0601",
"name": "Buero-T-klein",
"state": {
"lastupdated": "none",
"lowbattery": false,
"on": true,
"temperature": 1850,
"valve": 25
},
"type": "ZHAThermostat",
"uniqueid": "84:71:27:ff:fe:11:0a:9a-01-0201"
},
"83": {
"config": {
"heatsetpoint": 2100,
"locked": false,
"mode": "auto",
"offset": -100,
"on": true,
"preset": "manual",
"reachable": true,
"schedule": {},
"schedule_on": false,
"setvalve": false,
"windowopen_set": false
},
"ep": 1,
"etag": "68221fa160b01f2f84d1a19ef0b1c356",
"lastseen": "2021-02-13T16:46Z",
"manufacturername": "_TZE200_ywdxldoj",
"modelid": "TS0601",
"name": "Schlafzimmer-T",
"state": {
"lastupdated": "none",
"lowbattery": false,
"on": true,
"temperature": 2000,
"valve": 100
},
"type": "ZHAThermostat",
"uniqueid": "84:71:27:ff:fe:10:03:d4-01-0201"
},
Und hier die list in fhem von einem der Devices
Internals:
DEF sensor 81 IODev=deCONZ
FUUID 602706d9-f33f-e817-d970-5312ce9e153a6259
FVERSION 31_HUEDevice.pm:0.233440/2020-12-13
ID S81
INTERVAL
IODev deCONZ
NAME Buero.Thermostat.klein
NR 555
STATE Initialized
TYPE HUEDevice
manufacturername _TZE200_ywdxldoj
modelid TS0601
name Lichterkette
on 1
reachable 1
type ZHAThermostat
uniqueid 84:71:27:ff:fe:11:0a:9a-01-0201
helper:
devtype S
reachable 0
update_timeout 1
configList:
cmds:
lock {"locked": true }
unlock {"locked": false }
regex:
HASH(0x6541e40)
HASH(0x678a540)
HASH(0x675a1c0)
json:
ep 1
etag 9280a0a85f54fb3de899b030f093723b
lastseen 2021-02-13T18:00Z
manufacturername _TZE200_ywdxldoj
modelid TS0601
name Lichterkette
type ZHAThermostat
uniqueid 84:71:27:ff:fe:11:0a:9a-01-0201
config:
heatsetpoint 1800
mode
offset -100
preset manual
schedule:
state:
lastupdated none
temperature 2000
valve 75
setList:
Attributes:
IODev deCONZ
configList /mode (.*)/:{"mode":"$1"}
/heatsetpoint (.*)/:perl:{'{"heatsetpoint":' . $VALUE1 * 100 . '}'}
/displayflipped (.*)/:{"displayflipped": $1 }
lock:{"locked": true }
unlock:{"locked": false }
icon max_heizungsthermostat
model TS0601
room HUEDevice,KlimaHeizung
widgetOverride mode:auto,heat,off displayflipped:true,false heatsetpoint:16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22
Kurzes Update. Nachdem ich fhem mit "shutdown restart" neu gestartet hatte kamen zumindest drei Readings: heatsetpoint, locked, reachable.
Hat jemand eine Idee, wie ich weitere readings, wie temperature, valve, battery etc (überhaupt und dann auch häufiger) angezeigt bekommen? Und wie ich noch mehr Konfigurationen vornehmen kann?
Internals:
DEF sensor 81 IODev=deCONZ
FUUID 602706d9-f33f-e817-d970-5312ce9e153a6259
FVERSION 31_HUEDevice.pm:0.233440/2020-12-13
ID S81
INTERVAL
IODev deCONZ
NAME Buero.Thermostat.klein
NR 555
STATE Initialized
TYPE HUEDevice
lastupdated
lastupdated_local
manufacturername _TZE200_ywdxldoj
modelid TS0601
name Buero-T-klein
on 1
reachable 1
type ZHAThermostat
uniqueid 84:71:27:ff:fe:11:0a:9a-01-0201
READINGS:
2021-02-14 18:13:36 heatsetpoint 21.0
2021-02-14 18:13:36 locked false
2021-02-14 18:13:36 reachable 1
helper:
devtype S
reachable 0
update_timeout 1
configList:
cmds:
lock {"locked": true }
unlock {"locked": false }
regex:
HASH(0x4c59b58)
HASH(0x4c5d280)
HASH(0x4c5e5a8)
json:
ep 1
etag d8469e8833e6c84f65f255e14761e94c
lastseen 2021-02-14T17:44Z
manufacturername _TZE200_ywdxldoj
modelid TS0601
name Buero-T-klein
type ZHAThermostat
uniqueid 84:71:27:ff:fe:11:0a:9a-01-0201
config:
heatsetpoint 2100
mode
offset -100
preset manual
schedule:
state:
lastupdated none
temperature 1950
valve 75
setList:
Attributes:
IODev deCONZ
configList /mode (.*)/:{"mode":"$1"}
/heatsetpoint (.*)/:perl:{'{"heatsetpoint":' . $VALUE1 * 100 . '}'}
/displayflipped (.*)/:{"displayflipped": $1 }
lock:{"locked": true }
unlock:{"locked": false }
icon max_heizungsthermostat
model TS0601
room HUEDevice,KlimaHeizung
widgetOverride mode:auto,heat,off displayflipped:true,false heatsetpoint:16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22
Hallo Forum,
ich möchte mich meinem Vorredner anschließen, habe ein sehr vergleichbares Setup und seit jüngstem auch den wahrscheinlich gleichen Thermostaten als "Original" von Tuya.
Bei der Bestellung war mir sehr bewusst, dass es ein Trial and Error oder sogar eine Nullnummer werden kann, nun habe ich aber natürlich Interesse an der Entwicklung mitzuarbeiten.
Mein Modell nennt sich laut Verpackung. SEA-TRV
Mein Zigbee Setup: Raspi 4 mit deConz Stick und der entsrechenden Deconz/Phoscon Software, FHEM auf einem anderen System, deConz über HUEDevices angebunden.
Zahlreiche Endpoints divererser Hersteller sind bereits aktiv (Tradfri, Lightify, Aqara, Lidl, Linkind etc)
Das Thermostat ließ ich ohne Probleme anlernen, Phoscon zeigt es nicht aber die deConz Netzwerkübersicht und FHEM hat automatisch ein Thermostat Device kreiert. Die Ergebnisse
also absolut passend zu dem vorher gesagten. Auch ich habe das Eurosprint Template als Referenz genommen und stehe nun vor der Frage "wie ich zB die aktuelle Temperatur (als State im json vorhanden, List unten) in READINGS umsetzen und nutzen kann, um dann die weiteren Parameter zur sinnvollen Automatisierung.
Der Clou sitzt wahrscheinlich im schon öfter angesprochenen TUYA-Cluster (siehe anghängte Deconz Copy) bzw auch in der Restful Implementation von DeConz??
Der Heatsetoint lässt sich übrigens biderektional problemlos setzen (FHEM spiegelt Änderungen am TRV und anders herum).
Ich bin gerne bereit mit zu Testen und zu berichten, es ist ja im allgemeinen und eigenen Interesse. Insgesamt sagt mir das Thermostat von Optik, Haptik und Lautstärke zu.
Mein List des Devices:
Internals:
DEF sensor 21 IODev=EG.WZ.Conbee2_1.controller
FUUID xxxxx
FVERSION 31_HUEDevice.pm:0.239120/2021-03-08
ID S21
INTERVAL
IODev EG.WZ.Conbee2_1.controller
NAME TuyaTRV1
NR 664
STATE ???
TYPE HUEDevice
lastupdated
lastupdated_local
manufacturername _TZE200_c88teujp
modelid TS0601
name Thermostat 21
on 1
reachable 1
type ZHAThermostat
uniqueid 80:4b:50:ff:fe:44:68:e6-01-0201
READINGS:
2021-05-19 19:53:50 heatsetpoint 20.0
2021-05-19 19:53:50 locked false
2021-05-19 19:53:50 mode off
2021-05-19 19:53:50 reachable 1
helper:
devtype S
reachable 0
update_timeout 1
configList:
cmds:
lock {"locked": true }
unlock {"locked": false }
regex:
HASH(0x55fcb63da8f0)
HASH(0x55fcb63da8c0)
HASH(0x55fcb63da9b0)
json:
ep 1
etag 96ad6e80de5951768048b394668d2ad7
lastseen 2021-05-19T16:19Z
manufacturername _TZE200_c88teujp
modelid TS0601
name Thermostat 21
type ZHAThermostat
uniqueid 80:4b:50:ff:fe:44:68:e6-01-0201
[b] config:
heatsetpoint 2000
mode off
offset 0
preset
schedule:
state:
lastupdated none
temperature 2020
valve[/b]
setList:
Attributes:
IODev EG.WZ.Conbee2_1.controller
assistantName Heizung Esszimmer
configList /mode (.*)/:{"mode":"$1"}
/heatsetpoint (.*)/:perl:{'{"heatsetpoint":' . $VALUE1 * 100 . '}'}
/displayflipped (.*)/:{"displayflipped": $1 }
lock:{"locked": true }
unlock:{"locked": false }
gassistantName Heizung Esszimmer
icon max_heizungsthermostat
model TS0601
realRoom Esszimmer
room 1_EG,GoogleAssistant,HUEDevice
widgetOverride mode:auto,heat,off displayflipped:true,false heatsetpoint:16,17,18,19,20,21,22
ich schubs das mal nach oben.
Ich kann meine Tuya_THD HY368 TRV mit dem "Eruotronic SBZP0001_spirit_zigbee" template steuern (zumindest den Heatsetpoint), aber ich bekomme keine Rückmeldung zur Ventilstellung und leider kann ich auch das Wochenprogramm nicht einstellen.
Ist das etwas, das sich über das Template lösen ließe?
hier ist der json String aus dem Log:
2022.02.06 12:09:05 5: deCONZ: websocket data: $VAR1 = {
'config' => {
'heatsetpoint' => 2000,
'locked' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'mode' => 'auto',
'offset' => -100,
'on' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
'preset' => 'complex',
'reachable' => $VAR1->{'config'}{'on'},
'schedule' => {
'W124' => [
{
'heatsetpoint' => 20,
'localtime' => 'T06:00'
},
{
'heatsetpoint' => 15,
'localtime' => 'T08:00'
},
{
'heatsetpoint' => 15,
'localtime' => 'T11:30'
},
{
'heatsetpoint' => 15,
'localtime' => 'T140:30'
},
{
'heatsetpoint' => 20,
'localtime' => 'T17:30'
},
{
'heatsetpoint' => 15,
'localtime' => 'T22:00'
}
],
'W3' => [
{
'heatsetpoint' => 20,
'localtime' => 'T06:00'
},
{
'heatsetpoint' => 15,
'localtime' => 'T08:00'
},
{
'heatsetpoint' => 15,
'localtime' => 'T11:30'
},
{
'heatsetpoint' => 15,
'localtime' => 'T12:30'
},
{
'heatsetpoint' => 20,
'localtime' => 'T17:30'
},
{
'heatsetpoint' => 15,
'localtime' => 'T22:00'
}
]
},
'schedule_on' => $VAR1->{'config'}{'locked'},
'setvalve' => $VAR1->{'config'}{'locked'},
'windowopen_set' => $VAR1->{'config'}{'locked'}
},
'e' => 'changed',
'id' => '83',
'r' => 'sensors',
't' => 'event',
'uniqueid' => '80:4b:50:ff:fe:25:18:bc-01-0201'
};
Zitat von: pjakobs am 06 Februar 2022, 12:25:28
ich schubs das mal nach oben.
Ich kann meine Tuya_THD HY368 TRV mit dem "Eruotronic SBZP0001_spirit_zigbee" template steuern (zumindest den Heatsetpoint), aber ich bekomme keine Rückmeldung zur Ventilstellung und leider kann ich auch das Wochenprogramm nicht einstellen.
Ist das etwas, das sich über das Template lösen ließe?
...nun denn, nehme den Ball mal auf, glaube aber nicht, dass ich allzuweit helfen kann, das ist erfahrungsgemäß alles relativ schwer zu ermitteln, wenn man die Hardware nicht hat...
Vorab: Es gibt zum Thema Moes/attrTemplate einen Thread - allerdings zu MQTT2_DEVICE: https://forum.fhem.de/index.php/topic,116535.msg1108336.html#msg1108336. Das ist von daher wichtig, weil zum einen afaik die firmware unbedingt aktuell sein muss, damit das Ding überhaupt richtig funktioniert, und zum anderen dort ein paar Links vergraben sind, an denen man erkennen kann, was das Teil _prinzipiell_ können sollte. Ob deconz das dann alles bereitstellt, wäre die nächste Frage...
Bzgl. Ventilstellung müsste man sehen, was da für Datenpunkte geliefert werden, aus dem "Dumper" (?) ist nur zu erkennen, dass da was "locked" zu sein scheint. Vielleicht wird das anders, wenn man es auf "unlocked" setzt (Versuch vielleicht erst mal über deCONZ-GUI?)?
Was das Auslesen des Wochenprogramms angeht, müßte man auf justme1968 zugehen, vermutlich wäre es nicht das große Problem, den betr. JSON unausgepackt in ein Reading zu schreiben?
Zum Schreiben fällt mir ein bißchen mehr ein:
Zum einen erlaubt configList (?) Perl, von daher müßte das Programm sich setzen lassen - vorausgesetzt, man wüßte, wie es zusammenzubauen ist...
Da wären Rätsel zu lösen, z.B. was mit 'T140:30' gemeint ist (14:30 Uhr am WE?) oder mit 'W124' bzw. 'W3'.
Vermutlich hängt es mit dem Wochentags-Programmmodus zusammen, das Teil kann afaik "7", "5+2" und "6+1".
Unter https://svn.fhem.de/trac/browser/trunk/fhem/contrib/AttrTemplate/99_attrT_z2m_thermostat_Utils.pm?order=name steht auch Code, der aus einem "gewöhnlichen weekprofile"-Profil das für zigbee2mqtt erforderliche Format generiert - kann man gerne ausschlachten :) .
das sind schonmal gute Hints.
Was ich nirgendwo so richtig gefunden habe ist: welche Datenstruktur steht mir eigentlich zur Verfügung, wenn ich mit em Template bzw. den configList attributen arbeite? Bekomme ich da die ganze json Struktur als hash? als string? ich sehe immer nur Referenzen darauf, aber kann nicht wirklich erkennen, was der Hintergrund ist.
pj
Danke für die Rückmeldung, hatte schon befürchtet, dass das zu abstrakt ist :) .
Die Argumenten-Übergabe an das HUEDevice-Modul ist (wie immer in FHEM) ein String, du mußt also den JSON "flach" übergeben bzw. kannst ihn als Text zusammenbauen. Von daher ist auch der Code aus dem MQTT2_DEVICE-addon durchaus mit ein paar kleineren Anpassungen verwertbar (wenn man davon absieht, dass weekprofile HUEDevice zumindest im Moment nicht als "Zielgruppe" kennt). Abholen ginge aber, also "setter" in HUEDevice für "hole Profil" (Device/"Kenner"/Topic) => Abfrage bei weekprofile => umpacken nach JSON => ab die Post :) .
Hallo zusammen,
@pjakobs
Bist du hier weitergekommen?
Ich habe derzeit das Eurotronic Spirit Zigbee über DeConz. Da ich hier aber häufig mit Verbindungsabbrüchen zu kämpfen habe, würde ich gern einmal Tuya als Alternative ausprobieren.
Wochenpläne wären mir tatsächlich erst einmal gar nicht so wichtig.
Die "Basisreadings" die ich derzeit beim Eurotronic bekomme sowie das einfach setzten des Heatsetpoints würden mir erstmal reichen :D
Moin @ReneR1968 - nein, bin ich tatsächlich nicht. Aber ich muss mir das nochmal anschauen. Mein Problem ist, dass ich nirgendwo wirklich eine gute Doku gefunden habe, wie die zigbee templates funktionieren sollen.
pj
Auch wenn es schon etwas liegt: Die Alternative Sonoff USB-Dongle und Zigbee2MQTT ist imho der Conbee-Lösung überlegen.