I could not get your guide to work 
I’m supposed to input this only in the main system, correct? It brought the zwave system’s MQTT crashing down when I inputted it there:
mqtt:
discovery: true
discovery_prefix: ha_master_topic
This is what I have right now in the main system for a switch:
- platform: mqtt
name: "Counter Lights"
state_topic: "ha_master_topic/switch/fibaro_system_fgwpef_wall_plug_switch/state"
command_topic: "ha_master_topic/switch/fibaro_system_fgwpef_wall_plug_switch/set"
availability_topic: "ha_master_topic/zwave/fibaro_system_fgwpef_wall_plug/is_ready"
payload_on: "on"
payload_off: "off"
state_on: "on"
state_off: "off"
payload_available: "true"
payload_not_available: "false"
optimistic: false
qos: 0
retain: true
I think in your guide a couple of more details need to be given as to where the MQTT statestream and discovery components need to be inputted, because it’s not clear if they should be on the main system, on the zwave system, or both. Can you please elaborate that part a bit?
After following part of your guide discovery seems to be working for my switches, but I still wouldn’t say reliability is perfect…it seems a bit better than with my previous config, but I still seem to have introduced some extra “wonkiness” vs. just using the zwave switch directly, not all of them update every time.