Got it - I deleted the thing and readded it, and saw the new channel called ‘Thermostat state’. But it is linked to switch_binary, which apparently is the functionality for turning the thermostat entirely off, or on (which also can be accomplished with the channel ‘Thermostat Mode’).
It is the message sent to association group 2 I would like to capture in a channel, which tells me whether there is power being drawn at the moment. Maybe it is difficult to get into a channel?
To be clear, the binding doesn’t know anything about association groups - only the commands it receives. When the device sends a command, there is no way to know why it sent the command - eg which association group might have caused it. Association groups are what the device uses to provide functionality only…
So, with that said, we did add a channel called “Thermostat State” a few months back - if this doesn’t work, then I would need to see logs to see what the binding is actually sending as this channel was linked to the basic command class as requested in the original request.
I am not able to state how it should be accomplished in the Z-wave database (or if it is even possible). But my log-file-parser looks for DEBUG statements like this:
2018-03-17 00:00:47.060 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - NODE 5: Basic Set sent to the controller will be processed as Basic Report
2018-03-17 00:00:47.067 [DEBUG] [.commandclass.ZWaveBasicCommandClass] - NODE 5: Basic report, value = 0x00
where the “Basic Set” is the crucial point, and the value 0x00 is then picked up and interpreted as the thermostat being turned off.
From this it sounds like the thermostat reports when it is turned OFF (stops heating), but not when it is turned ON (heating starts)?
I am interested in this because I want to know the energy consumption on my non-energy-reporting thermostats. One solution might be to set up a recurring check that uses what we know (temperature, setpoint, hysteris), something along the lines of (pseudo code):
var powerConsumptionDiningRoom = 0.60 * 50 // watts * square meters for floor heating
var isOn = (heating_setpoint-temperature+hysteresis)>0
var currentConsumption = isOn*powerConsumptionDiningRoom
But I’m not sure if I want to have a lot of recurring rules running very often…
The thermostat is reporting both ON and OFF correctly (with Basic Set), the log excerpt is just an example.
In my case half of my thermostats do not have a floor sensor, and then there is no readout of measured temperature from the thermostat (it measures air internally, but refuses to send it over Z-wave as it is affected by internal heating inside the unit), and such a recurring check would not work at all. For the others, the check could work, but most likely with quite a bit of uncertainty.
As you can see, the channel is configured to use the BASIC command class, so it should work as far as I can see. Please provide a log showing this data being received so I can see what is happening.
I think if you are doing a complete upgrade, then it should also be updated, but you might need to clear the cache to ensure that old bindings are removed.
No - they will still be there. However, if the thing definition changes, then you will need to delete the thing, and add it back - otherwise the channels will be the same.
Alright, deleting cache, deleting thing, adding thing didn’t work. But that’s probably because it is a TF016 Multireg thermostat and not a HeatIt one…
So that’s all on me. However, I believe it is (pretty much) the same thermostat as the heatit-one. Which might mean that the Multireg-thing can be ugraded in the same way as the HeatIt one. Is that correct?
There are two versions of this device - my guess is you have the one that has not been configured with this channel? Can you advise the version please?