Smanar / Domoticz-deCONZ

deCONZ plugin for Domoticz (Zigbee application)
GNU General Public License v3.0
36 stars 27 forks source link

add Device SPZB0001 ( thermostat) #31

Closed salopette closed 4 years ago

salopette commented 4 years ago

https://www.amazon.de/gp/product/B077GCDDBY/ref=ppx_yo_dt_b_asin_title_o06_s01?ie=UTF8&psc=1

https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1098

2019-10-09 13:51:47.256 Error: (CDevice_update) deconz - SPZB0001: Failed to parse parameters: 'nValue', 'sValue', 'Image', 'SignalLevel', 'BatteryLevel', 'Options', 'TimedOut', 'Name', 'TypeName', 'Type', 'Subtype', 'Switchtype', 'Used', 'Description', 'Color' or 'SuppressTriggers' expected. 2019-10-09 13:51:47.256 Error: (deconz) 'CDevice_update' failed 'TypeError':'an integer is required (got type str)'.

Hi, I have a thermostat Domoticz does not want to take it? Can you include that?

THX

salopette commented 4 years ago

Thanks, check it out right now, and I'll report!

Smanar commented 4 years ago

Oups I have make a mistake https://github.com/Smanar/Domoticz-deCONZ/commit/c4d2a5578f6fed5a8570ba9479e8dcf61fe42211#diff-66c71ea3faaa52c277917c951aa67921

and I have that in return from ebaauw

I've seen the same, especially when switching from off to on (boost mode) or vice versa. It seems to be a "feature" of the Spirit firmware. Mode off seems to be related to the half implemented window open detection. I only set the heatpoint from my automation and leave the mode to auto.

You will probaly have round problem > 22.5°C round to 22°C, I will correct it later if it work.

salopette commented 4 years ago

2019-11-01 18:43:16.984 Status: Notification: Eingangs Tür Closed 2019-11-01 18:43:17.188 (Mi Alarmanlage) Light/Switch (Eingangs Tür) 2019-11-01 18:43:17.323 EventSystem: Event triggered: Heizung_2 2019-11-01 18:43:17.627 Notification sent (telegram) => Success 2019-11-01 18:43:27.240 (deconz) onCommand called for Unit 86: Parameter 'Set Level', Level: 3, Hue: 2019-11-01 18:43:30.865 (deconz) onCommand called for Unit 103: Parameter 'Set Level', Level: 20, Hue: 2019-11-01 18:43:30.866 Error: (deconz) 'onCommand' failed 'ValueError':'invalid literal for int() with base 10: '21.0''. 2019-11-01 18:43:30.866 Error: (deconz) ----> Line 866 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onCommand 2019-11-01 18:43:30.866 Error: (deconz) ----> Line 265 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onCommand 2019-11-01 18:43:32.498 (Mi Alarmanlage) Temp (Wohnzimmer) 2019-11-01 18:43:32.513 (Mi Alarmanlage) Humidity (Xiaomi Humidity) 2019-11-01 18:43:35.142 MQTT: Topic: domoticz/in, Message: {"idx":338,"nvalue":0,"svalue":"20.6;50.4;1","Battery":100,"RSSI":8} 2019-11-01 18:44:08.474 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:b8-01-0201', 'r': 'sensors', 't': 'event', 'e': 'changed', 'state': {'temperature': 2113, 'on': True, 'valve': 7, 'lastupdated': '2019-11-01T17:44:08'}, 'id': '66'} 2019-11-01 18:44:15.241 (Mi Alarmanlage) Light/Switch (Flur Motion Sensor) 2019-11-01 18:44:35.174 MQTT: Topic: domoticz/in, Message: {"idx":338,"nvalue":0,"svalue":"20.6;50.4;1","Battery":100,"RSSI":8} 2019-11-01 18:44:40.124 (RFLink-Getway) Temp + Humidity (Aussen) 2019-11-01 18:44:40.699 EventSystem: Event triggered: Treppenlicht EG_1 2019-11-01 18:44:40.741 (deconz) onCommand called for Unit 86: Parameter 'Set Level', Level: 3, Hue: 2019-11-01 18:44:41.987 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:d0:34-01-0201', 'r': 'sensors', 't': 'event', 'e': 'changed', 'state': {'temperature': 2113, 'on': True, 'valve': 62, 'lastupdated': '2019-11-01T17:44:41'}, 'id': '58'} 2019-11-01 18:44:44.672 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:b8-01-0201', 'r': 'sensors', 't': 'event', 'e': 'changed', 'state': {'temperature': 2113, 'on': True, 'valve': 25, 'lastupdated': '2019-11-01T17:44:44'}, 'id': '66'} 2019-11-01 18:44:45.211 EventSystem: Event triggered: Treppenlicht EG_2 2019-11-01 18:44:45.295 (deconz) onCommand called for Unit 86: Parameter 'Off', Level: 0, Hue:

