środa, 28 września 2016

Instalacja Domoticz z obsługą ImperiHome na Raspberry Pi 3

Dzisiaj opiszę jak zainstalować Domoticz na Rasberry Pi 3 na nowym Raspbianie Jessie With Pixel - wersja z 23 września 2016 roku.

Najpierw musimy pobrać obraz systemu z oficjalnej strony Raspberry Pi -> Link

Po pobraniu obrazu należy go zainstalować na karcie micro sd za pomocą programu Win32 Disk Imager, do pobrania stąd -> Link

Po zainstalowaniu programu Win32 Disk Imager na Windows wkładamy kartę sd do czytnika kart sd w komputerze i uruchamiamy go jako administrator, czyli klikamy prawym klawiszem na ikonie programu i wybieramy -> Uruchom jako adminstrator.


Wybieramy wcześniej rozpakowany obraz 2016-09-23-raspbian-jessie.img, odpowiedni dysk i klikamy zapisz.


Zależnie od prędkości zapisu karty sd wgrywanie potrwa parę minut.
Po wgraniu obrazu powinien pokazać się komunikat Zapis pomyślny, klikamy OK, wyjmujemy kartę sd i wkładamy do Rasberry Pi z podłączonym przewodem HDMI do telewizora lub monitora oraz klawiaturą i myszką USB oraz podłączonym przewodem sieci lan do routera, jeżeli nie będziemy używać wifi.

Włączamy zasilanie Raspberry Pi i czekamy chwilę, aż uruchomi się Raspbian.

Klikamy w ikonkę malinki u góry po lewej stronie i wybieramy: Prefrences -> Raspberry Pi Configuration i klikamy Expand Filesystem, aby rozszerzyć rozmiar pamięci na karcie sd do maksymalnego rozmiaru jaki ma karta sd.

Następnie zmieniamy sobie hasło w Change Password i ewentualnie Hostname - ja zmieniłem sobie je na Pi.

Teraz ustawiamy jeżyk polski w zakładce Localisation -> Set Locale -> Lanaguage -> pl Polish, Country: Poland i UTF-8, następnie ustawiamy strefę czasową w Set Timezone -> Area: Europe, Location: Warsaw, Set Keyboard: Poland -> Polish i jeżeli będziemy używać Wifi, to ustawiamy Wifi Country: PL Poland, kikamy Ok i Yes i po restarcie będziemy mieli wszystko ustawione.

Teraz sprawdzimy sobie przydzielony adres IP wpisując w konsoli: ifconfig. Konsola znajduje się u góry w menu pod nazwą LXTerminal.

Inet addr to będzie nasze ip.

Teraz już nie będzie potrzeby robienia niczego bezpośrednio na samym Raspberry Pi i będziemy sobie wszystko robić z poziomu komputera.

W tym celu ściągamy i instalujemy program Bitvise -> Link

Po uruchomieniu programu w Host wpisujemy nasze ip, Port: 22, Username - takie jak ustawiliśmy Hostname, ja ustawiłem sobie pi i wpisujemy hasło, czyli Password i klikamy Login oraz Accept and Save.


Teraz będziemy mieli dostęp do terminala - czarne okienko.

Aby zainstalować Domoticz wpisujemy kolejno:

mkdir ~/domoticz
cd ~/domoticz
wget http://releases.domoticz.com/releases/beta/domoticz_linux_armv7l.tgz
tar xvfz domoticz_linux_armv7l.tgz
rm domoticz_linux_armv7l.tgz

Zalecam zainstalować wersję beta jak wyżej, ponieważ ma wiele poprawek.

Teraz jeszcze ustawiamy Domoticz, aby uruchamiał się przy restarcie raspberry Pi, wpisując kolejno:

sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults

Przeprowadzamy test Domoticz poleceniem:

sudo ./domoticz

Wciskamy CTrl+C i uruchamiamy Domoticz poleceniem:

sudo service domoticz.sh start

Domyślnym portem Domoticz jest port 8080.

Wpisujemy więc w przeglądarkę ip raspberry pi i po dwukropku port 8080, czyli w moim przypadku:

192.168.3.13:8080

Po wpisaniu powinien pokazać się panel Domoticz.

Klikamy Setup -> Settings i zmieniamy sobie język na polski w Language na Polish i w Location wybieramy naszą lokalizację i klikamy Apply Settings, teraz będziemy mieli wszystko w języku polskim.

Teraz jeszcze musimy dopisać sieci w ustawieniach, więc klikamy Konfiguracja -> Ustawienia i wpisujemy adresy ip z zakresu naszej sieci, czyli w moim przypadku będzie to: 192.168.3.*;127.0.0.*



Zmieniamy jeszcze kanał aktualizacji na Beta i klikamy Zastosuj Ustawienia.


Teraz już możemy dodawać Urządzenia i Sprzęt w zakładkach: Urządzenia i Sprzęt.

Teraz zainstalujemy program do obsługi ImperiHome na tablecie lub telefonie.

Na stronie Domoticz jest opis jak, to zainstalować, ale pojawia się problem z instalacją Node JS -> Link

