Re: [mh] mqtt_discovery

Brian M <[email protected]> Thu, 19 Feb 2026 07:57:36 -0800
Newsgroups gmane.comp.misc.misterhouse.user
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============8772937703321769792==
Content-Type: multipart/alternative;
 boundary="------------nvrLZXvhlS0p3e0mZefKGcBm"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------nvrLZXvhlS0p3e0mZefKGcBm
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Dave,

I expect to be getting back into this today. In particular, I will 
probably have an alternative for you to consider regarding the 
implementation of MQTT_RAWITEM by EOD. After that I'll see if I can get 
some more sample discovery messages from my sensor, as I've just ordered 
another one.

More generally, clearly we're going to get devices that have multiple 
components, multiple sensors in this specific case. If they come in as 
separate discovery messages and get created as separate MH devices 
that's fine. If they come in as a single discovery message, we still 
need a way to access any or all of them, so maybe generate multiple MH 
devices. I'm guessing that you're already on top of that, though.

As an aside for anyone looking into ZWave devices, I've been using the 
Zooz line and I'm really pleased with them (ref: www.getzooz.com). Most 
of the in-wall units use terminal connections instead of pigtails, so no 
extra wire-nuts in the box. The indicator LEDs are color programmable, 
which I use to provide feedback to the user. Most of them are pretty 
configurable according to your needs, whereas a lot of other products 
more of the "This is how it works, take it or leave it" philosophy. A 
tip though, they're a lot cheaper at what is apparently Zooz's retail 
operation, thesmartesthouse.com than elsewhere. For example, a basic 
ZWave on/off switch is $42 on Amazon, but only $29 at thesmartesthouse.com.

                            -B.


