Podłączenie modułu przekaźnika w systemie Domoticz

wpis w: Domoticz | 86

W dzisiejszym wpisie opiszę jak podłączyć do Raspberry moduł przekaźnika do sterowania zasilaniem. Może on posłużyć do sterowania listwami, lampkami oraz praktycznie wszystkimi urządzeniami podłączanymi do prądu.

W moim przypadku będę chciał sterować zwykłą lampką nocną.

Sam moduł przekaźnika możemy kupić min. w sklepie Electropark.

Moduł 1-przekaźnika 5V
Moduł 1-przekaźnika 5V

Dane techniczne:

  • Liczba przekaźników: 1
  • Napięcie zasilania przekaźnika: 5V DC
  • Max. obciążenie styków przekaźnika:
    • 10A/230V AC
    • 10A/30V DC
  • Diody LED sygnalizujące stan załączenia przekaźnika
  • Dioda LED sygnalizująca zasilanie modułu
  • Wymiary: 43x24mm

W moim przykładzie zastosowałem moduł z jednym przekaźnikiem. Można zastosować moduły wieloprzekaźnikowe (największy jaki widziałem to 16). Dzięki takiemu przekaźnikowi będziecie mogli sterować aż 16 urządzeniami.

Moduł 16- przekaźników
Moduł 16- przekaźników

 

Schemat podłączenia przekaźnika do Raspberry Pi:

VCC – zasilanie 3V/5V w Raspberry Pi

GND – GND w Raspberry Pi

IN – dowolny Pin w Raspberry Pi

Na poniższym zdjęciu na dole przełącznika widać 3 śruby gdzie będziemy podłączać kable z Naszej nocnej lampki.

Będziemy podłączać dwa kable a miejsca są trzy…Dlaczego?

Na zdjęciu widać jakby dwa obwody (zamknięty po prawej i otwarty po lewej). Jeżeli chcemy by Nasza lampka była normalnie zapalona gdy włączymy Nasze Raspberry Pi podłączamy kable do otworu środkowego i do otworu z prawej strony (tam gdzie widać obwód zamknięty). W innym przypadku podłączamy jeden z kabli do otworu środkowego a drugi do otworu ze strony lewej.

Moduł przekaźnika
Moduł przekaźnika

 

Aby podłączyć Naszą nocną lampkę należy delikatnie naciąć izolację lampki w miejscu gdzie instalowany będzie Nasz przekaźnik. W izolacji standardowej lampki nocnej znajdować się będą 2 kable. Przecinamy jeden z nich i zarabiamy końcówki, które następnie podłączamy do Naszego przełącznika w sposób opisany powyżej. Na koniec podłączamy Naszą lampkę do prądu i włączamy Raspberry Pi. (żeby nie niszczyć kabla lampki można to samo zrobić np. z listwą antyprzepięciową lub zwykłym przedłużaczem).

Przedłużacz
Przedłużacz

 

Gdy wszystko mamy już podłączony logujemy się przez SSH do Naszego Raspberry.

Tworzymy nowy plik poprzez komendę:

  • sudo nano switchon.py

W Naszym nowym pliku wklejamy poniższy skrypt:

W miejscu XX wpisujemy nr PINu w Raspberry do jakiego podłączyliśmy Nasz przekaźnik.
Aby utworzyć plik który będzie wyłączał Nasz przekaźnik powtarzamy czynności tylko zmieniamy nazwę pliku na np. „switchoff.py” i w przedostatniej linijce Naszego skryptu wpisujemy cyfrę 0 zamiast 1.
Zapisujemy wszystko wciskając kombinację klawiszy ctrl+x.
Nadajemy plikom odpowiednie uprawnienia poprzez komendę:

  • sudo chmod +x switchon.py
  • sudo chmod +x switchoff.py

Sprawdzamy czy wszystko działa poprawnie poprzez wpisanie komend:

  • sudo python switchon.py
  • sudo python switchoff.py

Jeżeli wszystko działa poprawnie za pomocą tych dwóch komend powinniśmy sterować zasilaniem Naszej lampki. Jeżeli nie będzie żadnej reakcji sprawdźcie poprawność PINu GPIO (różne modele Raspberry mają różne numery).

Aby wszystko działało w Naszym systemie Domoticz musimy utworzyć wirtualny przełącznik (On/Off) o czym pisałem w poprzednich wpisach.

