node-zwave-js
node-zwave-js copied to clipboard
Can't turn OFF Floor Thermostat
Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
YES, BUT a Home Assistant developer has told me to come here
Is your problem within ZWaveJS2MQTT?
NO, my problem is NOT within ZWaveJS2MQTT
Checklist
-
[X] I have checked the troubleshooting section and my problem is not described there.
-
[X] I have read the changelog and my problem was not mentioned there.
Describe the bug
I updated zwave module from deprecated to zwave JS and now can't OFF my floors... no OFF button in card after migration:
Before migration config:
<Node id="4" name="" location="" basic="4" generic="8" specific="6" type="General Thermostat V2" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
<Manufacturer id="115" name="Z-Wave.Me">
<Product type="24" id="1" name="Floor Thermostat" />
</Manufacturer>
<CommandClasses>
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" innif="true" mapping="64">
<Instance index="1" />
</CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="4" innif="true">
<Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="10" min="0" max="0" value="25.9" />
<Value type="decimal" genre="user" instance="1" index="9" label="Barometric Pressure" units="inHg" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="25.1" />
<Value type="decimal" genre="user" instance="1" index="33" label="Time" units="s" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="844.3" />
</CommandClass>
<CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="2" innif="true">
<Instance index="1" />
<Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="10" min="0" max="0" vindex="0" size="1">
<Item label="Off" value="0" />
<Item label="Heat" value="1" />
<Item label="Furnace" value="7" />
<Item label="Heat Econ" value="11" />
</Value>
<SupportedModes>
<Mode index="0" label="Off" />
<Mode index="1" label="Heat" />
<Mode index="7" label="Furnace" />
<Mode index="11" label="Heat Econ" />
</SupportedModes>
</CommandClass>
<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="2" request_flags="2" innif="true" base="1" typeInterpretation="B">
<Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="30.0" />
<Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
<Value type="decimal" genre="user" instance="1" index="4" label="Unused 4" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
<Value type="decimal" genre="user" instance="1" index="7" label="Furnace" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="35.0" />
<Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
<Value type="decimal" genre="user" instance="1" index="11" label="Heat Econ" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="35.0" />
</CommandClass>
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="117" name="COMMAND_CLASS_PROTECTION" version="1" request_flags="4" innif="true">
<Instance index="1" />
<Value type="list" genre="system" instance="1" index="0" label="Protection" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Item label="Unprotected" value="0" />
<Item label="Protection by Sequence" value="1" />
<Item label="No Operation Possible" value="2" />
</Value>
</CommandClass>
<CommandClass id="119" name="COMMAND_CLASS_NODE_NAMING" version="1" request_flags="4" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
<Instance index="1" />
<Associations num_groups="1">
<Group index="1" max_associations="10" label="Group 1" auto="true">
<Node id="1" />
<Node id="4" />
</Group>
</Associations>
</CommandClass>
<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
<Instance index="1" />
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3.42" />
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="1.01" />
</CommandClass>
</CommandClasses>
</Node>
How fix? I think here https://devices.zwave-js.io/?jumpTo=0x0115:0x0024:0x0001:0.0# is an error, but I don't know where... Please, help!
Device information
Manufacturer: Z-Wave.Me 0x0115 Model name: Z-Wave.Me / Floor Thermostat 0x0024:0x0001
How are you using node-zwave-js
?
- [ ]
zwavejs2mqtt
Docker image (latest) - [ ]
zwavejs2mqtt
Docker image (dev) - [ ]
zwavejs2mqtt
Docker manually built (please specify branches) - [ ]
ioBroker.zwave2
adapter (please specify version) - [X]
HomeAssistant zwave_js
integration (please specify version) - [ ]
pkg
- [ ]
node-red-contrib-zwave-js
(please specify version, double click node to find out) - [ ] Manually built from GitHub (please specify branch)
- [ ] Other (please describe)
Which branches or versions?
Driver Version: 8.11.9 Server Version: 1.15.0
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Yes (please describe)
If yes, where did it work?
In deprecated zwave module in HA with config in zwcfg_0x0161de7c.xml file (code in post).
Attach Driver Logfile
👋 Hey @allmoney!
It looks like you attached a logfile, but its filename doesn't look like it a driver log that came from Z-Wave JS. Please make sure you upload the correct one.
no OFF button in card after migration
This sounds like an issue in the HomeAssistant integration, so I'd send you to https://github.com/home-assistant/core but since you checked this option:
YES, BUT a Home Assistant developer has told me to come here
... can you give some context for this? Preliminary investigation that identifies the node-zwave-js
driver as the source of the problem?
This issue has not seen any recent activity and was marked as "stale 💤". Closing for housekeeping purposes... 🧹
Feel free to reopen if the issue persists.
I asked about this problem at forum: https://community.home-assistant.io/t/z-wave-me-zme-ft-no-off-button-after-migration/410376 and at git: https://github.com/home-assistant/frontend/issues/12312
Nobody helped :( What to do?
I remember that in old deprecated zwave I had same problem and I added these 2 lines to zwave config file to fix problem:
But how to do it in new Z-Wave JS module..?
Please make a driver log, loglevel debug
or silly
and attach it here as a file. While the logfile is being created, re-interview the thermostat and wait for that to finish.
Attached zwave_js.log
Ok that confirms what you wrote in regards to OZW. The thermostat incorrectly reports the supported modes and omits "Off" from the list:
2022-05-09T12:59:14.905Z DRIVER « [Node 006] [REQ] [ApplicationCommand]
└─[ThermostatModeCCSupportedReport]
supported modes:
· Heat
· Furnace
· Energy heat
Unlike OZW, Z-Wave JS relies mostly on the information reported by the devices and does not define everything in configuration files. We currently do not have a simple way to overwrite this incorrect information.
You should be able to get around this by using the Zwavejs2mqtt Addon. Under the "Advanced" button in the top right corner, you'll find "Driver function", click that and enter the following code:
await driver.controller.nodes.get(6).commandClasses["Thermostat Mode"].set(0)
after that, the "Off" mode should show up for further use. I'm not sure though if that carries over if you switch addons again.
@AlCalzone thanks for your help! Will try and write here fixed or not. But you wrote many months ago - maybe already is simpler way to overwrite this incorrect information?
@allmoney There is now: https://github.com/zwave-js/node-zwave-js/pull/5997 This will be included in the next release