On 2/19/26 06:09, Dave Neudoerffer wrote:
> In fact, the new HA device discovery that I am working on, does allow 
> publishing all state objects in a single discovery message.  However, 
> MH doesn't support an object with multiple state items -- it is a 
> single item at a time.  Which is also the way HA was until a couple 
> years ago.  Most discovery info I have seen is one mqtt discovery 
> message per state object.  The objects can be tied together with 
> device information that is in the discovery message.  HA will group 
> the objects together into a "device".   Each object can have an 
> "entity_category".  You can see in your closet sensor discovery above, 
> that the entity_category for the led_indicator is config.  In HA, it 
> would show up in a config section of the device.
>
> Actually, this discussion has helped me significantly.  I am going to 
> take a slightly different tact with how I publish the device info from 
> MH -- more like ZWave JS is doing.
>
> If there are objects that ZWave JS is putting out, that aren't being 
> handled right by MH, let me know.  Often it is a simple enhancement to 
> handle them.
>
> Dave
>
> On Tue, Feb 17, 2026 at 10:34 PM Brian M 
> <[email protected]> wrote:
>
>     Great, Dave. I've got a project in flight right now, but I should
>     be able to check those out later this week or this weekend. I'm
>     anxious to see how those do.
>
>     You're right that the ZSE11 is a multi-sensor device, specifically
>     motion, light, temperature, and humidity. And yes, there's an LED
>     that can be configured. Not having studied MQTT Discovery, I'm
>     surprised to learn that a device doesn't publish all it's
>     discovery info at once. I'll try to capture some samples of the
>     other discovery data items for the device for you.
>
>     As for the HA interface ... I've gone through a curious about-face
>     on my home automation plans. My plan had been to migrate from MH
>     and Insteon to OpenHab and Z-wave. I'd probably never complete
>     that migration however, give the size of my MH code base. So like
>     a lot of others on this mailing list, I figured I'd get to OH
>     handling the devices and MH handling the logic side, in my case
>     with MQTT as the middleman. With the advent of Zwave-JS-UI,
>     however, I'm far less interested in OpenHab, as it's ZWave support
>     was my primary interest. So no I'm looking at MH running the
>     Insteon devices that are still around and talking to Zwave-JS-UI
>     via MQTT. OH will remain, but only for a few stray kinds of
>     devices that it understands, like my Tapo strip lights, and
>     perhaps Matter in the future. I'm in favor of having as few
>     components as possible to limit maintenance and brainpower
>     demands, so I'm going to try to hold off on HA for now. I'm not
>     opposed to it, I just need a demand I can't solve with what I
>     already have.
>
>     Some of the rest of the of your e-mail is going to take more study
>     before I can respond, but is always appreciated and always solid
>     information. You're a great asset for the community.
>
>     Best,
>                           -B.
>
>     On 2/17/26 18:39, Dave Neudoerffer wrote:
>>     And you will need read_table_A.pl for the new MQTT_RAWITEM...
>>
>>     Dave
>>
>>     On Tue, Feb 17, 2026 at 6:55 PM Dave Neudoerffer
>>     <[email protected]> wrote:
>>
>>         Hey Brian and Howard, et all,
>>
>>         So, Brian, I got your first 2 problems fixed. The set('3%')
>>         was a bug when the state and brightness topics are the same
>>         -- fixed.  The other problem was that the simple template
>>         processing I put in didn't handle a template of the form {{
>>         <value_true> IF <condition> ELSE <value_false>}}.  I added
>>         some support for that specific template form.
>>
>>         Your sensor problem above is weird.  The discovery message
>>         bills the door sensor as a switch.  That sort of makes sense
>>         -- would send ON and OFF when the door is opened and closed. 
>>         But the messages that get sent don't match the discovery info
>>         at all.  A quick search (thanx gemini) would indicate that
>>         zwave JS is likely defining multiple mqtt devices for the
>>         sensor.  I think that the specific discovery message you sent
>>         is actually a configuration object that you can use to
>>         control the behaviour of the LED on device.  There must be
>>         other discovery objects as well for the sensor.  It looks
>>         like -- door_state=22 means open and door_state=23 means
>>         closed -- and a web search confirms that.  The *discovered
>>         device for door_state* should be able to handle the messages.
>>
>>         If not, you could use the new MQTT_RAWITEM that I just added
>>         to define a binary_sensor to handle the messages using hand
>>         coded discovery info:
>>         MQTT_RAWITEM, Downstairs_Hall_Closet_Sensor, mqtt_discovery2,
>>         app/zwave-js-ui/config/binary_sensor/Downstairs_Hall-Closet_Sensor/closet_door_sensor/config,
>>
>>         {"value_template":"{{ "ON" if value_json.value==22 else "OFF"
>>         }}","state_topic":"app/zwave-js-ui/Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state"}
>>         (I have tried this definition with the messages above and
>>         they are processed correctly into on/off for the
>>         binary_sensor, but again, if you can find the discovery
>>         message for the actual door_state, it should work too.)
>>
>>
>>         *<IMPORTANT POINT>*
>>         This conversation does raise an important point.  Almost all
>>         mqtt discovery stuff published by devices and other software,
>>         is specifically setup to be consumed by Home Assistant.  I
>>         HAVE NOT implemented the entire Home Assistant discovery
>>         language in Misterhouse, nor do I intend to.  I am sure that
>>         Home Assistant would process these zwave JS discovery
>>         messages very well.  As per Howards comments earlier, if you
>>         were to setup Home Assistant, the devices would show up
>>         there. You could then use the HA_Item.pm module in
>>         Misterhouse to pull in the Home Assistant entities that you
>>         want and run your misterhouse logic against those items. 
>>          This is actually easier to setup than it sounds.
>>
>>         I have attached the latest mqtt files.  There are a lot of
>>         changes here, because this is my working version for
>>         optionally supporting the new HA device discovery variation
>>         of mqtt discovery. I am running this code on 4 MH instances,
>>         and all seems good so far.  I will submit a pull request
>>         soon.   You need to replace all 3 in your installation (take
>>         backup copies first :-).  If you have any problems, give me a
>>         shout.
>>
>>         *<ASIDE>*
>>         The reason I have implemented the HA device discovery
>>         variation of mqtt discovery is that I have been trying out
>>         using the matter_bridge to expose devices from HA to matter
>>         and thus to google (or alexa or apple).  The matter bridge
>>         works easiest if you can put a label on the HA devices that
>>         you want exposed.  However, you can't put labels on raw HA
>>         entities -- hence putting in the HA device support.  Also, I
>>         still use Misterhouse for hosting my Insteon devices because
>>         I find the MH support better than HA, and I define all kinds
>>         of utility switches, scenes, and variables in Misterhouse
>>         that I expose to HA using mqtt.  Exposing those things as
>>         devices allows me to then expose the HA devices to matter via
>>         the matter_bridge and control them easily with Google
>>         home/assistant.  It is an alternative to the Google/Alexa
>>         support in Misterhouse or Home Assistant, which is cloud
>>         based and a pain to setup.
>>
>>         Dave
>>
>>         On Sun, Feb 15, 2026 at 6:16 PM Brian M
>>         <[email protected]> wrote:
>>
>>             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 <http://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
>>>>
>>>
>>
>

