Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Möglichkeit mit raspberry Ein- u. Ausgänge schalten ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Möglichkeit mit raspberry Ein- u. Ausgänge schalten ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mimquadrat last edited by

      ich habe genau zu diesem Problem eine Odyssee hinter mir!

      Steffen konnte mir dann helfen (die Götter verneigen sich vor ihm!).

      auf dem Raspi liegt ein python script dass ich mit einem java script

      ! createState('startPythonhoch');
      ! on({id: "javascript.0.startPythonhoch"}, function (obj) {
      ! var python = require('child_process').spawn('python', ["/opt/hoch.py"]);
      ! python.on('close', function(code){
      ! if (code !== 0) {
      ! log('Error: ' + code);
      ! } else {
      ! log('OK');
      ! }
      ! });
      ! });
      gestartet werden kann! funktioniert einwandfrei!

      Einfache Sachen würde ich mit Node-Red machen

      1 Reply Last reply Reply Quote 0
      • S
        schrader last edited by

        ` > ich habe genau zu diesem Problem eine Odyssee hinter mir!

        Steffen konnte mir dann helfen (die Götter verneigen sich vor ihm!).

        auf dem Raspi liegt ein python script dass ich mit einem java script `

        Hallo mimquadrat,

        bin leider nicht so deer Experte, kannst Du mir noch ein paar Infos dazu geben wie Du das gennau damit gelößt hast.

        Gruß

        schrader

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @mimquadrat:

          ich habe genau zu diesem Problem eine Odyssee hinter mir!

          Steffen konnte mir dann helfen (die Götter verneigen sich vor ihm!).

          auf dem Raspi liegt ein python script dass ich mit einem java script

          ! createState('startPythonhoch');
          ! on({id: "javascript.0.startPythonhoch"}, function (obj) {
          ! var python = require('child_process').spawn('python', ["/opt/hoch.py"]);
          ! python.on('close', function(code){
          ! if (code !== 0) {
          ! log('Error: ' + code);
          ! } else {
          ! log('OK');
          ! }
          ! });
          ! });
          gestartet werden kann! funktioniert einwandfrei!

          Einfache Sachen würde ich mit Node-Red machen `
          Aber warum python?? Man kann doch direkt aus JS schalten.

          In der letzen Version von iobroker.javascirpt das NPM-Modul "pi-gpio" einzuschalten und dann mit dem Skript:

          var gpio = require("pi-gpio");
          
          gpio.open(16, "output", function(err) {     // Open pin 16 for output 
              gpio.write(16, 1, function() {          // Set pin 16 high (1) 
                  gpio.close(16);                     // Close pin 16 
              });
          });
          
          

          GPIO Schalten.

          1 Reply Last reply Reply Quote 0
          • M
            mimquadrat last edited by

            bluefox hat natürlich recht, für einfaches an und ausschalten ist java gut.

            Aber für komplexere Sachen (zB einen Schrittmotor steuern) brauche ich Vorlagen aus Tutorials (youtube zb).

            Diese Tutorials sind meistens in python. Also meine depperl-Vorgehensweise in kurz.

            1. Ein Python script raussuchen (aus nem Tutorial zB)

            2. Über SSH dieses Skript testen

            sollte dann funktionieren

            jetzt müssen wir das python script über java ausführbar machen

            3. Den java adapter in iobroker installieren

            4. ein neues script anlegen mit dem Inhalt von mir oben (der Ort an dem das python script liegen muss is da auch drin)

            5. Ein neuer Datenpunkt wird jetzt angelegt

            6. Jetzt den java adapter neu starten und das script zB über iobroker.vis und einem button starten

            wenn du nicht klar kommen solltest PN. Wenn dir ioBroker gefällt spenden.

            1 Reply Last reply Reply Quote 0
            • S
              schrader last edited by

              Dank an alle, werde mir das mal alles etwas genauer ansehen.
              ` > Es könnte über node-red gehen.

              Da sind raspi nodes dabei. `
              Das scheint mir für einen Anfänger noch das Einfachste zu sein.

              Weiß jemand, ob man bei den Nodes auch noch die IP Adresse mit angeben kann, dann bestünde ja die Möglichkeit verschiedene raspberry in einem Netz zu adressieren.

              ` > 1. Ein Python script raussuchen (aus nem Tutorial zB)

              2. Über SSH dieses Skript testen

              sollte dann funktionieren

              jetzt müssen wir das python script über java ausführbar machen

              3. Den java adapter in iobroker installieren

              4. ein neues script anlegen mit dem Inhalt von mir oben (der Ort an dem das python script liegen muss is da auch drin)

              5. Ein neuer Datenpunkt wird jetzt angelegt

              6. Jetzt den java adapter neu starten und das script zB über iobroker.vis und einem button starten

              wenn du nicht klar kommen solltest PN. Wenn dir ioBroker gefällt spenden. `
              Da muss ich glaube gut ausgeschlafen haben. Habe mal nach dem python script gesucht, aber auf die schnelle nichts gefunden

              ` > In der letzen Version von iobroker.javascirpt das NPM-Modul "pi-gpio" einzuschalten und dann mit dem Skript:

              Code: Alles auswählen

              var gpio = require("pi-gpio");

              gpio.open(16, "output", function(err) { // Open pin 16 for output

              gpio.write(16, 1, function() { // Set pin 16 high (1)

              gpio.close(16); // Close pin 16

              });

              }); `

              Wie kann ich denn das NPM-Modul "pi-gpio" einschalten?

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                Hier 48_javascript.jpg

                1 Reply Last reply Reply Quote 0
                • S
                  schrader last edited by

                  Danke

                  schrader

                  1 Reply Last reply Reply Quote 0
                  • K
                    krissi last edited by

                    Hi, ist zwar schon etwas älter aber bist Du oder jemand Anderes da schon weiter? :?:

                    > Weiß jemand, ob man bei den Nodes auch noch die IP Adresse mit angeben kann, dann bestünde ja die Möglichkeit verschiedene raspberry in einem Netz zu adressieren.

                    Die Raspi Nodes für node-red kann ich auch irgendwie nicht finden. Kann auch sein das ich im Moment mal wieder den Wald vor lauter Bäumen nicht sehe. :shock:

                    Danke und Gruß

                    1 Reply Last reply Reply Quote 0
                    • K
                      krissi last edited by

                      Keiner eine Idee oder Lösung?

                      Konkret habe ich an einem Raspi im Netz einen Funksender angeschlossen mit dem ich Funksteckdosen schalte. Läuft im Moment ganz ok über http. wenn man das über iobroker anders lösen kann wäre das klasse. vielleicht mit node-red auf dem pi und das dann irgendwie fernsteuern. Ich habe da absolut keinen Ansatz. Vielleicht hat das ja jemand schon so am laufen.

                      Gruß

                      1 Reply Last reply Reply Quote 0
                      • N
                        nobody last edited by

                        Hallo krissi,

                        wie im Verlauf zu sehen gibt es eine ganze Reihe von Möglichkeiten, die gpio des Raspberry anzusprechen:

                        • Über Node-Red mit diversen spezifischen Nodes für einfaches Lesen und Schalten der pins, speziellen Nodes für Temperatur, usw. Da gibt es ziemlich viele verschiedene

                        • Über das exec-Kommando zum Ausführen eines Kommandos wie z.B. das WiringPi gpio

                        • Über einen entsprechenden node.js Node aus dem JavaScript-Adapter heraus

                          usw.

                        Viele Wege führen nach Rom. Welche der Alternativen man verwenden möchte liegt im Wesentlichen an seinem Background und wie man seine restliche Steuerung umsetzen möchte.

                        In node-red sind die Nodes für einfaches Schalten bereits dabei und diese sollen ganz unten links im Bereich Raspberry_Pi angezeigt werden. Falls nicht, kann diese aber nachinstallieren, indem man den Namen des RPM-Pakets in den Adaptereinstellungen für Node-Red in ioBroker einträgt.

                        Diese wären z.B.

                        • Normale gpio-Funktionen: http://flows.nodered.org/node/node-red-contrib-gpio

                        • Temperaturen mit 1-Wire Sensoren http://flows.nodered.org/node/node-red-contrib-1wire

                        • Temperaturen über DHT11/22 http://flows.nodered.org/node/node-red- … dht-sensor

                        Beim Schalten von Steckdosen kommt es darauf an, was das für Steckdosen sind wie diese angebunden sind. Ich gehe mal davon aus, dass es sich um die ganz normalen Baumarkt-Steckdosen handelt, die mittels 433 MHz geschaltet werden.

                        Wenn da ein Schaltmodul existiert, welches mittels HTTP/S erreichbar ist, kann man hier auch wieder über alle oben genannten Wege einen HTTP GET/PUT-Request an die entsprechende Adresse schicken. In Node-Red geht das mittels http request-Node.

                        Wenn du die Steckdosen direkt vom Pi aus schalten möchtest, brauchst du ein entsprechendes 433MHz Sendemodul, welches mit den gpio-Pins verbunden wird. Dieses kann dann über die Kommandoschnittstelle z.b.

                        • über das send-Programm von rcswitch angesprochen werden

                        • mit den entsprechenden node.js-Node aus Javascript heraus https://github.com/marvinroger/node-rcswitch

                        • mit Node-Red mit dem rcswitch2-Node https://github.com/nobodyMO/node-red-contrib-rcswitch2

                        Das ansprechen der Hardware geht beim Pi jedoch immer nur lokal. D.h. wenn du mehrere Pi haben willst, die jeweils schalten können, muss auf jedem der Pi eine Anwendung laufen, die die Kommandos lokal aufruft und das Ergebnis zurückliefert. Auch hier gibt es wieder tausende Lösungsmöglichkeiten, die von den sonstigen Anforderungen, den persönlichen Vorlieben und den Sicherheitsanforderungen abhängen. Spontan einfallen tun mir hier:

                        • Multi-Host-Installation von ioBroker

                        • Webservice-Lösung mit Apache und PHP

                        • Einfacher Webservice direkt mit node.js

                        • Webservice über node-red

                        • Remote-Shell mittels SSH

                        Lg

                        Markus

                        1 Reply Last reply Reply Quote 0
                        • K
                          krissi last edited by

                          Hi Markus

                          Danke erst einmal für deine ausführliche Antwort! 🙂

                          Noch mal zum besseren Verständnis:

                          Meine Baumarktfunksteckdosen funktionieren per http und WiringPi schon. Ich kann die mit der Fernbedienung oder mit vis schalten (Programm auf der lxccu / Banana). Ich hab nur manchmal Aussetzer. Dann starte ich den daemon auf dem Pi neu und dann geht es wieder. Warum auch immer! Die Aussetzer sind natürlich immer dann wenn meine Frau das Licht schalten möchte!!! 😉

                          Jetzt hatte ich den Gedanken das ich auf dem Pi Node-Red installiere und das dann irgendwie einfacher und stabiler steuern kann. Wäre also dein Vorschlag "Node-Red mit dem rcswitch2-Node" das was ich auf dem Pi möchte. Die Frage ist dann nur wie ich das dann von der ccu aus ansprechen muss. Ich mach mich da mal am WE ran. 🙂

                          Gruß,

                          Andre

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          509
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          7
                          14
                          7910
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo