I have two sonoff rf bridges.
In automations.yaml :
- id: '1565365902541'
alias: rfbridge_demultiplexer
trigger:
- platform: mqtt
topic: home/OpenMQTTGateway/SRFBtoMQTT
- platform: mqtt
topic: home/OpenMQTTGateway1/SRFBtoMQTT
action:
- data_template:
payload: '{{trigger.payload_json.value}}'
service: python_script.rfbridge_demux
And the following python script (in the folder python script)
d = { '9823336':['ikea_switch1_sensor','ON','false'],
'9823332':['ikea_switch2_sensor','ON','false'],
'9823330':['ikea_switch3_sensor','ON','false'],
'9823329':['ikea_switch4_sensor','ON','false'],
'14163857':['doorbell_sensor','ON','false'],
'13666408':['firealarm','ON','false'],
'564886':['garagedoor','ON','false'],
'16726408':['lichteetkamerboven','ON','false'],
'16765268':['impuls','ON','false'],
'16766303':['impulsb','OFF','false'],
'16765265':['flamingo1','ON','false'],
'352003':['buurvrouw','ON','false'],
'1213858':['lichtwaskot','ON','false'],
'1224498':['buurvrouw1','ON','false'],
'16762193':['impulsa','OFF','false'],
'16762196':['impulsa','ON','false'],
'2291358':['voordeur','ON','true'],
'2291351':['voordeur','OFF','true'],
'152232' :['schuindak','ON','false']
}
p = data.get('payload')
if p is not None:
if p in d.keys():
service_data = {'topic':'sensor/{}'.format(d[p][0]), 'payload':'{}'.format(d[p][1]), 'qos':0, 'retain':'{}'.format(d[p][2])}
else:
service_data = {'topic':'sensor/unknown', 'payload':'{}'.format(p), 'qos':0, 'retain':'false'}
logger.error('<rfbridge_demux> Received unknown RF command: {}'.format(p))
hass.services.call('mqtt', 'publish', service_data, False)
For more information see this topic :