--------------nvrLZXvhlS0p3e0mZefKGcBm
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">Dave,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">I expect to be getting back into this
      today. In particular, I will probably have an alternative for you
      to consider regarding the implementation of MQTT_RAWITEM by EOD.
      After that I'll see if I can get some more sample discovery
      messages from my sensor, as I've just ordered another one. </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">More generally, clearly we're going to
      get devices that have multiple components, multiple sensors in
      this specific case. If they come in as separate discovery messages
      and get created as separate MH devices that's fine. If they come
      in as a single discovery message, we still need a way to access
      any or all of them, so maybe generate multiple MH devices. I'm
      guessing that you're already on top of that, though.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">As an aside for anyone looking into
      ZWave devices, I've been using the Zooz line and I'm really
      pleased with them (ref: <a class="moz-txt-link-abbreviated" href="http://www.getzooz.com">www.getzooz.com</a>). Most of the in-wall
      units use terminal connections instead of pigtails, so no extra
      wire-nuts in the box. The indicator LEDs are color programmable,
      which I use to provide feedback to the user. Most of them are
      pretty configurable according to your needs, whereas a lot of
      other products more of the "This is how it works, take it or leave
      it" philosophy. A tip though, they're a lot cheaper at what is
      apparently Zooz's retail operation, thesmartesthouse.com than
      elsewhere. For example, a basic ZWave on/off switch is $42 on
      Amazon, but only $29 at thesmartesthouse.com. </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">On 2/19/26 06:09, Dave Neudoerffer
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAOFx8LMXMJ9PfGqPNB8mpJzzGKOFeqNNo6-sCwBDXGOcqZ0n8A@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">In fact, the new HA device discovery that I am
        working on, does allow publishing all state objects in a single
        discovery message.  However, MH doesn't support an object with
        multiple state items -- it is a single item at a time.  Which is
        also the way HA was until a couple years ago.  Most discovery
        info I have seen is one mqtt discovery message per state
        object.  The objects can be tied together with device
        information that is in the discovery message.  HA will group the
        objects together into a "device".   Each object can have an
        "entity_category".  You can see in your closet sensor discovery
        above, that the entity_category for the led_indicator is
        config.  In HA, it would show up in a config section of the
        device.  
        <div><br>
        </div>
        <div>Actually, this discussion has helped me significantly.  I
          am going to take a slightly different tact with how I publish
          the device info from MH -- more like ZWave JS is doing.  <br>
          <div><br>
          </div>
          <div>If there are objects that ZWave JS is putting out, that
            aren't being handled right by MH, let me know.  Often it is
            a simple enhancement to handle them.  </div>
        </div>
        <div><br>
        </div>
        <div>Dave</div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Tue, Feb 17, 2026 at
          10:34 PM Brian M &lt;<a
            href="mailto:[email protected]"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
          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>
            <div>Great, Dave. I've got a project in flight right now,
              but I should be able to check those out later this week or
              this weekend. I'm anxious to see how those do.</div>
            <div><br>
            </div>
            <div>You're right that the ZSE11 is a multi-sensor device,
              specifically motion, light, temperature, and humidity. And
              yes, there's an LED that can be configured. Not having
              studied MQTT Discovery, I'm surprised to learn that a
              device doesn't publish all it's discovery info at once.
              I'll try to capture some samples of the other discovery
              data items for the device for you.</div>
            <div><br>
            </div>
            <div>As for the HA interface ... I've gone through a curious
              about-face on my home automation plans. My plan had been
              to migrate from MH and Insteon to OpenHab and Z-wave. I'd
              probably never complete that migration however, give the
              size of my MH code base. So like a lot of others on this
              mailing list, I figured I'd get to OH handling the devices
              and MH handling the logic side, in my case with MQTT as
              the middleman. With the advent of Zwave-JS-UI, however,
              I'm far less interested in OpenHab, as it's ZWave support
              was my primary interest. So no I'm looking at MH running
              the Insteon devices that are still around and talking to
              Zwave-JS-UI via MQTT. OH will remain, but only for a few
              stray kinds of devices that it understands, like my Tapo
              strip lights, and perhaps Matter in the future. I'm in
              favor of having as few components as possible to limit
              maintenance and brainpower demands, so I'm going to try to
              hold off on HA for now. I'm not opposed to it, I just need
              a demand I can't solve with what I already have.</div>
            <div><br>
            </div>
            <div>Some of the rest of the of your e-mail is going to take
              more study before I can respond, but is always appreciated
              and always solid information. You're a great asset for the
              community.</div>
            <div><br>
            </div>
            <div>Best,</div>
            <div>                      -B.</div>
            <div><br>
            </div>
            <div>On 2/17/26 18:39, Dave Neudoerffer wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">And you will need read_table_A.pl for the
                new MQTT_RAWITEM...
                <div><br>
                </div>
                <div>Dave</div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Tue, Feb 17, 2026
                  at 6:55 PM Dave Neudoerffer &lt;<a
                    href="mailto:[email protected]" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
                  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 dir="ltr">Hey Brian and Howard, et all,
                    <div><br>
                    </div>
                    <div>So, Brian, I got your first 2 problems fixed. 
                      The set('3%') was a bug when the state and
                      brightness topics are the same -- fixed.  The
                      other problem was that the simple template
                      processing I put in didn't handle a template of
                      the form {{ &lt;value_true&gt; IF
                      &lt;condition&gt; ELSE &lt;value_false&gt;}}.  I
                      added some support for that specific template
                      form.  </div>
                    <div><br>
                    </div>
                    <div>Your sensor problem above is weird.  The
                      discovery message bills the door sensor as a
                      switch.  That sort of makes sense -- would send ON
                      and OFF when the door is opened and closed.  But
                      the messages that get sent don't match the
                      discovery info at all.  A quick search (thanx
                      gemini) would indicate that zwave JS is likely
                      defining multiple mqtt devices for the sensor.  I
                      think that the specific discovery message you sent
                      is actually a configuration object that you can
                      use to control the behaviour of the LED on
                      device.  There must be other discovery objects as
                      well for the sensor.  It looks like --
                      door_state=22 means open and door_state=23 means
                      closed -- and a web search confirms that.  The <b>discovered
                        device for door_state</b> should be able to
                      handle the messages.  </div>
                    <div><br>
                    </div>
                    <div>If not, you could use the new MQTT_RAWITEM that
                      I just added to define a binary_sensor to handle
                      the messages using hand coded discovery info:</div>
                    <div><span style="font-family:monospace">MQTT_RAWITEM,
                        Downstairs_Hall_Closet_Sensor, mqtt_discovery2,
                        app/zwave-js-ui/config/binary_sensor/</span><span
                        style="font-family:monospace">Downstairs_Hall-Closet_Sensor/closet_door_sensor</span><span
                        style="font-family:monospace">/config, </span></div>
                    <div><span style="font-family:monospace">{</span><span
                        style="font-family:monospace">"value_template":"{{
                        "ON" if value_json.value==22 else "OFF" }}",</span><span
                        style="font-family:monospace">"</span><span
                        style="font-family:monospace">state_topic":"app/zwave-js-ui/</span><span
                        style="font-family:monospace">Downstairs_Hall/Closet_Sensor/notification/endpoint_0/Access_Control/Door_state"}</span></div>
                    <div>(I have tried this definition with the messages
                      above and they are processed correctly into on/off
                      for the binary_sensor, but again, if you can find
                      the discovery message for the actual door_state,
                      it should work too.)</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div><b>&lt;IMPORTANT POINT&gt;</b></div>
                    <div>This conversation does raise an important
                      point.  Almost all mqtt discovery stuff published
                      by devices and other software, is specifically
                      setup to be consumed by Home Assistant.  I HAVE
                      NOT implemented the entire Home Assistant
                      discovery language in Misterhouse, nor do I intend
                      to.  I am sure that Home Assistant would process
                      these zwave JS discovery messages very well.  As
                      per Howards comments earlier, if you were to setup
                      Home Assistant, the devices would show up there. 
                      You could then use the HA_Item.pm module in
                      Misterhouse to pull in the Home Assistant entities
                      that you want and run your misterhouse logic
                      against those items.   This is actually easier to
                      setup than it sounds.</div>
                    <div><br>
                    </div>
                    <div>I have attached the latest mqtt files.  There
                      are a lot of changes here, because this is my
                      working version for optionally supporting the new
                      HA device discovery variation of mqtt discovery. 
                      I am running this code on 4 MH instances, and all
                      seems good so far.  I will submit a pull request
                      soon.   You need to replace all 3 in your
                      installation (take backup copies first :-).  If
                      you have any problems, give me a shout.</div>
                    <div><br>
                    </div>
                    <div><b>&lt;ASIDE&gt;</b></div>
                    <div>The reason I have implemented the HA device
                      discovery variation of mqtt discovery is that I
                      have been trying out using the matter_bridge to
                      expose devices from HA to matter and thus to
                      google (or alexa or apple).  The matter bridge
                      works easiest if you can put a label on the HA
                      devices that you want exposed.  However, you can't
                      put labels on raw HA entities -- hence putting in
                      the HA device support.  Also, I still use
                      Misterhouse for hosting my Insteon devices because
                      I find the MH support better than HA, and I define
                      all kinds of utility switches, scenes, and
                      variables in Misterhouse that I expose to HA using
                      mqtt.  Exposing those things as devices allows me
                      to then expose the HA devices to matter via the
                      matter_bridge and control them easily with Google
                      home/assistant.  It is an alternative to the
                      Google/Alexa support in Misterhouse or Home
                      Assistant, which is cloud based and a pain to
                      setup.  </div>
                    <div><br>
                    </div>
                    <div>Dave</div>
                  </div>
                  <br>
                  <div class="gmail_quote">
                    <div dir="ltr" class="gmail_attr">On Sun, Feb 15,
                      2026 at 6:16 PM Brian M &lt;<a
                        href="mailto:[email protected]"
                        target="_blank" moz-do-not-send="true"
                        class="moz-txt-link-freetext">[email protected]</a>&gt;
                      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>
                        <div>Here's another one that might make more
                          sense to you than to me. I'm using a Zooz
                          ZSE41 door sensor. <a
                            href="http://mqtt_discovery.pm"
                            target="_blank" moz-do-not-send="true">mqtt_discovery.pm</a>
                          produced the following code to define it:</div>
                        <blockquote>
                          <div><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><br>
                        </div>
                        <div>Here's a door open/door close sequence. </div>
                        <div><br>
                        </div>
                        <div>
                          <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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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
                                moz-do-not-send="true">R:0</a> <a
                                moz-do-not-send="true">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><br>
                        </div>
                        <div>                       -B.</div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div>On 2/14/26 11:17, Brian M wrote:<br>
                        </div>
                        <blockquote type="cite">
                          <div>Thanks, Dave. That would be great.</div>
                          <div><br>
                          </div>
                          <div>             -B.</div>
                          <div><br>
                          </div>
                          <div>On 2/14/26 10:42, Dave Neudoerffer wrote:<br>
                          </div>
                          <blockquote type="cite">
                            <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">
                              <div dir="ltr" class="gmail_attr">On Fri,
                                Feb 13, 2026 at 7:01 PM Brian M &lt;<a
href="mailto:[email protected]" target="_blank"
                                  moz-do-not-send="true"
                                  class="moz-txt-link-freetext">[email protected]</a>&gt;
                                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--&gt;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-&gt;{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-&gt;{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-&gt;{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-&gt;{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>
                      </div>
                    </blockquote>
                  </div>
                </blockquote>
              </div>
            </blockquote>
            <p><br>
            </p>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>

--------------nvrLZXvhlS0p3e0mZefKGcBm--


--===============8772937703321769792==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8772937703321769792==
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


--===============8772937703321769792==--