Коли ви маєте вимикач та лампу, нічого вам не заважає контролювати напряму стан цієї лампи за допомогою вимикача, але ми не шукаємо простих рішень.
Маємо:
- вимикач
- лампа
- openhab
Бажаємо: підключити лампу та вимикач до openhab, вимикати та вмикати лампу за допомогою цього вимикача.
Апаратне забезпечення: беремо raspberry pi (можна зробити на ESP8266 але є бажання не мати WiFi там, де його можна не мати), на вході зробимо просту схему для захисту (ну якщо вимикач буде далеко, а неподалік буде блискавка), на виході MOC3063 (навіть без додаткового сімістора вона позволяє керувати сучасними лампами).
Виходить щось таке:
Програмне забезпечення: spring-boot java додаток. Додаток можна знайти тут.
Openhab конфігурація: повинна мати такий запис у секції items:
Switch PI1_SW_1 { mqtt=">[broker:/java-switch/gpio/out/GPIO 2:state:OFF:LOW],>[broker:/java-switch/gpio/out/GPIO 2:state:ON:HIGH],<[broker:/java-switch/gpio/in/GPIO 0:state:MAP(HILO.map)]" }
Як наслідок, воно працює. Затримка між командою зі станом та між та командою на зміну стану є приблизно 50 мс.
Як додаток можна подивитись (та змінити) поточний стан за допомогою веб інтерфейсу: