środa, 23 maja 2018

Obsługa zdarzeń w Domoticz używając dzVents

Osobiście nie lubię terminu 'inteligentny dom'. Inteligentny może być człowiek, dom może być umiejętnie sterowany na podstawie pewnych zdarzeń. Chociaż oglądając ostatnie poczynania Google Duplex zaczynam powoli zastanawiać się nad zmianą mojej opinii ;)

W poprzednim wpisie opisałem proste zdarzenia na czujnikach, switch'ach, itp. W Domoticz jest (jak napisałem) możliwość wykorzystania kilku schematów zdarzeń:

- bezpośrednio na samych czujnikach
- schematy blokowe w Blockly
- skrypty Lua lub Python
- dzVents

Dzisiaj skupię się na dzVents - wewnętrznym języku skryptów Domoticz. W sumie bazuje na Lua, czyli załatwiamy po części punkt trzeci ;) Takie małe skróty.

Warto zainwestować czas w naukę, ponieważ schematy Blockly, mimo że ładne, swoje ograniczenia mają. Nadmieniam - nie jestem w tym temacie (jeszcze) ekspertem - to moje początkowe próby.

Opieram się na wersji 2.2.0, dostępnej w ostatniej stabilnej wersji Domoticz!

Dokumentacja tej wersji dostępna jest pod linkiem:
https://github.com/domoticz/domoticz/blob/9f75e45f994f87c8d8ce9cb39eaab85886df0be4/scripts/dzVents/documentation/README.md

No bo proszę, jakże naturalne jest wpisanie:

Co 10 minut w dni powszednie uruchom akcje:
- Jeżeli to nie wieczór i nie noc, przepisz wartość zmiennej do innej zmiennej, upewnij się, że światła w salonie wyłączone, a do tego, jeżeli czujka ruchu nie odpowiada - wyłącz światło w łazience

return {
active = true,
on = {
timer = {'Every 10 minutes on mon,tue,wed,thu,fri'}
},
execute = function(domoticz)
if (domoticz.time.isDayTime and domoticz.variables('Zmienna1').value == 10) then
domoticz.variables('Zmienna2').set(15)

domoticz.setScene('Światła Salon', 'Off')

if (domoticz.devices('CzujkaRuchu').lastUpdate.minutesAgo > 5) then
                domoticz.devices('Bathroom lights').switchOff()
            end
end
end
}

To tylko jednak przykład. Sam używam kilku innych skryptów, które okazały się bardzo przydatne.

Zacznijmy od tego jak je pisać i gdzie możemy je znaleźć.

Setup -> More Options -> Events. Tam znajdziemy edytor z kilkoma możliwymi typami:
- Blockly
- Lua
- dzVents
- Python

Nas interesuje aktualnie dzVents i taki typ musimy wybrać przy tworzeniu nowego pliku. Nie zapomnijcie również wpisać nazwy oraz zmienić Event active na włączony. Dla wyjaśnienia - skrypty można tworzyć i z poziomu Raspberry Pi, z basha zapisując je w odpowiednim folderze, ale tutaj mamy pewność, że Domoticz sam je sobie w dobrym miejscu osadzi. I będzie mniej problemu przy przenoszeniu systemu.

Mała sugestia - sprawdzajcie log Domoticz, szczególnie na początku tworzenia - często są tam przydatne informacje - czy skrypt się załadował, czy wystartował, jak działa, w jakiej zmiennej się pomyliliśmy, jaka funkcja ma złą nazwę (patrzcie dokładnie ma małe/duże litery - ma to ogromne znaczenie!).






1. Na początek - nie podobało mi się jak barometr Xiaomi jest prezentowany w Domoticz. Pokazuje złe wartości. Oczywistym jest, że ciśnienie 969 Bar nie jest poprawne... Głupota, szczegół? Owszem, ale uważam, że ten szczegół trzeba poprawić.


No to raz, dwa, trzy:

return {
    active = true,
    on = {
        ['timer'] = {'every 30 minutes'}
    },
    execute = function(domoticz)

    local Baro = domoticz.devices('Xiaomi Baro Kuchnia').pressure
    
    domoticz.devices('Baro Kuchnia').updateBarometer(Baro, domoticz.BARO_NOINFO)
        
    end
}

Zwróćcie uwagę na konstrukcję:
- początek funkcji
- warunek wyzwolenia - tutaj czasowy
- zawartość funkcji

Co zrobiliśmy? Co 30 minut uruchom przepisanie wartości z czujnika do zmiennej, a później zmienną przepisz do osobno założonego czujnika ciśnienia.