Instalujemy więc najpierw nowszą wersję Node Js poleceniem:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

A następnie:

sudo apt install -y nodejs

Teraz sprawdzamy wersję node js poleceniem:

node -v

Powinna się wyświetlić wersja:

v6.6.0

Teraz jeszcze sprawdzamy wersję npm poleceniem:

sudo npm —version

Powinna być wersja:

npm@3.10.3

Teraz instalujemy pakiet Debian:

wget -qO - http://www.e-nef.com/domoticz/mdah/gpg.key | sudo apt-key add -

Edytujemy plik sources.list poleceniem:

sudo nano /etc/apt/sources.list

Dodajemy na końcu linijkę:

deb http://www.e-nef.com/domoticz/mdah/ /

Wciskamy Ctrl+X i T aby zapisać zmiany.

Instalujemy aktualizację poleceniem:

sudo apt-get update

Teraz instalujemy MyDomoAtHome poleceniem:

sudo apt-get install MyDomoAtHome

Restartujemy MyDomoAtHome poleceniem:

sudo service mydomoathome restart

Domyślnym portem do ImperiHome jest port 3002

Wpisujemy więc w przeglądarkę internetową adres ip Raspberry Pi i po dwukropku port 3002, czyli w moim przypadku:

192.168.3.13:3002

Powinien pokazać się ekran z informacją o MyDomotAtHome

Teraz najlepiej wykonać restart Raspbbery Pi poleceniem:

sudo reboot

Teraz aby sprawdzić poprawne działanie ImperiHome, a nie mamy dodanych żadnych urządzeń w Domoticz, możemy dodać jakies wirtualne urządzenie.

Wchodzimy w Konfiguracja -> Sprzęt i szukamy Dummy, wpisujemy nazwę i klikamy Dodaj


Teraz klikamy Utwórz wirtualne czujniki, wpisujemy nazwę i OK.

Sprawdzamy czy urządzenie pojawi się wpisując w przegladarkę ip_raspberry_pi:3002/devices, czyli w moim przypadku:

192.168.3.13:3002/devices

Jeżeli pojawią się urządzenia to będą przesyłane do ImperiHome.

Teraz już wystarczy ściągnąć ImperiHome ze sklepu Play -> Link zainstalować i dodać ImperiHome Standard System usuwając wcześniej wersję demo, tak jak to opisałem we wcześniejszym wpisie na blogu -> Link pamietając, że teraz portem jest port 3002, czyli w Local Api Basic Url w moim przypadku będzie: 192.168.3.13:3002.

Jeżeli mamy wpisany login hasło w Domoticz, wpisujemy je również w ImperiHome.