Smanar commented 4 years ago

Arf, my fault, was the round problem too

https://github.com/Smanar/Domoticz-deCONZ/commit/f2d0c9f37c84b77173d8f13934e5d50dc6e350e2#diff-66c71ea3faaa52c277917c951aa67921

salopette commented 4 years ago

2019-11-01 21:16:40.836 EventSystem: Event triggered: Heizung_4 2019-11-01 21:16:40.893 (deconz) onCommand called for Unit 109: Parameter 'Set Level', Level: 20, Hue: 2019-11-01 21:16:40.896 Status: (deconz) Thermostat debug : /api/30B09157F5/sensors/48/config with {'mode': 'auto', 'heatsetpoint': 220000} 2019-11-01 21:16:40.913 Error: (deconz) Connexion problem (1) with Gateway : 400 2019-11-01 21:16:41.014 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'r': 'sensors', 't': 'event', 'e': 'changed', 'state': {'temperature': 2211, 'on': False, 'valve': 0, 'lastupdated': '2019-11-01T20:16:40'}, 'id': '48'} 2019-11-01 21:16:44.589 (deconz) Double UniqueID correction : 41 > 44 2019-11-01 21:16:45.513 (deconz) Double UniqueID correction : 41 > 44 2019-11-01 21:16:54.642 (Mi Alarmanlage) Light/Switch (Flur Motion Sensor) 2019-11-01 21:17:05.117 (RFLink-Getway) Temp + Humidity (Aussen) 2019-11-01 21:17:29.116 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'r': 'sensors', 't': 'event', 'e': 'changed', 'state': {'temperature': 2158, 'on': False, 'valve': 0, 'lastupdated': '2019-11-01T20:17:29'}, 'id': '48'}

Smanar commented 4 years ago

{'mode': 'auto', 'heatsetpoint': 220000}

Strange, domoticz have alredy * 100 the value ?

line 265 Replace

Hp = int(100*float(Devices[GetDomoDeviceInfo(IEEE2)].sValue))

by

Hp = int(float(Devices[GetDomoDeviceInfo(IEEE2)].sValue))

Smanar commented 4 years ago

So, it's better now ?

salopette commented 4 years ago

Hi, yes it's better than before! I want to watch this for another week.

Krash had been dead with the last beta of deconz since yesterday (was constantly rebooting?). I'm back to Stable now, let's see.

Smanar commented 4 years ago

Like this issue https://www.domoticz.com/forum/viewtopic.php?f=68&t=25631&start=320#p227561 ?

Fatal signal 11 ?

salopette commented 4 years ago

So I use the time to debug branch. I have never seen such messages.

PS: it's Zigate and not Deconz

pipiche38 commented 4 years ago

If it is Zigate I beleive you should go to https://www.domoticz.com/forum/viewforum.php?f=68 The Thermostat is supported , I have few at home working with Zigate and the plugin

Smanar commented 4 years ago

Ok, so I think it's nice ATM, or you are freezed in ice ^^. I think I will put your last modifications on beta and pass them on stable this Week end.

salopette commented 4 years ago

Hi, today I see little mistake.

The window was open, then it turns OFF. Window is closed after a few hours, termostat shows as it was set 21 °, but the selector switch in domoticz still shows OFF.

Even if I put it on auto, it jumps back to OFF after some time.

sshot-2019-11-08- 1 sshot-2019-11-08- 2

salopette commented 4 years ago

2019-11-08 18:06:02.775 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 17, 'lastupdated': '2019-11-08T17:06:02', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:09:34.077 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 18:09:34.102 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 17, 'lastupdated': '2019-11-08T17:09:34', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:09:34.105 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 17, 'lastupdated': '2019-11-08T17:09:34', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:12:15.795 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 34, 'lastupdated': '2019-11-08T17:12:15', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:14:16.156 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:14:16', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:29:36.595 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:29:36', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:29:36.597 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:29:36', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:34:19.376 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:34:19', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:47:51.563 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 18:49:39.847 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:49:39', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:49:39.900 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:49:39', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:50:34.007 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 39, 'lastupdated': '2019-11-08T17:50:33', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:52:34.333 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 29, 'lastupdated': '2019-11-08T17:52:34', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:53:54.225 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'auto', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'}

Smanar commented 4 years ago

Hu ??? Your thermostat go on "off" mode but still have the valve open for heat .....

2019-11-08 18:09:34.077 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'}

But {'on': True, 'valve': 24} during 53 mn and then

2019-11-08 18:53:54.225 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'auto', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'}

Without domoticz send command.

I think the working mode was normal ? It just like the thermostat send a bad mode, the "off" one so the selector return to "off", but it was working, the valve was open, and the thermostat send the correct mode 53 mn after, itself, without interaction from domoticz.

I think the problem was from the thermostat itself (or they have a missed a zigbee request), but the working mode seem correct, it send "off" mode, but heat.

salopette commented 4 years ago

I had previously put it on AUTO over domoticz, but now it's off by itself, but only in domoticz. The thermostat still shows 21 °

2019-11-08 18:47:51.563 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 18:49:39.847 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:49:39', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:49:39.900 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 24, 'lastupdated': '2019-11-08T17:49:39', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:50:34.007 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 39, 'lastupdated': '2019-11-08T17:50:33', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:52:34.333 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 29, 'lastupdated': '2019-11-08T17:52:34', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 18:53:54.225 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'auto', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 19:02:41.892 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:02:41', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:09:43.104 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 19:09:43.122 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:09:43', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:22:45.521 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:22:45', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:29:46.258 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:29:46', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:29:46.311 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:29:46', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:42:48.866 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:42:48', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:45:00.782 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 35, 'lastupdated': '2019-11-08T18:45:00', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:47:01.349 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 23, 'lastupdated': '2019-11-08T18:47:01', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:49:49.477 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 23, 'lastupdated': '2019-11-08T18:49:49', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:49:49.530 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 23, 'lastupdated': '2019-11-08T18:49:49', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'}

salopette commented 4 years ago

I have now restarted the pluginn in domoticz and the value was switched to auto.

Is there something hanging somewhere?

Smanar commented 4 years ago

Lol, yep I think, but for me the bug is from the device

2019-11-08 18:53:54.225 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'auto', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'} 2019-11-08 19:02:41.892 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201', 'id': '85', 't': 'event', 'state': {'on': True, 'valve': 16, 'lastupdated': '2019-11-08T18:02:41', 'temperature': 2105}, 'r': 'sensors', 'e': 'changed'} 2019-11-08 19:09:43.104 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'}

It's the thermostat itself that send bad mode.

And this time, it's not you have missed a request, it's realy a bad request.

It s not a big problem I think, because all command are working, it s just the return that is bad.

I have a question on other device (or other moment) when you have

2019-11-08 19:09:43.104 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'mode': 'off', 'on': True, 'battery': 100, 'offset': 0}, 'id': '85', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:3b:6c-01-0201'}

you have mode = off and on = true or on = false ? If you have always on = false in same time than mode = off I can make a patch.

salopette commented 4 years ago

Here I've tried a few things with other thermostat. Door open - door close, temperature at 26 ° and 21 ° over domoticz. Has everything worked properly.

2019-11-09 06:33:55.814 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 33, 'lastupdated': '2019-11-09T05:33:55', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:37:44.120 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 33, 'lastupdated': '2019-11-09T05:37:44', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:42:14.394 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 33, 'lastupdated': '2019-11-09T05:42:14', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:43:56.493 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 33, 'lastupdated': '2019-11-09T05:43:56', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:44:14.540 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 53, 'lastupdated': '2019-11-09T05:44:14', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:46:14.635 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 41, 'lastupdated': '2019-11-09T05:46:14', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:48:56.844 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'locked': False, 'mode': 'auto', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 06:52:51.140 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 30, 'lastupdated': '2019-11-09T05:52:51', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:53:57.218 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 30, 'lastupdated': '2019-11-09T05:53:57', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:57:45.541 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 30, 'lastupdated': '2019-11-09T05:57:45', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:59:27.611 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'locked': False, 'mode': 'off', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 06:59:36.135 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': False, 'valve': 0, 'lastupdated': '2019-11-09T05:59:36', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 06:59:48.179 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 500, 'reachable': True, 'locked': False, 'mode': 'off', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 06:59:48.182 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': False, 'valve': 0, 'lastupdated': '2019-11-09T05:59:48', 'temperature': 2060}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 07:00:55.235 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': False, 'valve': 0, 'lastupdated': '2019-11-09T06:00:55', 'temperature': 1972}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 07:02:23.169 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'locked': False, 'mode': 'auto', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 07:02:27.291 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': False, 'valve': 0, 'lastupdated': '2019-11-09T06:02:27', 'temperature': 1972}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 07:02:33.411 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 81, 'lastupdated': '2019-11-09T06:02:33', 'temperature': 1972}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 07:02:57.457 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 81, 'lastupdated': '2019-11-09T06:02:57', 'temperature': 1849}, 'r': 'sensors', 'e': 'changed'} 2019-11-09 07:03:28.028 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2600, 'reachable': True, 'locked': False, 'mode': 'auto', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 07:03:42.071 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'locked': False, 'mode': 'auto', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'} 2019-11-09 07:04:38.055 Status: (deconz) Thermostat debug : {'uniqueid': '00:15:8d:00:01:92:38:83-01-0201', 'id': '48', 't': 'event', 'state': {'on': True, 'valve': 137, 'lastupdated': '2019-11-09T06:04:37', 'temperature': 1849}, 'r': 'sensors', 'e': 'changed'}