I już, działa.

Zauważcie, że czujnik ciśnienia można zaktualizować o parametry, tutaj BARO_NOINFO (czyli nie zmieniamy), ale może on przyjmować również wartości:
BARO_CLOUDYBARO_CLOUDY_RAINBARO_STABLEBARO_SUNNYBARO_THUNDERSTORMBARO_NOINFOBARO_UNSTABLE

Nie jestem fizycznie w stanie opisać tutaj wszystkich parametrów wszystkich czujników - zapraszam do czytania dokumentacji i własnych prób.

2. Kolejny temat - biegam. Dużo biegam. Wstaję rano, banan, woda i w drogę. Ale lubię wiedzieć jak mam się ubrać. Albo inny przykład - w zimie warto wiedzieć czy jest przymrozek.

Oczywiście - można sprawdzić prognozę pogody albo wyjrzeć za okno, ale często gdy wstanę sprawdzam pocztę i akurat takie podstawowe informacje mi pomagają.

return {
    on = {
        ['timer'] = {'at sunrise'}
    },
    execute = function(domoticz)
    local Tmp = domoticz.devices('Temp na zewnątrz').temperature
   
    function round(num, numDecimalPlaces)
          local mult = 10^(numDecimalPlaces or 0)
          return math.floor(num * mult + 0.5) / mult
        end
   
        domoticz.notify('Temperatura', 'O wschodzie słońca było ' ..round(Tmp,1), domoticz.PRIORITY_NORMAL)
    end
}

Tytułem wytłumaczenia - funkcja round() pojawiła się w nowszej wersji dzVents, ja musiałem poszukać innego rozwiązania (Łukasz Rybak - dziękuję).


W sumie przyszło mi do głowy w trakcie pisania, że dobrze byłoby rozwiązanie uczynić bogatszym o dane większej ilości czujników z domu - temperatura w kilku pokojach, status świateł, itp. Zapisuję na liście 'Do zrobienia' :)

3. Jest sobie u mnie w domu ekran do projektora. Wisi (Tak przy okazji to zestaw ekran + projektor to jeden z lepszych zakupów w życiu). Stworzyłem sceny, np. 'Oglądamy film', które wyłączają światła w salonie, włączają subwoofer, projektor i obniżają ekran. Problem z nim jednak był taki, że nie rozwijam go do końca, tylko musi się zatrzymać w konkretnej pozycji. Jak, po wydaniu komendy 'W dół', zatrzymać go? dzVents ma funkcję stop().afterSec().

return {
    active = true,
    on = {
        devices = {
            'Ekran'
        }
    },
    execute = function(domoticz,switch)
        
        if (switch.state == 'On') then
            switch.stop().afterSec(51)
        end
    end
}

Czyli start ręcznie w Domoticz, czekamy 51 sekund, stop. Bajka.

4. Kolejny temat - powiadomienia przy pewnych warunkach. Tutaj - zbyt wysoka temperatura sugeruje, że coś złego może się dziać w domu. Oczywiście można na każdym z osobna to 'wyklikać', ale nie jest to zbyt optymalne.

return {
    active = true,
    on = {
        devices = {
            'Temperatura Salon',            
            'Temperatura Kuchnia',            
            'Temperatura Sypialnia',        
            }
    },
    execute = function(domoticz,device)
        
        if (device.name == 'Temperatura Salon' and device.temperature >= 45) then
            domoticz.email('Możliwy pożar!', 'Zbyt wysoka temperatura!', 'adres@gmail.com')
        end 
        if (device.name == 'Temperatura Kuchnia' and device.temperature >= 45) then
            domoticz.email('Możliwy pożar!', 'Zbyt wysoka temperatura!', 'adres@gmail.com')
        end
        if (device.name == 'Temperatura Sypialnia' and device.temperature >= 45) then
            domoticz.email('Możliwy pożar!', 'Zbyt wysoka temperatura!', 'adres@gmail.com')
        end        
    end
}

Dodajcie swoje warunki (np. tylko w nocy, bo wtedy na pewno nie świeci słońce na termometr) i do dzieła!

5. Jak do tej pory najciekawsza funkcja, którą zrobiłem to 'Tryb wakacyjny'. 

Nie ma się co śmiać, dopiero zaczynam ;)

