Sonoff z czujnikiem temperatury DS18B20 – oprogramowanie do openHAB z MQTT

Poniżej udostępniam oprogramowanie wraz z dokumentacją do przełącznika Sonoff z czujnikiem temperatury DS18B20


Uwaga: oprogramowanie poniżej nie jest przeze mnie już rozwijane, natomiast ewoluowało w kierunku tego tutaj, które sugeruję używać. 


Sonoff z czujnikiem temperatury DS18B20

Przełącznik Sonoff sprawia mi sporo frajdy, więc udostępniam kolejne oprogramowanie, które tym razem rozszerza możliwości przełącznika o czujnik temperatury

Sonoff z czujnikiem temperatury DS18B20

Sonoff z czujnikiem temperatury DS18B20

Sprzęt: 

  • Przełącznik Sonoff
  • Czujnik temperatury DS18B20 na kablu
  • Rezystor 4,7k montowany między 3,3V, a linią danych

Nie zalecam montowania czujnika temperatury wewnątrz przełącznika, gdyż sam przełącznik grzeje się co oczywiście powoduje, że nie uzyskamy realnej temperatury otoczenia.

Poniżej, jak podłączyć czujnik.

Sonoff podłącznie z DS18B20

Sonoff schemat podłączenia DS18B20

Funkcjonalność:

  • Przełącznik (przekaźnik) jest kontrolowany przez wiadomości przesyłane za pomocą MQTT Brokera (np. Mosquitto)
  • Przyciśnięcie przycisku w przełączniku powoduje jego przełączenie (ustawienie przekaźnika) na przeciwny stan: włącz / wyłącz lub wyłącz / włącz
  • Stan przełącznika (przekaźnika) jest publikowany do brokera MQTT przy każdej jego zmianie. Wartości te mogą być później konsumowane przez serwisy jak OpenHAB
  • Wartość czujnika DS18B20 (temperatura) jest publikowana do MQTT Brokera.  Wartości te mogą być później konsumowane przez serwisy jak OpenHAB
  • Wartość temperatury jest publikowana tylko, gdy zmieniała się jej wartości w stosunku do ostatnio opublikowanej wartości do MQTT Brokera
  • Temperatura może zostać skorygowana o zadaną wartość za nim zostanie opublikowana do MQTT Brokera. Wartość do skorygowania ustawia się w części konfiguracyjnej pliku sonoff-ds18b20-mqtt.ino lub poprzez przesłanie odpowiedniej wiadomości MQTT
  • Można ustawić, jak często Sonoff ma odczytywać wartość z czujnika temperatury. Interwał odczytu ustawia się w części konfiguracyjnej pliku sonoff-ds18b20-mqtt.ino lub poprzez przesłanie odpowiedniej wiadomości MQTT
  • Jest możliwość zresetowania przełącznika poprzez wysłanie wiadomości MQTT

Parametry konfiguracyjne:

Parametr Opis
ID ID urządzenia. Używane, aby rozróżnić wiele przełączników w ramach jednej instalacji /  MQTT brokerze. Można ten parametr ustawić ręcznie na dowolną wartość. Należy używać tylko liczb lub znaków. Wartość jest wymagana. Domyślna wartość to wartość ESP8266 ChipID
WIFI_SSID Nazwa sieci WiFi
WIFI_PASSWORD Hasło do sieci WiFi
MQTT_HOST MQTT Broker IP lub nazwa host
MQTT_PORT MQTT Broker port, domyślnie 1883
MQTT_USER Nazwa użytkownika do brokera MQTT
MQTT_PASSWORD Hasło użytkownika do brokera MQTT
MQTT_TOPIC MQTT temat, domyślnie /sonoff/switch/
TEMP_INTERVAL Jak często odczytywać czujnik temperatury. Domyślnie: 600sek
TEMP_CORRECTION Wartość o jaką temperatura z czujnika powinna zostać skorygowana. Domyślnie: 0

Wiadomości MQTT:

Temat Wiadomość Opis
/sonoff/switch/ID/cmd Wejściowa turnON Włącza przełącznik – ustawia przekaźnik w stan ON
/sonoff/switch/ID/cmd Wejściowa turnOFF Wyłącza przełącznik – ustawia przekaźnik w stan OFF
/sonoff/switch/ID/cmd Wejściowa reportStatus Żądanie wysłanie stanu przełącznika. Sonoff odpowiada wiadomością o temacie /sonoff/switch/ID/state
/sonoff/switch/ID/cmd Wejściowa reset Resetuje przełącznik
/sonoff/switch/ID/cmd Wejściowa tempInterval:N

