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. Iobroker.io / iobroker.i2c

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Iobroker.io / iobroker.i2c

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
28 Beiträge 8 Kommentatoren 7.9k 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.
  • E Offline
    E Offline
    enricoh831
    schrieb am zuletzt editiert von
    #9

    Kleines Update…

    Die Taster Eingänge reagieren auf Einzel Klick

    Doppel Klick

    Gedrückt halten

    Man kann zum Beispiel beim Druck auf Taster 1 einen Wert auf 255 setzen

    Und beim Druck auf Taster 2 wieder auf 0

    Hält man Taster 1 zählt der Wert langsam bis 255. Auf Taster 2 dann wieder zurück.

    So kann man zum Beispiel Rollläden ansteuern.

    Auf Doppel Klick könnte man dann zum Beispiel nur halb verdunkeln an fahren.

    Habe nächste Woche wieder viel Arbeit aber versuche Abends Mal etwas weiter zu fummeln.

    Ps: Hab gerade ne geile Idee für nen modbus smart mirror.

    Ich muss nur Mal ein TFT besorgen.

    Gesendet von meinem Pixel mit Tapatalk

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

      @smiling_Jack: wo stehst du mit diesem Adapter?

      Leider habe ich weder auf GitHub noch NPM etwas gefunden (geschweige denn im ioBroker selber).

      Wenn du kein Interesse oder keine Zeit mehr hast, entwickle ich den Adapter auch gerne selber weiter; ich wollte nur nicht einen neuen Adapter schreiben, wenn du schon etwas hast, wo man meine Ideen integrieren könnte:

      • Mein Ziel ist es, mit dem RPi via I2C einige IO-Expander (wie du auch: PCF8574 und PCF8574A) anzusprechen.

      • Der Adapter sollte verschiedene I2C-Bausteine unterstützen (sozusagen als "Plugin" innerhalb des Adapters, ähnlich wie beim Discovery Adapter)

      • Eine Suche nach der Adresse muss im Admin möglich sein, danach muss man aber noch sagen, welche Adresse von welchem Typ ist (sofern man das aufgrund des Adressbereiches nicht herausfinden kann)

      • Weitere Bausteine wären z.B. der DS1621 (Temperatur) oder der MCP23017 (16-Kanal IO-Expander)

      • … weitere Ideen sind erwünscht ;)

      Ich würde das alles auf Basis von https://www.npmjs.com/package/i2c-bus machen (ich habe schon mal eine NodeJS-App geschrieben, die das alles macht, nur noch nicht in ioBroker integriert).

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

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        meifi2017
        schrieb am zuletzt editiert von
        #11

        Hallo zusammen,

        gibt es bei diesem Adapter schon Neuerungen? Ich selber setze mehere Horter Module für digitale Ein und Ausgänge ein und suche eine möglichgkeit diese

        richtig einzubinden… würde mich auch bei der Entwicklung und tests gerne beteiligen.

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          meifi2017
          schrieb am zuletzt editiert von
          #12

          Hallo zusammen,

          ich habe nun zwei Scripte mit der node erweiterung 'pcf8574' erstellt. diese funktionieren auch soweit. bei den Inputscript erhalte ich jedoch den folgenden fehler, welcher aber nicht die funktion beeinträchtigt. bei den Outputscript reagiert er nicht auf die false zustände der outputs 4-7 … hat vielleicht jemand eine idee oder verbesserungsvorschläge?

          Inputscript:

          ! ````
          //******************************************
          //Dutchman
          //V 0.6
          //
          *****************************************
          ! // define variable
          var PCF8574 = require('pcf8574').PCF8574;
          var i2cBus = require('i2c-bus').openSync(1);
          ! var addr = 0x38;
          ! var pcf = new PCF8574(i2cBus, addr, true);
          ! // Enable interrupt detection on BCM pin 17 (which is GPIO.0)
          //pcf.enableInterrupt(17);

          // Alternatively you can use for example an interval for manually poll every 250ms
          setInterval(pcf.doPoll.bind(pcf), 250);

          ! //true for inverted inputs
          pcf.inputPin(0, true);
          pcf.inputPin(1, true);
          pcf.inputPin(2, true);
          pcf.inputPin(3, true);
          pcf.inputPin(4, true);
          pcf.inputPin(5, true);
          pcf.inputPin(6, true);
          pcf.inputPin(7, true);
          ! createState("pcf." + addr + ".0" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".1" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".2" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".3" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".4" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".5" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".6" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! createState("pcf." + addr + ".7" ,{
          name: addr + ".0",
          type: 'boolean',
          role: 'value'
          });
          ! pcf.on('input', function(data){

          console.log("PCF" + addr + " : PIN:" + data.pin + " VAL: " + data.value);
          setState("pcf." + addr + "." + data.pin, data.value, true);
          // Prüfe ob ein Taster, der mit Pin 7 verbunden ist, gedrückt wurde (Signal am Pin geht auf low)
          });

          ! process.on('SIGINT', function(){
          pcf.removeAllListeners();
          pcf.disableInterrupt();
          });

          >! Fehler Inputscript:
          

          22:38:52.000 [error] javascript.2 script.js.common.i2c.i2c_input-38: ReferenceError: process is not defined at script.js.common.i2c.i2c_input-38:91:1 at ContextifyScript.Script.runInContext (vm.js:35:29)

          
          Outputscript:
          
          >! ````
          //******************************************
          //*****************Dutchman*****************
          //*******************V 0.6****************** 
          //******************************************
          >! // define variable
          var PCF8574 = require('pcf8574').PCF8574;
          var i2cBus = require('i2c-bus').openSync(1);
          >! var addr = 0x22;
          >! var pcf = new PCF8574(i2cBus, addr, true);
          >! // Enable interrupt detection on BCM pin 17 (which is GPIO.0) 
          //pcf.enableInterrupt(17);
          
          // Alternatively you can use for example an interval for manually poll every 250ms 
          setInterval(pcf.doPoll.bind(pcf), 250);
          >! //true for inverted outputs 
          pcf.outputPin(0, true, false);
          pcf.outputPin(1, true, false);
          pcf.outputPin(2, true, false);
          pcf.outputPin(3, true, false);
          pcf.outputPin(4, true, false);
          pcf.outputPin(5, true, false);
          pcf.outputPin(6, true, false);
          pcf.outputPin(7, true, false);
          >! createState("pcf." + addr + ".0" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".1" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".2" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".3" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".4" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".5" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".6" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! createState("pcf." + addr + ".7" ,{
                              name: addr + ".0",
                              type: 'boolean',
                              role: 'value'
                          });
          >! on({id: 'javascript.2.pcf.' + addr + '.0', change: "ne"}, function (obj) { 
             pcf.setPin(0, true);
             setTimeout(function() {pcf.setPin(0, false);}, 100);
             setState("pcf." + addr + ".0", 'false', true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.1', change: "ne"}, function (obj) { 
             pcf.setPin(1, true);
             setTimeout(function() {pcf.setPin(1, false);}, 100);
             setState("pcf." + addr + ".1", 'false', true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.2', change: "ne"}, function (obj) { 
             pcf.setPin(2, true);
             setTimeout(function() {pcf.setPin(2, false);}, 100);
             setState("pcf." + addr + ".2", 'false', true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.3', change: "ne"}, function (obj) { 
             pcf.setPin(3, true);
             setTimeout(function() {pcf.setPin(3, false);}, 100);
             setState("pcf." + addr + ".3", 'false', true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.4', change: "ne"}, function (obj) { 
          
             if (getState('javascript.2.pcf.' + addr + '.4').val == true) {
                 pcf.setPin(4, true);
             } 
             if (getState('javascript.2.pcf.' + addr + '.4').val == false) {
                 pcf.setPin(4, false);
             }
          
             pcf.setPin(4, true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.5', change: "ne"}, function (obj) { 
             pcf.setPin(5, true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.6', change: "ne"}, function (obj) { 
             pcf.setPin(6, true);
          });
          >! on({id: 'javascript.2.pcf.' + addr + '.7', change: "ne"}, function (obj) { 
             pcf.setPin(7, true);
          });
          >! ````
          
          Viele Grüße aus Hamburg
          
          meifi
          1 Antwort Letzte Antwort
          0
          • UncleSamU Offline
            UncleSamU Offline
            UncleSam
            Developer
            schrieb am zuletzt editiert von
            #13

            @meifi2017:

            ich habe nun zwei Scripte mit der node erweiterung 'pcf8574' erstellt. ` Hallo meifi

            Danke für deinen Input. Endlich bin ich dazu gekommen, den Adapter zu schreiben und auf meinem RasPi zu testen:

            https://www.npmjs.com/package/iobroker.i2c

            Im Moment unterstützt der Adapter nur den PCF8574 sowie den PCF8574A.

            Die Dokumentation ist noch nicht ganz up-to-date, aber das mache ich, sobald ich noch etwas mehr entwickelt habe.

            Kannst du bitte mal schauen, ob er das macht, was er machen sollte - und ob die Konfiguration einigermassen verständlich ist.

            Installieren kannst du ihn einfach, indem du auf der "Adapter" Seite auf das "Katzen-Symbol" ("Install from custom URL") gehst und dort "iobroker.i2c" im Textfeld (im zweiten Reiter) eingibst.

            Wenn du Fragen hast, bitte nicht zögern - und auch um jedes Feedback bin ich froh!

            /UncleSam

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

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              meifi2017
              schrieb am zuletzt editiert von
              #14

              Hallo UncleSam,

              vielen Dank für dein Adapter. Ich werde diesen am Wochenende mal testen. Kann man in dem Adapter auch festlegen, wie in meinen Scripten, ob die Ein- / Ausgänge negiert sind und ob diese nach einem bestimten Timeout wieder zurückgesetzt werden?

              LG meifi

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

                @meifi2017:

                Kann man in dem Adapter auch festlegen, wie in meinen Scripten, ob die Ein- / Ausgänge negiert sind und ob diese nach einem bestimten Timeout wieder zurückgesetzt werden? ` Nein, das ist im Moment nicht möglich.

                Das Negieren könnte ich noch einbauen.

                Das mit dem Time-Out möchte ich lieber einem anderen Adapter überlassen, da es nicht direkt mit I2C zu tun hat; wenn du das brauchst, kannst du entweder ein (einfacheres) Skript schreiben oder zB Node Red verwenden.

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

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  meifi2017
                  schrieb am zuletzt editiert von
                  #16

                  Alles klar, das mit dem Reset wäre ja kein Problem via externen Script zu lösen.

                  Das mit dem negieren wäre aber schon wichtig, gerade wenn man die I2C Module

                  von Horter einsetzt ;)

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

                    @meifi2017:

                    Das mit dem negieren wäre aber schon wichtig ` Version 0.0.2 unterstützt nun negieren von Ein- wie auch Ausgängen - ich hoffe das passt ;-).

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

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      meifi2017
                      schrieb am zuletzt editiert von
                      #18

                      Perfekt. Ich danke dir :) werde es am Wochenende mal testen.

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        adarof
                        schrieb am zuletzt editiert von
                        #19

                        Hallo,

                        Ich möchte auch bald einen mcp23017 ansteuern. Gibts da eine Idee, wann das mit dem Adapter klappt?

                        Usecase:

                        Dahinter steht dann bei mir ein 8x Relais Modul, welches die umgebauten Velux-Fenerbedienungen triggert.

                        Gruss

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

                          @adarof:

                          Ich möchte auch bald einen mcp23017 ansteuern. ` Hallo Adarof,

                          das lässt sich machen. Ich schau mir mal die Spezifikation an und versuche den MCP23017 zu integrieren.@adarof:

                          Dahinter steht dann bei mir ein 8x Relais Modul, welches die umgebauten Velux-Fenerbedienungen triggert. ` Hast du schon mit der Umsetzung begonnen?

                          Ich habe es bei mir etwas einfacher gelöst: einfach Outputs vom Raspberry Pi (oder via I2C und PCF8574, ähnlich MCP23017) über einen TXS0108E 8-Kanal Logic Level Converter nehmen. Die Velux-Fernbedienungen sind ganz normale Taster, die beim drücken den Input auf Ground ziehen. Da kannst du dir eigentlich die Relais sparen.

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

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

                            @adarof:

                            Ich möchte auch bald einen mcp23017 ansteuern. ` Hallo adarof

                            Endlich sind meine MCP23017 auch China eingetroffen.

                            Die Version 0.0.3 des Adapters unterstützt nun auch diesen I/O-Expander.

                            Dokumentation habe ich noch keine geschrieben, aber ich denke die Einstellungen sind selbsterklärend.

                            /UncleSam

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

                            1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              adarof
                              schrieb am zuletzt editiert von
                              #22

                              Hi,

                              Wie haste das denn so schnell geschafft? Deine Empfehlung zum TXS statt Relais wollt ich realisieren (weil die Relais doch mehr Strom ziehen und ich den Raspi nicht stärker als nötig belasten wollte). Jedenfalls hab ich die noch nicht… :-(

                              Den MCP23017 habe ich angeschlossen - und eine LED bekomme ich auch schon (nach etwas Hilfe von UncleSam) geschaltet.

                              Die Erweiterung scheint also wunderbar zu funtionieren.

                              DANKESCHÖN!

                              Gruss

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                Snoopylix
                                schrieb am zuletzt editiert von
                                #23

                                Hallo Gemeinde.

                                Ich hätte eine Frage zu dem i2c adapter.

                                Ich würde gerne einen Analogen Temperatursensor (PT1000)über iobroker auslesen.

                                Jetzt habe ich den I2C Digital/Analog AD-Wandler PCF8591 gefunden.

                                https://www.ebay.de/itm/I2C-Digital-Ana … SwehZaD3EJ

                                Wäre es möglich diesen Wandler mit dem Adapter zu nutzen und die Temperaturwerte in meine Haussteuerung zu bekommen?

                                Vielen Dank im voraus…

                                LG

                                Jürgen

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

                                  @Snoopylix:

                                  Ich würde gerne einen Analogen Temperatursensor (PT1000)über iobroker auslesen. `
                                  Hallo Jürgen

                                  Hast du dich für einen AD-Wandler entschieden? Ich plane den ADS1115 im Adapter zu unterstützen, falls dir der etwas bringt.

                                  Den aktuellen Stand zum ADS1115 siehst du unter: https://github.com/UncleSamSwiss/ioBroker.i2c/issues/13

                                  Ansonsten findest du die gesamte Diskussion zum I2C-Adapter hier:

                                  viewtopic.php?f=23&t=7437

                                  /UncleSam

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    gery80
                                    schrieb am zuletzt editiert von
                                    #25

                                    Hallo

                                    Wollte mal fragen ob es schon was neues gibt für den ads1115 würde den auch gerne in mein iobroker einbinden ohne Umweg direkt am raspi angeschlossen.

                                    Über ein python script kann ich schon werte sehen leider weiß ich nicht wie ich die Werte in iobroker bekomme deswegen würde mir der i2c Adapter sicher helfen.

                                    Bin Anfänger deswegen kenn ich mich nicht so gut aus

                                    Lg Gery

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

                                      @gery80:

                                      Wollte mal fragen ob es schon was neues gibt für den ads1115 würde den auch gerne in mein iobroker einbinden ohne Umweg direkt am raspi angeschlossen. `

                                      Habe die Hardware erhalten, bin dran :)

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • G Offline
                                        G Offline
                                        gery80
                                        schrieb am zuletzt editiert von
                                        #27

                                        Ok super danke ich glaub das hilft vielen hier weiter

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

                                          WICHTIG - bitte hier nicht mehr antworten!

                                          Die Diskussion findet nun in folgendem Thema statt:
                                          https://forum.iobroker.net/topic/7023/adapter-iobroker-i2c

                                          Bitte schreibt hier keine Beiträge mehr, danke!
                                          Ich werde nur noch Beiträge im oben genannten Thema lesen.
                                          /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

                                          407

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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