Mam oto przełącznik w Domoticz, który zowie się 'Wakacje'. I pod niego powoli podpinam różne akcje. Na przykład: gdy wyjedziemy, Domoticz ma włączyć światła o losowej minucie po 22:00 (ale w zakresie 30 minut) i wyłączyć również losowo po 23:30. Taki symulator tego, że ktoś jest w domu.

local RANDOM_DELAY_MINS = 30
return {
active = true,
on = {
['timer'] = {
'at 22:00',
'at 23:30'
}
},
execute = function(domoticz,_,triggerInfo)

        if (domoticz.devices('Wakacje').state == 'On') then

if (domoticz.devices('Kinkiety').state == 'Off') and (triggerInfo.trigger == 'at 22:00')
then 
domoticz.devices('Kinkiety').switchOn().withinMin(RANDOM_DELAY_MINS)
domoticz.email('Światła włączone!', 'Światła włączone!', 'adres@gmail.com')
else 
    domoticz.devices('Kinkiety').switchOff().withinMin(RANDOM_DELAY_MINS)
domoticz.email('Światła wyłączone!', 'Światła wyłączone!', 'adres@gmail.com')
end

end

end
}

Mam tam jeszcze kilka innych 'ifów', ale ważny jest początek i sens funkcjonalności. Rozbudować go można dowolnie - włącz raz na górze, raz na dole, w zależności od dnia tygodnia włącz różne, itp., itd. Ogranicza Was wyobraźnia. No i czas :D

6. Funkcja z dnia wczorajszego ;) Powiadomienie, jeżeli drzwi są otwarte zbyt długo, a jeżeli są, to przez jaki czas. Dla drzwi na taras dałem limit 30 minut, bo są częściej i dłużej otwierane. Dla drzwi na inny taras - krótszy okres, bo praktycznie ich nie używamy. Zwróćcie uwagę na drugi warunek - jeżeli czas jest mniejszy niż 3 * limit - czyli w tym przypadku na przykład dla 'Drzwi - czujnik' jest to 90 minut - przestań wysyłać powiadomienia, bo widocznie tak ma być. Oczywiście po zamknięciu zmienne zostaną wyzerowane.

local devicesToCheck = {
{ ['name'] = 'Drzwi - czujnik', ['threshold'] = 30 },
{ ['name'] = 'Drzwi mały taras', ['threshold'] = 10 },
}

return {
active = true,
    on = {
        timer = {'every 10 minutes'},
    },
    logging = {
        level = domoticz.LOG_DEBUG,
        marker = "Door"
    },    

execute = function(domoticz)
    local times = 3
for i, deviceToCheck in pairs(devicesToCheck) do
local name = deviceToCheck['name']
local threshold = deviceToCheck['threshold']
local state = domoticz.devices(name).state
local minutes = domoticz.devices(name).lastUpdate.minutesAgo

if ( state == 'Open') then 
    if (minutes > threshold) and (minutes < 3 * threshold) then
        domoticz.notify('Device ' .. name .. ' otwarte ' .. minutes .. ' minut.', domoticz.PRIORITY_HIGH)
                end
end
end
end
}


Jak na razie to koniec - mam jeszcze kilka zdarzeń podpiętych, ale nie są aż tak warte opisania. Do tego kilkanaście kolejnych w głowie, które muszę sobie stworzyć.

Dzięki temu system nabiera sensowności. Bo cóż z tego, że sprawdzam temperaturę, jeżeli nic za tym nie idzie? Dopiero obudowanie Domoticz reagowaniem na czynniki zewnętrzne tworzy nam rozwiązanie godne miana 'Smart home'.

Przyjemnego kodowania życzę!

piątek, 18 maja 2018

Mi Light - podłączamy, parujemy, dodajemy w Domoticz

To się chyba nigdy nie skończy :D Coraz więcej rozwiązań, coraz więcej możliwości!

Skoro już robiliśmy remont i sufit podwieszany - nie obejdzie się bez LEDów. A jeżeli LEDy - to nie pozwoliłbym sobie na zakup tylko takich sterowanych pilotem. Postawiłem na Mi Light. Jest to już pewnym standardem, jest kilka innych rozwiązań, jednak cena i wsparcie mnie tutaj przekonały.

Jak to u mnie - bez problemów ani rusz. Kupiłem, ze względu na ograniczenia czasowe, na 'znanym polskim serwisie'. Od razu piszę, że nie było żadnych problemów, błyskawiczna przesyłka, fachowe podejście, ale... Nie chciało działać z Domoticz.

