Re: [mh] mqtt_discovery
Brian M <[email protected]> Tue, 17 Feb 2026 19:34:23 -0800
| Newsgroups | gmane.comp.misc.misterhouse.user |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --===============5592222993712139733== Content-Type: multipart/alternative; boundary="------------KA2QQu7EyIR0Ocf40GAauCdl" Content-Language: en-US This is a multi-part message in MIME format. --------------KA2QQu7EyIR0Ocf40GAauCdl Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 >>> >> > --------------KA2QQu7EyIR0Ocf40GAauCdl 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">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 class="moz-cite-prefix"><br> </div> <div class="moz-cite-prefix">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 class="moz-cite-prefix"><br> </div> <div class="moz-cite-prefix">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 class="moz-cite-prefix"><br> </div> <div class="moz-cite-prefix">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 class="moz-cite-prefix"><br> </div> <div class="moz-cite-prefix">Best,</div> <div class="moz-cite-prefix"> -B.</div> <div class="moz-cite-prefix"><br> </div> <div class="moz-cite-prefix">On 2/17/26 18:39, Dave Neudoerffer wrote:<br> </div> <blockquote type="cite" cite="mid:CAOFx8LNzWfKo__qZn16hJVrrsrSS=v2pHKDwMRV2NrveQFenPw@mail.gmail.com"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <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 gmail_quote_container"> <div dir="ltr" class="gmail_attr">On Tue, Feb 17, 2026 at 6:55 PM Dave Neudoerffer <<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 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 {{ <value_true> IF <condition> ELSE <value_false>}}. 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><IMPORTANT POINT></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><ASIDE></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 <<a href="mailto:[email protected]" target="_blank" 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> <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 <<a href="mailto:[email protected]" target="_blank" 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> </div> </blockquote> </div> </blockquote> </div> </blockquote> <p><br> </p> </body> </html> --------------KA2QQu7EyIR0Ocf40GAauCdl-- --===============5592222993712139733== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============5592222993712139733== 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 --===============5592222993712139733==--