28 komentarzy:

  1. Bardzo fajny blog :)
    Czy widzisz różnicę w wydajności lub (funkcjonalności) pomiędzy PI 2 a PI 3 ??? Krótko mówiąc czy warto się przesiąść na PI 3

    OdpowiedzUsuń
    Odpowiedzi
    1. Instalacja i uruchamianie jest o wiele szybsze, ale już w samym działaniu Domoticz nie widzę różnicy.

      Usuń
  2. Pytanko mam...
    Dopiero zaczynam z DOMOTICZEM :)
    Pytanko brzmi: Czy domoticz uruchamia się automatycznie mimo iż przez HDMI na monitorze Raspberry karze się logować podając hasło i login?

    Cy trzeba ustawić raspberry aby automatycznie się logował?
    Jeśli tak to jak to zrobić?

    OdpowiedzUsuń
    Odpowiedzi
    1. Wpisz w konsoli:
      sudo raspi-config
      Chyba 3 pozycja Boot Options i tam sobie ustawiasz

      Usuń
  3. Część bardzo fajny blog. Jestem świerzy w tym temacie ale znajomy pokecił mi raspberry pi do zrobienia sterowania ogrzewaniem podłogowym. Czy to faktycznie prawda?

    OdpowiedzUsuń
    Odpowiedzi
    1. Na Rasberry Pi można sterować dowolnym urządzeniem, twórca Raspberry Pi - Eben Upton stworzył ten mini komputer, aby zachęcić dzieci do nauki języków programowania. Zależy jaki język programowania wybierzesz. Ja korzystam z gotowego rozwiązania do sterowania jakim jest aplikacja Domoticz połączoną z bramką MySensors i odbiornikami MySensors. MySensors to połączenie Arduino z modułem bezprzewodowym NRF24L01. Jak dla mnie programowanie Arduino jest łatwiejsze i opisuję i tworzę programy pod ten system.
      Jeżeli chcesz sterować ogrzewaniem, to musi to się odbywać za pomocą jakiegoś zaworu lub siłownika, a RPi będzie tylko sterownikiem, ale to wymaga spędzenia długich godzin przy programowaniu i nauce.

      Usuń
    2. Dziękuję za zainteresowanie.
      Dzięki temu blogowi uruchomiłem RPI3. Mam podłączone czujniki temperatury itd wszystko jak na początek działa dobrze, cały czas coś się uczę. Mam jednak kłopot z imperi home na androidzie, tak samo jak domoticz też mi nie działa. mogę się zatem zalogować do rpi tylko z przeglądarki w domu. nie umiem za bardzo zdiagnozować co zrobiłem gdzie źle.
      Czy jest szansa to sprawdzić?

      Usuń
  4. witam
    mam pytanie domoticz stoi na malinie wyświetlany jest na komputerze winxp i tablecie android zmieniając przełącznik na tablecie po ok 3-4 sek przełącza się również na kompie ( trochę długo ) w drugą stronę dopiero po zaktualizowaniu tabletu gdzie tkwi problem pozdrawiam

    OdpowiedzUsuń
  5. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  6. Robię wszystko zgodnie z tutorialem
    Domoticz działa, ale nie działa InitialeState
    Po wpisaniu adresu RPI z domyślnym portem 3002 nic się nie ładuje.
    Co może być przyczyną?

    OdpowiedzUsuń
    Odpowiedzi
    1. Dopisales w ustawieniach adres ip ze swojego zakresu z gwiazdka na koncu?

      Usuń
    2. Oczywiście.
      Działało za pierwszym razem zaraz po konfiguracji.
      Po restarcie maliny już padło na amen.

      Usuń
    3. Zobacz czy Ci JSON działa, więcej info na Wiki Domoticz http://www.domoticz.com/wiki/ImperiHome

      Usuń
    4. Sprawdzenie, czy łączy się do JSON:
      http://192.168.3.105:8080/json.htm?type=devices

      Wstaw swój ip i port Domoticz

      Usuń
    5. Witam. u mnie ten sam problem, za pierwszym razem działało, po restarcie już nie.
      W moim przypadku łączy się do JSON
      Co dalej? Bo sam sobie nie poradzę.
      Pozdrawiam

      Usuń
    6. Ten komentarz został usunięty przez autora.

      Usuń
    7. Jak wpisze na telefonie w przeglądarce 192.168.1.100:3002 to widzę moje czujniki podłączone do raspberry. Natomiast jak w imperihome wprowadzam w local API 192.168.1.100:3002 i klikam next, to wyskakuje mi "Unable to connect. Please check your parameters. "
      Co masz wpisane w ustawieniach Imperihome?

      Usuń
    8. Zainstalowałem wszystko od nowa, zgodnie z opisem i działa w 100%. Zostało tylko wgranie " no ip" ;)

      Usuń
  7. Witam
    Dzięki wielkie za Twoją pracę i ten poradnik

    Mam problem bo po kilku godzinach Domoticz przechodzi mi w tryb offline, jaka może być tego przyczyna ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Podpinam się - mam ten sam problem "Domoticz offline".
      W terminalu po jakimś czasie bezczynności:

      pi@raspberry:~ $ packet_write_wait: Connection to 192.168.1.16 port 22: Broken pipe

      A potem przy próbie logowania:

      ssh pi@192.168.1.16
      ssh: connect to host 192.168.1.16 port 22: Operation timed out.

      Usuń
  8. Czy jest możliwość wysyłania danych z Domoticz (czujniki podpięte pod NODEMCU) do WeatherUnderground?

    OdpowiedzUsuń
  9. po wpisaniu w przeglądarkę http://192.168.0.9:3002/devices wyświetla się takie coś
    "{"devices":[{"id":"S00","name":"Unable to connect to Domoticz","type":"DevGenericSensor","room":"Utility","params":[{"key":"Value","value":"http://127.0.0.1:8080/json.htm"}]},{"id":"S01","name":"Please add this gateway in Setup/settings/Local Networks","type":"DevGenericSensor","room":"Utility"}]}"
    Co jest nie tak?

    OdpowiedzUsuń
    Odpowiedzi
    1. Zmień wpisy w /etc/mydomoathome/config.json. Musi tam być adres i port Domoticz

      Usuń
    2. Mam ten sam błąd, w /etc/mydomoathome/config.json wpisany poprawny adres IP i port domoticza. Co może być nie tak?

      Usuń
  10. Witam!
    Generalnie jestem świeży w temacie Linuks, Raspberry itd. Wykonuję wszystko tak jak jest w opisie i do momentu instalacji MyDomoAtHome jest ok. Gdy wpiszę komendę
    sudo apt-get install MyDomoAtHome
    uzyskuję komunikat:
    Czytanie list pakietów.....Gotowe
    Budowanie drzewa zależności
    Odczyt informacji o stanie... Gotowe
    E:Nie udało się odnaleźć pakietu MyDomoAtHome

    Tego nie rozumiem dlaczego? Wg mnie jakby pakiet MyDomoAtHome nie był dołączony do npm. Tak to rozumiem, ale nie jestem pewny. Gdzie tkwi (mój? :-) ) błąd?

    OdpowiedzUsuń
  11. Sposob instalacji znajdziesz na google.

    OdpowiedzUsuń
    Odpowiedzi
    1. https://github.com/empierre/MyDomoAtHome

      Usuń
    2. https://github.com/empierre/MyDomoAtHome

      Usuń