Co się okazało? Kupiłem sterownik JEDNOSTREFOWY. Który, owszem, świetnie działa z pilotem, aplikacją Mi Light, ale NIE z Domoticz. A przecież to było celem! Damn me! Nic to - pozostały szybkie zakupy w Chinach.

Nowinka - na stronie http://cezarowy.blogspot.se/p/co-na-stanie-ma-cezar.html dodałem spis sprzętów i oprogramowania z jakiego korzystam wraz z cenami, linkami, itp. Ceny podane są na moment mojego zakupu, mogę się więc (czasem znacznie) różnić od tego co Wam się uda upolować.

Ten poniżej jest JEDNOstrefowy. Działa z pilotem (również jednokanałowym) Mi Light, aplikacją, itp. bez problemu, ale z Domoticz go nie sparujecie. Warto wiedzieć.


A ten - i owszem. CZTEROstrefowy.


I taki oto pilot do niego pasuje.


WiFi iBox w wersji 2. On z kolei jest potrzebny, aby sterować przez WiFi. Czyli aplikacją w telefonie (bajer) i przez niego możemy się dostać do Domoticz (mniam, na to czekamy).




W aplikacji Mi Light parowanie w sumie w standardowy sposób jak w innych urządzeniach:
- reset routera iBox
- z poziomu telefonu zalogowanie się do sieci urządzenia (Milight*)
- konfiguracja za pomocą AP
- podanie użytkownika/hasła do swojej sieci
- wyłączenie zasilacza LED
- teraz wymagana zręczność - włączenie i sparowanie strefy (Zone1, Zone2, etc.) do 3 sekund po włączeniu. U mnie, z nieznanych mi na razie przyczyn, sterownik sparował się tylko do strefy 2



Jeżeli uda się sterować kolorem, natężeniem, programami za pomocą aplikacji to praktycznie jesteśmy już w domu.

Z ciekawostek: do iBox'a można się zalogować przez WWW. Wystarczy podać adres, standardowo użytkownik/hasło to admin/admin. Możemy tam skonfigurować wszystkie parametry. Co prawda nie widziałem tam jakichś magicznych sztuczek, ale warto wiedzieć, że jest możliwość.


W Domoticz dodajemy Limitless/AppLamp/Mi Light with LAN/WiFi interface, podajemy IP. WAŻNE! W sieci są podane dwa porty do sterowania. W starszych wersjach był to 8899, teraz jest to 5987.


W sekcji Devices pojawią nam się wszystkie strefy, nawet jeżeli mamy zaprogramowaną tylko jedną.

Dla wyjaśnienia. Group1 do Group4 to oczywiście nasze strefy. AppLamp All to włączenie/wyłączenie wszystkich stref.


A AppLamp Bridge to inna wersja iBox'a - ona sama w sobie również świeci, dlatego możemy nią sterować.


Po dodaniu naszej strefy mamy nowy Switch:


Włączanie/wyłączanie,  wybór jasności, koloru - standardowy dla Domoticz sposób wyboru. Podobnie jak w przypadku Yeelight.

Ale dla mnie to mało. Jak zawsze. Tak jak pisałem wcześniej - we włącznikach Xiaomi wykorzystałem tylko trzy z czterech dostępnych włączników. Ostatni, czwarty, intencjonalnie został pozostawiony na pasek LED.


Dodany już jest, fizycznie nie jest podłączony pod żaden kabel, więc mogę mu dodać funkcję taką, jaka mi się podoba.

Edytujemy...

i przypisujemy akcje pod On oraz Off:

http://192.168.1.200/json.htm?type=command&param=setcolbrightnessvalue&idx=305&hex=FFFFFF

http://192.168.1.200/json.htm?type=command&param=switchlight&idx=305&switchcmd=Off

Chciałem mieć białe światło po włączeniu, dlatego wartość HEX jest równa FFFFFF. Każdy z dwójki bitów określa jaką chcecie mieć wartość RGB (Red, Green, Blue - Czerwony, Niebieski, Zielony).

W IDX oczywiście IDX urządzenia w Domoticz.

Działa! 

'Alexa, living room off' i dobranoc!

czwartek, 10 maja 2018

Domoticz i zmiana domyślnych ikon (dla pewności - na przełącznikach :) )

Domoticz jaki jest każdy widzi. Działać - działa, jest dość schludny, ale na pewno nie piękny.

Można zrobić jednak kilka rzeczy, żeby wyglądał lepiej. Na przykład zmienić niektóre ikony, żeby go ożywić.