Gdy już mamy utworzony Nasz wirtualny przełącznik wchodzimy w zakładkę „Przełączniki” i wybieramy przycisk „Edycja”.

Jeżeli utworzyliśmy Nasze pliki w głównym katalogu Raspberry uzupełniamy pola „Włącz/Wyłącz akcję” jak na poniższym zdjęciu. Jeżeli utworzyliście pliki w innym miejscu należy podać dokładną lokalizację nowo utworzonych plików.

 

lampka

 

Naciskamy przycisk „Zapisz”.

Od tego momentu możemy sterować zasilaniem Naszej lampki bezpośrednio z systemu Domoticz.

86 Odpowiedzi

  1. hej
    napisz proszę jak dodać do tego jeszcze „włącznik impulsowy (dzwonkowy) zwykły push button”

    że jak go nacisnę raz to zapali lampkę jak drugi raz to zgasi

  2. Podpinam sie pod pytanie kolegi Jak dodac do tego jeszcze włącznik dzwonkowy??

  3. Łukasz Kostrzewa

    Witam Serdecznie

    Wydaje mi się, że należałoby między GND a PIN IN wpiąć tzw. Push Button (http://razzpisampler.oreilly.com/ch07.html). Na tej stronie też jest kod:

    import RPi.GPIO as GPIO
    import time
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(XX, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    while True:
    input_state = GPIO.input(XX)
    if input_state == False:
    GPIO.output(XX,1)
    time.sleep(0.2)

    Nie będzie to jednak działało tak jak powinno bo przykładowa lampka będzie się świeciła tylko wtedy gdy przycisk będzie wciśnięty.

    Niestety nie znam się na programowaniu. Postaram się znaleźć jakieś rozwiązanie i dam znać.

    Pozdrawiam

  4. mi się udało
    należy podpiąć przełącznik do pinu ustawionego na in

    i w zdarzeniach zbudować takie
    https://goo.gl/photos/7pEwPf4YLu2unDJR8
    https://goo.gl/photos/8tJiBmX7K5mC8yVn7

  5. a czy mozna by poprosic jak wyglada kod do tego ?

    • Łukasz Kostrzewa

      Witam Serdecznie
      Jet we wpisie przecież:

      #!/usr/bin/python
       
      import RPi.GPIO as GPIO
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(XX, GPIO.OUT)
      GPIO.output(XX,1)
      GPIO.cleanup()

      Pozdrawiam i życzę powodzenia

  6. pomocy… zrobiłem zgodnie z tym artykułem i utknąłem. po komendzie sudo python switchon.py nic się nie dzieje. zmieniałem piny, kombinowałem i jak wpisywałem błędne piny to dostawałem o tym informacje. wszystko sprawdziłem i wygląda na to, że jest niby ok w kwestii podłączenia. Wszystko jednak robiłem zgodnie z tym artykułem i nie sprawdzałem poprzednich artykułów. czy muszę zainstalować jakieś dodatki, biblioteki etc. do tego? nie istalowałem nic do obsługi gpio itp

    • Łukasz Kostrzewa

      Witam Serdecznie

      Hmmm… a co się Panu wyświetla jak odpala Pan switchon.py? Wyskakuje jakiś błąd?
      Może warto zainstalować WiringPi:
      1. sudo apt-get install git-core
      2. sudo apt-get update
      3. sudo apt-get upgrade
      4. git clone git://git.drogon.net/wiringPi
      5. cd ~/wiringPi
      6. git pull origin
      7. ./build

      Proszę spróbować wpisać te komendy i sprawdzić raz jeszcze.
      PRoszę się również upewnić, że wpisał Pan poprawny numer Pinu – tu jest opisane czym różni się GPIO.BOARD i GPIO.BCM (https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering)

      Może Pan w konsoli po zainstalowaniu wiringPi wpisać:
      gpio readall – tam będzie Pan widział dokładny rozkład Pinów w Pana raspberry.

      Powodzenia i proszę dać znać czy się udało

  7. Witam, mam problem napisałem pliki switchon.py i switchoff.py i wszystko działa z poziomu wiersza poleceń po wpisaniu sudo python switchon.py wystawia mi 1 na porcie a po wpisaniu sudo python switchoff.py wystawia 0. Sprawdzam komendą Gpio readall. Niestety po wytworzeniu przełącznika jak w opisie teoretycznie wszystko z poziomu Domoticza jest poprawnie ale nie ma reakcji, nie zmienia wartości. Może jeszcze coś trzeba skonfigurować aby Domoticz działał? Mam podłączone czujniki DS18B20 i temperaturę w domoticzu widzi mi poprawnie. Prośba o sugestie co może być nie tak?

    • Łukasz Kostrzewa

      Witam Serdecznie
      A ma Pan wpisaną odpowiednią ścieżkę do pliku w Edycji Przełącznika w Domoticz?
      U mnie to script:///home/pi/switchon.py ale u Pana może być inna. Ma Pan ten plik w głównym katalogu raspberry czy może w jakimś innym?
      Proszę to sprawdzić.
      Pozdrawiam

      • Tak ścieżka jest odpowiednia pliki są w katalogu /home/pi.

        • Łukasz Kostrzewa

          Niestety nie mam pomysłu co może być przyczyną?
          Rozumiem, że nadał Pan uprawnienia poprzez sudo chmod +x ?
          Po wpisaniu sudo python switchon.py wyświetla się jakiś komunikat (błąd)?
          Pozdrawiam

          • Tomek

            Odpowiadając na pytanie uprawnienia były nadane. Po wydaniu komendy sudo python switchon.py nie wyświetlał komunikatów ale wsytawiał 1 na wyjście sprawdzałem komendą Gpio readall. Zainstalowałem od nowa raspbiana w wersji lite i zrobiłem wszystko po koleji jak Pan napisał i zadziałało :-). Wcześniej miałem wersję desktop i może w tym był jakiś problem.
            P.s.
            W poradzie dotyczącej instalacji warto by było dopisać aby na karcie SD tworzyć katalog SSD bo bez tego nie da się połączyć z zewnątrz poprzez terminal – jest to opisane w komentarzach do tej instrukcji.

          • Łukasz Kostrzewa

            Witam Serdecznie

            Super, że się udało.

            Jeżeli chodzi o utworzenie katalogu SSD…rozumiem, że chodziło o SSH?
            I faktycznie w nowym systemie jest to wymagane. Musiałem tak zrobić aby uruchomić Raspberry Pi Zero W.
            Jak ja rok temu zabierałem się za instalację Domoticza na raspberry taka procedura nie była wymagana.
            W wolnej chwili postaram się dopisać tą informację w odpowiednim poście.
            Pozdrawiam

          • Oczywiście SSH. Pozdrawiam

  8. Uruchamianie z poziomu terminala działa. Niestety poprzez Domoticz już nie – pojawia się infomracja zwrotna: błąd podczas wysyłania komendy do przełącznika. Sprawdź sprzęt/urządzenie. Jakieś pomysły? Używam RPi 3 jakby co.

    • Agnieszka Kostrzewa

      Witam
      To pewnie jest zla sciezka do pliku w ustawieniach przelacznika w Domoticz. Innej opcji nie widze.
      Pozdrawiam

      • Niestety nie ma takiej opcji.
        Sam celowo wpisałem błędny adres żeby zobaczyć info zwrotne. Jest dokładnie takie samo. Lokalizacje kopiuje…
        script:///home/pi/domoticz/scripts/switchongate.py.

        Korzystam z PIR bazujacego na instrukcji z tej strony oraz czujnika temperatury i te rzeczy działają bez problemu a tego już nie wiem jak ugryźć :-/

        • Agnieszka Kostrzewa

          Rozumiem ze po switchongate.py nie ma kropki tak jak w powyzszym komentarzu?
          Skrypt na bank dziala z terminalu? A IDX na pewno odpowiada temu przelacznikowi? Jezeli tak to nie mam pomysłu 🙁

          • Oczywiście nie ma tej kropki – po prostu koniec zdania 🙂
            Przez terminal działa na bank, bo przekaźnik reaguje. W jakim sensie czy IDX odpowiada? Jak wybieram rodzaj przełącznika to wybieram nazwę maszyny, której pomylić nie mogłem. Ogólnie mam nowszą wersję domoticz i musiałem coś wybrać w opcji typ gdzie zaznaczyłem „impiulse” (nie mylić z typ przełącznika, bo tam jest „on/off”. Typ „impulse” mam również wybrane dla PIR.

          • Agnieszka Kostrzewa

            Przepraszam. Skrypty mi sie pomylily. Tu nie ma IDX… Moj błąd 🙂 hmmm… Na mam stara wersje i nie mam impiulse… A nie ma w wyborze przelacznika po prostu ON/OFF? Mysle ze byc powinien. Pozdrawiam

        • Tak w ogóle to na początku kod też mi nie dział. Musiałem w linii:

          GPIO.output(XX,1)

          dodać spacje po przecinku.

          • Agnieszka Kostrzewa

            A proszę ewentualnie spróbować utworzyć jeszcze jeden plik o nazwie np. switchongate.sh i wpisać:

            #!/bin/sh

            cd /
            cd home/pi/domoticz/scripts
            sudo python switchongate.py
            cd /

            Nadać mu uprawnienia przez sudo chmod +x switchongate.sh
            A w przełączniku dać odnośnik do pliku switchongate.sh
            Coś mi się przypomina, że też mi w Pythonie nie chciał działać skrypt wywoływany z Domoticz.
            Proszę dać znać czy to coś pomogło
            Pozdrawiam

          • Polecenie nie pomogło. Stworzyłem jeszcze raz włącznik. Tam był chyba faktycznie błąd. Miałem jeszcze jeden dziwny problem. Po stworzeniu nowe włącznika i wciśnieciu go komenda została wysłana do RPi (żarząca dioda sygnalizująca stan przekźnika zgasła) ale nie mogłem zmieniać stanów poru. Reset urządzenia i to samo. Z poziomu terminala stany się zmieniają. Usunąłem ze skryptu „…on…” ostatnią linię: GPIO.cleanup() i zaczęło wszystko działać. W skrypcie „…off…” ta linia została.

          • Tak w ogóle dziękuję za pomoc. Stronka jest naprawdę fajna. Wczoraj zrobiłem: sterowanie bramą wjazdową, elektrozaczepem furtki, czujnik ruchu i pomiar temperatury 🙂 Jestem w trakcie wykrywania telefonów i na pewno jeszcze będę wrzucał kamerkę 🙂
            Dzięki 🙂

          • Agnieszka Kostrzewa

            Super ze sie udalo z tym modulem przekaznika. Jak juz kiedys pisalem Domiticz sprawia u kszdego inne problemy i trzeba troche samemu kombinować. Jezeli chodzi o wykrywanie urzadzen to niestety nie mam pojecia… U mnie wszystko dziala. Tu jest oficjalny poradnik: https://www.domoticz.com/wiki/Presence_detection

  9. Witam zrobiłem wszystko po kolei i nie działa mi przekaznik po wpisaniu:
    sudo python switchon.py
    sudo python switchoff.py

    Nie działa i błędu nie wywala zrobić chciałem na pinie GPIO 26 w raspberry pi 3 jakiś pomysł ?

    • Łukasz Kostrzewa

      Witam
      A przekaźnik podwójny czy pojedynczy? Ja z podwójnymi mam problemy. Działa tylko jeden. One są niby dostosowane do napięcia z Arduino w większości i mogą występować problemy.
      Z pojedynczymi jednak problemu nie miałem. Na pewno wpisuje Pan poprawny Pin GPIO? Ten skrypt jest mega prosty…to chyba jedyna przyczyna jaka może wystąpić. W innym przypadku powinien wyskoczyć jakiś błąd.
      Pozdrawiam

      • No właśnie jest prosty ale po sprawdzeniu pinu za pomocą komendy nie załącza go chyba ze coś źle z tym pinem może pan podać skrypt do wklejenia i podania pod który pin wpiąć przekaznik ?
        Może w tedy zadziała 🙂

      • Ok pin dobry mam 26 tylko wywala mi
        pi@raspberrypi:/home $ sudo python lighton.py
        Traceback (most recent call last):
        File „lighton.py”, line 1, in
        import RPi.GPIO as GPIO

        • Agnieszka Kostrzewa

          Dzuwne bo tu bledu nie ma… Hmmm. Przepisywal Pan kod czy wkleil ze strony? Czesto przy wklejaniu jest blad kodowania znakow ale powinien sygnalizowac to inaczej.
          Prosze wpisac gpio readall i sprawdzic czy w ogole czyta gpio. Kurcze… Dziwne

          • Zna pan program timviwer ?
            to by się pan połączył i sprawdził może coś nie tak robię.

          • Agnieszka Kostrzewa

            Znam ale niech Pan jeszcze poprobuje. Moze inny pin w raspberry prosze sprawdzic

  10. #!/usr/bin/python

    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(26, GPIO.OUT)
    GPIO.output(26, 1)
    GPIO.cleanup()

    to wkleiłem do załączania potem zapisałem i uprawnienia nadałem.
    Wpinam przekaznik do pinu 26 i nie załącza się ;(

  11. WiringPi juz zainstalowane mam od początku 🙂

  12. Po wpisaniu gpio readall pokazuje mi te piny, próbowałem na innym i tez nie działa.
    Jak wpisze pigs w 26 1 to w tedy załącza m przekaznik czyli dobrze podpięty mam a jak wpisze pigs w 18 0 to wyłącza go.

    • Agnieszka Kostrzewa

      Witam. Powiem szczerze ze nie rozumuem… Jakie pigs? Czenu raz 26 a raz 18? Skoro zalacza i wylacza to chyba dobrze?

      • Jak wpisze w ssh Jak wpisze pigs w 26 1 to zalaczyl mi przekaznik (26) to pin raspberry pi 3.
        A jak dam polecenie w ssh Jak wpisze pigs w 26 0 to wyłączy.
        Czyli pin dobry mam lecz po wklejeniu skryptu od pana i wpisaniu w XX nr pinu 27 nie działa.

        • Agnieszka Kostrzewa

          Dalej nie rozumuem co oznavza polecenie pigs ale…
          Prosze usunac ostatnia linijke ze skryptu.

          Ewentualnie prosze utworzyc plik przez sudo nano test.sh i wpisac w nim:
          sudo gpio mode 26 out
          sudo gpio write 26 1
          Zapisac i nadać uprawnienia lrzez sudo chmod +x
          I stworzyc drugi plik tylko zamiast :
          sudo gpio write 26 1 wpisac sudo gpio write 26 0
          Prosze dac znac czy sie udalo

  13. Nie działa.

    Chodzi mi o to że sterowanie pinami przez wiersz poleceń działa według tego opisu.

    https://www.dobreprogramy.pl/cyryllo/Raspberry-Pi-od-Zera-do-2-sterujemy-GPIO-z-linii-polecen,68696.html

    Nie może się pan połączyć przez timviwer by posprawdzał pan ?

    • Agnieszka Kostrzewa

      Witam
      Tak samo powinno dzialac wg tego co napisalem w ostatnim komentarzu ale…
      Niech Pan stworzy plik test.sh a w nim wpisze te sudo pigs 26 1 (czy jak to dokładnie Pan wpisywal i dzialalo)
      A w drugim sudo pigs 26 0 i tyle.
      Musi dzialac

  14. Nie działa.
    Teraz po wpisaniu
    sudo python switchon.py
    sudo python switchoff.py
    błędu nie wywala ale przekaznik nie załącza się

    • Agnieszka Kostrzewa

      Mial Pan zrobic plik .sh a nie .py. A uruchamia sie go poprzez ./test.sh

    • Agnieszka Kostrzewa

      Jak nie bedzie dzialac to nie mam juz pomyslu:( Przepraszam

      • ok udało się
        po wpisaniu komendy
        ./test.sh przekaznik się włącza
        ./testoff.sh przekaznik gasnie

        Jak to teraz zrobić w domoticz 😉

        • Agnieszka Kostrzewa

          Witam
          Przeciez opisane jest w poscie. Nalezy dodać nowy wirtualny przelacznik i w jego konfiguracji w opcji akcja wlaczenia wpisac adres do test.sh i wylaczenua do testoff.sh

  15. Smiga aż miło dziękuje bardzo za wsparcie i pomoc 😉
    A robił już Pan czujnik zalania na arduino mega ?

    • Agnieszka Kostrzewa

      Nie ma sprawy:) niestety nie mam doswiadczen aninz arduino mega ani z czujnikiem zalania. Wydaje mi sie ze czujnik zalania id Fibaro jest relatywnie tani a bezobslugowy

      • aha jezeli chce pan sterowanie z arduino mega to mam zrobione + domoticz arduino zapamiętuje stan przekaznika po restarcie z prądu 😉
        na 1 arduino można zrobić:
        25 przekazników + 25 przycisków dzwonkowych na impuls. + 7 przekazników bez przycisków sterowane z domoticz 😉

        • Agnieszka Kostrzewa

          Poki co mam już wszystko co chcialem ale jak bede chcial cos rozbudować to będę pamietal

          • ok a mam jeszcze pytanie jak zrobić żeby przekaznik się włączał po włączeniu radia ?
            Bo narazie udało mi się zrobić przez zdarzenia że jak dam radio off to gaśnie przekaznik gorzej z włączeniem pasowało by tak zrobić że jak włączę stacje FM to załączy się.

          • Agnieszka Kostrzewa

            Mozna zrobic oddzielny przycisk wlaczenia radia (w poscie od radia jest komenda do wyłączenia radia) i utworzyc Zdarzenia Jezeli radio on to wlacz przelacznik…

  16. Witam, mam taki problem potrzebuję podłączyć dużo przekaźników np.: 2 moduły po 16 przekaźników. Chciałbym to zrobić na dwóch Raspberry pi pod różnymi numerami IP. Pytanie czy da się je jakoś logicznie połączyć aby domoticz widział je jako całość i aby można z poziomu domoticza robić plany aby sterować wszystkimi przekaźnikami?
    Pozdrawiam

    • Agnieszka Kostrzewa

      Witam Serdecznie. Da sie podlaczyc kilka raspberry. Ja mam 4. Jedno musi byc na Master a kolejne jako Slave (https://www.domoticz.com/wiki/Setting_up_Device_sharing) Co do takiej ilosci przekaznikow to nie wiem czy nie bedzie pptrzebne Arduino. Ja mam problemy gdy podlaczam moduł dwuprzekaznikowy do Rpi. Wiekszosc przekwznikow jest dostosowana do napiecia Arduino a nie Rpi i moga nie dzialac. Pozdrawiam

      • Dziękuję za odpowiedź. Przeczytałem instrukcję z linka i wszystko wydaje się jasne. Jak uda mi się połączyć dwa Raspberry to dam znać. Pozdrawiam

  17. Witam.
    Moja pierwsze zabawy z przekaźnikiem i w ogóle z RPi. Myślałem, że jak wybiorę coś prostego to pójdzie łatwo. Niestety – wpisałem wszystko po kolei i nie ma żadnej reakcji i żadnego komunikatu błędu. Do domoticza nie dodaję, bo nie działa. Przekaźnik kupiłem ten: http://allegro.pl/modul-przekaznik-5v-10a-zmienny-tiger-low-high-x1-i6732988350.html. Dodam, że jak podłącze kabel „po prawej” to lampa jest włączona cały czas – zgodnie z opisem. Uprawnienia dałem, zgodnie z innymi komentarzami zainstalowałem WiringPi, PIN mam nr. 12, zgodnie ze specyfikacją RPi 3. Wymiękam, poproszę o pomoc.

    • Agnieszka Kostrzewa

      Witam Serdecznie. Skoro lampa jest wlaczona po podlaczeniu do raspberry to znaczy ze powinno byc ok. Tylko skrypt powinien ja wylaczac (czyli 0 zamiast 1). Probowal Pan stworzyc skrypt dla wlaczania i wylaczania? Jedynie o moze byc zle to pin w raspberry tak naprawde. Tu jest w skrypcie GPIO. BOARD czyli musi Pan podac PiN z WiringPI – Physical (jak Pan wpisze gpio readall) o ile dobrze pamietam. Mozna wpisac tez GPIO.BCM i wpisac pin z BCM. Prosze dac znac czy sie udalo. Pozdrawiam

      • Pani Agnieszko, dziękuję za odpowiedź. gpio readall – numer wpisuje z Physical, 12. Wpisałem też BCM, 18 – żadnej reakcji. I jedna uwaga co do komentarza: działa po zmianie kabla, a nie po wyzwoleniu prze skrypt. Skrypt mam wasz, sam nie próbuję bo nie potrafię. Może wycinek z logów coś powie:
        sty 30 23:07:18 raspberrypi sudo[13079]: pam_unix(sudo:session): session closed for user root
        sty 30 23:07:18 raspberrypi sudo[13079]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
        sty 30 23:07:18 raspberrypi sudo[13079]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/python ledy.py

        • Agnieszka Kostrzewa

          Ciezko mi pomoc skoro nie ma zadnego błędu po wywolaniu kodu. Moze prosze sprobowac inny pin. Moze akurat przekaznik jest uszkodzony. Nie mam niestety pomyslu. Prosze sprobowac wg tego poradnika i skryptu: https://starter-kit.nettigo.pl/2017/03/rpi-podstawy-sterowanie-gpio-przekaznikami/

          • Franczesky

            Ok, będę próbował, choć na chwilę obecną zmiana pinów nie działa – żądnej reakcji. Jutro powalczę, jak się coś uda – napiszę. Dzięki za poświęcony czas. Super blog!

          • Agnieszka Kostrzewa

            Inaczej niz proby az do skutku nke da rady zrobic automatyki domowej na raspberry i Domoticz (mowie powaznie). Prawie zawsze cos nie dziala jak teoretycznie powinno 🙂 Dziekuje za mile slowa. Pozdrawiam

          • Franczesky

            Ale taka walka aż do skutku się opłaca. Działa! Strona, którą Pani podała zawiera skrypt, który zadziałał. Więc przerobiłem Wasz skrypt na taki:

            #!/usr/bin/python

            import RPi.GPIO as GPIO

            rel = 17
            GPIO.setmode(GPIO.BCM)
            GPIO.setup(rel,GPIO.OUT, initial=GPIO.HIGH)

            GPIO.setmode(GPIO.BCM)
            GPIO.output(17,1)
            GPIO.cleanup

            I działa jak należy 🙂
            Dziękuję. BTW Ciekawe czemu Wasz nie działał…

          • Agnieszka Kostrzewa

            Sa rozne przekazniki. Rozne raspberry. Rozne wersje oprogramowania na tychze raspberry itd:) Najważniejsze ze dziala:) Milego wieczoru

          • Franczesky

            Dzięki. Jutro do pracy, a człowiek walczy po nocach z kodem. No ale po pracy po raz pierwszy Sonoff i kolejna przygoda z Waszym blogiem 🙂 Pozdrawiam i jeszcze raz dzięki!

          • po wywaleniu
            GPIO.cleanup
            z oryginału też działa, problem jest jakiś przywracaniu gpio do początkowego stanu

  18. Witam,
    Po długich bojach i zmianach skryptu w końcu udało się uruchomić sterowanie przekaźnikiem z poziomu konsoli. Niestety poprzez Domoticza żadnej reakcji 🙁
    Poza tym wyłączając przekaźnik dostaje taki błąd:
    testoff.sh:3: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
    GPIO.setup(40, GPIO.OUT)
    Jakieś sugestie czemu Domoticz nie steruje przekaźnikiem pomimo prawidłowej ścieżki dostępu?

    • Agnieszka Kostrzewa

      Ten kod błędu jest mało istotny. Tez go dostaje. Ciężko powiedzieć bo nie widzę dokładnie co Pan zrobił w Domoticz. Musze jednak stwierdzić że czasami bez logicznej przyczyny Domoticz nie chce uruchamiać skryptów 🙁 Można spróbować zmienić kod i za pomocą curl wysyłać komendy w zależności od stanu Pinu. Cos na wzór kodu z artykułu o Podłączeniu czujnika temperatury DHT11 pozdrawiam

      • Witam,

        Dziękuję za odpowiedz, pojawił się nowy problem, mianowicie nie mogę połączyć się do internetu tzn korzystać z przeglądarki na malince :(. Nie ma problemow żeby połączyć się z Pi zdalnie, dane z czujników temperatury przesyłane są bez problemowo. Czy problem braku połączenia do internetu może być przyczyną nie egzekwowania skryptów przez domoticza?

  19. Witam,
    Po ustawieniu statycznego IP w przeglądarce nie mogę uruchomić żadnej strony na malince. Z laptopa łączę się bez problemu z raspberry poprzez PuTTy.

    • Agnieszka Kostrzewa

      Wiem że w moim przypadku ustawienie statycznego IP w raspberry (tyle że ja to robiłem przez SSH) nie było takie proste. Spędziłem nad tym godziny bo w zależności od wersji konfiguracja jest inna. Nie wiem jak jest w wersji okienkowej raspberry bo nigdy nie używałem:(

      • Witam,
        Ja tez robie wszystko poprzez ssh, po kilkudziesięciu probach z ustawieniami statycznego IP poddalem sie i poki co przywrocilem do dynamicznego… Takze polaczenie z internetem mam zpowrotem aczkolwiek nie rozwiazalo to problemu z egzekucja skryptu przez domoticza. Trzeba dalej pobawic sie kodem.
        Pozdrawiam

  20. Witam,

    Poddałem się , skończyły mi ie pomysły. nijak nie mogę zmusić Domoticza do egzekwowania skryptu. Spróbowałem inaczej drugiej metody z artykułu o kontaktronie…wow od razu przełącznik zadziałał. 🙂 🙂
    To dużo prostsza metoda, dziękuje.
    P.S
    Problem ze statycznym IP rozwiązany-przypisałem takowy w ustawieniach router-a bez ingerencji w plik dhcpcd.

    • Agnieszka Kostrzewa

      Super że się udało. Fajnie ze można te same rezultaty uzyskać na różne sposoby 🙂 Pozdrawiam

  21. Witam,

    Przekaźniki obsługiwane przez malinkę za pośrednictwem Domoticza śmigają bez problemowo,
    chciałem dodać sterowanie bramy garażowej za pomocą NodeMcu V3.
    Z sukcesem moduły obsługują wszelakie czujniki poprzez WiFii.
    Pojawia się pytanie jak ustawić przełącznik w Domoticzu tak aby działał jak dzwonkowy-tylko podczas naciśnięcia przycisku. Próbuje bawić się ze zdarzeniami ale średnio to wychodzi 🙁
    Mogę liczyć na jakieś sugestie?

    Z góry dziękuje.

  22. Witam,
    Mam szybkie pytanko, użyłem tego skryptu ale jak go uruchamiam to tylko na chwile miga czerwona dioda na przekaźniku i nie załącza lampki… Masz jakiś pomysł co to możne być?
    Drugie pytanie napisałeś „Aby wszystko działało w Naszym systemie Domoticz musimy utworzyć wirtualny przełącznik (On/Off) o czym pisałem w poprzednich wpisach.” niestety nie mogę tego wpisu znaleźć.
    Pozdrawiam

    • Agnieszka Kostrzewa

      Wirtualny przycisk robi się w zakład e Sprzęt i dodaje Dummy świtch i wybiera przełącznik On/OFF. Tak jak robi się każdy przełącznik w Domoticz. Nie pamięta w którym wpisie to było. Ciężko mi powiedzieć czemu się nie przełącza. Słychać na przekazniku dźwięk przełączania? Czy może to przekaznik SSR (wtedy nic nie słychać). Jak słychać to może lampka jest źle podłączona. Jak nie to może nie ten PIN GPIO wpisany w skrypcie. Ciężko stwierdzić bo nie widzę podłączenia.

      • Witam,
        Zaczęło działać jak usunąłem końcówkę kodu:
        GPIO.cleanup()
        Ewidentnie działało to tak ze migała ta czerwona dioda na przekaźniku tylko na okres przejścia wykonywania programu pomiędzy linijka włączająco a cleanup.

      • Myslicie że może to mieć jakies negatywne skutki?

    • Agnieszka Kostrzewa

      Proszę rzucić okiem na tą stronę i zobaczyć co to jest GPIO Board które jest w skrypcie. W sensie który to pin w jakim Rpi. To są te środkowe numery pinów od 1 do 40 lub od 1 do 26. https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering

  23. Czy możesz napisać jak podpiąć INA219 do raspberry pi po I2C ?

  24. Witam bardzo ciekawe artykuły, ale mimo wszystko polecałym zedytowanie traści, dodanie info o usunięciu GPIO.cleanup() ze skryptu switchon.py i dodanie linu do artukułu o którym mowa – „Aby wszystko działało w Naszym systemie Domoticz musimy utworzyć wirtualny przełącznik (On/Off) o czym pisałem w poprzednich wpisach.”

  25. Witam
    Pewnie banalna sprawa ale zaczynam dopiero z domoticz i mam tak że wykożystując przykładowe sterowanie arduino przekażnikami w domoticzu mam zamiast włączony to wyłączony i na odwrót.
    Więc wyjścia są na 1 zamiast na 0

Zostaw Komentarz

*