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