Smanar commented 4 years ago

2019-11-09 06:59:27.611 Status: (deconz) Thermostat debug : {'config': {'heatsetpoint': 2100, 'reachable': True, 'locked': False, 'mode': 'off', 'on': False, 'battery': 90, 'offset': 0}, 'id': '48', 't': 'event', 'e': 'changed', 'r': 'sensors', 'uniqueid': '00:15:8d:00:01:92:38:83-01-0201'}

Theses one works normally if mode = off then on = False.

There is a problem on this device, I have ask on deconz issue to find if you are alone.

But for you, want do you want, let the plugin as it, it seem working but return displayed are bad. Or I can make a patch to ignore mode = off if on = true. It will correct your display but It can produce strange reaction on other situation (for exemple if mode=off and on = true if temperature under 5°C)

salopette commented 4 years ago

you can try it! the under 5! the temperature will not drop! You can only set min. 5 ° and max. 30 ° on the thermostat

Smanar commented 4 years ago

https://github.com/Smanar/Domoticz-deCONZ/commit/036c1bafd3ac91102a96b0a3b6be929ed504c580#diff-bdcab2f88505f588ed66a949d4e6dc92

In this code, the plugin update the mode in domoticz ONLY if NOT mode = off and on= true. So if you are on auto, you will stay in auto, and if it' s a real "off"with on =false, the mode will be updated to "off"

salopette commented 4 years ago

Hi, somehow my thermostats do not work, except for one. And I do not know why it is. All are online but via domoticz i can only control one.

How can it command over curl to test what it does?

For Off, boost and car.

Smanar commented 4 years ago

curl -H 'Content-Type: application/json' -X PUT -d '{"mode": "off"}' http://192.168.178.93/api/7B77BF4B99/sensors/48/config

And you can use instead "auto" and "heat"

BTW, when you use a domoticz command, you haven't error message ? If you change the mode localy, you don't have return on domoticz (Websocket return) ?

I don't remember, you can use deconz GUI or you are using the headless version ?

salopette commented 4 years ago

Hi, I will probably move my thermostats to Zigbee2Mqtt because deconz is not really reliable with them.

They are already supported there. Can you tell me how to do that with on / off / auto? Or Stas who manages the plugin for domoticz?

https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin/issues/180

Smanar commented 4 years ago

Happy new year ^^.

I realy don't know how work zigbee2mqtt, but according to the documention https://www.zigbee2mqtt.io/devices/SPZB0001.html zigbee2mqtt can manage "System mode".

So it's realy at Stas to add code in domoticz plugin to use them. He can create the same device than me, but it's just 1 line of code, after that I don't know how to make it working with the zigbee2mqtt core. But lot of people use this device, I think he will take a look at it.

salopette commented 4 years ago

Danke! Here too a healthy and successful year!

I will wait for his answer! Maybe it works!?

salopette commented 4 years ago

could I try to add a few lines?

`import Domoticz import json from adapters.adapter_with_battery import AdapterWithBattery from devices.sensor.temperature import TemperatureSensor from devices.setpoint import SetPoint

class ThermostatAdapter(AdapterWithBattery):

def __init__(self, devices):
    super().__init__(devices)
    self.devices.append(TemperatureSensor(devices, 'temp', 'local_temperature',' (Temperature)'))
    self.devices.append(SetPoint(devices, 'spoint', 'current_heating_setpoint',' (Setpoint)'))

def handleCommand(self, alias, device, device_data, command, level, color):
    if command == 'Set Level':
        _topic = device_data['friendly_name'] + '/set'
        _msg = json.dumps({ 'current_heating_setpoint': level })
        return {
            'topic': _topic,
            'payload': _msg
        }`

https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin/blob/master/adapters/thermostat.py

Smanar commented 4 years ago

I think you need a new file. This one can handle only setpoint device