Ustawia, jak często przełącznik powinien odczytywać wartość z czujnika DS18B20. N to liczba sekund. Przykład: tempInterval:60 – oznacza odczyt co 1 minutę. Wartości domyślna to 10min

/sonoff/switch/ID/cmd Wejściowa tempCorrection:N Ustawia wartość korekty temperatury. Przykład: tempCorrection:-1.2 – oznacza obniżenie zwracanej przez Sonoff temperatury o 1.2 stopnia. Wartość domyślna: 0
/sonoff/switch/ID/state Wyjściowa ON Sonoff publikuje wiadomość ON na ten temat, gdy stan przełącznika zostanie ustawiony na ON przez MQTT lub ręcznie przez wciśnięcie przycisku w przełączniku.
/sonoff/switch/ID/state Wyjściowa OFF Sonoff publikuje wiadomość OFF na ten temat, gdy stan przełącznika zostanie ustawiony na OFF przez MQTT lub ręcznie przez wciśnięcie przycisku w przełączniku.
/sonoff/switch/ID/get Wyjściowa defaultState Sonoff wysyła tę wiadomość, za każdym razem, gdy przełącznik jest uruchamiany lub straci połączenie z siecią WiFI. Jest to żądanie o wartości domyślne: stan przełącznika, interwał odczytu czujnika temperatury oraz wartość korekty temperatury. Jeśli MQTT Broker nie odpowie na tę wiadomość ustawiane są wartości domyślne.
/sonoff/switch/ID/temperature Wyjściowa Liczba (temperatura) Sonoff wysyła na ten temat wartość temperatury.

 

Instalacja:

Kroka 1: Ściągnij aktualną wersję oprogramowanie z GitHub

Krok 2: Wprowadź minimalne informacje konfiguracyjne w pliku sonoff-ds18b20-mqtt.ino, czyli:

  • Parametry sieci WIFI
  • Parametry połączenia do MQTT Brokera

Krok 1: Skompiluj plik sonoff-ds18b20-mqtt.ino, a następnie wgraj go do przełącznika używając środowiska Arduino

Uwaga: upewnij się, że masz następujące biblioteki dodane do swojego środowiska Arduino (podziękowania dla ich autorów)

  • DallasTemperature
  • OneWire
  • Ticker
  • PubSubClient
  • ESP8266WiFi

 

Przykłady konfiguracji openHAB z Sonoff z czujnikiem temperatury DS18B20

  • W przykładzie ID urządzenia jest równe 12345
  • W openHAB dodane:
    • openhab-addon-binding-mqtt
    • openhab-addon-action-mqtt
  • MQTT broker skonfigurowany w openHAB pod nazwą: broker
Items:

Reguły

Poniższa reguła wysyła wartości domyślne:

  • wartość stanu przełącznika zapamiętana w openHAB
  • interwał odczytu temperatury z czujnika: 30sek
  • korekta temperatury o -1,2 stopnia

Poniższa reguła służy do aktualizacji wartości przełącznika w openHAB przy ręcznej zmianie stanu przełącznika za pośrednictwem przycisku w przełączniku Sonoff

 

Jeśli masz pytania związane z Sonoff z czujnikiem temperatury DS18B20 zostaw je tutaj

Udostępnij
  • 2
    Shares

adrian

Autor blog'a Smartny Dom

Może Ci się również spodoba

5
Dodaj komentarz

Proszę Zaloguj się aby komentować
1 Wątek skomentowany
4 Odpowiedzi w wątku
2 Obserwujących
 
Komentarz z największa reakcją
Gorący wątek
3 Liczba komentowanych autorów
Marekadrianjacek Ostatnio komentowani autorzy
  Subskrybuj  
najnowszy najstarszy oceniany
Powiadom o
jacek
Użytkownik
jacek

Hej mam taki czujnik jak w tym twoim tutorialu: https://www.smartnydom.pl/rozszerzone-mozliwosci-sonoff-zewnetrzny-wlacznik-temperatura/ ale tam nie ma słowa o oporniku. Teraz nie wiem czy montować czy nie?