Closed piotrmaslanka closed 9 years ago
z-way-server log reports
[2015-02-20 11:33:28.534] [W] [zway] Node 3:0 CC Protection: Unsupported rfState in set command - ignored
It very much looks like device not supporting rfState prevents me from writing it's local state. It shouldn't be so.
Please paste more log about Protection CC. On Z-Way load or interview you will see devices[X].instances[0].commandClasses[117]
Please show us these lines
/ZWaveAPI/Run/devices[3].instances[0].commandClasses[117] yields
{"name":"Protection","data":{"invalidateTime":1424344021,"updateTime":1424344020,"type":"empty","value":null,"supported":{"invalidateTime":1424344021,"updateTime":1424344020,"type":"bool","value":true},"version":{"invalidateTime":1424344021,"updateTime":1424344020,"type":"int","value":2},"security":{"invalidateTime":1424344019,"updateTime":1424344020,"type":"bool","value":false},"interviewDone":{"invalidateTime":1424344019,"updateTime":1424344022,"type":"bool","value":true},"interviewCounter":{"invalidateTime":1424344019,"updateTime":1424344021,"type":"int","value":9},"state":{"invalidateTime":1424344021,"updateTime":1424344022,"type":"int","value":0},"rfState":{"invalidateTime":1424344021,"updateTime":1424344022,"type":"int","value":0},"exclusive":{"invalidateTime":1424344021,"updateTime":1424344020,"type":"empty","value":null},"timeout":{"invalidateTime":1424344021,"updateTime":1424344020,"type":"empty","value":null},"stateCap":{"invalidateTime":1424344020,"updateTime":1424344021,"type":"int","value":5},"rfStateCap":{"invalidateTime":1424344020,"updateTime":1424344021,"type":"int","value":0},"exclusiveCap":{"invalidateTime":1424344020,"updateTime":1424344021,"type":"bool","value":false},"timeoutCap":{"invalidateTime":1424344020,"updateTime":1424344021,"type":"bool","value":false}},"id":117}
rfStateCap is 0 for some reason, and it means none of RF protection states (not even 0) are supported. Could actually be a bug inside device, or some invalid data. Try re-interviewing the command class.
Checked logs, indeed device sends us:
[2015-02-23 07:50:52.601] [D] [zway] SETDATA devices.17.instances.0.commandClasses.117.data.exclusiveCap = False
[2015-02-23 07:50:52.602] [D] [zway] SETDATA devices.17.instances.0.commandClasses.117.data.timeoutCap = False
[2015-02-23 07:50:52.602] [D] [zway] SETDATA devices.17.instances.0.commandClasses.117.data.stateCap = 5 (0x00000005)
[2015-02-23 07:50:52.602] [D] [zway] SETDATA devices.17.instances.0.commandClasses.117.data.rfStateCap = 0 (0x00000000)
But as I understand, it is valid to have stateCap or rfStateCap equal to 0. This means that no protection of that type is supported, means we should ignore this type in Set command. Isn't it?
Both Danfoss 014G0002 and 014G0003 report same rfStateCap. I think that in this case RF state should be ignored in Set command.
Okay, sounds reasonable. Fixed, will be included in rc22.
Trying to set Protection(Local=2, RF=0) on a Danfoss living thermostat ends with HTTP 500 from the ZWaveAPI.
Following API call is generated (this is generated even by the Expert UI): /ZWaveAPI/Run/devices[3].instances[0].commandClasses[117].Set(2,0)
Which is reponded to by the server with: HTTP 500 Error: Invalid argument
Set commands of (0,0), (0) and (2) result in the same error.
Problem was already reported to razberry@z-wave.me.