В библиотеке RemoteSwitch уже идет код под Linux и на Raspberry оно работает без проблем.
https://github.com/ninjablocks/433Utils
Я решал точно такую же задачу. Работает все. Именно под RPi3.
На малине подключен китайский модуль передатчика на 433. В библиотеке надо найти sendcode.c (из папки, что под Linux) и в нем поправить (если нужно) номер pin'а где висит передатчик. Дальше уже извращаться в majordomo нужно. Фактически, там в методах turnOn и turnOff, которые в relays->RCswitch находятся, нужно код вписать, типа вызова внешнего приложения с указанием кода пульта в качестве параметров.

- r01.jpg (92.59 КБ) 5376 просмотров

- r02.jpg (48.22 КБ) 5376 просмотров

- r03.jpg (69.07 КБ) 5376 просмотров

- r04.jpg (117.59 КБ) 5376 просмотров
Коды пультов своих обрезал.
Создаешь в RCSwitches объекты (один на пульт). Далее в каждом таком объекте в полях CodeOn/CodeOff вписываешь коды пультов на включение и выключение (у меня один код на оба действия - писал в полях одинаковые числа, потом надо будет переделать). Далее для каждого объекта меняешь методы turnOn/turnOff. Можно не для каждого объекта, а просто отредактировать основные методы родительского класса Relays, но тут гибкость пропадает, т.к. код будет один на все помещения. Короче, это уже как кому надо. В самом коде у меня вызов скрипта стоит из пункта "Сценарии", но его можно закоментить и раскоментить, что выше идет exec... Там как раз вызов внешнего приложения стоит. Сразу подумай куда его положить, т.к. путь нужно будет указать полный. И еще один момент - коды только от пользователя root можно послать. Это обходится установкой атрибутов на чтение и запуск для всех, но с обязательной установкой первого бита (по скриншоту видно). Тогда Sendcode будет запускаться любым пользователем, но принимать права на выполнения типа от root'а.