NEWS
Tuya Thermostat (_TZE200_hue3yfsn)
-
@pete0815 sagte in Tuya Thermostat (_TZE200_hue3yfsn):
Wenn ich über den Preset Punkt "schedule" nachdenke ihn zu nutzen, gibt es die Möglichkeit die Programme/Einstellungen per Zigbee zu programmieren und auszulesen? Am Ventil dies einzustellen ist ja richtig fummelig.
Lies mal hier: https://github.com/ioBroker/ioBroker.zigbee/issues/1244
Die genaue Syntax der Daten die du hin schickst must Du dir bei zigbee2mqtt.io anschauen.
A,
-
Vielen Dank! Da kann ich mir viel abgucken. Da ich mir nichts "zerschießen" möchte und ich es noch nicht gemacht habe, wie schicke ich die Daten zum Gerät?
Über das Developer Menü im Adapter und z.B. diese Daten dann im Experten-Modus bei JSON versenden?sendTo('zigbee.0', 'SendToDevice', {'device':'5c0272fffedc3017', 'payload':{ "schedule": { "workdays": [ { "hour": 6, "minute": 0, "temperature": 19 }, { "hour": 8, "minute": 0, "temperature": 21 }, { "hour": 18, "minute": 0, "temperature": 21 }, { "hour": 20, "minute": 30, "temperature": 20 }, { "hour": 22, "minute": 0, "temperature": 19 }, { "hour": 23, "minute": 0, "temperature": 17 } ] } }}, function(res) { if (res.success) console.log("success") else console.log(res.error); });
-
@pete0815 sagte in Tuya Thermostat (_TZE200_hue3yfsn):
Vielen Dank! Da kann ich mir viel abgucken. Da ich mir nichts "zerschießen" möchte und ich es noch nicht gemacht habe, wie schicke ich die Daten zum Gerät?
Über das Developer Menü im Adapter und z.B. diese Daten dann im Experten-Modus bei JSON versenden?Zerschiessen kannst du da nichts.
Du musst den Code in ein JS Skript (oder dir ein entsprechendes Blockly Skript bauen) einbauen und das Skript einmal laufen lassen.Über den Entwickler Modus geht bei den TuYa wenig.
A.
-
@asgothian
Danke, da hätte ich noch lange an falscher Stelle gesucht -
@pete0815 sagte in Tuya Thermostat (_TZE200_hue3yfsn):
nur die Target Temperature setzen und nicht die Ventilstellung
bei mir geht die Ventilstellung-Steuerung auch nicht laut der Liste
diese Thermostate haben kein Data Point ID um das zu steuern.
Die Preset Mode ( 'manual', 'boost', 'complex', 'comfort', 'eco') benutze ich nicht, ich hab noch Werkeinstellungen. Ich hab bei mir einige Blockly Skripte laufen: ein Skript zum Beispiel in Interval 20 min. überprüft ob die Fenster geöffnet oder geschlossen sind, Uhrzeit und steuert entsprechend target_temperatur.Im Bild mit Device Information was du gepostet hast steht manufacturerName: '_TZE200_cwnjrr72 warum?
Ich hab bei mir solche:Was hast du geändert oder ist das der originale Name von Thermostat?
-
@diti said in Tuya Thermostat (_TZE200_hue3yfsn):
@pete0815 sagte in Tuya Thermostat (_TZE200_hue3yfsn):
nur die Target Temperature setzen und nicht die Ventilstellung
ok
Die Preset Mode ( 'manual', 'boost', 'complex', 'comfort', 'eco') benutze ich nicht, ich hab noch Werkeinstellungen.
Nutzen möchte ich das auch im Moment nicht. Da ich den Sinn noch nicht ganz verstehe dieser Presets, möchte ich wenigstens vermeiden, dass ich mit Blocklys gegen die interne Regelung des Ventils "ankämpfe".
Im Bild mit Device Information was du gepostet hast steht manufacturerName: '_TZE200_cwnjrr72 warum?
Ich hab bei mir solche:Was hast du geändert oder ist das der originale Name von Thermostat?
Das wurde orginal nach dem Pairing so gesetzt. Habe nichts verändert.
-
@pete0815
dann sind deine Thermostate in zigbee2mqtt eingepflegt, du musst gar nicht verändern, probier Mal die in Home Assistant da kannst du eventuell mehr Funktionen herausholen. -
@diti
bin aufm Sprung in den Urlaub und schaue ich danach mal.Im Moment funktioniert aber eigentlich alles und eine Erklärung um die Programme per Zigbee zu setzen gab es nettwerweise auch. Im Prinzip fehlt mir nix
-
@diti sagte in Tuya Thermostat (_TZE200_hue3yfsn):
probier Mal die in Home Assistant da kannst du eventuell mehr Funktionen herausholen
was willst du da mehr rausholen.. die greifen auch auf die gleiche Basis drauf.. z2m projekt
-
Hier die Beantwortung meiner eigenen Frage, vielleicht hat ja noch jemand die Frage zur Einbindung von converter files im iobroker...
-
Man besorgt sich ein converter file für das nicht unterstützte Gerät. Ich habe dieses gefunden: https://github.com/PeWu/tuya-valve-z2m/blob/main/tuya_radiator_valve.js
Funktioniert zwar nicht alles, aber setpoint, mode und child lock funktionieren, mehr hoffentlich bald -
Man legt das converter file (tuya_radiator_valve.js) zum Beispiel mit ftp irgendwo auf dem Pi ab. Ich habe dies einfach mal ins Verzeichnis /opt/iobroker/iobroker-data/ gelegt.
-
Im iobroker Adapter gibt es unter dem Punkt Einstellungen eine Rubrik "External converters", ganz am Ende der Seite. Dort gibt man den Pfad zur .js Datei an.
-
Adapter neu starten und _TZE200_hue3yfsn neu pairen. Anschließend wird das Gerät gefunden und hinzugefügt:
M.M.n. die bessere Lösung gegenüber der Lösung von @diti mit der Modifikation von /opt/iobroker/node_modules/zigbee-herdsman-converters/devices/tuya.js und /opt/iobroker/node_modules/zigbee-herdsman-converters/lib/tuya.js
-
-
@bluefish danke für deine Anleitung, leider wenn ich externen Converter benutze, bekomme ich von den Thermostaten keine Rückmeldung also keine locale Temperatur, ich hab verschiedene ausprobiert und mit immer gleichem Ergebnis. Auf Bildern von dir current Temperatur auch unbekannt, geht das?
Mittlerweile habe ich andere "Mitfahrgelegenheit" für Thermostat (_TZE200_hue3yfsn) gefunden, und zwar bei TV01-ZB von Moes. Alle Data Point ID sind mit unserem identisch und alle steuerbar, Rückmeldung von TRV ist auch vorhanden, das heißt man muss nicht in /opt/iobroker/node_modules/zigbee-herdsman-converters/lib/tuya.js Anpassungen machen sondern in /opt/iobroker/node_modules/zigbee-herdsman-converters/devices/moes.js Thermostat-Name {modelID: 'TS0601', manufacturerName: '_TZE200_hue3yfsn'} einfügen.
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_e9ba97vf'}, {modelID: 'TS0601', manufacturerName: '_TZE200_hue3yfsn'}], model: 'TV01-ZB', vendor: 'Moes', description: 'Thermostat radiator valve', fromZigbee: [fz.moes_thermostat_tv, fz.ignore_tuya_set_time], toZigbee: [tz.moes_thermostat_tv],
TV01-ZB ist frisch in zigbee4mqtt integriert, deswegen musst ihr Zigbee-Adapter oder zigbee-herdsmann-converters aktualisieren, bei mir steht nämlich v1.6.4.
Nicht vergessen alle gemachte Änderungen und Anpassungen in
/opt/iobroker/node_modules/zigbee-herdsman-converters/devices/tuya.js und in /opt/iobroker/node_modules/zigbee-herdsman-converters/lib/tuya.js wieder rückgängig machen, oder die werden mit Aktualisierung überschrieben. -
@diti Danke für deinen Tipp mit dem Moes.
Damit lässt sich easy ein externer Converter basteln, der den Vorteil hat, dass man nicht in den node_modules herumwerkeln muss und es überlebt updates...
Hier ein bei mir funktionierender Code auf basis des Moes _TZE200_e9ba97vf Thermostats.
Abspeichern als z.B. tuya_radiator_valve.js, irgendwo auf den Pi speichern und Pfad+Dateiname in den iobroker Einstellungen hinterlegen.const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee}; const tz = require('zigbee-herdsman-converters/converters/toZigbee'); const tuya = require('zigbee-herdsman-converters/lib/tuya'); const globalStore = require('zigbee-herdsman-converters/lib/store'); const exposes = require('zigbee-herdsman-converters/lib/exposes'); const reporting = require('zigbee-herdsman-converters/lib/reporting'); const e = exposes.presets; const ea = exposes.access; const device = { fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_hue3yfsn'}], model: 'TS0601', vendor: 'Tuya', description: 'Thermostat radiator valve', fromZigbee: [fz.moes_thermostat_tv, fz.ignore_tuya_set_time], toZigbee: [tz.moes_thermostat_tv], exposes: [ e.battery(), // e.child_lock(), // e.window_detection(), // exposes.binary('frost_detection', ea.STATE_SET, true, false).withDescription('Enables/disables frost detection on the device'), exposes.binary('heating_stop', ea.STATE_SET, true, false).withDescription('Stop heating'), exposes.numeric('holiday_temperature', ea.STATE_SET).withDescription('Holiday mode temperature'), exposes.numeric('comfort_temperature', ea.STATE_SET).withDescription('Comfort mode temperature'), exposes.numeric('eco_temperature', ea.STATE_SET).withDescription('Eco mode temperature'), exposes.numeric('open_window_temperature', ea.STATE_SET).withDescription('Open window mode temperature'), // exposes.numeric('boost_heating_countdown', ea.STATE).withDescription('Boost heating countdown'), // exposes.numeric('error_status', ea.STATE).withDescription('Error status'), // exposes.binary('boost_mode', ea.STATE_SET).withDescription('Enables/disables boost mode'), exposes.climate().withSetpoint('current_heating_setpoint', 5, 29.5, 1, ea.STATE_SET) .withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(ea.STATE_SET) .withSystemMode(Object.values(tuya.tvThermostatMode), ea.STATE_SET) .withPreset(Object.values(tuya.tvThermostatPreset)), ], onEvent: tuya.onEventSetLocalTime, }; module.exports = device;
Ergebnis:
Child_lock, window_detection, frost_detection, boost_mode und error_status funktionieren bei mir nicht, daher habe ich es auskommentiert. Sollten bei deiner Methode @diti eigentlich auch nicht funktionieren oder?
Die local_temperature aktualisiert sich bei mir leider nicht von selbst, wenn man jedoch die local_temperature_calibration aktualisiert, wird auch die aktuelle local_temperature aktualisiert.
-
@bluefish bei mir funktioniert von allein die Child_lock, local_temperature, früher musste ich auch mit einem Skript local_temperature_calibration auf 0-Grad jedesmal setzen um die aktuelle Temperatur zu bekommen.
-
local_temperature funktioniert doch nicht, ich habe immer noch Skript aktiv gehabt. Wie kann man überprüfen ob Thermostat was sendet? Vielleicht mit zigbee.0.info.debugmessages?
-
@diti wenn du die addresse des thermostat in den State info.debugmessages einträgst bekommst du mit welche Nachricht der Adapter vom Herdsman weitergereicht bekommt.
A.
-
@asgothian ich bekomme folgende Meldungen wenn ich temperature_calibration an Thermostat sende
v5.1.25 012 Log-Größe: 32.9 KB Zeit Nachricht zigbee.0 2021-11-04 00:26:03.916 debug Non-pingable device 0x50325ffffe6314aa TS0601 was last seen '127.197' seconds ago. zigbee.0 2021-11-04 00:25:03.916 debug Non-pingable device 0x50325ffffe6314aa TS0601 was last seen '67.197' seconds ago. zigbee.0 2021-11-03 23:24:03.915 debug Non-pingable device 0x50325ffffe6314aa TS0601 was last seen '7.196' seconds ago. zigbee.0 2021-11-03 23:23:56.750 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.local_temperature_calibration:{"val":"0.0","ack":true,"ts":1635981836743,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836743} zigbee.0 2021-11-03 23:23:56.748 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.msg_from_zigbee:{"val":"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":7,\"dp\":27,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,0]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":50,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}","ack":true,"ts":1635981836743,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836743} zigbee.0 2021-11-03 23:23:56.746 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.link_quality:{"val":141,"ack":true,"ts":1635981836743,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836640} zigbee.0 2021-11-03 23:23:56.742 info State value to set for "zigbee.0.50325ffffe6314aa.local_temperature_calibration" has to be type "number" but received type "string" zigbee.0 2021-11-03 23:23:56.734 warn ELEVATED publishToState: value generated '"0.0"' from device 50325ffffe6314aa for 'Offset to be used in the local_temperature' zigbee.0 2021-11-03 23:23:56.733 warn ELEVATED publishToState: message received '{"local_temperature_calibration":"0.0"}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.732 debug Publish {"local_temperature_calibration":"0.0"} to "50325ffffe6314aa" zigbee.0 2021-11-03 23:23:56.732 warn ELEVATED publishToState: value generated '"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":7,\"dp\":27,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,0]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":50,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}"' from device 50325ffffe6314aa for 'Message from Zigbee' zigbee.0 2021-11-03 23:23:56.731 warn ELEVATED publishToState: message received '{"msg_from_zigbee":"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":7,\"dp\":27,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,0]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":50,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}"}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.731 warn ELEVATED publishToState: value generated '141' from device 50325ffffe6314aa for 'Link quality' zigbee.0 2021-11-03 23:23:56.730 warn ELEVATED publishToState: message received '{"linkquality":141}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.721 debug Type commandGetData device {"type":"device","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836719,"_linkquality":141},"mapped":{"fingerprint":[{"modelID":"TS0601","manufacturerName":"_TZE200_e9ba97vf"},{"modelID":"TS0601","manufacturerName":"_TZE200_hue3yfsn"}],"model":"TV01-ZB","vendor":"Moes","description":"Thermostat radiator valve","fromZigbee":[{"cluster":"manuSpecificTuya","type":["commandGetData","commandSetDataResponse","raw"]},{"cluster":"manuSpecificTuya","type":["commandSetTimeRequest"]}],"toZigbee":[{"key":["system_mode","window_detection","frost_detection","child_lock","current_heating_setpoint","local_temperature_calibration","holiday_temperature","comfort_temperature","eco_temperature","boost_mode","open_window_temperature","heating_stop","preset"]},{"key":["scene_store"]},{"key":["scene_recall"]},{"key":["scene_add"]},{"key":["scene_remove"]},{"key":["scene_remove_all"]},{"key":["read"]},{"key":["write"]}],"exposes":[{"type":"numeric","name":"battery","property":"battery","access":1,"unit":"%","description":"Remaining battery in %","value_min":0,"value_max":100},{"type":"lock","features":[{"type":"binary","name":"state","property":"child_lock","access":3,"value_on":"LOCK","value_off":"UNLOCK","description":"Enables/disables physical input on the device"}]},{"type":"switch","features":[{"type":"binary","name":"state","property":"window_detection","access":3,"value_on":"ON","value_off":"OFF","description":"Enables/disables window detection on the device","value_toggle":"TOGGLE"}]},{"type":"binary","name":"frost_detection","property":"frost_detection","access":3,"value_on":true,"value_off":false,"description":"Enables/disables frost detection on the device"},{"type":"binary","name":"heating_stop","property":"heating_stop","access":3,"value_on":true,"value_off":false,"description":"Stop heating"},{"type":"numeric","name":"holiday_temperature","property":"holiday_temperature","access":3,"description":"Holiday mode temperature"},{"type":"numeric","name":"comfort_temperature","property":"comfort_temperature","access":3,"description":"Comfort mode temperature"},{"type":"numeric","name":"eco_temperature","property":"eco_temperature","access":3,"description":"Eco mode temperature"},{"type":"numeric","name":"open_window_temperature","property":"open_window_temperature","access":3,"description":"Open window mode temperature"},{"type":"numeric","name":"boost_heating_countdown","property":"boost_heating_countdown","access":1,"description":"Boost heating countdown"},{"type":"numeric","name":"error_status","property":"error_status","access":1,"description":"Error status"},{"type":"climate","features":[{"type":"numeric","name":"current_heating_setpoint","property":"current_heating_setpoint","access":3,"value_min":5,"value_max":29.5,"value_step":1,"unit":"°C","description":"Temperature setpoint"},{"type":"numeric","name":"local_temperature","property":"local_temperature","access":1,"unit":"°C","description":"Current temperature measured on the device"},{"type":"numeric","name":"local_temperature_calibration","property":"local_temperature_calibration","access":3,"unit":"°C","description":"Offset to be used in the local_temperature"},{"type":"enum","name":"system_mode","property":"system_mode","access":3,"values":["off","heat","auto"],"description":"Mode of this device"},{"type":"enum","name":"preset","property":"preset","access":3,"values":["auto","manual","holiday"],"description":"Mode of this device (similar to system_mode)"}]},{"type":"numeric","name":"linkquality","property":"linkquality","access":1,"unit":"lqi","description":"Link quality (signal strength)","value_min":0,"value_max":255}],"options":[]},"name":"0x50325ffffe6314aa"} incoming event: {"type":"commandGetData","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836719,"_linkquality":141},"endpoint":"[Circular]","data":{"status":0,"transid":7,"dp":27,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,0]}},"linkquality":141,"groupID":0,"cluster":"manuSpecificTuya","meta":{"zclTransactionSequenceNumber":50,"manufacturerCode":null,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0}}} zigbee.0 2021-11-03 23:23:56.720 debug Received Zigbee message from '0x50325ffffe6314aa', type 'commandGetData', cluster 'manuSpecificTuya', data '{"status":0,"transid":7,"dp":27,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,0]}}' from endpoint 1 with groupID 0 zigbee.0 2021-11-03 23:23:56.719 debug handleMessage. {"type":"commandGetData","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836719,"_linkquality":141},"endpoint":"[Circular]","data":{"status":0,"transid":7,"dp":27,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,0]}},"linkquality":141,"groupID":0,"cluster":"manuSpecificTuya","meta":{"zclTransactionSequenceNumber":50,"manufacturerCode":null,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0}}} zigbee.0 2021-11-03 23:23:56.693 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.local_temperature:{"val":"21.3","ack":true,"ts":1635981836691,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836691} zigbee.0 2021-11-03 23:23:56.687 info State value to set for "zigbee.0.50325ffffe6314aa.local_temperature" has to be type "number" but received type "string" zigbee.0 2021-11-03 23:23:56.649 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.msg_from_zigbee:{"val":"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":6,\"dp\":24,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,213]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":49,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}","ack":true,"ts":1635981836641,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836641} zigbee.0 2021-11-03 23:23:56.646 silly States user redis pmessage zigbee.0.*/zigbee.0.50325ffffe6314aa.link_quality:{"val":141,"ack":true,"ts":1635981836640,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1635981836640} zigbee.0 2021-11-03 23:23:56.623 warn ELEVATED publishToState: value generated '"21.3"' from device 50325ffffe6314aa for 'Current temperature measured on the device' zigbee.0 2021-11-03 23:23:56.622 warn ELEVATED publishToState: message received '{"local_temperature":"21.3"}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.619 debug Publish {"local_temperature":"21.3"} to "50325ffffe6314aa" zigbee.0 2021-11-03 23:23:56.618 warn ELEVATED publishToState: value generated '"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":6,\"dp\":24,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,213]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":49,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}"' from device 50325ffffe6314aa for 'Message from Zigbee' zigbee.0 2021-11-03 23:23:56.617 warn ELEVATED publishToState: message received '{"msg_from_zigbee":"{\"type\":\"commandGetData\",\"data\":{\"status\":0,\"transid\":6,\"dp\":24,\"datatype\":2,\"fn\":0,\"data\":{\"type\":\"Buffer\",\"data\":[0,0,0,213]}},\"linkquality\":141,\"groupID\":0,\"cluster\":\"manuSpecificTuya\",\"meta\":{\"zclTransactionSequenceNumber\":49,\"manufacturerCode\":null,\"frameControl\":{\"frameType\":1,\"manufacturerSpecific\":false,\"direction\":1,\"disableDefaultResponse\":false,\"reservedBits\":0}},\"endpoint_id\":1}"}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.616 warn ELEVATED publishToState: value generated '141' from device 50325ffffe6314aa for 'Link quality' zigbee.0 2021-11-03 23:23:56.615 warn ELEVATED publishToState: message received '{"linkquality":141}' from device 50325ffffe6314aa type 'TV01-ZB' zigbee.0 2021-11-03 23:23:56.596 debug Type commandGetData device {"type":"device","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836591,"_linkquality":141},"mapped":{"fingerprint":[{"modelID":"TS0601","manufacturerName":"_TZE200_e9ba97vf"},{"modelID":"TS0601","manufacturerName":"_TZE200_hue3yfsn"}],"model":"TV01-ZB","vendor":"Moes","description":"Thermostat radiator valve","fromZigbee":[{"cluster":"manuSpecificTuya","type":["commandGetData","commandSetDataResponse","raw"]},{"cluster":"manuSpecificTuya","type":["commandSetTimeRequest"]}],"toZigbee":[{"key":["system_mode","window_detection","frost_detection","child_lock","current_heating_setpoint","local_temperature_calibration","holiday_temperature","comfort_temperature","eco_temperature","boost_mode","open_window_temperature","heating_stop","preset"]},{"key":["scene_store"]},{"key":["scene_recall"]},{"key":["scene_add"]},{"key":["scene_remove"]},{"key":["scene_remove_all"]},{"key":["read"]},{"key":["write"]}],"exposes":[{"type":"numeric","name":"battery","property":"battery","access":1,"unit":"%","description":"Remaining battery in %","value_min":0,"value_max":100},{"type":"lock","features":[{"type":"binary","name":"state","property":"child_lock","access":3,"value_on":"LOCK","value_off":"UNLOCK","description":"Enables/disables physical input on the device"}]},{"type":"switch","features":[{"type":"binary","name":"state","property":"window_detection","access":3,"value_on":"ON","value_off":"OFF","description":"Enables/disables window detection on the device","value_toggle":"TOGGLE"}]},{"type":"binary","name":"frost_detection","property":"frost_detection","access":3,"value_on":true,"value_off":false,"description":"Enables/disables frost detection on the device"},{"type":"binary","name":"heating_stop","property":"heating_stop","access":3,"value_on":true,"value_off":false,"description":"Stop heating"},{"type":"numeric","name":"holiday_temperature","property":"holiday_temperature","access":3,"description":"Holiday mode temperature"},{"type":"numeric","name":"comfort_temperature","property":"comfort_temperature","access":3,"description":"Comfort mode temperature"},{"type":"numeric","name":"eco_temperature","property":"eco_temperature","access":3,"description":"Eco mode temperature"},{"type":"numeric","name":"open_window_temperature","property":"open_window_temperature","access":3,"description":"Open window mode temperature"},{"type":"numeric","name":"boost_heating_countdown","property":"boost_heating_countdown","access":1,"description":"Boost heating countdown"},{"type":"numeric","name":"error_status","property":"error_status","access":1,"description":"Error status"},{"type":"climate","features":[{"type":"numeric","name":"current_heating_setpoint","property":"current_heating_setpoint","access":3,"value_min":5,"value_max":29.5,"value_step":1,"unit":"°C","description":"Temperature setpoint"},{"type":"numeric","name":"local_temperature","property":"local_temperature","access":1,"unit":"°C","description":"Current temperature measured on the device"},{"type":"numeric","name":"local_temperature_calibration","property":"local_temperature_calibration","access":3,"unit":"°C","description":"Offset to be used in the local_temperature"},{"type":"enum","name":"system_mode","property":"system_mode","access":3,"values":["off","heat","auto"],"description":"Mode of this device"},{"type":"enum","name":"preset","property":"preset","access":3,"values":["auto","manual","holiday"],"description":"Mode of this device (similar to system_mode)"}]},{"type":"numeric","name":"linkquality","property":"linkquality","access":1,"unit":"lqi","description":"Link quality (signal strength)","value_min":0,"value_max":255}],"options":[]},"name":"0x50325ffffe6314aa"} incoming event: {"type":"commandGetData","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836591,"_linkquality":141},"endpoint":"[Circular]","data":{"status":0,"transid":6,"dp":24,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,213]}},"linkquality":141,"groupID":0,"cluster":"manuSpecificTuya","meta":{"zclTransactionSequenceNumber":49,"manufacturerCode":null,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0}}} zigbee.0 2021-11-03 23:23:56.595 debug Received Zigbee message from '0x50325ffffe6314aa', type 'commandGetData', cluster 'manuSpecificTuya', data '{"status":0,"transid":6,"dp":24,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,213]}}' from endpoint 1 with groupID 0 zigbee.0 2021-11-03 23:23:56.592 debug handleMessage. {"type":"commandGetData","device":{"ID":4,"_type":"EndDevice","_ieeeAddr":"0x50325ffffe6314aa","_networkAddress":32413,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_hue3yfsn","_powerSource":"Battery","_modelID":"TS0601","_applicationVersion":69,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1635981836591,"_linkquality":141},"endpoint":"[Circular]","data":{"status":0,"transid":6,"dp":24,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,213]}},"linkquality":141,"groupID":0,"cluster":"manuSpecificTuya","meta":{"zclTransactionSequenceNumber":49,"manufacturerCode":null,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0}}} zigbee.0 2021-11-03 23:23:55.384 debug target: {"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":32413,"deviceIeeeAddress":"0x50325ffffe6314aa","clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_hue3yfsn","powerSource":3,"zclVersion":3,"appVersion":69,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}
-
Hat sich gelöst.
Wenn ich die Programmierung einzeln zum Ventil schicke funktioniert es:Definition Wochenprogramm:
sendTo('zigbee.0', 'SendToDevice', {'device':'84fd27fffe8afa10', 'payload':{ "schedule": { "week": "5+2" } }}, function(res) { if (res.success) console.log("success") else console.log(res.error); });
Programmierung Workdays:
sendTo('zigbee.0', 'SendToDevice', {'device':'84fd27fffe8afa10', 'payload':{ "schedule": { "workdays": [ { "hour": 6, "minute": 0, "temperature": 18 }, { "hour": 8, "minute": 0, "temperature": 17 }, { "hour": 17, "minute": 0, "temperature": 19 }, { "hour": 20, "minute": 30, "temperature": 18 }, { "hour": 21, "minute": 30, "temperature": 17 }, { "hour": 23, "minute": 0, "temperature": 17 } ] } }}, function(res) { if (res.success) console.log("success") else console.log(res.error); });
Programmierung Holidays=Wochenende:
sendTo('zigbee.0', 'SendToDevice', {'device':'84fd27fffe8afa10', 'payload':{ "schedule": { "holidays": [ {"hour":6,"minute":0,"temperature":18}, {"hour":10,"minute":0,"temperature":17}, {"hour":18,"minute":0,"temperature":19}, {"hour":22,"minute":0,"temperature":17}, ] } }}, function(res) { if (res.success) console.log("success") else console.log(res.error); });
P.S: Woher weiß das Thermostat eigentlich welchen Wochentag bzw. wie spät es ist?
-
Etwas verwirrend da hier im Beitrag wohl mehrere Typen besprochen wurden.
Ich hatte bisher geglaubt hier über dieses Ventil (z.B.: TS0601_thermostat) zu sprechen, worauf sich meine Erfahrung etc bezieht:
Habe nun aber zusätzlich so ein Ventil im Einsatz, was wohl dem (_TZE200_hue3yfsn entspricht):
Aus der Zigbee2Mqtt Supportliste bin ich hierbei von der Bezeichnung TS0601_thermostat_1 ausgegangen, was aber nicht mit dem aktuellen IObroker Adapter übereinstimmt (TV02-Zigbee für das TS0601 _TZE200_hue3yfsn).
Nacheiner kreisrunden Suche bin ich nun wieder hier gelandet und denke ihr nutzt genau das Ventil aber mit Euren Lösungen (modifizierte Files oder Converter). Oder gibt es hier evtl. Neuigkeiten? Im aktuellen Zigbee Adapter(1.6.7) wird wie festgestellt das Thermostat direkt als TV02-Zigbee unterstützt.
Leider fehlt dort die Ventilposition, aber auch ist dort nur die einmalige Synchronierung der lokalen Temperatur drin.Nach etwas weiterer Suche vermute ich den Ursprung dieser Unterstützung hier, der sich bis in den IObroker Adapter fortgesetzt hat: https://github.com/Koenkk/zigbee-herdsman-converters/issues/3142
Dort ist die Rede davon die Aktualisierung der lokalen Temperatur "anders" gelöst zu haben, aber wie? Eine manuelle (oder per skript) Aktualisierung der Temperatur-Kalibrierung funktioniert bei mir nicht.
Wie ist hier Euer Verständis zu dieser Funktion?
-
@pete0815
ich gehe davon aus dass, der Ventil nie die lokale Temperatur einfach so rum sendet. Die wird bekannt gegeben,wenn der Ventil von Smart Life, Tuya Smart angesprochen wird (auf welche Weise weiß ich nicht), oder wenn er ein Signal für Temperatur-Kalibrierung bekommt, hier muss er logisch Ergebnisse der Kalibrierung zeigen. Warum das bei dir nicht geht, weiß ich nicht. Aktualisierung der lokalen Temperatur mache ich mit einfachen Blockly-Skript
Was es um die Ventilposition geht, der Thermostat hat ja kein Data Point ID um das von extern zu steuern, oder?
Danke für Info über Einpflegung in Zigbee2MQTT, jetzt läuft´s bei mir direkt ohne Umwege.
Das einzige Problem was ich habe nur diese Meldungen, die ständig auftreten
2021-11-22 18:07:29.191 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:07:29.314 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:12:20.998 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314f1.current_heating_setpoint" has to be type "number" but received type "string" 2021-11-22 18:12:21.024 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314aa.current_heating_setpoint" has to be type "number" but received type "string" 2021-11-22 18:12:21.191 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe631473.current_heating_setpoint" has to be type "number" but received type "string" 2021-11-22 18:12:22.051 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.current_heating_setpoint" has to be type "number" but received type "string" 2021-11-22 18:12:27.416 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314f1.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:12:27.514 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314aa.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:12:27.537 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314f1.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:12:27.630 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314aa.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:12:27.703 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe631473.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:12:27.809 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe631473.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:12:28.524 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:12:28.633 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:17:27.398 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:17:27.490 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe631473.local_temperature" has to be type "number" but received type "string" 2021-11-22 18:17:27.527 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314cb.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:17:27.621 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe631473.local_temperature_calibration" has to be type "number" but received type "string" 2021-11-22 18:17:28.355 - info: zigbee.0 (8262) State value to set for "zigbee.0.50325ffffe6314f1.local_temperature" has to be type "number" but received type "string"
ich glaube das hat mit dem neuen Zigbee Adapter 1.6.7 zu tun hat.
-
@diti sagte in Tuya Thermostat (_TZE200_hue3yfsn):
ich glaube das hat mit dem neuen Zigbee Adapter 1.6.7 zu tun hat.
Da bin ich unsicher. Überprüfe bitte nochmal dein Skript. Die Meldungen besagen das der Wert der in einen Datenpunkt geschrieben wird das falsche Format hat.
Um festzustellen wer da was macht kannst du in den State
zigbee.0.info.debugmessages
testweise den Wert50325ffffe6314cb
eintragen und dann das Log beobachten. Passend zu den geposteten Info Meldungen sollten warn Meldungen mit dem Text "ELEVATED" kommen. Wenn du da mal einen Satz posten könntest können wir dem Nachgehen.@diti sagte in Tuya Thermostat (_TZE200_hue3yfsn):
ich gehe davon aus dass, der Ventil nie die lokale Temperatur einfach so rum sendet. Die wird bekannt gegeben,wenn der Ventil von Smart Life, Tuya Smart angesprochen wird (auf welche Weise weiß ich nicht), oder wenn er ein Signal für Temperatur-Kalibrierung bekommt, hier muss er logisch Ergebnisse der Kalibrierung zeigen. Warum das bei dir nicht geht, weiß ich nicht. Aktualisierung der lokalen Temperatur mache ich mit einfachen Blockly-Skript
Nutzt du die von Dir gepatchte Version der Herdsman Einbindung oder die von der @pete0815 geschrieben hat ?
Eigentlich sollte der Thermostat temperaturänderungen selbstständig melden. Gut, es ist Tuya, da ist das nicht immer sicher. Trotzdem würde ich statt die Temperaturkalibration zu setzen mal versuchen über den State "Device Query" den Thermostat zu triggern seine vorhandenen Werte zu senden.
A.