Re: [mh] mqtt_discovery
Brian M <[email protected]> Sun, 15 Feb 2026 15:16:22 -0800
| Newsgroups | gmane.comp.misc.misterhouse.user |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============4037549547356766613==
Content-Type: multipart/alternative;
boundary="------------TgbU5YxWWBqHdO7VImnBp3Cr"
Content-Language: en-US
This is a multi-part message in MIME format.
--------------TgbU5YxWWBqHdO7VImnBp3Cr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Here's another one that might make more sense to you than to me. I'm
using a Zooz ZSE41 door sensor. mqtt_discovery.pm produced the following
code to define it:
MQTT_DISCOVEREDITEM, Downstairs_Hall_Closet_Sensor, mqtt_discovery2,
app/zwave-js-ui/config/switch/Downstairs_Hall-Closet_Sensor/config_switch_1/config,
{"payload_off":"0","payload_on":"1","value_template":"{{
value_json.value
}}","command_topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/configuration/endpoint_0/LED_Indicator/set","enabled_by_default":false,"entity_category":"config","state_topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/configuration/endpoint_0/LED_Indicator","availability":[{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/status","value_template":"{{'true'
if value_json.value else
'false'}}"},{"topic":"app/zwave-js-ui/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status","value_template":"{{'online'
if value_json.value else
'offline'}}"},{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/driver/status"}],"availability_mode":"all","device":{"identifiers":["zwavejs2mqtt_0xc92945ec_node19"],"manufacturer":"Zooz","model":"Open/Close
XS Sensor
(ZSE41)","name":"Downstairs_Hall-Closet_Sensor","sw_version":"2.30.0"},"name":"Downstairs_Hall_Closet_Sensor","unique_id":"zwavejs2mqtt_0xc92945ec_19-112-0-1"}
Here's a door open/door close sequence.
# Initial state: door closed
# Opening door.
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive'
M:'{"time":1771196567992,"value":1771196567992}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196567992,"value":1771196567992}
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType'
M:'{"time":1771196567993,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType
--
{"time":1771196567993,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel'
M:'{"time":1771196567994,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel
--
{"time":1771196567994,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple'
M:'{"time":1771196567995,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple
--
{"time":1771196567995,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state'
M:'{"time":1771196567996,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state
--
{"time":1771196567996,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:02:48 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive'
M:'{"time":1771196568241,"value":1771196568016}'
2026-02-15 15:02:48 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196568241,"value":1771196568016}
# Closing door.
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive'
M:'{"time":1771196590395,"value":1771196590395}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196590395,"value":1771196590395}
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType'
M:'{"time":1771196590396,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType
--
{"time":1771196590396,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel'
M:'{"time":1771196590397,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel
--
{"time":1771196590397,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple'
M:'{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple
--
{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state'
M:'{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state
--
{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}
2026-02-15 15:03:10 [MQTT D1]: mqttserver Rcv'd: R:0
T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive'
M:'{"time":1771196590646,"value":1771196590419}'
2026-02-15 15:03:10 [MQTT D2]: UNHANDLED MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196590646,"value":1771196590419}
The fields that indicate the door status don't appear in the discovery
data that I can see at all. The MH object always shows the state to be
"on", regardless of the actual door open/closed status.
-B.
On 2/14/26 11:17, Brian M wrote:
> Thanks, Dave. That would be great.
>
> -B.
>
> On 2/14/26 10:42, Dave Neudoerffer wrote:
>> Thanx for the trace Brian. The discovery topics and templates being
>> used are slightly different from anything I have seen before. It
>> shouldn't be too hard to enhance the MH discovery to handle this.
>> The Jinja templates are a bit of a nuisance, but I will fudge
>> something... It will take me a few days to get to this...
>>
>> Dave
>>
>> On Fri, Feb 13, 2026 at 7:01 PM Brian M
>> <[email protected]> wrote:
>>
>> Thanks, Dave. Mostly I'm in good shape, but I've got some edge
>> cases.
>>
>> My primary problem at the moment seems to be that I can't set the
>> brightness for my ZWave dimmer switches via ZWave-JS-UI. The
>> correct MQTT string in one instance is:
>>
>> app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set
>>
>> Writing "3" to that MQTT topic (via MQTT-Explorer) causes the
>> light to come on at 3%, as expected. However, in MH setting it to
>> 3, '3', or '3%' results in the light being turned on 100%.
>>
>> I can't tell if this is a problem in with the discovery itself,
>> or the implementation of of setting the MQTT_DISCOVEREDITEM.
>> Here are some details:
>>
>> The MQTT discovered_item entry:
>>
>> MQTT_DISCOVEREDITEM, Upstairs_Landing_Stairs,
>> mqtt_discovery2,
>> app/zwave-js-ui/config/light/Upstairs_Landing-Stairs/dimmer/config,
>> {"command_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set","state_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue","state_value_template":"{{
>> \"OFF\" if value_json.value == 0 else \"ON\"
>> }}","brightness_command_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set","brightness_scale":99,"brightness_state_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue","brightness_value_template":"{{
>> value_json.value
>> }}","on_command_type":"brightness","supported_color_modes":["brightness"],"availability":[{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/status","value_template":"{{'true'
>> if value_json.value else
>> 'false'}}"},{"topic":"app/zwave-js-ui/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status","value_template":"{{'online'
>> if value_json.value else
>> 'offline'}}"},{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/driver/status"}],"availability_mode":"all","device":{"identifiers":["zwavejs2mqtt_0xc92945ec_node259"],"manufacturer":"Zooz","model":"Dimmer
>> (ZEN72)","name":"Upstairs_Landing-Stairs","sw_version":"4.0.1"},"name":"Upstairs_Landing_Stairs","unique_id":"zwavejs2mqtt_0xc92945ec_259-38-0-currentValue"}
>>
>> Relevant log messages (MQTT debug level 2):
>>
>> 2026-02-13 15:54:59 [MQTT D2]: Pending
>> $Upstairs_Landing_Stairs-->set( 3%, , ) cleared
>> 2026-02-13 15:54:59 [MQTT D1]: unable to process template
>> {{"OFF"ifvalue_json.value==0else"ON"}}
>> 2026-02-13 15:54:59 [MQTT D2]: fishing template value out of
>> json with '$value = $value_json->{value}'
>> 2026-02-13 15:54:59 [MQTT D1]: remote item MQTT to MH
>> Upstairs_Landing_Stairs set(95%, '')
>> 2026-02-13 15:54:59 [MQTT D2]: remote item
>> $Upstairs_Landing_Stairs received message R:0
>> T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue
>> M:{"time":1771026899727,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}
>> 2026-02-13 15:54:59 [MQTT D1]: unable to process template
>> {{"OFF"ifvalue_json.value==0else"ON"}}
>> 2026-02-13 15:54:59 [MQTT D2]: fishing template value out of
>> json with '$value = $value_json->{value}'
>> 2026-02-13 15:54:59 [MQTT D1]: remote item MQTT to MH
>> Upstairs_Landing_Stairs set(95%, 'mqtt')
>> 2026-02-13 15:54:59 [MQTT D1]: mqttserver Rcv'd: R:0
>> T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/duration'
>> M:'{"time":1771026899728,"value":{"value":0,"unit":"seconds"},"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'
>> 2026-02-13 15:54:59 [MQTT D2]: UNHANDLED MESSAGE
>> app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/duration
>> --
>> {"time":1771026899728,"value":{"value":0,"unit":"seconds"},"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}
>> 2026-02-13 15:54:59 [MQTT D1]: mqttserver Rcv'd: R:0
>> T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue'
>> M:'{"time":1771026899728,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'
>> 2026-02-13 15:54:59 [MQTT D2]: UNHANDLED MESSAGE
>> app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue
>> --
>> {"time":1771026899728,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}
>> 2026-02-13 15:54:59 [MQTT D1]: mqttserver Rcv'd: R:0
>> T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue'
>> M:'{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'
>> 2026-02-13 15:54:59 [MQTT D2]: remote item
>> $Upstairs_Landing_Stairs received message R:0
>> T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue
>> M:{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}
>> 2026-02-13 15:54:59 [MQTT D1]: unable to process template
>> {{"OFF"ifvalue_json.value==0else"ON"}}
>> 2026-02-13 15:54:59 [MQTT D2]: fishing template value out of
>> json with '$value = $value_json->{value}'
>> 2026-02-13 15:54:59 [MQTT D1]: remote item MQTT to MH
>> Upstairs_Landing_Stairs set(95%, 'mqtt')
>> 2026-02-13 15:54:59 [MQTT D2]: remote item
>> $Upstairs_Landing_Stairs received message R:0
>> T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue
>> M:{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}
>> 2026-02-13 15:54:59 [MQTT D1]: unable to process template
>> {{"OFF"ifvalue_json.value==0else"ON"}}
>> 2026-02-13 15:54:59 [MQTT D2]: fishing template value out of
>> json with '$value = $value_json->{value}'
>> 2026-02-13 15:54:59 [MQTT D1]: remote item MQTT to MH
>> Upstairs_Landing_Stairs set(95%, 'mqtt')
>>
>>
>> Clearly it's not happy, but I haven't been able to chase down the
>> root cause. BTW, the "95%" mentioned in the logs was the switch's
>> existing brightness level before I tried to change it.
>>
>> Hopefully, this is clearer to you than to me.
>>
>> -B.
>>
>>
>>
>>
>> On 2/13/26 15:08, Dave Neudoerffer wrote:
>>> You are correct Brian. HA_Item is about mirroring home assistant
>>> entities. Howard uses HA to host most of his devices and MH for
>>> automations using HA_Items. Without a HA service, HA_Item makes
>>> no sense.
>>>
>>> In implementing mqtt_items, I had a few different sources of
>>> mqtt devices, but not a huge variety. No did not have any
>>> zwave2mqtt stuff. I have used the zigbee2mqtt stuff. I am
>>> actually in the process of enhancing the MH discovery stuff to
>>> handle the new HA device discovery methodology. If there is
>>> something I can help with, let me know.
>>>
>>> Dave
>>
>
--------------TgbU5YxWWBqHdO7VImnBp3Cr
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Here's another one that might make more
sense to you than to me. I'm using a Zooz ZSE41 door sensor.
mqtt_discovery.pm produced the following code to define it:</div>
<blockquote>
<div class="moz-cite-prefix"><font face="monospace">MQTT_DISCOVEREDITEM,
Downstairs_Hall_Closet_Sensor, mqtt_discovery2,
app/zwave-js-ui/config/switch/Downstairs_Hall-Closet_Sensor/config_switch_1/config,
{"payload_off":"0","payload_on":"1","value_template":"{{
value_json.value
}}","command_topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/configuration/endpoint_0/LED_Indicator/set","enabled_by_default":false,"entity_category":"config","state_topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/configuration/endpoint_0/LED_Indicator","availability":[{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/status","value_template":"{{'true'
if value_json.value else
'false'}}"},{"topic":"app/zwave-js-ui/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status","value_template":"{{'online'
if value_json.value else
'offline'}}"},{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/driver/status"}],"availability_mode":"all","device":{"identifiers":["zwavejs2mqtt_0xc92945ec_node19"],"manufacturer":"Zooz","model":"Open/Close
XS Sensor
(ZSE41)","name":"Downstairs_Hall-Closet_Sensor","sw_version":"2.30.0"},"name":"Downstairs_Hall_Closet_Sensor","unique_id":"zwavejs2mqtt_0xc92945ec_19-112-0-1"}<br>
</font></div>
</blockquote>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Here's a door open/door close
sequence. </div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">
<blockquote><font face="monospace"># Initial state: door closed</font><br>
<br>
<font face="monospace"># Opening door.</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive</a>'
M:'{"time":1771196567992,"value":1771196567992}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196567992,"value":1771196567992}</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType</a>'
M:'{"time":1771196567993,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType
--
{"time":1771196567993,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel</a>'
M:'{"time":1771196567994,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel
--
{"time":1771196567994,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple</a>'
M:'{"time":1771196567995,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple
--
{"time":1771196567995,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state</a>'
M:'{"time":1771196567996,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state
--
{"time":1771196567996,"value":22,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive</a>'
M:'{"time":1771196568241,"value":1771196568016}'</font><br>
<font face="monospace">2026-02-15 15:02:48 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196568241,"value":1771196568016}</font><br>
<br>
<font face="monospace"># Closing door.</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive</a>'
M:'{"time":1771196590395,"value":1771196590395}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196590395,"value":1771196590395}</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType</a>'
M:'{"time":1771196590396,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmType
--
{"time":1771196590396,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel</a>'
M:'{"time":1771196590397,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/alarmLevel
--
{"time":1771196590397,"value":0,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple</a>'
M:'{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state_simple
--
{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state</a>'
M:'{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state
--
{"time":1771196590398,"value":23,"nodeName":"Closet_Sensor","nodeLocation":"Downstairs_Hall"}</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D1]: mqttserver
Rcv'd: <a class="moz-txt-link-freetext" href="R:0">R:0</a>
<a class="moz-txt-link-freetext" href="T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive">T:'app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive</a>'
M:'{"time":1771196590646,"value":1771196590419}'</font><br>
<font face="monospace">2026-02-15 15:03:10 [MQTT D2]: UNHANDLED
MESSAGE
app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/lastActive --
{"time":1771196590646,"value":1771196590419}</font><br>
</blockquote>
The fields that indicate the door status don't appear in the
discovery data that I can see at all. The MH object always shows
the state to be "on", regardless of the actual door open/closed
status. </div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"> -B.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 2/14/26 11:17, Brian M wrote:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">Thanks, Dave. That would be great.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"> -B.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 2/14/26 10:42, Dave Neudoerffer
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAOFx8LNRAjgXOCL_V3z_k69w8GfmYN5kiuzAs-A=22L+2Acifw@mail.gmail.com">
<meta http-equiv="content-type"
content="text/html; charset=UTF-8">
<div dir="ltr">Thanx for the trace Brian. The discovery topics
and templates being used are slightly different from anything
I have seen before. It shouldn't be too hard to enhance the
MH discovery to handle this. The Jinja templates are a bit of
a nuisance, but I will fudge something... It will take me a
few days to get to this...
<div><br>
</div>
<div>Dave</div>
</div>
<br>
<div class="gmail_quote gmail_quote_container">
<div dir="ltr" class="gmail_attr">On Fri, Feb 13, 2026 at
7:01 PM Brian M <<a
href="mailto:[email protected]"
moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Thanks, Dave. Mostly I'm in good shape, but I've got
some edge cases. </p>
<p>My primary problem at the moment seems to be that I
can't set the brightness for my ZWave dimmer switches
via ZWave-JS-UI. The correct MQTT string in one instance
is:</p>
<p>
app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set</p>
<p>Writing "3" to that MQTT topic (via MQTT-Explorer)
causes the light to come on at 3%, as expected. However,
in MH setting it to 3, '3', or '3%' results in the light
being turned on 100%.</p>
<p>I can't tell if this is a problem in with the discovery
itself, or the implementation of of setting the
MQTT_DISCOVEREDITEM. Here are some details:</p>
<p>The MQTT discovered_item entry:</p>
<blockquote>
<p><font face="monospace">MQTT_DISCOVEREDITEM,
Upstairs_Landing_Stairs, mqtt_discovery2,
app/zwave-js-ui/config/light/Upstairs_Landing-Stairs/dimmer/config,
{"command_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set","state_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue","state_value_template":"{{
\"OFF\" if value_json.value == 0 else \"ON\"
}}","brightness_command_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue/set","brightness_scale":99,"brightness_state_topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue","brightness_value_template":"{{
value_json.value
}}","on_command_type":"brightness","supported_color_modes":["brightness"],"availability":[{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/Upstairs_Landing/Stairs/status","value_template":"{{'true'
if value_json.value else
'false'}}"},{"topic":"app/zwave-js-ui/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status","value_template":"{{'online'
if value_json.value else
'offline'}}"},{"payload_available":"true","payload_not_available":"false","topic":"app/zwave-js-ui/driver/status"}],"availability_mode":"all","device":{"identifiers":["zwavejs2mqtt_0xc92945ec_node259"],"manufacturer":"Zooz","model":"Dimmer
(ZEN72)","name":"Upstairs_Landing-Stairs","sw_version":"4.0.1"},"name":"Upstairs_Landing_Stairs","unique_id":"zwavejs2mqtt_0xc92945ec_259-38-0-currentValue"}</font></p>
</blockquote>
<p>Relevant log messages (MQTT debug level 2):</p>
<blockquote>
<p><font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
Pending $Upstairs_Landing_Stairs-->set( 3%, , )
cleared</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
unable to process template
{{"OFF"ifvalue_json.value==0else"ON"}}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
fishing template value out of json with '$value =
$value_json->{value}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
remote item MQTT to MH Upstairs_Landing_Stairs
set(95%, '')</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
remote item $Upstairs_Landing_Stairs received
message <a moz-do-not-send="true">R:0</a> <a
moz-do-not-send="true">T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue</a>
M:{"time":1771026899727,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
unable to process template
{{"OFF"ifvalue_json.value==0else"ON"}}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
fishing template value out of json with '$value =
$value_json->{value}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
remote item MQTT to MH Upstairs_Landing_Stairs
set(95%, 'mqtt')</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
mqttserver Rcv'd: <a moz-do-not-send="true">R:0</a>
<a moz-do-not-send="true">T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/duration</a>'
M:'{"time":1771026899728,"value":{"value":0,"unit":"seconds"},"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
UNHANDLED MESSAGE
app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/duration
--
{"time":1771026899728,"value":{"value":0,"unit":"seconds"},"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
mqttserver Rcv'd: <a moz-do-not-send="true">R:0</a>
<a moz-do-not-send="true">T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue</a>'
M:'{"time":1771026899728,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
UNHANDLED MESSAGE
app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/targetValue
--
{"time":1771026899728,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
mqttserver Rcv'd: <a moz-do-not-send="true">R:0</a>
<a moz-do-not-send="true">T:'app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue</a>'
M:'{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
remote item $Upstairs_Landing_Stairs received
message <a moz-do-not-send="true">R:0</a> <a
moz-do-not-send="true">T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue</a>
M:{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
unable to process template
{{"OFF"ifvalue_json.value==0else"ON"}}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
fishing template value out of json with '$value =
$value_json->{value}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
remote item MQTT to MH Upstairs_Landing_Stairs
set(95%, 'mqtt')</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
remote item $Upstairs_Landing_Stairs received
message <a moz-do-not-send="true">R:0</a> <a
moz-do-not-send="true">T:app/zwave-js-ui/Upstairs_Landing/Stairs/switch_multilevel/endpoint_0/currentValue</a>
M:{"time":1771026899858,"value":95,"nodeName":"Stairs","nodeLocation":"Upstairs_Landing"}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
unable to process template
{{"OFF"ifvalue_json.value==0else"ON"}}</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D2]:
fishing template value out of json with '$value =
$value_json->{value}'</font><br>
<font face="monospace">2026-02-13 15:54:59 [MQTT D1]:
remote item MQTT to MH Upstairs_Landing_Stairs
set(95%, 'mqtt')</font></p>
</blockquote>
<p><br>
Clearly it's not happy, but I haven't been able to chase
down the root cause. BTW, the "95%" mentioned in the
logs was the switch's existing brightness level before I
tried to change it.</p>
<p>Hopefully, this is clearer to you than to me.</p>
<p> -B.</p>
<p><br>
</p>
<p><br>
</p>
<div><br>
</div>
<div>On 2/13/26 15:08, Dave Neudoerffer wrote:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div>You are correct Brian. HA_Item is about mirroring
home assistant entities. Howard uses HA to host
most of his devices and MH for automations using
HA_Items. Without a HA service, HA_Item makes no
sense. </div>
<div dir="auto"><br>
</div>
<div dir="auto">In implementing mqtt_items, I had a
few different sources of mqtt devices, but not a
huge variety. No did not have any zwave2mqtt stuff.
I have used the zigbee2mqtt stuff. I am actually in
the process of enhancing the MH discovery stuff to
handle the new HA device discovery methodology. If
there is something I can help with, let me know. </div>
<div dir="auto"><br>
</div>
<div dir="auto">Dave</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<p><br>
</p>
</blockquote>
<p><br>
</p>
</body>
</html>
--------------TgbU5YxWWBqHdO7VImnBp3Cr--
--===============4037549547356766613==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============4037549547356766613==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
--===============4037549547356766613==--