Społeczność Domoticz stworzyła pewną bazę ikon, które można zobaczyć tutaj:
https://drive.google.com/drive/folders/0B-ZLFoCiqzMRSkFaaWdHV1Qxbm8. Nie jest imponująca, znalazłem jednak kilka, które mi się spodobały.

Aktualizacja. Kolega z bloga https://raspberrywpraktyce.wordpress.com/ sugeruje również link: https://drive.google.com/drive/folders/0B4fi5h8mtKF3UVpkcXBoVFNJUkU

Jeżeli ktoś ma talent - można zrobić swoje. Powinny zawierać trzy statusy (miniatura, On, Off), mieć plik txt z nazwami i być zarchiwizowane w ZIP. Z wyżej wymienionej strony ściągamy potrzebny plik zip i postępujemy zgodnie z poniższym.


Przechodzimy do Setup -> More Options -> Custom Icons


Wskazujemy plik do załadowania, wybieramy Upload. Ikona pokaże się na liście.


Później przechodzimy do wybranego Switch'a, wciskamy Edit.


Z rozwijalnej listy wybieramy ikonę, którą chcemy użyć.


Moim zdaniem jest to pewne urozmaicenie.

Większość z niedogodności domyślnego wyglądu Domoticz została usunięta w skórce Aurora (na przykład podgląd na żywo z kamer), ale wymaga wersji Beta Domoticz, na co się osobiście na razie nie chcę zdecydować.

środa, 9 maja 2018

Kamera IP w Domoticz

Dzisiaj krótki post, prosty temat, może jednak nie dla wszystkich znany. Szczególnie końcówka.

Kamery IP w Domoticz. Prawdę mówiąc niezbyt mi się ich obsługa w Domoticz podoba. Nie można osadzić ich w żaden sposób aby stale pokazywał się obraz na żywo. Z pomocą przyszedł Dashticz, ale to inna historia.

Jednak trzeba się cieszyć z tego co jest i to wykorzystać.

Przechodzimy do Setup -> More Options -> Cameras.


I tutaj zaczyna być ciekawie. Większość kamera pozwala na dostęp przez adres IP i adres URL do obrazka/źródła obrazu. Ja korzystam z kamer D-Link, chciałem być pewien, że wszystko będzie działało bez problemu, jednak warto poszukać Waszych modeli przed zakupem na stronie http://www.ispyconnect.com/sources.aspx, gdzie są podane wszelkie możliwe modele wraz z możliwym dostępem.

Wpisujemy nazwę, adres IP, port, użytkownika, hasło (jeżeli wymagane) i koniecznie ImageURL. Mnie osobiście Test Connection nigdy nie działa, ale możecie spróbować ;)


Po dodaniu kamery obraz się jednak pokazuje, a o to nam przecież chodziło.


Czyli jest, działa. Można używając zaznaczonych ikon zrobić zdjęcie lub wybrać pokaz obrazu na żywo.

Jednak wchodzenie (szczególnie na telefonie, tablecie) cały czas na zakładkę z kamerami i sprawdzanie nie jest, delikatnie mówiąc, najbardziej komfortowe. Tutaj mi doskwiera brak jakiegoś sensownego mechanizmu to wspierania pokazywania obrazu.

Obejście, jak zwykle, jest ;) Stworzyłem do każdej kamery Virtual Switch.


Następnie na stronie konfiguracji kamer połączyłem switch z kamerą.


Po tej operacji mam dwa przełączniki. Jeżeli kliknę w ikonę z kamerą, na ekranie pojawia się obraz z kamery. Ciągle niezbyt wygodnie, ale chociaż tyle, że mam je na moim Dashboard'zie z możliwością szybkiego dostępu.


Kolejne informacje udostępnił kolega na blogu: https://raspberrywpraktyce.wordpress.com/2018/01/26/obsluga-kamery-foscam-fi8918w-w-domoticzu/. Znajdziecie tam sposób konfiguracji powiadomień na e-mail, obsługę zdarzeń przez Blockly, etc.

Tasmota i MQTT w Domoticz

Dzień dobry. A może dobry wieczór?

W jednym z poprzednich wpisów opisałem sposób załadowania alternatywnego (albo głównego - zależy od podejścia) oprogramowania do sprzętów Sonoff. Piszę sprzętów, ponieważ ich oferta jest dość bogata i stale się powiększa. Sonoff Basic, Sonoff TH (z termometrem), Sonoff Pow (z pomiarem energii), Sonoff G1 (z miejscem na kartę SIM, dla kontaktu w miejscach bez WiFi), gniazda Sonoff S20, Sonoff Touch (naścienne włączniki zdalne), sterowane uchwyty do żarówek - 'żyć, nie umierać', jak to mówią.

Do roboty!

Po pierwsze, jak zawsze, aktualizujmy nasz system. Ja ciągle opieram się na raspbian Jessie, w tym przypadku różnic jednak nie powinno być.

sudo apt-get update
sudo apt-get upgrade

I teraz chwila wstępu. Czym jest MQTT i czemu jest używany? Cytując Wikipedię : 'oparty o wzorzec publikacja/subskrypcja, ekstremalnie prosty, lekki protokół transmisji danych. Przeznaczony jest do transmisji dla urządzeń niewymagających dużej przepustowości. Poprzez ograniczenie prędkości transmisji, protokół zapewnia większą niezawodność. Protokół ten idealnie sprawdza się przy połączeniach maszyna-maszyna, w internecie rzeczy (IoT), w urządzeniach mobilnych, oraz tam, gdzie wymagana jest oszczędność przepustowości, oraz energii.'

Tasmota korzysta akurat z MQTT.

Czyli jest serwis, który nasłuchuje, oczekuje i wysyła pewne komunikaty. W Domoticz obsługa tego protokołu jest zaimplementowana w szczątkowy sposób, ale jest. Jeżeli chcielibyśmy z niego korzystać w większym stopniu, musimy się przygotować do przejścia na Home Assistant.

Przystępujemy do instalacji Mosquitto, najpopularniejszego brokera na Raspberry Pi.

sudo apt-get install mosquitto mosquitto-clients

W sumie tyle - już działa :)

Wystarczy skonfigurować użytkownika, nadać mu hasło za pomocą komendy:

sudo mosquitto_passwd -c /etc/mosquitto/passwd [username]

I możemy 'podsłuchiwać' co się dzieje na naszym kanale.

Komenda która podsłucha wszystkie kanały to:

mosquitto_sub -h localhost -t "#" -u "username" -P "password" -v

'#' Oznacza wszystkie w tym przypadku.

Przy okazji - ponownie podziękowania dla Macieja za pomoc przy ogarnięciu tematu.


Jak widać - komunikaty już sobie 'latają'. Obrazek trochę wyprzedza późniejszą konfigurację - bez skonfigurowania MQTT na Sonoff żaden komunikat oczywiście nie zostanie wysłany...

Skonfigurujmy Domoticz, aby obsługiwał MQTT.

Zaczynamy od Hardware, dodajemy 'MQTT Client Gateway with LAN interface', podając tam dane brokera MQTT. Podajemy IP, port (domyślnie 1883), wcześniej założonego użytkownika i hasło. Publish Topic zostawiamy na Out.


W sekcji Hardware (ponownie) tworzymy kolejny element typu Dummy, z jego poziomu tworzymy Virtual Switch i zapamiętujemy jego IDX. Można również wykorzystać już istniejące. U mnie są ogólnie nazwane ESP.



Jak widać, Domoticz już wysyła komunikaty:


Teraz skupimy się na naszym włączniku Sonoff i wgranym sofcie Tasmota.

Wchodzimy, przez stronę, w konfigurację i wybieramy Configure MQTT. Dla pewności - adres IP naszego Sonoff (jak i innych sprzętów możemy znaleźć za pomocą na przykład za pomocą programu Advanced IP Scanner - http://www.advanced-ip-scanner.com). Ten adres IP musimy później podać w przeglądarce internetowej.




Podajemy nasze parametry MQTT.


Następnie Configure Domoticz i w Idx 1 podajemy IDX naszego Switcha. Jeżeli macie inne wersje Sonoff (z termometrem, licznikiem zużycia energii, itp.) musicie podać Wasze IDX odpowiednich czujników w Domoticz.


Po zapisaniu od razu można użyć przełącznika w Domoticz, będzie współpracował z MQTT.

Mission accomplished!

Ku pamięci (bardziej mojej). Można stworzyć pliki konfiguracyjne, jeżeli ich potrzebujecie.

sudo nano /etc/mosquitto/conf.d/mosquitto.conf

I kopiujemy:

# Config file for mosquitto
#
# See mosquitto.conf(5) for more information.

user mosquitto
max_queued_messages 200
message_size_limit 0
allow_zero_length_clientid true
allow_duplicate_messages false

listener 1883
autosave_interval 900
autosave_on_changes false
persistence true
persistence_file mosquitto.db
allow_anonymous true
password_file /etc/mosquitto/passwd