Połączenie Domoticza z asystentem google home z użyciem NODE RED (darmowo)
Instalacja Node-Red:
Włączamy putty logujemy się do naszego raspberry pi i w terminalu uruchamiamy komendę:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Dodajemy do autostartu node-red:
sudo systemctl enable nodered.service
Po zainstalowaniu Node-Red robimy restart raspberry, ale możemy też w Domoticzu użyć opcji uruchom ponownie.
Adres ip Node Red
localhost:1880
http://192.168.0.100:1880/ <<to mój adres
Zainstalujmy dodatkowe Pakiety do node-red:
Manage pallete:
Instalujemy:
node-red-contrib-googlehome oraz node-red-contrib-tasmota
Po zainstalowaniu dodatków może być konieczne zrestartowanie raspberry pi.
Po stworzeniu konta możemy się zalogować i zacząć dodawać nasze urządzenia. Pamiętajcie, że urządzenia nie mogą mieć polskich nazw, bo google po angielsku nie rozumie języka polskiego.
Na naszym telefonie potrzebujemy dwie aplikacje:
Aplikacja do konfigurowania asystenta głosowego (zazwyczaj jest już zainstalowana)
Aplikacja Google Home (do głośników google, ale również do telefonu)
W Aplikacji Google (tej 1) wchodzimy>> więcej>> ustawienia>> asystent google>> sterowanie domem i dodajemy usługę NR-GAB (logując się danymi z konta, które stworzyliśmy powyżej.
Natomiast w Aplikacji google home mamy dostęp do stworzonych przez nas puntków (światła, rolety, wentylator itd).
Mamy stworzone urządzenia, ale nie mamy integracji z Domoticzem.
Integracja po HTTP. Dodatkowo dopisałem numerki odnoszące się do głównego obrazka, a pełna legenda będzie pod wszystkimi zdjęciami.
Tak wygląda podłączenie ^
Oznaczenie brązowe pozwala nam edytować login i hasło z strony na której się zarejestrowaliśmy, a żółte to wybór odbiornika u wczesno dodanego na stronie.
Na czerwono oznaczyłem ważny fragment, a poniżej pamiętajcie o ustawieniu dwóch ścieżek.
Tylko jedno zdjęcie dodaje, bo nie różni się on niczym do obu rozwiązań (tylko linkiem)
treść linku:
True http://192.168.0.100:8080/json.htm?type=command¶m=switchlight&idx=31&switchcmd=On False http://192.168.0.100:8080/json.htm?type=command¶m=switchlight&idx=31&switchcmd=Off
Komunikacja po MQTT. Dodatkowo dopisałem numerki odnoszące się do głównego obrazka, a pełna legenda będzie pod wszystkimi zdjęciami.
Komunikacja po MQTT ^
Oznaczenie brązowe pozwala nam edytować login i hasło z strony na której się zarejestrowaliśmy.
Treść:
if ( msg.payload.params.on === true ) { msg.payload = true; } else if ( msg.payload.params.on === false ) { msg.payload = false; } return msg
Na żółto jest oznaczony wybór serwera MQTT po prawej stronie jest możliwość edycji (brązowy). W zakładce Device ustawiamy Topic sonoffa.
Wysyłanie statusu do Google Home przy zmianie w Domoticzu.
Tak wygląda wysyłanie statusu z domoticza do google home ^
Komunikacja MQTT klikamy na ołówek zaznaczony w brązową ramkę i ustawiamy dane do naszego MQTT. Na żółto oznaczyłem, że będziemy śledzić komunikaty wychodzące z Domoticza.
if (msg.payload.idx == 31) { var Newmsg = { "payload" : {"command": "action.devices.commands.OnOff", "params" : {"on" : false } } } Newmsg.topic = msg.payload.idx if (msg.payload.nvalue == 1) { Newmsg.payload.params.on = true } else if (msg.payload.nvalue === 0) { Newmsg.payload.params.on = false } return Newmsg; }
Nasze statusy zmieniają się prawidłowo po zmianie w domoticzu razem z google home, ale nie zmieniają się prawidłowo. Jeżeli przełącznik fizyczny zostanie naciśnięty to w domoticzu status się zmieni, ale nie zmieni się w google home, żeby działało to prawidłowo musimy dodać Domoticz/IN
Wiadomości przetwarzamy, by następnie przekazać ją do google home.
Ustawiamy dane do logowania, a następnie wybieramy o jakie urządzenie chodzi.
Kolorem żółtym oznaczyłem ważne pola.
Kolorem brązowym pola do edycji.
Kolorem fioletowym numer zdjęcia odnoszący się do pierwszego zdjęcia z danej kategorii.