node-zwave-js: Second Thermostat Setpoint not being found for Intermatic PE653 z-wave pool controller
Is your problem within Home Assistant (Core or Z-Wave JS Integration)? NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)? NO, my problem is NOT within Z-Wave JS UI
Checklist I have checked the troubleshooting section and my problem is not described there.
I have read the changelog and my problem was not mentioned there.
Describe the bug
I have an Intermatic PE653 pool controller. Product Manufacturer: 0x0005, Product Identifiers: 0x5045:0x0653
I had it included on my ISY944i and was able to access both Thermostat setpoints: one for the Pool which was Type Heating (Type 1) and one for the spa which was Type Furnace (Type 7). When I included the device in my Home Assistant zwave-js, it only finds the 1 setpoint for Heating. Attached is the log created by doing a re-interview of the device (Device ID 19). Inclusion starts at 1:45:36 Zulu in the log. It seem to not make any reference to the other setpoint. Any ideas? My PE653 is running firmware v39.
From Manufacturer:
The THERMOSTAT_SETPOINT command Class is fully supported as documented in the Z-Wave Command Class Specification for support setpoint types HEATING # 1 (setpoint type 1) and FURNACE (setpoint type #7). The remaining setpoint types are unsupported. The HEATING #1 setpoint is used for setting the POOL target temperature and the FURNACE setpoint is used for setting the SPA target temperature.
Also, if it helps, here is a SmartThings device handler that works with both setpoints:
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 46 (21 by maintainers)
That would be @philh30 in https://github.com/zwave-js/node-zwave-js/pull/5822 Sorry for the tag, but credit where credit is due 😃
FYI, there’s already an issue for this, https://github.com/zwave-js/node-zwave-js/issues/4588, along with a POC PR to allow for overriding the auto-detected setpoints.
@AlCalzone why don’t the interview logs here show the setpoint interpretation selection since the CC is v1? I see the logs on my v2 (
"Thermostat Setpoint bitmap interpretation is unknown, assuming B for now"
). Not that it would help here, just curious.@bluemantwo You can try manually programming setpoint 7 with a HA Dev Tools Service call:
In my testing, Z-Wave JS does not care whether the setpoints are supported or not, it will just do as you say. You will not be able to view the setpoint values in HA.
As an aside, seems like your ZUI’s device DB is corrupted. Might want to get the fixed somehow. No idea how to do that if this is the HAOS add-on.
zwave_js-3a152d2a5cd6e4dafe5146f53abf5151-Pool-dea02e849740113a6c5c426a9b4d5eb1.json (1).txt
I really appreciate the work of whoever created all the parameter values for the PE653. There were several that I never knew existed, and a couple I had guessed wrong on. HUGE thanks to whoever did all the research and detective work to get those parameters. My experience has been that Intermatic has been terrible at documenting their pool controller in the past.
@bluemantwo did you manage to improve the connectivity? Problems 1 and 3 above are fixed, so we should be able to continue.
The latest Z-Wave JS UI lets you configure priority (return) routes which are always attempted first.
Hmm I think this is a combination of a handful of semi-related issues:
I suspect these problems are also the reason why the compat flag does not get applied. We shouldn’t actually see the thermostat setpoint query go out, but it does.
You’ll need to look into 2., I’ll have to fix 1. and 3. before we can retry.
I will do. Thank you so much for the exceptional work you are doing for the community.
That API is specifically built to support all possible time related CCs a device may use.
maybe this api is simpler? https://zwave-js.github.io/node-zwave-js/#/api/node?id=setdateandtime
ClockCC.get()
doesn’t have any parameters, not sure if they are just ignored or if that’s causing an error. I can see the interview does a get and succeeds. It’s also using endpoint 0, not 1. Then the service should be:You also won’t get any kind of response in HA, you’ll have to look at the driver logs to see the result. Doesn’t seem useful then, so just updating the clock on an interval sounds like the right approach.
Probably because the endpoints are set up differently for Multi Channel CC v1 and that information is lost in translation.