-
-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Thermostat PI Heating/Cooling Demand Channels #764
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Looks generally good with just a couple of small comment.
I'd like to get the reporting configuration implemented so it's one less thing to do in #743
@@ -380,6 +380,24 @@ | |||
</state> | |||
</channel-type> | |||
|
|||
<!-- Thermostat Heating Demand --> | |||
<channel-type id="thermostat_heatingdemand"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest to make this an advanced
channel (so please add advanced="true"
.
</channel-type> | ||
|
||
<!-- Thermostat Cooling Demand --> | ||
<channel-type id="thermostat_coolingdemand"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest to make this an advanced
channel (so please add advanced="true"
.
// Configure reporting | ||
ZclAttribute attribute = serverCluster.getAttribute(ZclThermostatCluster.ATTR_PIHEATINGDEMAND); | ||
CommandResult reportingResponse = attribute | ||
.setReporting(REPORTING_PERIOD_DEFAULT_MIN, REPORTING_PERIOD_DEFAULT_MAX, 1).get(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please can you add reporting configuration here as well. See one of the converters like the OnOff switch which supports this with the ZclReportingConfig
class.
ZclAttribute attribute = serverCluster.getAttribute(ZclThermostatCluster.ATTR_PICOOLINGDEMAND); | ||
CommandResult reportingResponse = attribute | ||
.setReporting(REPORTING_PERIOD_DEFAULT_MIN, REPORTING_PERIOD_DEFAULT_MAX, 1).get(); | ||
handleReportingResponse(reportingResponse, POLLING_PERIOD_DEFAULT, REPORTING_PERIOD_DEFAULT_MAX); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please can you add reporting configuration here as well. See one of the converters like the OnOff switch which supports this with the ZclReportingConfig
class. and the updateConfiguration
method
67b3e04
to
e7e7939
Compare
There seem to be a few surprises with the reporting config, trying to debug. |
This adds the "PI Heating Demand" and "PI Cooling Demand" standard thermostat channels. These channels are represented as a percentage (Dimensionless unit), and indicate whether there is a current heating or cooling call from the thermostat. They are fully supported by auto-discovery for the generic device type. Signed-off-by: Lucas Christian <[email protected]>
e7e7939
to
aa7a092
Compare
Disregard, it seems my zigbee stick got into some kind of loop and needed to be power cycled. Confirmed the reporting configuration is working as expected. Squashed commits to prepare for merge. |
Thanks. Looks good. |
This adds the "PI Heating Demand" and "PI Cooling Demand" standard thermostat channels. These channels are represented as a percentage (Dimensionless unit), and indicate whether there is a current heating or cooling call from the thermostat. They are fully supported by auto-discovery for the generic device type. Signed-off-by: Lucas Christian <[email protected]>
This adds the "PI Heating Demand" and "PI Cooling Demand" standard thermostat channels. These channels are represented as a percentage (Dimensionless unit), and indicate whether there is a current heating or cooling call from the thermostat. They are fully supported by auto-discovery for the generic device type.
My electric line voltage thermostats generally report 0% for no heat and 100% for full heating power. They also report values in between when they are limiting the current to the heater. I am not aware of how low voltage thermostats handle this spec, e.g. do they only report 0 and 100 or do they come up with some number in between even when they only electrically support "on" and "off".
I used
Number:Dimensionless
as this seems to be the generally accepted way to represent a percentage under the units of measurement system. I see some ongoing debate in #597 wrt. the relative humidity channel. If desired, I can submit a separate PR to update the humidity channel to the same type.