Inteligentny dom tanim kosztem, HomeKit, MQTT… kolejny ważny odcinek, wręcz przełomowy. Dziś postaramy się uruchomić oraz skonfigurować brokera (serwer) MQTT i HomeBridge.
Pamiętajcie o innych częściach cyklu INTELIGENTNY DOM TANIM KOSZTEM, HOMEKIT.
Swoją instalację uruchomiłem na dysku sieciowym QNAP i taką konfigurację opiszę. Bez większych zmian będą z niej mogli skorzystać użytkownicy lepszych modeli Synology, a i osoby, które zapragną uruchomić HomeBridge na „malinkach” i ich klonach, również sporo skorzystają z opisu, zwłaszcza konfiguracji.
Podoba Ci się artykuł? Możesz zafundować mi piwo (lub kawę) 😉
Inteligentny dom tanim kosztem, HomeKit, MQTT, HomeBridge.
Musimy zacząć od zainstalowania (jeżeli nie mamy) Container Station w QNAP za pomocą App Center.
Teraz możemy zabrać się za MQTT. Jest to bardzo „lekki” protokół wymiany informacji. Ze względu na prostotę i szybkość przyjął się w IoT, ale nie tylko. Teoretycznie moglibyśmy sobie poradzić, wysyłając komendy przez HTTP, jednak MQTT daje znacznie więcej możliwości i jest też pewną alternatywą dla HomeKit (gdyby Apple raczył zablokować niezgodne urządzenia).
MQTT w QNAP
W Container Station klikamy w „Utwórz kontener”, następnie wpisujemy, w szukaj: „MQTT”. W zakładce IoT powinien nam się pojawić „MQTT Mosquitto…”. Klikamy „Utwórz”. W oknie ustawień możemy zmniejszyć przydział pamięci (spokojnie 64-128MB wystarczy). Na dole klikamy w „Ustawienia zaawansowane”. Wybieramy po lewej „Sieć” i zmieniamy tryb sieci na „Host”. Jest to bardzo ważne, bo bez tego nasze urządzenia nie będą miały łatwego dostępu do brokera MQTT. Klikamy „Utwórz” i chwilę czekamy aż kontener z MQTT, zostanie utworzony i uruchomiony.
Poprawność jego pracy możemy sprawdzić już teraz. Wystarczy zalogować się do naszego przełącznika z wgranym firmware Sonoff-Tasmota, wejść w „Configuration”, dalej w „Configure MQTT”. Jeżeli nie mamy MQTT na liście, to należy sprawdzić w „Configure Other” czy klient MQTT jest włączony.
- W ustawieniach MQTT wpisujemy:
- Host — adres IP naszego brokera MQTT, czyli IP QNAP-a lub „malinki”.
- Port: 1883,
- Client Id nie zmieniamy.
- User i hasło: dowolnie. Będą musiały być zgodne ze wpisanymi w konfiguracji akcesoriów w HomeBridge.
- Topic: nazwę (identyfikator) naszego urządzenia np. sonoff. Po niej będzie rozpoznawane.
Zapisujemy, przechodzimy do menu głównego naszego Sonoffa lub Electrodragona i tam wchodzimy w Console. Jeżeli zobaczymy komunikaty podobne do tego: „21:24:22 MQTT: stat/sonoff205/POWER”, to oznacza, że Sonoff (Electrodragon) nawiązał połączenie z MQTT. Jeżeli widzimy coś podobnego do:
00:00:05 MQTT: Attempting connection... 00:00:06 mDNS: Query done with 0 mqtt services found
To znaczy, że połączenia brak. Winny może być zły adres, jaki wpisaliśmy w ustawieniach MQTT w Sonoffie (user i hasło na tym etapie nie mają znaczenia). Jeżeli adres jest OK, to sprawdźmy w Container Station czy kontener z MQTT pracuje i czy na pewno daliśmy mu tryb sieciowy Host.
Jeżeli akcja z MQTT się powiodła, to zabierzmy się za HomeBridge, będzie trudniej.
HomeBridge w QNAP
Przed dodaniem kontenera dobrze jest przygotować na QNAP miejsce, gdzie będziemy trzymać jego konfigurację. Może to być osobny zasób lub nasz ulubiony, ale z wydzieloną teczką np. HomeBridge.
W Container Station znów klikamy w „Plusa”. W „szukaj” wpisujemy HomeBridge. Tym razem w zakładce „Docker Hub” powinien nam się pojawić między innymi „marcoraddatz/home…”. Przy nim klikamy „utwórz”, wybieramy wersję „latest”. Znów możemy zmniejszyć ilość pamięci (lepiej nie mniej niż 128 MB) i przechodzimy do ustawień zaawansowanych. W sieci koniecznie wybieramy tryb „Host”, a w Foldery musimy „zamapować” utworzoną wcześniej teczkę do odpowiedniej ścieżki w kontenerze HomeBridge. W „Wolumin hosta” wybieramy naszą teczkę, a w „Punkt zamontowania” wpisujemy dokładnie tak jak tu „/root/.homebridge” (bez cudzysłowów oczywiście). Sprawdzamy, czy mamy dla tej pary włączony odczyt i zapis i klikamy w „Utwórz”.
Jeżeli kontener z HomeBridge się utworzy i uruchomi, to w Konsoli pojawi się komunikat o braku pliku konfiguracyjnego. Musimy go stworzyć i zainstalować dodatki (pluginy), bez których HomeBrudge nic nie potrafi.
HomeBridge – konfiguracja
Teraz musimy zacząć od dodania pierwszego „akcesorium” do pliku konfiguracyjnego oraz zainstalować dodatek do jego obsługi.
Opisane niżej pliki muszą znajdować się w katalogu głównym HomeBridge wskazanym podczas jego konfiguracji, czyli np. w wybranym zasobie sieciowym w teczce HomeBridge.
Wszystkie dane konfiguracyjne znajdują się w pliku „config.json”. Można go edytować TextWranglerem, darmową wersją jego następcy: BBEdit, edytorem Atom (tym od wgrywania firmwaru) lub po prostu systemowym TextEdit, ale koniecznie w trybie zwykłego tekstu (menu Format -> Zamień na zwykły tekst). Należy pilnować, aby nazwa pliku była „config.json” i nie pojawiły się za nią żadne dodatki typu .txt (sprawdzamy w Info, czy mamy włączone pokazywanie rozszerzenia dla tego pliku).
Drugi plik to „install.sh”. Jego również dotyczą wspomniane wyżej zasady edycji. Posiadacze „Malinek” mogą dodatki instalować ręcznie bez używania pliku install.sh komendą: „sudo npm install -g nazwa-pluginu” np. „sudo npm install -g homebridge-mqtt-switch-tasmota”.
Możecie pobrać gotowy przykładowy plik „install.sh” lub stworzyć go ręcznie. Jeżeli chcemy zainstalować dodatek do obsługi przełącznika, to plik powinien mieć treść:
#!/bin/bash npm install -g homebridge-mqtt-switch-tasmota
Konfigurację zrobimy na przykładzie mojego pluginu do obsługi przełącznika.
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Chatka", "accessories": [ { "accessory": "mqtt-switch-tasmota", "switchType": "Switch", "name": "Drukarka", "url": "mqtt://10.6.12.13", "username": "ppp", "password": "ppp", "topics": { "statusGet": "stat/sonoff/POWER", "statusSet": "cmnd/sonoff/power", "stateGet": "tele/sonoff/STATE" }, "onValue": "ON", "offValue": "OFF", "activityTopic": "tele/sonoff/LWT", "activityParameter": "Online", "startCmd": "cmnd/sonoff/TelePeriod", "startParameter": "120", "manufacturer": "Itead", "model": "Sonoff WiFi", "serialNumberMAC": "00:01:94:07:4C:02" } ] }
Najważniejsze są linijki:
„accessory”: „mqtt-switch-tasmota”,
Tu wpisujemy nazwę dodatku obsługującego to akcesrium („homebridge-” możemy pominąć).
„url”: „mqtt://10.6.12.13”,
To adres naszego brokera MQTT, w tym przypadku adres NAS QNAP lub „Malinki” z mgtt:// na początku. Musi być on taki sam jak w konfiguracji przełącznika! Do MQTT, który przenosi komunikaty, łączy się zarówno HomeBidge, jak i „Sonoffy”.
„username”: „ppp”,
„password”: „ppp”,
Identyczne jak w ustawieniach Sonoffa!
Wszystkich linijek z nazwami Topików gdzie w przykładzie występuje „sonoff”, dotyczy jedna zasada: ma być dokładnie jak w przykładzie, jedynie „sonoff” (w środku pomiędzy „/”) możemy zmieniać. Jest to nazwa MQTT naszego urządzenia podana w konfiguracji MQTT przełącznika. W naszym przypadku jest to właśnie „sonoff”. Jeżeli będziemy mieli kilka przełączników, każdy musi mieć inną nazwę np. „sonoff001”, „sonoff002”, „salon1”. Ważne, że środek z topika w config.json ma być identyczny z nazwą MQTT w ustawieniach przełącznika.
Jeżeli ustawiliście nazwę „sonoff” dla tego pierwszego, to nic nie musicie zmieniać w przykładowej konfiguracji.
Linijki z „manufacturer”, „model”, „serial…” nie są obowiązkowe, to tylko informacja ułatwiająca identyfikację jak już będziecie mieć tych urządzeń kilkanaście.
W plikach json każdy przecinek ma znaczenie. Dobrze jest sprawdzić naszą konfigurację np. za pomocą serwisu: http://jsonlint.com, aby nie narażać się na poprawianie prostych błędów.
Przygotowane pliki install.sh i config.json wgrywamy do teczki HomeBridge i restartujemy lub uruchamiamy kontener z nim, sprawdzając, czy MQTT również pracuje.
Jeżeli nic nie popsuliśmy, to w konsoli kontenera z HomeBridge powinniśmy zobaczyć „pin” konieczny do sparowania z HomeKit. Jeżeli po uruchomieniu i instalacjo dodatków (może to chwilę potrwać, przebieg będzie widoczny w konsoli) widzimy ten pin i nie ma za nim błędów, a kontenery nadal pracują, to możemy w iPhone uruchomić aplikację „Dom”.
Przy dodawaniu poinformuje nas ona, że urządzenie jest niewspierane, ale nasz przełącznik powinien pojawić się w „domyślnym pokoju”.
Kolejne urządzenia dodajemy do pliku konfiguracyjnego, oddzielając je przecinkiem. Za ostatnim przecinka dodawać nie można.
Np. tak jak w tym pliku: config.json, który zawiera konfigurację dwóch przełączników.
Więcej o konfiguracji dowiecie się z moich profili na npm oraz github. Są tam również inne dodatki do obsługi temperatury, wilgotności, pomiaru mocy (Sonoff Pow), czy sensorów ruchu wraz z przykładowymi konfiguracjami.
W następnej części opiszę jak podłączać do Sonoffów i Electrodragonów dodatkowe sensory, czy przełączniki oraz więcej opcji konfiguracji HomeBridge.
Powodzenia!
Pamiętajcie o innych częściach cyklu INTELIGENTNY DOM TANIM KOSZTEM, HOMEKIT.
Mam pytanie co do czujnika temperatury. Czy to normalne że poza siecią jest problem z aktualizacją temp na homekit? Wszystko inne działa, wilgotność nie daje błędów a temperatura owszem.
Nie, u mnie działa bez problemów. Używasz wersji zwykłej czy z logowaniem?
Uzywam tej Twojej konfiguracji. Do mqqt wysyla raczej ok. Bledow nie widze w logu. Bledy pojawiaja sie tylko poza siecia. Hmm musze to przeinstalowac chyba wszystko zeby bylo na czysto 😉
Pytanie czy stawiałes może tego homebridge na raspberry?
Tak. I homebridge i mosquito (mqqt).
A Korzystałeś z jakiejś sprawdzonej instrukcji jak to pod malina uruchomić bo przetestowałem kilka z internetu i narazie kiepsko u mnie z tym ?
Zadziałało. Żeby uruchomić Orvibo S20 trzeba pokolei wykonać instrukcje z tego postu:
https://smartapfel.de/anlei…
potem z tego
http://pochemuto.com/2016-1…
U mnie wreszcie zadziałało co podrzucam na screenie. (S20 smigaja, Allone nie ale wiadomo to troche inne użądzenie i nie ma go obsługiwanego pod homekit)
Do tego zainstalowany mosquito z oficjalnej strony wg instrukcji i skrypty dzialajace na mqqt leca wg instrukcji Jaromira. Nic wiecej nie robilem
https://uploads.disquscdn.com/images/a72f715433d3eb7ae71760185fa5a126fc55e27befff582151125c1cf90a2c51.jpg

