Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Node-red Adapter MCP23017 & MCP3008

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    455

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Node-red Adapter MCP23017 & MCP3008

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
18 Beiträge 4 Kommentatoren 3.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #4

    Hallo Hermann,
    @hermannf1:

    Wo kann ich die Module (Nodes) Eintragen? `
    Im Konfigurationsmenü.

    Die Anleitung ist leider schon etwas älter. Inzwischen sieht das Konfig-Menü so aus:
    144_konfig.jpg

    Muss ich beizeiten mal anpassen

    Gruß

    Rainer

    kein Support per PN! - Fragen im Forum stellen -
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      hermannf1
      schrieb am zuletzt editiert von
      #5

      Hallo Rainer

      Das hätte ich eigentlich auch schon probiert.

      In welcher Form muss das dort stehen?

      node-red-contrib-mcp23017, node-red-node-pi-mcp3008,…

      oder

      mcp23017, mcp3008,

      oder

      mcp23017, pimcp3008, ...

      Bei einigen Nodes hat es ohne Probleme über das Menü: "Manage Palette" funktioniert wie z.B. node-red-node-arduino, node-red-dashboard.

      LG Hermann

      1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #6

        Da muss es stehen, so wie das Paket bei npm heisst.

        Habe eben schnell node-red-contrib-mcp23017gegoogelt, also wäre die oberste Schreibweise korrekt, wenn das zweite Paket korrekt geschrieben ist.

        Anschließend den node-red adapter neustarten.

        Gruß

        Rainer

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          hermannf1
          schrieb am zuletzt editiert von
          #7

          Hallo Rainer

          Ja das funktioniert bei einigen Nodes.

          Aber nicht bei dem MCP23017.

          Error im Log:

          node-red.0	2017-03-01 18:39:28.032	error	node-red.0 Cannot install npm packet: node-red-contrib-mcp23017
          node-red.0	2017-03-01 18:39:28.031	error	node-red.0 Cannot install node-red-contrib-mcp23017: 1
          node-red.0	2017-03-01 18:39:27.995	error	node-red.0 Please include the following file with any support request: npm ERR! /npm-debug.log
          node-red.0	2017-03-01 18:39:27.994	error	node-red.0 npm ERR!
          node-red.0	2017-03-01 18:39:27.993	error	node-red.0
          node-red.0	2017-03-01 18:39:24.909	error	node-red.0 npm ERR! This is most likely a problem with the i2c package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! Yo
          node-red.0	2017-03-01 18:39:24.909	error	node-red.0 npm ERR! Failed at the i2c@0.1.4 install script 'node-gyp rebuild'.
          node-red.0	2017-03-01 18:39:24.908	error	node-red.0 npm ERR!
          node-red.0	2017-03-01 18:39:24.906	error	node-red.0 i2c@0.1.4 install: `node-gyp rebuild` npm ERR! Exit status 1
          node-red.0	2017-03-01 18:39:24.887	error	node-red.0 npm ERR!
          node-red.0	2017-03-01 18:39:24.886	error	node-red.0 npm ERR! node v4.8.0 npm ERR! npm v2.15.11 npm ERR! code ELIFECYCLE
          node-red.0	2017-03-01 18:39:24.880	error	node-red.0 ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "node-red-contrib-mcp23017" "--production" "--prefix" "/opt/iobroker/node_modules/iobroker.node-red"
          node-red.0	2017-03-01 18:39:24.879	error	node-red.0 npm
          node-red.0	2017-03-01 18:39:24.879	error	node-red.0 Linux 4.4.48-v7+
          node-red.0	2017-03-01 18:39:24.879	error	node-red.0 ERR!
          node-red.0	2017-03-01 18:39:24.877	error	node-red.0
          node-red.0	2017-03-01 18:39:24.868	error	node-red.0 npm
          node-red.0	2017-03-01 18:39:24.815	error	node-red.0 gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23) gyp ERR! stack at e
          node-red.0	2017-03-01 18:39:24.799	error	node-red.0 build error
          node-red.0	2017-03-01 18:39:24.793	error	node-red.0 ERR!
          node-red.0	2017-03-01 18:39:24.766	error	node-red.0 gyp
          node-red.0	2017-03-01 18:39:24.755	error	node-red.0 make: *** [Release/obj.target/i2c/src/i2c.o] Error 1 
          node-red.0	2017-03-01 18:39:24.754	info	node-red.0 make: Leaving directory '/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red-contrib-mcp23017/node_modules/node-mcp23017/node_modules/i2c/build'
          node-red.0	2017-03-01 18:39:24.753	info	node-red.0 i2c.target.mk:92: recipe for target 'Release/obj.target/i2c/src/i2c.o' failed
          node-red.0	2017-03-01 18:39:24.376	error	node-red.0 ../src/i2c.cc: In function ‘v8::Handle Scan(const int&)’: ../src/i2c.cc:63:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ ../src/i2c.cc: In function ‘
          node-red.0	2017-03-01 18:39:24.375	error	node-red.0 ../src/i2c.cc: In function ‘v8::Handle SetAddress(const int&)’: ../src/i2c.cc:33:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
          node-red.0	2017-03-01 18:39:24.319	error	node-red.0 /root/.node-gyp/4.8.0/include/node/v8.h:4349:34: note: no known conversion for argument 1 from ‘v8::Handle(const int&) {aka v8::Local(const int&)}’ to ‘v8::Isolate*’
          node-red.0	2017-03-01 18:39:24.318	error	node-red.0 ../src/i2c.cc:247:39: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle (&)(const int&))’ FunctionTemplate::New(WriteBlock)->GetFunction());
          node-red.0	2017-03-01 18:39:24.318	error	node-red.0 In file included from /root/.node-gyp/4.8.0/include/node/node.h:42:0, from ../src/i2c.cc:1: /root/.node-gyp/4.8.0/include/node/v8.h:4349:34: note: static v8::Local
          node-red.0	2017-03-01 18:39:24.318	error	node-red.0 ../src/i2c.cc:237:15: error: ‘NewSymbol’ is not a member of ‘v8::String’ target->Set(String::NewSymbol("open"), ^ ../src/i2c.cc:238:31: error: no matching function for cal
          node-red.0	2017-03-01 18:39:24.317	error	node-red.0 ../src/i2c.cc:234:15: error: ‘NewSymbol’ is not a member of ‘v8::String’ target->Set(String::NewSymbol("setAddress"), ^ ../src/i2c.cc:235:37: error: no matching function f
          node-red.0	2017-03-01 18:39:24.317	error	node-red.0 In file included from /root/.node-gyp/4.8.0/include/node/node.h:42:0, from ../src/i2c.cc:1: /root/.node-gyp/4.8.0/include/node/v8.h:4349:34: note: static v8::Local
          node-red.0	2017-03-01 18:39:24.317	error	node-red.0 ../src/i2c.cc:184:31: error: invalid types ‘const int[int]’ for array subscript Local buffer = args[1]; ^ ../src/i2c.cc:186:22: error: invalid types
          node-red.0	2017-03-01 18:39:24.316	error	node-red.0 In file included from /root/.node-gyp/4.8.0/include/node/node.h:42:0, from ../src/i2c.cc:1: /root/.node-gyp/4.8.0/include/node/v8.h: In function ‘v8::Handle Writ
          node-red.0	2017-03-01 18:39:24.316	error	node-red.0 ../src/i2c.cc:175:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’ callback->Call(Context::GetCurrent()->Global(), argc, argv); ^ ../src/i2c.cc:178:16: erro
          node-red.0	2017-03-01 18:39:24.316	error	node-red.0 ../src/i2c.cc:167:28: error: ‘New’ is not a member of ‘v8::String’ err = Exception::Error(String::New("Cannot write to device")); ^ ../src/i2c.cc:170:13: er
          node-red.0	2017-03-01 18:39:24.316	error	node-red.0 In file included from /root/.node-gyp/4.8.0/include/node/node.h:42:0, from ../src/i2c.cc:1: /root/.node-gyp/4.8.0/include/node/v8.h: In function ‘v8::Handle Writ
          node-red.0	2017-03-01 18:39:24.315	error	node-red.0 ../src/i2c.cc:146:22: error: ‘GetCurrent’ is not a member of ‘v8::Context’ callback->Call(Context::GetCurrent()->Global(), argc, argv); ^ ../src/i2c.cc:149:15:
          node-red.0	2017-03-01 18:39:24.315	error	node-red.0 ../src/i2c.cc:137:30: error: ‘New’ is not a member of ‘v8::String’ err = Exception::Error(String::New("Error reading length of bytes")); ^ ../src/i2c.cc
          node-red.0	2017-03-01 18:39:24.314	error	node-red.0 In file included from /root/.node-gyp/4.8.0/include/node/node.h:42:0, from ../src/i2c.cc:1: /root/.node-gyp/4.8.0/include/node/v8.h:2499:25: note: static v8::Local
          node-red.0	2017-03-01 18:39:24.310	error	node-red.0 ../src/i2c.cc: At global scope: ../src/i2c.cc:65:27: error: ‘Arguments’ does not name a type Handle Close(const Arguments& args) { ^ In file included from
          node-red.0	2017-03-01 18:39:24.246	error	node-red.0 ../src/i2c.cc:40:38: error: invalid conversion from ‘int’ to ‘v8::Isolate*’ [-fpermissive] Local results(Array::New(128)); ^ In file included
          node-red.0	2017-03-01 18:39:24.240	error	node-red.0 ../src/i2c.cc:39:58: error: invalid types ‘const int[int]’ for array subscript Local callback = Local::Cast(args[0]);
          node-red.0	2017-03-01 18:39:24.239	error	node-red.0 ../src/i2c.cc:29:16: error: invalid types ‘const int[int]’ for array subscript addr = args[0]->Int32Value(); ^ ../src/i2c.cc:32:16: error: ‘class v8::HandleScope’ has no
          node-red.0	2017-03-01 18:39:24.238	error	node-red.0 ../src/i2c.cc:22:5: error: ‘ThrowException’ was not declared in this scope ); ^ ../src/i2c.cc: At global scope: ../src/i2c.cc:26:32: error: ‘Arguments’ does not name a type Handl
          node-red.0	2017-03-01 18:39:24.234	error	node-red.0 ../src/i2c.cc: In function ‘void setAddress(int8_t)’: ../src/i2c.cc:21:28: error: ‘New’ is not a member of ‘v8::String’ Exception::TypeError(String::New("Failed to set address")) 
          

          LG Hermann

          geändert: Code in Code-Tags, Homoran (Mod)

          1 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #8

            und was sagt das log?

            @hermannf1:

            This is most likely a problem with the i2c package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! Yo `

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              hermannf1
              schrieb am zuletzt editiert von
              #9

              Hi

              I2C läuft super.

              Ich kann die Adresse auslesen mit

              i2cdetect -y 1

              die einzelnen Ports schalten z.B.

              gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 108 0

              gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 108 1

              Funktioniert alles, aber kein Node-Red mcp23017 über ioBroker.

              1 Antwort Letzte Antwort
              0
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #10

                Ich kenne mich nicht wirklich gut aus.
                @hermannf1:

                I2C läuft super. `
                Im Moment vielleicht, kann es aber sein, dass das Paket umgebaut werden muss?

                @hermannf1:

                ERR! Failed at the i2c@0.1.4 install script 'node-gyp rebuild'.

                node-red.0   2017-03-01 18:39:24.908   error   node-red.0 npm ERR!

                node-red.0   2017-03-01 18:39:24.906   error   node-red.0 i2c@0.1.4 install: node-gyp rebuild npm ERR! Exit status 1 `

                und:
                @hermannf1:

                node-red.0 make: *** [Release/obj.target/~~[color=#FF0000]~~i2c/src/i2c.o] Error 1

                node-red.0   2017-03-01 18:39:24.754   info   node-red.0 make: Leaving directory '/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red-contrib-mcp23017/node_modules/node-mcp23017/node_modules/i2c/build'

                node-red.0   2017-03-01 18:39:24.753   info   node-red.0 i2c.target.mk:92: recipe for target 'Release/obj.target/i2c/src/i2c.o' failed

                node-red.0   2017-03-01 18:39:24.376   error   node-red.0 ../src/i2c.cc: In function ‘v8::Handle Scan(const int&)’: ../src/i2c.cc:63:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ ../src/i2c.cc: In function ‘

                node-red.0   2017-03-01 18:39:24.375   error   node-red.0 ../src/i2c.cc: In function ‘v8::Handle SetAddress(const int&)’: ../src/i2c.cc:33:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ `

                Gruß

                Rainer

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  hermannf1
                  schrieb am zuletzt editiert von
                  #11

                  Es dürfte an der Node.js Version liegen.

                  Wenn ich mit es mit der Node.js v0.12 installiere und starte, so funktioniert es.

                  Mache ich dann ein Update auf eine neuere Version, so funktioniert es nicht mehr.

                  Ich habe mal an den Programmierer vom diesem Modul geschrieben.

                  Eine externe Node-red Installation wird man vermutlich nicht in den ioBroker integrieren können? Oder? :?:

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    bodyfix
                    schrieb am zuletzt editiert von
                    #12

                    Hallo, schreibe in diesem Thread, da es mir genauso um dein Aufbau PI mit MCP23017 und Integration in Node-Red geht,

                    könnt Ihr mir helfen, bin Einsteiger im umgang mit Node-Red und komme einfach nicht weiter.

                    Kann über i2c lesen und schreiben auch über

                    Write : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 1 / gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 0

                    Read : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 read 108

                    aber wie bekomme ich es in Node-Red aufgenommen, das Modul "node-red-contrib-mcp23017" kann leider nur lesen will aber 8xinput und 8xoutput

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      hermannf1
                      schrieb am zuletzt editiert von
                      #13

                      Hi

                      Versuch es mit diesem Beispiel: https://www.2hf.org/example-node-red-mcp23017-89/

                      Einfach importieren.

                      LG

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        bodyfix
                        schrieb am zuletzt editiert von
                        #14

                        Danke Hermann, leider kann dieses Script nur als Output benutzt werden, das node-red-contrib-mcp23017 modul kann nur output.

                        ich möchte gerne aber den IC2 Bus direkt ansprechen und somit Read o. write benutzen

                        Z.B.

                        Write : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 1 / gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 0

                        Read : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 read 108

                        auch gerne mit IC2 befehle

                        i2cset -y 0 0x20 0x14 0x01

                        i2cget -y 0 0x20 0x14

                        aber wie kann ich diese in Node-Red einbauen.

                        LG

                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          hermannf1
                          schrieb am zuletzt editiert von
                          #15

                          Hi

                          Ja, das geht! Man kann in node-red jeden Befehl hinterlegen, dann man auch am Respberry in der Konsole eingibt. Node-red führt ihn dann in der Konsole aus.

                          Ich habe gerade keine Installation laufen. Ich suche mal ob ich den Menüpunkt in node-red finde.

                          LG

                          1 Antwort Letzte Antwort
                          0
                          • H Offline
                            H Offline
                            hermannf1
                            schrieb am zuletzt editiert von
                            #16

                            Hi

                            Ich habe es im Video gefunden.

                            https://www.youtube.com/watch?v=WxUTYzxIDns

                            Im Video bei 20:20 wird ein Beispiel gezeigt. Es ist das exec node. In diesem Beispiel fährt er mit dem shutdown Befehl den Raspberry runter. Man kann hier jeden Befehl eingeben.

                            LG

                            1 Antwort Letzte Antwort
                            0
                            • B Offline
                              B Offline
                              bodyfix
                              schrieb am zuletzt editiert von
                              #17

                              Danke, hatte gehoft es gibt ein bidirektionales Modul.

                              LG

                              1 Antwort Letzte Antwort
                              0
                              • UncleSamU Offline
                                UncleSamU Offline
                                UncleSam
                                Developer
                                schrieb am zuletzt editiert von
                                #18

                                @bodyfix:

                                ich möchte gerne aber den IC2 Bus direkt ansprechen und somit Read o. write benutzen

                                Z.B.

                                Write : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 1 / gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 write 100 0

                                Read : gpio -x mcp23017<emoji seq="1f4af">:100:</emoji>0x20 read 108

                                auch gerne mit IC2 befehle

                                i2cset -y 0 0x20 0x14 0x01

                                i2cget -y 0 0x20 0x14

                                aber wie kann ich diese in Node-Red einbauen. ` Hi bodyfix

                                Konntest du dein Problem mit dem node-red Adapter für den MCP23017 lösen?

                                Ansonsten gibt es seit heute auch einen Adpater für I2C direkt in ioBroker:

                                http://forum.iobroker.net/viewtopic.php?f=23&t=7437

                                Im Moment unterstützt er zwar erst den PCF8574, aber wenn du wünschst, kann ich versuchen den MCP23017 zu integrieren.

                                Freue mich auf deine Antwort.

                                /UncleSam

                                Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                                ♡-lichen Dank an meine Sponsoren

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

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

                                610

                                Online

                                32.7k

                                Benutzer

                                82.5k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe