433Mhz remote control with RTL-SDR and rt_433 and rtl_433 MQTT Auto Discovery

First of all, i read through forum intensively, but could not find an answer to my issue.

I’ve setup HA with RTL-SDR USB stickk and rt_433 and rtl_433 MQTT Auto Discovery add-ons.I already use this with a RF 433Mhz temp / humidity sensor and that works well.Now i wanted a use a 433Mhz remote control from a cheap power plus set.

But i cannot get this to work.

The remote control is:

protocol 51 # Proove / Nexa / KlikAanKlikUit Wireless Switch

It has 8 buttons, plug 1-3 on/off and G on/off ( think this stands for group).

So what i see in MQTT explorer is an entry “Proove-Security”.The device doesn’t seem to be configured as HA device automatically or only partially ( in contrast to my temp sensor).

image

So the button is identified by id ( the remote control unit), unit ( which button , 0,1,2 for button 1,2,3) and state ( ON/OFF).

The device that was created automatically:

image

If i try to use that device in automation, i can only select two identical triggers:

Then i tried to create a manual mqtt sensor in configuration.yaml, but had no success with that.

The mqtt doesn’t deliver json,so i need to check for three different topics to find out what button was pressed.

rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/id
rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/state
rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/unit

Ideally i had a device that shows the state of each button, but could live with multiple ( 3 or 4) devices
for each button or pair of on/off buttons.So i could use 4 or 8 buttons for automations.

I thought rtl_433 MQTT Auto Discovery would configure this for me.How can i make that remore control work ?

regards,

TWELVE

To make it a bit easier / clearer, i need a way to get the values of these 4 topics in one MQTT sensor
and add some template logic to find out which button has been pressed on the remote control.

rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/id
rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/state
rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/unit
rtl_433/9b13b3f4-rtl433/devices/Proove-Security/0/46880578/group

id: unique ID of the RC
state: ON or OFF
unit: can be 0,1,2 ( the button row, button 1-6)
group: can be 0 ( when row 0-2 is pressed) or 1 ( when one of the two group buttons is pressed, button 7-8)

So i cannot extract the values from one topic, each value is a single topic and there’s no json.

Any help with that would be appreciated.

1 Like

Hey,
You’ve certainly found a solution by now, right? I would be interested in it!

So what I did is use nodered to combine the grab the MQTT data and re export to a new mqtt value

This is and example of what I did: that you can copy and past into nodered:

[{“id”:“6f23d4b7727acdfa”,“type”:“tab”,“label”:“rtl_433 json “,“disabled”:false,“info”:””},{“id”:“65afc8c0564e29aa”,“type”:“link in”,“z”:“6f23d4b7727acdfa”,“name”:“rtl_443”,“links”:[“4b22fd8dc89bd220”],“x”:1035,“y”:60,“wires”:[]},{“id”:“1bb4c5ca6acffe21”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“Devce Model”,“property”:“payload.model”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“Smoke-GS558”,“vt”:“str”},{“t”:“cont”,“v”:“Akhan”,“vt”:“str”},{“t”:“eq”,“v”:“Generic-Remote”,“vt”:“str”},{“t”:“else”}],“checkall”:“true”,“repair”:false,“outputs”:4,“x”:90,“y”:820,“wires”:[[“3d7c2bcba32bdf30”],[“3ab145abd63ee8ec”],[“6c9aecb50dd0fffd”],]},{“id”:“3d7c2bcba32bdf30”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“Smoke-GS558”,“property”:“payload.id”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“2497”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:340,“y”:1000,“wires”:[[“11a058a50b19fb83”]]},{“id”:“11a058a50b19fb83”,“type”:“link out”,“z”:“6f23d4b7727acdfa”,“name”:“Mancave Buttons rtl_433”,“links”:[“afe9c12c637bb1e0”],“x”:55,“y”:860,“wires”:},{“id”:“3ab145abd63ee8ec”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“Akhan ID”,“property”:“payload.id”,“propertyType”:“msg”,“rules”:[{“t”:“cont”,“v”:“915578”,“vt”:“str”},{“t”:“cont”,“v”:“5519”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:180,“y”:1040,“wires”:[[“ad55df97789695aa”],[“f6114d09e4ba7ad5”]]},{“id”:“6c9aecb50dd0fffd”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“Generic-Remote ID”,“property”:“payload.id”,“propertyType”:“msg”,“rules”:[{“t”:“cont”,“v”:“58060”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:430,“y”:840,“wires”:[[“ce124ffb80f5f45b”]]},{“id”:“ad55df97789695aa”,“type”:“link out”,“z”:“6f23d4b7727acdfa”,“name”:“Office Remote”,“links”:[“3a3a186c77912f77”],“x”:15,“y”:960,“wires”:},{“id”:“ea551702bc33ae24”,“type”:“link out”,“z”:“6f23d4b7727acdfa”,“name”:“Living Room Remote”,“links”:[“c5f9786c6bc5024b”],“x”:75,“y”:1080,“wires”:},{“id”:“f6114d09e4ba7ad5”,“type”:“delay”,“z”:“6f23d4b7727acdfa”,“name”:“”,“pauseType”:“rate”,“timeout”:“5”,“timeoutUnits”:“seconds”,“rate”:“1”,“nbRateUnits”:“1”,“rateUnits”:“second”,“randomFirst”:“1”,“randomLast”:“5”,“randomUnits”:“seconds”,“drop”:true,“allowrate”:false,“x”:470,“y”:900,“wires”:[[“ea551702bc33ae24”]]},{“id”:“ce124ffb80f5f45b”,“type”:“link out”,“z”:“6f23d4b7727acdfa”,“name”:“Living Room Motion”,“links”:[“38b915a71784aed1”],“x”:695,“y”:1140,“wires”:},{“id”:“5f3145e4cfc91a37”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“Devce Model”,“property”:“payload.model”,“propertyType”:“msg”,“rules”:[{“t”:“cont”,“v”:“Acurite-Tower”,“vt”:“str”},{“t”:“cont”,“v”:“LaCrosse-TX141THBv2”,“vt”:“str”},{“t”:“else”}],“checkall”:“true”,“repair”:false,“outputs”:3,“x”:470,“y”:120,“wires”:[,,[“947a9acd65981178”]]},{“id”:“5a5450e9fd1aecf5”,“type”:“change”,“z”:“6f23d4b7727acdfa”,“name”:“”,“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“$replace(‘This is a X’, ‘X’, payload)\t”,“tot”:“jsonata”}],“action”:“”,“property”:“”,“from”:“”,“to”:“”,“reg”:false,“x”:1100,“y”:620,“wires”:[[“1add28a6c2814e77”]]},{“id”:“1add28a6c2814e77”,“type”:“debug”,“z”:“6f23d4b7727acdfa”,“name”:“”,“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:“”,“statusType”:“auto”,“x”:1300,“y”:620,“wires”:},{“id”:“aee49714c5aa60e6”,“type”:“inject”,“z”:“6f23d4b7727acdfa”,“name”:“”,“props”:[{“p”:“payload”}],“repeat”:“”,“crontab”:“”,“once”:false,“onceDelay”:0.1,“topic”:“”,“payload”:“test”,“payloadType”:“str”,“x”:960,“y”:600,“wires”:[[“5a5450e9fd1aecf5”]]},{“id”:“74a1b6ee2a96319d”,“type”:“string”,“z”:“6f23d4b7727acdfa”,“name”:“make mqtt id”,“methods”:[{“name”:“replaceAll”,“params”:[{“type”:“str”,“value”:“[object Object]”},{“type”:“str”,“value”:“home/rtl_443/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.model”}]},{“name”:“append”,“params”:[{“type”:“str”,“value”:“/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.id”}]}],“prop”:“payload”,“propout”:“payload”,“object”:“msg”,“objectout”:“msg”,“x”:130,“y”:320,“wires”:[[“b0654751a0160f77”]]},{“id”:“c7029d7f5711d4e5”,“type”:“mqtt out”,“z”:“6f23d4b7727acdfa”,“name”:“”,“topic”:“”,“qos”:“”,“retain”:“”,“respTopic”:“”,“contentType”:“”,“userProps”:“”,“correl”:“”,“expiry”:“”,“broker”:“1ca20ed2.dac941”,“x”:350,“y”:460,“wires”:},{“id”:“ae21a77055bcdbf6”,“type”:“change”,“z”:“6f23d4b7727acdfa”,“name”:“”,“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“”,“tot”:“str”}],“action”:“”,“property”:“”,“from”:“”,“to”:“”,“reg”:false,“x”:1110,“y”:520,“wires”:[]},{“id”:“b0654751a0160f77”,“type”:“change”,“z”:“6f23d4b7727acdfa”,“name”:“”,“rules”:[{“t”:“set”,“p”:“topic”,“pt”:“msg”,“to”:“payload”,“tot”:“msg”},{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“{"value": "1"}”,“tot”:“json”}],“action”:“”,“property”:“”,“from”:“”,“to”:“”,“reg”:false,“x”:160,“y”:420,“wires”:[[“c7029d7f5711d4e5”,“9ffbf9969b701835”,“fe8a74fece5eaf74”]]},{“id”:“9ffbf9969b701835”,“type”:“delay”,“z”:“6f23d4b7727acdfa”,“name”:“”,“pauseType”:“delay”,“timeout”:“10”,“timeoutUnits”:“seconds”,“rate”:“1”,“nbRateUnits”:“1”,“rateUnits”:“second”,“randomFirst”:“1”,“randomLast”:“5”,“randomUnits”:“seconds”,“drop”:false,“allowrate”:false,“x”:140,“y”:480,“wires”:[[“4ea29c31480a733b”]]},{“id”:“4ea29c31480a733b”,“type”:“change”,“z”:“6f23d4b7727acdfa”,“name”:“”,“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“{"value": "0"}”,“tot”:“json”}],“action”:“”,“property”:“”,“from”:“”,“to”:“”,“reg”:false,“x”:160,“y”:560,“wires”:[[“c7029d7f5711d4e5”,“fe8a74fece5eaf74”]]},{“id”:“4b1b2661227a1f6a”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“”,“property”:“payload.data”,“propertyType”:“msg”,“rules”:[{“t”:“nnull”},{“t”:“else”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:130,“y”:200,“wires”:[[“d2fc03770617b8a1”],[“c0f7de01d0e7c948”]]},{“id”:“d2fc03770617b8a1”,“type”:“string”,“z”:“6f23d4b7727acdfa”,“name”:“make mqtt id”,“methods”:[{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.model”}]},{“name”:“append”,“params”:[{“type”:“str”,“value”:“/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.id”}]},{“name”:“replaceAll”,“params”:[{“type”:“str”,“value”:“[object Object]”},{“type”:“str”,“value”:“home/rtl_443/”}]},{“name”:“append”,“params”:[{“type”:“str”,“value”:“/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.data”}]}],“prop”:“payload”,“propout”:“payload”,“object”:“msg”,“objectout”:“msg”,“x”:490,“y”:220,“wires”:[[“b0654751a0160f77”]]},{“id”:“fe8a74fece5eaf74”,“type”:“debug”,“z”:“6f23d4b7727acdfa”,“name”:“”,“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“true”,“targetType”:“full”,“statusVal”:“”,“statusType”:“auto”,“x”:690,“y”:460,“wires”:},{“id”:“947a9acd65981178”,“type”:“delay”,“z”:“6f23d4b7727acdfa”,“name”:“”,“pauseType”:“rate”,“timeout”:“5”,“timeoutUnits”:“seconds”,“rate”:“1”,“nbRateUnits”:“2”,“rateUnits”:“second”,“randomFirst”:“1”,“randomLast”:“5”,“randomUnits”:“seconds”,“drop”:true,“allowrate”:false,“x”:280,“y”:160,“wires”:[[“4b1b2661227a1f6a”]]},{“id”:“885499c3e71b8df6”,“type”:“comment”,“z”:“6f23d4b7727acdfa”,“name”:“RTL_433 > MQTT”,“info”:“”,“x”:340,“y”:40,“wires”:},{“id”:“05f278942eddee8f”,“type”:“debug”,“z”:“6f23d4b7727acdfa”,“name”:“”,“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“payload”,“targetType”:“msg”,“statusVal”:“”,“statusType”:“auto”,“x”:590,“y”:60,“wires”:},{“id”:“49d8d25f6856dc32”,“type”:“change”,“z”:“6f23d4b7727acdfa”,“name”:“”,“rules”:[{“t”:“set”,“p”:“payload.data”,“pt”:“msg”,“to”:“”,“tot”:“str”}],“action”:“”,“property”:“”,“from”:“”,“to”:“”,“reg”:false,“x”:530,“y”:180,“wires”:[]},{“id”:“c0f7de01d0e7c948”,“type”:“switch”,“z”:“6f23d4b7727acdfa”,“name”:“”,“property”:“payload.code”,“propertyType”:“msg”,“rules”:[{“t”:“nnull”},{“t”:“else”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:110,“y”:260,“wires”:[[“246b6ef8b9561d5c”],[“74a1b6ee2a96319d”]]},{“id”:“246b6ef8b9561d5c”,“type”:“string”,“z”:“6f23d4b7727acdfa”,“name”:“make mqtt id”,“methods”:[{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.model”}]},{“name”:“append”,“params”:[{“type”:“str”,“value”:“/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.id”}]},{“name”:“replaceAll”,“params”:[{“type”:“str”,“value”:“[object Object]”},{“type”:“str”,“value”:“home/rtl_443/”}]},{“name”:“append”,“params”:[{“type”:“str”,“value”:“/”}]},{“name”:“append”,“params”:[{“type”:“msg”,“value”:“payload.code”}]}],“prop”:“payload”,“propout”:“payload”,“object”:“msg”,“objectout”:“msg”,“x”:310,“y”:260,“wires”:[[“b0654751a0160f77”]]},{“id”:“04ebfb1a698e57d6”,“type”:“mqtt in”,“z”:“6f23d4b7727acdfa”,“name”:“”,“topic”:“home/rtl_433”,“qos”:“2”,“datatype”:“auto”,“broker”:“d55660a7.f2b0d”,“nl”:false,“rap”:false,“x”:150,“y”:80,“wires”:[[“5f3145e4cfc91a37”]]},{“id”:“1ca20ed2.dac941”,“type”:“mqtt-broker”,“name”:“14R Hass”,“broker”:“172.16.15.46”,“port”:“1883”,“clientid”:“”,“usetls”:false,“protocolVersion”:“4”,“keepalive”:“60”,“cleansession”:true,“birthTopic”:“”,“birthQos”:“0”,“birthRetain”:“false”,“birthPayload”:“”,“birthMsg”:{},“closeTopic”:“”,“closeQos”:“0”,“closePayload”:“”,“closeMsg”:{},“willTopic”:“”,“willQos”:“0”,“willPayload”:“”,“willMsg”:{},“sessionExpiry”:“”},{“id”:“d55660a7.f2b0d”,“type”:“mqtt-broker”,“name”:“”,“broker”:“172.16.15.46”,“port”:“1883”,“clientid”:“”,“usetls”:false,“compatmode”:false,“protocolVersion”:“4”,“keepalive”:“60”,“cleansession”:true,“birthTopic”:“”,“birthQos”:“0”,“birthPayload”:“”,“birthMsg”:{},“closeTopic”:“”,“closeQos”:“0”,“closePayload”:“”,“closeMsg”:{},“willTopic”:“”,“willQos”:“0”,“willPayload”:“”,“willMsg”:{},“sessionExpiry”:“”}]