Firmware Sonoff Dual Konfiguracja openHAB

Spis treści


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