It is pretty straight forward.
I am running the container version. I also recently put my broker in a container vice ‘bare metal’. I prefer this setup now since it gives me more control of naming the sensors. It takes more time to set up since you have to set up the sensors from the MQTT paths but all the paths are clearly stated in the ‘USER’ section of each device. I only bring in what I use and it is much less cluttered now.
this sounds tempting, especially since I now have rather a complex config, because I need to be able to switch the zwave switches from my production system, while they are managed by the zwave integration on the zwave instance.
This requires a full set of automations and intermediary input_booleans on the production system, which states are published over mqtt to the wave instance , which then switches the actual switches.
could you please show me an example of how to switch the switches in your config? given the fact you have a dedicated wave instance also, I figure you’d need something like I do too?
It will be a few hours (12+) before I can get to my yaml files.
I think you are asking for examples of what I use to create sensors.
I can post some of my sensor and binary_sensor configs and also post a screenshot of where you find the MQTT topic (the easy way).
I only have a few unique types of Zwave devices, so I could post one of each:
Aeotec Door/Window sensor
Aeotec MultiSensor
Aeotec Smart Plug
Aeotec Recessed Door sensor
Aeotec NanoMote
EcoLink Firefighter
EcoControls Bulldog Valve Robot
You could always bring in more data, if you wanted. I will get a screenshot of my MQTT explorer view of some device also, just so you see how much is available. Typically ALL the configuration information for a Zwave device is also published via MQTT, which can be extensive; you are not obligated to use all or any of this info. For example, my window sensors have dozens of MQTT topics, but I only pull the binary open/closed data.
I will say that you do need to look at the states given in the Zwave dashboard before you ‘assume’ you know what they are. That bit be a few times.
So, short story long, I will post my info when I get home but that will be awhile.
Binary Sensors:
### ZWave2MQTT ###
#Office MultiSensor
- platform: mqtt
name: "Office Motion"
device_class: motion
state_topic: "zwave/Office/MultiSensor/48/1/0"
json_attributes_topic: "zwave/Office/MultiSensor/48/1/0"
value_template: "{{ value_json.value }}"
payload_on: true
payload_off: false
#EcoLink Figherfighter
- platform: mqtt
name: "Smoke Alarm"
device_class: smoke
state_topic: "zwave/Bedroom_Master/Smoke_CO/113/1/1"
json_attributes_topic: "zwave/Bedroom_Master/Smoke_CO/113/1/1"
value_template: "{{ value_json.value }}"
payload_on: Smoke Detected at Unknown Location
payload_off: Clear
#Front Door Sensor
- platform: mqtt
name: "Front Door"
device_class: door
state_topic: "zwave/Living_Room/Front_Door/48/1/0"
json_attributes_topic: "zwave/Living_Room/Front_Door/48/1/0"
value_template: "{{ value_json.value }}"
payload_on: true
payload_off: false
#Kitchen Window Sensor
- platform: mqtt
name: "Kitchen Window"
device_class: window
state_topic: "zwave/Kitchen/Kitchen_Window/113/1/6"
json_attributes_topic: "zwave/Kitchen/Kitchen_Window/113/1/6"
value_template: "{{ value_json.value }}"
payload_on: Door/Window Open
payload_off: Door/Window Closed
#EcoNet Bulldog Valve Robot
- platform: mqtt
name: "Backup Water Vavle"
device_class: moisture
state_topic: "zwave/Outside/Water_Backup_Valve/37/1/0"
json_attributes_topic: "zwave/Outside/Water_Backup_Valve/37/1/0"
value_template: "{{ value_json.value }}"
payload_on: true
payload_off: false
#NanoMote 1 (Possibility of 8 combinations, I just did 4)
- platform: mqtt
name: "NanoMote_1_Button_1"
#device_class:
state_topic: "zwave/Portable/Nano_1/91/1/1"
json_attributes_topic: "zwave/Portable/Nano_1/91/1/1"
value_template: "{{ value_json.value }}"
payload_on: Pressed 1 Time
payload_off: Inactive
- platform: mqtt
name: "NanoMote_1_Button_2"
#device class:
state_topic: "zwave/Portable/Nano_1/91/1/2"
json_attributes_topic: "zwave/Portable/Nano_1/91/1/2"
value_template: "{{ value_json.value }}"
payload_on: Pressed 1 Time
payload_off: Inactive
- platform: mqtt
name: "NanoMote_1_Button_3"
#device_class:
state_topic: "zwave/Portable/Nano_1/91/1/3"
json_attributes_topic: "zwave/Portable/Nano_1/91/1/3"
value_template: "{{ value_json.value }}"
payload_on: Pressed 1 Time
payload_off: Inactive
- platform: mqtt
name: "NanoMote_1_Button_4"
#device_class:
state_topic: "zwave/Portable/Nano_1/91/1/4"
json_attributes_topic: "zwave/Portable/Nano_1/91/1/4"
value_template: "{{ value_json.value }}"
payload_on: Pressed 1 Time
payload_off: Inactive
Sensor:
#Office MutltiSensor
- platform: mqtt
name: "Office Temperature"
state_topic: "zwave/Office/MultiSensor/49/1/1"
json_attributes_topic: "zwave/Office/MultiSensor/49/1/1"
value_template: "{{ value_json.value }}"
device_class: temperature
unit_of_measurement: 'F'
icon: mdi:thermometer
- platform: mqtt
name: "Office Humidity"
state_topic: "zwave/Office/MultiSensor/49/1/5"
json_attributes_topic: "zwave/Office/MultiSensor/49/1/5"
value_template: "{{ value_json.value }}"
device_class: humidity
unit_of_measurement: '%'
icon: mdi:water-percent
- platform: mqtt
name: "Office MultiSensor Battery"
state_topic: "zwave/Office/MultiSensor/128/1/0"
json_attributes_topic: "zwave/Office/MultiSensor/128/1/0"
value_template: "{{ value_json.value }}"
device_class: battery
unit_of_measurement: '%'
icon: mdi:battery-70
- platform: mqtt
name: "Office Illuminance"
state_topic: "zwave/Office/MultiSensor/49/1/3"
json_attributes_topic: "zwave/Office/MultiSensor/49/1/3"
value_template: "{{ value_json.value }}"
device_class: illuminance
unit_of_measurement: 'lux'
icon: mdi:brightness-percent
- platform: mqtt
name: "Office UV"
state_topic: "zwave/Office/MultiSensor/49/1/27"
json_attributes_topic: "zwave/Office/MultiSensor/49/1/27"
value_template: "{{ value_json.value }}"
device_class: illuminance
unit_of_measurement: 'UV Index'
icon: mdi:brightness-7
#Bedroom Master AeoTec Smart Plug (TV)
- platform: mqtt
name: "Bedroom Master TV Power"
state_topic: "zwave/Bedroom_Master/Plug_TV/50/1/2"
json_attributes_topic: "zwave/Bathroom_Kid/Plug_TV/50/1/2"
value_template: "{{ value_json.value }}"
device_class: power
unit_of_measurement: 'W'
icon: mdi:flash
#EcoLink FireFighter (Master Bedroom)
- platform: mqtt
name: "FireFighter Battery"
state_topic: "zwave/Bedroom_Master/Smoke_CO/128/1/0"
json_attributes_topic: "zwave/Bedroom_Master/Smoke_CO/128/1/0"
value_template: "{{ value_json.value }}"
device_class: battery
unit_of_measurement: '%'
icon: mdi:battery-70
#Recesed Door Sensor (Front Door)
- platform: mqtt
name: "Front Door Sensor Battery"
state_topic: "zwave/Living_Room/Front_Door/128/1/0"
json_attributes_topic: "zwave/Living_Room/Front_Door/128/1/0"
value_template: "{{ value_json.value }}"
device_class: battery
unit_of_measurement: '%'
icon: mdi:battery-70
#Window Sensor (Kitchen Window)
- platform: mqtt
name: "Kitchen Window Battery"
state_topic: "zwave/Kitchen/Kitchen_Window/128/1/0"
json_attributes_topic: "zwave/Kitchen/Kitchen_Window/128/1/0"
value_template: "{{ value_json.value }}"
device_class: battery
unit_of_measurement: '%'
icon: mdi:battery-70
#NanoMote #1
- platform: mqtt
name: "NanoMote 1 Battery"
state_topic: "zwave/Portable/Nano_1/128/1/0"
json_attributes_topic: "zwave/Portable/Nano_1/128/1/0"
value_template: "{{ value_json.value }}"
device_class: battery
unit_of_measurement: '%'
icon: mdi:battery-70
MQTT Explorer view of just part of a single sensor:
The dashboard from Zwave2MQTT:
great thanks!
so the new (beat) integration registered all zwave devices, and publishes the states of all over the MQTT Broker. Any client that subscribes to that broker can then create mqtt sensors for those states.
That is in fact much like my wave setup at the moment, using a dedicated Z-wave Hub (not the HA wave instance I was talking about earlier).
Now I only need to know how I could switch switches that are registered on the HA instance with the beta integration from any other device. Do we use mqtt switches for that?
In my current hardware config, the Zwave Hub doesnt accept external commands, it only publishes topics. I can send shell_commands with an api call. Would be great if this new integration would allow us to create an mqtt switch, would you know about that too? Especially finding the command_topic confuses me…
edit
wait, found it I think, it might be as simple as creating a topic for that
sensor:
- platform: mqtt
name: Everspring Lamp library set
state_topic: everspring_lamp_library_set
and using that as command_topic in the switch
switch:
- platform: mqtt
unique_id: lamp_library
name: Everspring Lamp library
state_topic: ha_zwave/switch/everspring_lamp_library/state
command_topic: everspring_lamp_library_set
payload_on: 'on'
payload_off: 'off'
state_on: 'on'
state_off: 'off'
retain: true
and an automation on the zwave instance (‘ha_zwave’ in the state_topic above) triggering on that topic:
- alias: Set Everspring Lamp library
trigger:
platform: state
entity_id: sensor.everspring_lamp_library_set
condition:
>
{{trigger.to_state.state != trigger.from_state.state and
trigger.to_state.state in ['on','off']}}
action:
service: >
switch.turn_{{trigger.to_state.state}}
entity_id: switch.everspring_lamp_library
Usually in order to issue a command back to Zwave via MQTT you have to publish a sub topic of ‘SET’ to the variable to be changed, with a payload of (‘value’, ‘on’) for example.
yes, that is exactly what the above config does:
the mqtt switch on the ‘slave’ uses the _set topic, and that is subscribed to on the ‘master’ and triggering the automation.
the other way round, switching the switch on the ‘master’, sends the _set topic, which then is subscribed to in the mqtt switch.
- alias: Everspring Lamp library
trigger:
platform: state
entity_id: switch.everspring_lamp_library
condition:
>
{{trigger.to_state.state != trigger.from_state.state and
trigger.to_state.state in ['on','off']}}
action:
service: mqtt.publish
data:
topic: everspring_lamp_library_set
retain: true
payload: >
{{trigger.to_state.state}}
all in all rather ingenious in its simplicity
this is all using the old, current wave integration. Ill move to the new beta integration and guess I can keep the rest of the config identical.
thanks for your support
new question…
how do I manually delete (as in edit config files) a no longer available z-wave device?
I briefly tested a Sensative strip again, couldn’t really have it join the network correctly, so decided to de-install it and send it back.
It however keeps being listed in the zwave integration, and no matter how many times I have deleted the entries in the hidden .storage files, the keep returning.
Of course, I have already rebooted the HA instance. Doesnt help.
What could I try next?