Spis treści
- Informacje podstawowe
- Instalacja
- Konfiguracja
- Podłączanie czujnika temperatury DS18B20
- Wymiana danych / MQTT
- Konfiguracja openHAB
- Informacje na temat nowych wersji oraz zgłaszanie problemów
Przełącznik Sonoff z tym firmware można podłączyć do każdego systemu sterowania automatyką, który umożliwia współpracę z urządzeniami za pośrednictwem protokołu MQTT. OpenHAB jest jednym z takich systemów.
Wymagania
- Zainstalowany i skonfigurowany MQTT binding w openHAB
W openHAB 1
- dodatek ten można zainstalować korzystając z linii poleceń
sudo apt-get install openhab-addon-binding-mqtt sudo apt-get install openhab-addon-action-mqtt
W openHAB 2
- z wykorzystaniem interfejsu PaperUI lub
- dodanie do pliku konfiguracyjnego /etc/openhab/services/addons.cfg wpisu„mqtt” na końcu poniższego parametru konfiguracyjmego:
- binding = mqtt
- action = mqtt
Konfiguracja MQTT w OpenHAB
Dla openHAB 1
- w pliku /etc/openhab/configuration/openhab.cfg odszukujemy sekcję MQTT Transport oraz konfigurujemy tam dostęp do naszego MQTT Brokera
Przykładowo:
mqtt:broker.url=tcp://localhost:1883 mqtt:broker.clientId=openHAB mqtt:broker.user=openhab mqtt:broker.pwd=haslo
Dla OpenHAB 2
- w pliku /etc/openhab/configurations/addons/mqtt.cfg wpisujemy parametry konfiguracyjne do MQTT Brokera
Przykładowo:
broker.url=tcp://localhost:1883 broker.clientId=openHAB broker.user=openhab broker.pwd=haslo
Items
Zakładając, że w konfiguracji przełącznika Sonoff wpisaliśmy MQTT Topic = /sonoff/kuchnia/, a przekaźnik numer 1 nazwaliśmy: lampa, przekaźnika 2 nazwaliśmy: czajnik
W pliku *.items dodajemy:
Switch sonoff_dual_1 "Lampa" {mqtt=">[broker:/sonoff/kuchnia/lampa/cmd:command:ON:ON],>[broker:/sonoff/kuchnia/lampa/cmd:command:OFF:OFF"} Switch sonoff_dual_2 "Czajnik" {mqtt=">[broker:/sonoff/kuchnia/czajnik/cmd:command:ON:ON],>[broker:/sonoff/kuchnia/czajnik/cmd:command:OFF:OFF"} Switch sonoff_dual_both "Lampa i czajnik" {mqtt=">[broker:/sonoff/kuchnia/cmd:command:ON:ON],>[broker:/sonoff/kuchnia/cmd:command:OFF:OFF"} Switch sonoff_dual_1_get {mqtt="<[broker:/sonoff/kuchnia/lampa//get:state:ON:defaultState]"} Switch sonoff_dual_2_get {mqtt="<[broker:/sonoff/kuchnia/czajnik/get:state:ON:defaultState]"} Number sonoff_dual "Opcje"
Sitemap
Do pliku konfiguracyjnego *.sitemap dodajemy
Switch item=sonoff_dual_1 Switch item=sonoff_dual_2 Switch item=sonoff_dual_both Switch item=sonoff_dual mappings=[1="Konfiguracja", 2="Access Point", 9="Reboot"]
Reguły
Do pliku z regułami*.rules dodajemy
rule "Sonoff DUAL: opcje" when Item sonoff_dual received update then if (sonoff_dual.state==1) { publish("broker", "/sonoff/kuchnia/cmd", "{reboot:Configuration}"); } else if (sonoff_dual.state==2) { publish("broker", "/sonoff/kuchnia/cmd", "{reboot:AccessPoint}"); } else if (sonoff_dual.state==9) { publish("broker", "/sonoff/kuchnia/cmd", "{reboot:Normal}"); } end rule "Sonoff DUAL: relay 1 wartosc domyslna" when Item sonoff_dual_1_get changed then if (sonoff_dual_1_get.state==ON) { sendCommand(sonoff_dual_1_get,OFF) if (sonoff_dual_1.state==ON) { sendCommand(sonoff_dual_1,ON) } else { sendCommand(sonoff_dual_1,OFF) } } end rule "Sonoff DUAL: relay 2 wartosc_domyslna" when Item sonoff_dual_2_get changed then if (sonoff_dual_2_get.state==ON) { sendCommand(sonoff_dual_2_get,OFF) if (sonoff_dual_2.state==ON) { sendCommand(sonoff_dual_2,ON) } else { sendCommand(sonoff_dual_2,OFF) } } end