Tak u mnie to wyglada. Teraz widze ze na wifi tez sie raz za czas pojawia problem.
A jaki masz czas powiadomień?
17:21:58 MQTT: tele/sonoff/STATE = {„Time”:”2017-03-20T17:21:58″, „Uptime”:119, „POWER”:”OFF”, „Wifi”:{„AP”:1, „SSID”:”Agata One”, „RSSI”:84}}
17:21:58 MQTT: tele/sonoff/SENSOR = {„Time”:”2017-03-20T17:21:58″, „DHT22”:{„Temperature”:19.9, „Humidity”:46.5}}
17:21:58 MQTT: stat/sonoff/RESULT = {„POWER”:”OFF”}
17:21:58 MQTT: stat/sonoff/POWER = OFF
17:22:58 MQTT: tele/sonoff/STATE = {„Time”:”2017-03-20T17:22:58″, „Uptime”:119, „POWER”:”OFF”, „Wifi”:{„AP”:1, „SSID”:”Agata One”, „RSSI”:84}}
17:22:58 MQTT: tele/sonoff/SENSOR = {„Time”:”2017-03-20T17:22:58″, „DHT22”:{„Temperature”:19.9, „Humidity”:46.4}}
17:22:58 MQTT: stat/sonoff/RESULT = {„POWER”:”OFF”}
A ustawienia inne takie jak w ustawieniach podawanych przez Ciebie tu nic nie zmieniałem. W config.json się to ustawia jakos?
A w config.json jest tak
„accessories”: [{
„accessory”: „mqtt-temperature-tasmota”,
„name”: „Temperatura”,
„url”: „mqtt://192.168.1.14”,
„username”: „ppp”,
„password”: „ppp”,
„topic”: „tele/sonoff/SENSOR”,
„activityTopic”: „tele/sonoff/LWT”,
„activityParameter”: „Online”,
„startCmd”: „cmnd/sonoff/TelePeriod”,
„startParameter”: „60”
},
Tylko teraz patrze na log z homebridge i widze ze sprawdza status tylko
[2017-3-20 17:45:35] [Przelacznik] Przelacznik – Status get z POWERa : false
[2017-3-20 17:46:35] [Przelacznik] Przelacznik – Status get z POWERa : false
[2017-3-20 17:47:35] [Przelacznik] Przelacznik – Status get z POWERa : false
[2017-3-20 17:48:35] [Przelacznik] Przelacznik – Status get z POWERa : false
[2017-3-20 17:49:35] [Przelacznik] Przelacznik – Status get z POWERa : false
A nie sprawdza statusu temperatury i wilgotnosci. Tak ma byc?
Nie… sprawdz konfigurację modułu
Ok, ale w ktorym miejscu. W config.json jest tak jak wpisalem, po stronie sonoffa tez nie wiem gdzie mialbym to sprawdzic. Ktory plik „sprawdzac”
W sonoffie w mqqt ? wiem ze glupio pytam ale nie mam pojecia gdzie tego szukac a juz chwile szukam.
A gdzie ustawialeś na którym złączu jest sensor i typ modułu? Config Configure Module.
No tam jest może 15 linków do kliknięcia…
piwo wisisz 😉
https://uploads.disquscdn.com/images/a69dffd0dec8e788344656e537dc8f585ef48c437d7ab98cc402546c61a7a7c3.jpg

No tak mam ustawione. W konf modulu, innych ustawien nie widze. Tyle ze on ta temp pokazuje tylko nie zawsze
Dziękuję!
A to jest Sonoff Basic Czy TH?
I czy masz sensor 22 czy ten oryginalny Sonoffa?
Mam Sonoffa TH 16 A z wpinanym czujnikiem na 2,5mm
To on jest AM2301 raczej… może dlatego – jest wolniejszy od DTH22
https://uploads.disquscdn.com/images/ea6a627c448917a1bddf0fab77fb0f8a0ebe1912857f3d8b0dbd792981ca9a40.jpg

Tu zmienilem ale w sumie dziala tak samo. Hmm przyjda nowe przelaczniki to sprawdze czy to wina komfiguracji czy urzadzenia
A co w konsoli? Może coś wyłączyłeś? Wgraj najnowszy firmware i zresetuj do ustawień farbycznych (już jest 4.0.7) I móże pisz lepiej iMessages 😉
u mnie też sukces 😉 wielkie dzięki za pomysł i instrukcje ! jak by ktoś coś to mogę się podzielić wiedzą w temacie homebridge na Synology. Mam jedno pytanko: czy jest możliwe zdalne połączenie ?
Masz na myśli zdalne połączenie do HomeKit?
Jeżeli tak, to tak… pod warunkiem, że masz ATV lub iPad, które pełnią rolę „zarządcy domu”.
tak o tym myślałem, ale nie mam AppleTV a iPad nie ma najnowszego iOS-a ;(
Jak możesz posadzić to posadź. Chyba, że to iPad 2
dokładnie 2
Działa bardzo fajnie z Apple TV 4 i dochodzi wtedy możliwość automatyzacji – generalnie świetna sprawa możesz np o zachodzie słońca wyłączać dane urządzenia itp
Cześć, szukam pomocy w stworzeniu całości na Synology. Możesz mi podesłać jakas instrukcje jakim programem to zrobiłeś na synology?
a i jeszcze jedno, w artykule jest mały błąd w części dotyczącej opisu zawartości pliku install.sh
Napisane jest:
„#!/bin/bash
npm install homebridge-mqtt-switch-tasmota”
a powinno być:
„#!/bin/bash
npm install -g homebridge-mqtt-switch-tasmota”
chwilę mi to zajęło zanim do tego doszedłem 😉
A! Dzięki! Już poprawiam…
Mam pytanie czy ktoś konfigurowal to na malince ?? Udało mi się postawic HAP Node z filmu z YouTube wg
https://youtu.be/3RmuXn8eS9s
i działało fajnie łącznie ze zdalnym sterowaniem i automatyzacją poprzez Apple TV i po przeinstalowaniumaliny na czysto niby wszystko działa mqtt i serwer tez startuje i homekit tez wykrywa NodeBridge ale za nic nie chce sparować się z Sonofem.
Może ktoś ma sprawdzony przepis krok po kroku w terminalu na samego Homebridge na Raspberry pi 3 ???
Pomożecie ??
Czy czasem nie masz problemu z adresami w konfiguracji Sonoffa i HomeBridge? Sonoff w logach konsoli www podaje, ze się połączył do MQTT?
Tak łączy się ładnie i rozmawia z mqtt
A jakieś logi z HomeBridge?
W końcu ruszyło coś prawdopodobnie miałem wcześniej nie tak teraz już jest ok i działa. Twój poradnik Jaromir był baaardzo pomocny. Dzieki
Jest jeszcze szansa ze mial jakis problem z username w config.json raz 2h homekit nie widzial w ogole mostka zmienilem na inny i smignelo.
Korzystałem z tej instrukcji
https://youtu.be/3RmuXn8eS9s
oraz tej
https://youtu.be/M4qHXoAyrRs
i za pierwszym razem śmigało ładnie a po przeinstalowaniu teraz nie działa. Może jakieś biblioteki dostały upgrade i coś nie współgra ?
Super czekam na następne odcinki. Próbowałeś może sterować jakoś roletami? Ciekawe czy jest szansa jakoś to spiąc do Homebridga? Co do piwa daj znać co i jak to dogadamy szczegóły 🙂 Pzdrw
Nie, bo nie mam, ale szansa jest bo HomeKit obsługuje. 😉
Jaromir, mam pytanie. Jaki typ sensora wybrać do podłączenia na GPIO14 czujnika ruchu ? Model który mam to HC-SR501. DHT22 działa poprawnie 😉
Czujnik ruchu to przecież przełącznik… czyli Switch. Pamiętaj, że on działa odwrotnie – nie daje GND podczas wykrycia ruchu, a 3,3V czyli ustawiaj „invertert”
na czujniku jest możliwość ustawienia za pomocą zworki, czasu generowania stanu wysokiego w trakcie wykrycia ruchu, gdzie mam ustawić „inverteret” ? w konfiguracji modułu ? nie znalazłem takiej opcji
Przez Consolę WWW możesz ustawić. Poczytaj w Wiki projektu Tasmota
pls HELP ! podpiąłem czujnik ruchu; GPIO14 ustawione na SWITCH; w konsoli zmieniłem SWITCHMODE na wartość INVERTED (Set switch mode to inverted FOLLOW (0 = On, 1 = Off)) i niestety nie działa. Zmiana czułości i czasu stanu wysokiego nic nie dała ;(
ok, już chyba wiem, zasiliłem go napięciem z programatora a on pracuje na zakresie 4.5-20V
już sprawdzam …
Czy te czujki trzeba spiąć z sonoff TH czy może być zwykły tez ??
Drugie pytanie jaki jest zasięg praktycznie tej czujki ?
Ze zwykłym bez problemu (jak wlutujesz piny lub gniazdka).
Producent podaje, że kilka metrów, praktyka to potwierdza.
Zastanawia mnie jeszcze kwestia, jak to wszystko teraz połączyć w logiczną całość.
Mam na myśli zaplanowane działania typu temp. spada poniżej określonego przedziału (jak go zdefiniować), to wykonywana jest akcja pt. włącz grzejnik itp.. Jak i czy wogóle jest taka możliwość w HomeKit ?
Jest, ale musisz użyć aplikacji Elgato Eve. Systemowa DOm nie ma tak złożonych akcji, ale jak ustawisz je za pomocą Eve to ATV4 lub iPpad w roli „zarządcy” będzie je wykonywał w ramach HomeKit.
ok, spróbuje 😉 AppStore chwilowo niedostępny 🙁
Moze byc ATV 3gen ale bez obslugi kamer 😉
… cholera i nic ! jakiś pomysł ?
Masa jest wspólna?
a widzisz, o tym nie pomyślałem. Czujkę zasililem w 100% z zasilacza i z pinu OUT podpiąłem się GPIO14 w SONOFF …
Jak to powinno być ostatecznie połączone ?, nie do końca czuje to wspólne GND a nie chcę bałaganu narobić …
Aby prąd popłynął musi być obwód czyli dwa przewody. Bez podpięcia do masy Sonoffa nie będzie obwodu i nie sprawdzi różnicy potencjałów. Masa (minus) zasilacza musi być połączona z masą Sonoffa, ale tylko masa (i linia danych – czujnika)
aktualne podłączenie:
—– 5V———————————–VCC (czujka)
OUT (czujka)——|
—-GND—-|—————————–GND (czujka) |
| |
| |
—-GND—-|—————————–GND (sonoff) |
GPIO14 (sonoff)——|
—-3.3V———————————-VCC (sonoff)
… i niestety nie działa ;( Już nie mam pomysłu. Co robię nie tak ?
http://gofile.me/3oxPY/FFYpEVEQI
tu jest schemat
Nie otwiera się…
Zrób tak: http://macwyznawca.pl/sensorRuchu.png
nie widzę różnicy ;(
A skąd wiesz, że dobrze skonfigurowałeś Sonoffa?
Sprawdzałeś czy przełączanie działa, gdy podłączasz od pinu GPIO14 3,3V?
Sprawdź też co się dzieje jak 14 zwierasz do GND.
no i jasne, konfiguracja czujnika ruchu na GPIO12 Sonoffa jako „SWITCH” powoduje aktywację oświetlenia skonfigurowanego też na tym sonoffie po podaniu GND na GPIO14
I tak sie działo sama zapalała mi się lampka i nie wiedziałem dlaczego – to czujnik ją wyzwalał, ale nie miałem informacji o wykryciu ruchu.
Jeżeli podam VCC nic się nie dzieje.
Pytanie jak skonfigurować ten czujnik ?
oczywiście GPIO14, czeski błąd ….
Czyli najpierw musisz tak pokombinować z konfiguracją (sprawdź wszystkie tryby switcha) aby po załączaniu 3,3V na GPIO14 załączał się włącznik. Jak to osiągniesz dopiero podpinaj czujkę.
jest lepiej niż było, ale w dalszym ciagu nie ma sygnalizacji ruchu na przycisku w telefonie
poniżej krótki filmik obrazujący problem
http://gofile.me/3oxPY/fMRdAMWcE
A coś tam wogule działa? Bo temp. też jakby nie działała
pozostałe rzeczy są z drugiego sonoffa, który nie jest podłączony.
Na podłączonym mam zdefiniowaną tylko czujkę ruchu.
tutaj mój config.json – http://gofile.me/3oxPY/mYbv09y2M
Nie otwiera się…
A mam pytanie czy ten switch
https://www.itead.cc/sonoff-touch.html
Tak samo mozna zrobic update firmware?
I pytanie czy jest w sumie sens, bo widzialem ze sonoff chwali sie ze na ich sofice wspolpracuje to to z alexa i nestem. Pewnie tasmota ma fajniejszy firmware w sumie nadal pytanie czy w takim gniazdku dalej sie go da wgrac
Ta… współpracuje przez ich chiński serwer. Wyłączy Ci się net i wszystko siądzie. Nie czytałeś I części?
Na stronie Github Tasmota jest opisane z czym działa. Ten jest na liście. Pamiętaj, ze wymaga zasilania. Sprawdź czy masz w gniazdku przełącznika pełne zasilanie, czy tylko kabel do żyrandola
No pelne, w sensie jakbym zamiast przelacznika dal kontakt to by smigalo. 😉 a jak mozna inaczej zamontowac przelacznik? A jesli chodzi o obsluge Alexy to wydaje mi soe ze wczesniej o tym nie pisali ztad moje zdziwienie 🙂 fajnie ze dziala mozna cos pomyslec 🙂
Pełna, że z masą i 23V oraz kablem do żyrandola, a nie tylko kable z 230V i do żyrandola.
Dodali obsługę na serwerze to napisali. Zresztą po co komu alexia?
Niewiem, moze ktos bedzie szczesliwy. 🙂 to ok tak mam to zamawiam.
No tak, tylko w Twoim wypadku chyba musisz uzywac telefonu a nie mozesz przelaczac przelacznikiem fizycznym. A u mnie jednak przelaczanie fizyczne by sie przydalo
Przecież napisałem: podpinam przełącznik między masę a GIPO… ścienny przełącznik. 😉
Narobiłeś smaka że już paczka z Chin już jedzie 🙂 A tak przy okazji kiedy się spodziewać części V ? Mam też pytanie czy planujesz może jakaś wzmianke jak podpiąc rolety pod homekita? Drugie pytanie czy trudno napisac jest swój plugin do homebridga np potrzbuje pod kamerke Foscam ale te gotowe nie działaja tak jak chce? Pzdrw
A czekaj, czyli jest opcja normalnego przelacznika i sonoffa? Ooo masz moze jakis schemat pod reka?
To poczekam do nastepnego odcinka bo az tak mi sie nie spieszy. Jak pisalem kiedys ja jestem laik do potegi n-tej w zwiazku z czyn wole sam nie sprawdzac tylko poczytac od madrzejszych 🙂
super artykuł! Dzięki!
malinka zamówiona… bo w chacie niestety tylko time capsule, a tego nie wykorzystam.. :/
ale sonoffy podpięte, działają i czekają na homebridge bo chinole niebezpieczni 😉
browarek poszedł bo się należy 😉
Dziękuje! Tym razem poszło na kawę 🙂
A kiedy nastepne czesci? 🙂 🙂
Od ostatniego wpisu 4 części minęło już 21 dni a stronę odświeżam po 3 x dzienniew oczekiwaniu na 5 cześć ahhh 🙁
Zbieram doświadczenie… przed świętami nadrobię…
czy takiego HomeBridge’a da rade postawić na windowsie10? Stawiał może ktoś? 🙂
znalazłem opis procesu instalacji homebridga na windowsie, może komuś się przyda:)
zainstalowałem działa – w weekend jak się wyrobie może podepnę akcesoria pod niego 😉
https://github.com/nfarina/homebridge/wiki/Install-Homebridge-on-Windows
Dzięki 😉
czy komuś udało się z powodzeniem uruchomić czujnik ruchu, tak aby otrzymywać powiadomienia i pokazywał się komunikat na ikonie ? nie chodzi nawet o samo podłączenie czujnika, bo to można zasymulować bez niego …
Mi… gdzie utknąłeś?
sam nie wiem,teoretycznie wszystko działa mqtt skonfigurowane, switch przypisany do GPIO, steruje się bez problemu, w consoli widać zmiany stanu, switch mode tez skonfigurowany i przetestowany na wszystkich trybach, już nawet nie podłączałem czujnika tylko podawałem odpowiedni sygnał na GPIO i ciągle nie ma efektu w postaci zmiany stanu ikony …
masz jakiś pomysł ??
Jaki plugin i jego konfiguracja? Bo jedynie tu można czegoś szukać, jak reszta działa?
co masz na myśli w sensie plugina ? aplikacje ? uruchomione mam to na applowej aplikacji Home
Plugin w HomeBridge i jego plik config.json…
takie same jak na Twoim npm
Może adres serwera i hasło też? 😉
sprawdzałem to 100 razy , raczej nie bo inne rzeczy działają …
możemy przejść na imessage ?
ok…
Hello 🙂
To ja tez dołączę sie do pytania – widzę ze to już 5 miesięcy temu więc jest szansa , że to rozwiązaliście ;).
Plugin załadowany , konfig napisany – nie ma błędów – MQTT dostaje komunikaty a ikonka szara. Niema zadnych powiadomień. Patrzałem na wiki i na git’a ale jak dla mnie to mało tych danych. Chyba ze nie widziałem wszystkiego. Np dalej niewiem jak sterowac reszt.a pinow tego samego wemosa. Power 1 , 2 itd – ok ale niewiem jak je umiescic w konfigu który ma dotyczyć przecież tego samego wemosa.Pisanie drugiego z tą samą nazwą ( id urządzenia ) a innym pinem do sterowania konczy sie wysypaniem homebridge’a przy starcie. przydaloby się cos tak szczegółowego jak man w linuxie.Przykładowy konfig rozpisany co i jak i poco. Wiedzę na npm , że są przykłady ale nigdzie niema całości.Moze w nastepnej części to rozwiniesz. Na razie muszę uporać się z tym motion det. Dzieki bardzo za pomoc – dawno nic takiego nie robilem. W czasach Ami miałem ogrzewanie w domu sterowane z A500 a program napisałem w Blitz Basicu , który był rewelacyjny. Amos nie dorastał mu do pięt. A ludki się dziwowały , że komp odczytuje temperature portem joya a steruje dwoma pompami i piecem poprzez parallel port… 🙂
Jak nie masz namiarów to podaj swoje przez: http://macwyznawca.pl/mac/kontakt/
mam pytanko czy wykrywa Wam sonoffa gdy jest niepodłączony?
Bo mam taki problem, że gdy sonnoff jest niedostępny (np wyłączony) to homebridge nie rozpoznaje jego stanu i go normalnie obsługuje – włącza/wyłącza, w aplikacji homie się zaświeca i gasi mimo że jest niedostępny – nie pokazuje żadnego błędu.
Taka specyfika HomeBridge. Jak używasz aplikacji Elgato Eve i skonfigurowałeś w konfigu parametr Activity to pokaże Ci wykrzyknik
dzięki:)
czyli w appce home od apple nie zobaczę i nie rozróżnię sonoffa, który np. nie działa lub jest wyłączony z prądu?
Czy jest możliwość zakupu u Pana gotowego sonoffa współpracującego z home kit?
To nie takie proste… jak byś poczytał to byś wiedział że potrzeby jest jeszcze HomeBridge, który działa na jakimś serwerze np. QNAP lub „Malince, czy innym komputerze.
chodzi mi o cały zestaw z raspberry pi
Jaki byłby koszt takiego zestawu? Na początek chodziło by mi o jeden przełącznik włącz/wyłącz, termometr i sterownik do ledów rgb
Mam pytańko, gdyż na nowo instalowałem homebridge (na windzie) i wszystko poszło bez problemy, dodanie switcha również, ale gdy chce dodać już kolejne akcesorium np temperatury to wywala mi błedy, wcześniej jakoś w ogóle nie miałem z tym problemów, jakoś specyficznie się dodawało te akcesoria? Miał ktoś może taki błąd po dodaniu akcesorium (npm install -g homebridge-mqtt-temperature-tasmota):
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ENODATA: Cache input stream was empty
npm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation.
npm ERR! code EINTEGRITY
npm ERR! errno EINTEGRITY
npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/process-nextick-args: Integrity verification failed for sha512-FRHhKDkqvbO4VsBHyPSajV4vu6JIKv8CWqn/ZFxn8b9AshxHDmG4dgW5UzTBbwNUFxcdAObS+Uh5NzS6YOggrg== (C:UsershomeAppDataRoamingnpm-cache_cacachecontent-v2sha5121511e128392abdb3b856c047c8f49a8d5e2fbba2482aff025aa9ff645c67f1bf40b21c470e61b87605b95334c16f035417171d00e6d2f948793734ba60e820ae)
Jakby ktoś miał podobny problem to znalazłem rozwiązanie:
npm config set package-lock false
jeśli to nie pomoże to pozostaje:
npm cache clear –force && npm install –no-shrinkwrap –update-binary
tylko niestety po tym trzeba dokonać reinstalacji pluginów
Mam pytanie, zastanawiam się nad zakupem jako dysk sieciowy WD My Cloud 2TB. Czy na nim da się zainstalować ContainerStation i działać jak z Qnap’a?
Wie ktoś może jak zmienić ikonki w aplikacji DOM ?? Chciałbym sobie ustawić 3 różne ikony w sytuacji, gdy mam 3 włączniki światła: 1 – lampa sufitowa (sonoff touch), 2 -lampa podłogowa (sonoff basic) i 3 – lampka na biurku (sonoff basic). Na google grafika znajduje wiele screenów, na których są właśnie takie ikonki. Oczywiście w edycji akcesorium a aplikcji mam do wyboru tylko włącznik, światło, wentylator. Nie ma nic innego.
np. tu: https://imgur.com/a/wDkcl
Jaromir!
Jest moc!
Mam Pi 3+ na nim homebridge, mosquitto + oczywiście Twój plugin homebridge-mqtt-switch-tasmota , sanoff basic + firware Sonoff-Tasmota. Wszystko działa jak należy (prawie), i w związku z tym mam jedno pytanie. Jak rozwiązać problem braku powiadomienia do hb niedostępności sanoffa po jego wyłączeniu „z prądu”. W HomeKitcie przełącznik jest nadal dostępny (bez żadnego alertu) i można nim dowolnie „sterować” (włączać/wyłaczać). Brak jest informacji o faktycznym stanie urządzenia (w tym wypadku spodziewałem się zobaczyć ikonkę wykrzyknika na kafelku tego przełącznika). Czy da się to jakoś rozwiązać?
To ja jeszcze dodam od siebie, bo właśnie się doktoryzowałem z tematu, konfigurację Sonoff 4CH z firmwarem Tasmota. Ponieważ mqtt nie współpracuje z „friendly names” nadanym przez www, tylko bierze pod uwagę główną nazwę modułu, konfiguracja kolejnych kanałów w pliku config.json wygląda nieco inaczej:
Kanał 1
{
„accessory”: „mqtt-switch-tasmota”,
„switchType”: „Switch”,
„name”: „sonoff4CH”, #To jest nasza nazwa nadana modułowi przez www
„url”: „mqtt://X.X.X.X”,
„username”: „username”,
„password”: „password”,
„topics”: {
„statusGet”: „stat/sonoff4CH/POWER”,
„statusSet”: „cmnd/sonoff4CH/POWER”,
„stateGet”: „tele/sonoff4CH/STATE”
},
„onValue”: „ON”,
„offValue”: „OFF”,
„activityTopic”: „tele/sonoff4CH/LWT”,
„activityParameter”: „Online”,
„startCmd”: „cmnd/sonoff4CH/TelePeriod”,
„startParameter”: „60”,
}
Kanał drugi i kolejne
{
„accessory”: „mqtt-switch-tasmota”,
„switchType”: „Switch”,
„name”: „sonoff4CH_2”, #nasza dowolna nazwa drugiego kanału
„url”: „mqtt://x.x.x.x”,
„username”: „username”,
„password”: „password”,
„topics”: {
„statusGet”: „stat/sonoff4CH/POWER2”, # tutaj odwołujemy się do nazwy głównej modułu ale po POWER dodajemy nr przekaźnika
„statusSet”: „cmnd/sonoff4CH/POWER2”, # tutaj odwołujemy się do nazwy głównej modułu ale po POWER dodajemy nr przekaźnika
„stateGet”: „tele/sonoff4CH/STATE2” # tutaj odwołujemy się do nazwy głównej modułu ale po STATE dodajemy nr przekaźnika
},
„onValue”: „ON”,
„offValue”: „OFF”,
„activityTopic”: „tele/sonoff4CH_1/LWT”,
„activityParameter”: „Online”,
„startCmd”: „cmnd/sonoff4CH_1/TelePeriod”,
„startParameter”: „60”,
„manufacturer”: „ITEAD”,
„model”: „Sonoff 4CH”,
„serialNumberMAC”: „EC-FA-BC-00-D5-4B”
}
Zestaw: Apple HomeKit+Homebridge+Tasmota+AFE (T5) Firmaware
1. Uruchamiam przekaźnik z AFE T5 z poziomu aplikacji Dom.
2. On zwiera na określony czas wyjście.
3. W aplikacji stan przycisku zmienia się na włączony,
4. Następnie klikam ponownie, przekaźnik zwiera, w aplikacji stan przycisku wyłączony.
Jaki forumowicze polecacie zastosować plugin do homebrige aby status urządzenia (chwilowo zwarty) prezentowany był prawidłowo w HomeKitcie (czyli zawsze „wyłączony”)?
https://www.npmjs.com/package/homebridge-delay-switch
Ten plugin dodaje wirtualny włącznik oraz wirtualny czujnik ruchu.
Robisz dwie automatyzacje:
1. uruchomienie Twojego przekaźnika uruchamia wirtualny włącznik, wirtualny włącznik aktywuje z opóźnieniem wirtualny czujnik ruchu
2. aktywacja wirtualnego czujnika ruchu wyłącza przekaźnik
Mało eleganckie, ale działa.
Zefir!
To jest to! Dzięki! Jak piszesz nie zbyt eleganckie 😉 , ale działa! Jest jeden warunek. W konfiguracji pluginu Jaromira mqtt-switch-tasmota trzeba dezaktywować sekcję OffValue. W przeciwnym razie przełącznik zwierał ponownie w sekwencji automatycznej gdy wirtualny czujnik ruchu wyłącza przekaźnik.
Jeszcze raz dziękuję!
Pozdrawiam,
Czy można zainstalować HomeBridge na WD MY CLOUD?
Jak uruchomić automatyzację „gdy wilgotność powyżej 70%”?
Mam: Sonoff RF + Tasmota 6.4.1 + AM2301 + Homebridge + homebridge-mqtt-humidity-tasmota + Apple Home
Jak rozumiem nie można tego zrobić wyłącznie w aplikacji Home. Zrobiłem więc automatyzację w aplikacji Fibaro. Scena reaguje mi na „jakąkolwiek zmianę wilgotności”, nie mogę uzyskać efektu uruchomienia sceny „gdy wilgotność powyżej 70%”.
Gdzie jest błąd? Czego, jakiej aplikacji używacie do budowania automatyzacji tego typu?
Pozdrawiam!
Może ktoś jest ma metodę na poprawienie wyników z czujników sonoffa, mam th16 z si7021 i działa bardzo dobrze, tylko zawsze zawyża wartość temperatury oraz wilgotności o stałą wartość. Ma ktoś może metodę jak to zmienić, żeby zawsze podawał np. -5% wilgotności i -0,6 C?
Myślę, że możesz (przetestowałem) zrobić to w taki sposób
{
„accessory”:”mqttthing”,
„type”:”temperatureSensor”,
„name”:”lazienka temperatura”,
„caption”:”Sonoff Lazienka N”,
„topics”:{
„getCurrentTemperature”:{
„topic”:”tele/sonoff_06/SENSOR”,
„apply”:”return JSON.parse(message).AM2301.Temperature.toFixed(1)-10.5;”
}
}
}
Dzięki wielkie za odpowiedź, dodałem to jako dodatkowe akcesorium, niestety przy uruchamianiu homebridge, występuje błąd z topikiem. Podmieniłem tylko oznaczenie czujnika AM2301 na swój SI7021.
Rozumiem, że zainstalowałeś na swoim serwerze https://www.npmjs.com/package/homebridge-mqttthing
To co jest w tym parserze odnosi się do tego w jaki sposób twoje urządzenie melduje się na kolejce MQTT.
U mnie dla tego przykładu (podglądając np. log konsoli tasmoty na sonoffie) wygląda to tak:
20:39:20 MQT: tele/sonoff_06/SENSOR = {„Time”:”2019-03-21T20:39:20″,”AM2301″:{„Temperature”:22.3,”Humidity”:53.8},”TempUnit”:”C”} – to jest cała zawartość message. Z niej wyciągamy właśnie interesującą nas wartość tym parserem.
Tak zainstalowałem mqttthing, ciągle ten nowy „czujnik” pokazuje mi 0 stopni, mój message z consoli tasmoty to: 21:33:14 MQT: tele/sonoff_th16_1/SENSOR = {„Time”:”2019-03-22T21:33:14″,”SI7021″:{„Temperature”:22.4,”Humidity”:59.2},”TempUnit”:”C”}
do jsona wpisałem:
{
„accessory”:”mqttthing”,
„type”:”temperatureSensor”,
„name”:”lazienka temperatura”,
„caption”:”Sonoff Lazienka N”,
„topics”:{
„getCurrentTemperature”:{
„topic”:”tele/sonoff_th16_1/SENSOR”,
„apply”:”return JSON.parse(message).SI7021.Temperature.toFixed(1)-2.0;”
}
}
},
Spajd
Wygląda to prawidłowo.
Spróbuj na stronie http://try.jsonata.org/ zweryfikować czy config.json ze swojego homebridga masz prawidłowy (chociaż gdyby nie był to by nie wstał, ale warto sprawdzić).
Po lewej wklejasz całą zawartość config.json, w prawym górnym wpisujesz znak $. Jeżeli w prawym dolnym rogu pojawi się twój json znaczy, że jest OK. Jeżeli nie trzeba poprawić strukturę, aby się zwalidował.
Zapomniałem dodać adresu, użytkownika i hasła:) Wszystko działa poprawnie, dzięki bardzo za pomoc:)
Czy w plugin switch jest możliwość sprawdzania stanu sensora? Np. do sprawdzania stanu otwarcia bramy (GPIO14 Sensor)