Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Adapter] - iobroker.i2c

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Adapter] - iobroker.i2c

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

      @UncleSam sagte in [Adapter] - iobroker.i2c:

      @Malombo sagte in [Adapter] - iobroker.i2c:

      Ich würde gerne aufgrund der mehrere I2C Busse nutzen und wollte fragen ob die Unterstützung eines z.B. bei Horter angebotenen Multiplexers PCA9544A oder Switches PCA9545A denkbar wäre?

      Hallo Malombo

      Grundsätzlich wäre die Unterstützung eines Multiplexers sicherlich möglich; ich bin nur gerade etwas erstaunt, dass das im Hobby-Bereich bereits eine Option ist. Ich habe bei mir teilweise bis zu 10 I2C Chips an einem RasPi angehängt (meistens IO-Expander PCF8574 und 8574A). Weshalb benötigst du denn einen Multiplexer?

      /UncleSam

      Hallo UncleSam,

      es gibt I2C Devices wie z.B. der BME280 die nur 2 unterschiedliche I2C Adressen unterstützen. Wenn man mehrere identische I2C Devices auf einem Bus nutzen möchte dann gehen in diesem Fall relativ schnell die Adressen aus

      Als Work Arround betreibe ich derzeit einen weiteren "Soft-I2C" Bus auf anderen GPIOs die per Overlay in der config.txt definiert sind. Dementsprechend habe ich zwei I2C ioBroker Adapter in betrieb was btw auch gut funktioniert.

      Noch eine andere Frage - ich verwende ADS1115 Module. Gibt es die Möglichkeit das Abfrageintervall kleiner als 1 s z.B. auf 0,5 s einzustellen?

      VG,
      Malombo

      UncleSam 1 Reply Last reply Reply Quote 0
      • S
        strago @UncleSam last edited by

        Hallo,

        @UncleSam Danke für deine Rückmeldung und Entschuldigung für meine späte Antwort:

        das Problem habe ich mit dem digitalen Input Modul.

        Wenn ich das Horter Digitale Input Modul ohne IOBroker und deinem Adapter am Raspberry anschließe leuchten keine LED´s und ich kann den Bus über i2c Befele abfragen und erhalte folgende Ergebnisse:

        I2cget -y 1 0x20:
        0xff (kein Eingang gesetzt)

        Eingang 1 gesetzt LED 1 leuchtet
        I2cget -y 1 0x20:
        0xfe

        Eingang 2 gesetzt LED 2 leuchtet
        I2cget -y 1 0x20:
        0xfd

        ...usw

        Kann es sein, dass bei der Initialisierung des Expanders noch etwas nicht passt?

        Der Expander kann ja als Input oder Output betrieben werden.

        Wenn du noch Infos benötigst helfe ich gerne und werde mich diesmal auch in angemessener Zeit zurück melden 🙂

        mfg
        Strago

        UncleSam 1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @flubb last edited by

          @flubb Das i2c-bus Modul sollte eigentlich mit npm install iobroker.i2c mit-installiert werden; möglicherweise war da ein Rechte-Problem bei dir oder die Installation von i2c-bus ist irgendwie fehlgeschlagen.

          Sorry, dass ich den Beitrag zum HMC5883 übersehen habe.
          Ich habe dafür https://github.com/UncleSamSwiss/ioBroker.i2c/issues/21 erfasst.
          Ich bitte dich, allfällige Kommentare/Fragen zu dem Chip dort zu stellen.
          Abonniere doch den GitHub Eintrag, so erfährst du, wann ich die den Chip eingebaut habe.

          UncleSamSwiss created this issue in UncleSamSwiss/ioBroker.i2c

          closed Support for HMC5883L / QMC5883L #21

          1 Reply Last reply Reply Quote 0
          • UncleSam
            UncleSam Developer @Malombo last edited by

            @Malombo Danke für die Erklärung; ja, da hast du recht.

            Auf welcher Länge setzt du denn I2C ein (interessiert mich einfach persönlich)?

            Welchen der beiden Multiplexer möchtest du denn einsetzen? Ich werde mich höchstens im Blind-Programmieren üben, da mir fast 20 € etwas zu viel sind für etwas, das ich höchstwahrscheinlich nicht benutzen werden.

            Wofür verwendest du den ADS1115? Grundsätzlich kann ich das Intervall schon hinunterschrauben, aber ich weiss nicht, ob das gut kommt. Ich könnte etwas mit dem ALERT/RDY Pin machen (sprich Schwellwerte setzen), aber den müsste man dann über einen GPIO einlesen.

            M 1 Reply Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer @strago last edited by

              @strago Kannst du mir mal schnell deine Konfiguration schicken? Z.B. Bildschirm-Foto von den Adapter-Einstellungen sowie vom Reiter des Expanders? Ich vermute da einen Fehler.

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

                @UncleSam leider musste ich meinen Pi neu aufsetzen und deswegen läuft die alte Konfiguration nicht mehr.

                Aktuell habe ich das Problem dass ich mit dem Adapter den Expander überhaupt nicht finde ... über Putty kann ich den Bus abfragen ...

                Bin grad etwas am verzweifeln ... muss mal 2 Tage Abstand davon nehmen vielleicht fällt mir dann ein warum der Adapter nicht laufen will.
                f24a9c84-1cea-4807-ae39-df98e996669c-image.png
                Sobald der Adapter läuft schick ich dir wie gewünscht die Screenshots.

                sg
                Strago

                1 Reply Last reply Reply Quote 0
                • S
                  strago @UncleSam last edited by

                  @UncleSam Endlich geschafft ... ich glaub es lag an einem Rechte Problem.

                  Aber wieder das gleiche Problem wie vorher, nachfolgend der Screenshot meiner Einstellungen des adapters:

                  ee7a4acc-cd2c-4d4e-8524-5d30f2c0cf90-image.png

                  Leider leuchten wieder alle LED´s und ich kann keinen Eingang setzen:

                  98a690fa-98f8-4461-80e0-fb5579bfe91b-image.png

                  Habe ich den Adapter falsch eingestellt?

                  sg
                  Strago

                  UncleSam 1 Reply Last reply Reply Quote 0
                  • BerndHF
                    BerndHF last edited by

                    Hallo strago,

                    invertiere mal die Ausgänge in den Adapter-Settings.

                    MfG Bernd

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

                      Hallo UncleSam,

                      Dankeschön für den I2C Adapter.Bei mir läuft aktuell 2 Stück MCP 23017 und ein ADS 1115 auf dem Rasberry 3.
                      Besteht die Möglichkeit,folgende Module in den I2C Adapter aufzunehmen ?

                      1.das RFID V3 Lese-/Schreibmodul PN532
                      Bei mir ist es zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.

                      1. den Strom und Spannungssensor INA 219
                        ebenfalls zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.

                      Mit freundlichem Gruß
                      Bernd

                      UncleSam 1 Reply Last reply Reply Quote 0
                      • S
                        strago @BerndHF last edited by

                        Hallo BerndHF,

                        die Idee ist gar nicht schlecht. Invertiert hatte ich die Eingänge vorher schon, ohne Erfolg.

                        Ich hab jetzt auf Ausgang umgestellt und invertiert, dann leuchten die LED´s nicht
                        (spricht die Eingänge können gesetzt werden).

                        Den Eingang liest der Adapter aber leider nicht. Da dieser halt auf Ausgang gesetzt ist 🙂

                        aber nicht mehr viel dann läuft das Modul 🙂

                        mfg
                        Strago

                        1 Reply Last reply Reply Quote 0
                        • UncleSam
                          UncleSam Developer @BerndHF last edited by

                          @BerndHF sagte in [Adapter] - iobroker.i2c:

                          Besteht die Möglichkeit,folgende Module in den I2C Adapter aufzunehmen ?

                          1. das RFID V3 Lese-/Schreibmodul PN532
                            Bei mir ist es zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.

                          Der PN532 wäre für mich auch persönlich sehr interessant; allerdings ist es ein recht aufwändiger Chip, der unter anderem auch eine Reset-Leitung benötigt. Deshalb verzichte ich im Moment einmal auf eine Umsetzung. Irgendwann werde ich wohl nicht mehr darum herum kommen, GPIOs mit anderen Geräten zu kombinieren (wäre zum Beispiel für I/O-Expander als Input auch interessant: da könnte ich die Interrupt-Leitung verwenden anstatt zu pollen).

                          1. den Strom und Spannungssensor INA 219
                            ebenfalls zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.

                          Für dieses Modul habe ich https://github.com/UncleSamSwiss/ioBroker.i2c/issues/23 erfasst.
                          Ich bitte dich, allfällige Kommentare/Fragen zu dem Chip dort zu stellen.
                          Abonniere doch den GitHub Eintrag, so erfährst du, wann ich die den Chip eingebaut habe.

                          UncleSamSwiss created this issue in UncleSamSwiss/ioBroker.i2c

                          closed Support for INA219 #23

                          1 Reply Last reply Reply Quote 0
                          • UncleSam
                            UncleSam Developer @strago last edited by

                            @strago sagte in [Adapter] - iobroker.i2c:

                            Endlich geschafft ... ich glaub es lag an einem Rechte Problem.

                            Kannst du mir beschreiben, was du mit den Rechten gemacht hast? Eigentlich sollte der iobroker Benutzer mit dem ioBroker-Installer automatisch Zugriff auf den I2C haben; eventuell liegt da aber noch ein Fehler.

                            Aber wieder das gleiche Problem wie vorher

                            Ich sehe in deinen Einstellungen auf den ersten Blick keinen Fehler. Das ist sehr komisch. Du schreibst nur, dass du ein i2cget machst; führst du davor nie einen Schreibbefehl aus? Grundsätzlich sollte man den PCF8574 immer initialisieren, sprich: die einzelnen Pins auf Input oder Output setzen. In deinem Fall wäre das ein "write" von 0x00 (alle Pins auf Input).

                            Leider kann ich auf dem Foto nicht erkennen, wie der Chip genau beschriftet ist. Kann es sein, dass es gar nicht ein PCF8574 ist?

                            Gibt es von Horter Code, wie man das Input-Modul verwenden soll?

                            1 Reply Last reply Reply Quote 0
                            • M
                              Malombo @UncleSam last edited by

                              @UncleSam Sorry für die späte Antwort-ich beabsichtige ca. 5m CAT6 Kabel zu nutzen, ist aber noch zu prüfen. Ggfs. muss ich die Datenrate entsprechend reduzieren und mit der Terminierung spielen.
                              Ich denke, ich werde bei dem Soft I2C bleiben, es hat den Vorteil, dass ich damit auch unterschiedliche Datenraten benutzen kann. Der Multiplexer ist für einen Blindansatz dann doch vermutlich zu komplex.
                              Ich benutze ADS1115 mit einem Ultraschallsensor und würde gerne 2-3 Readings pro Sekunde machen. Wo ist das Problem bei der Reduzierung des Abfrageintervalls auf z.B. 100ms? Vermutlich die ioBroker Last durch viele Nachrichten. Gibt es hier eigentlich Performance Tests welche Anzahl von Nachrichten pro Sekunde maximal z.B. auf einem Raspi 3B bearbeitet werden können? Im Forum habe ich auf die Schnelle nichts gefunden.

                              UncleSam 1 Reply Last reply Reply Quote 0
                              • UncleSam
                                UncleSam Developer @Malombo last edited by

                                @Malombo Ja, 5m mit I2C ist sportlich - ich habe das noch nie versucht, aber es kann funktionieren.

                                Ein CAT6-Kabel nützt dir nur beschränkt etwas, da I2C ja nicht differenziell (wie z.B. RS-485 oder Ethernet) funktioniert, sondern einfach eine Daten- und eine Clock-Leitung hat. Wenn du ein abgeschirmtes Kabel nimmst, kannst du versuchen, GND an beiden Orten auf den Schirm zu nehmen, das wird dir höchstwahrscheinlich helfen. Aber auf keinen Fall den Schirm nur einseitig anschliessen, dann hast du die perfekte Antenne 😉

                                Grundsätzlich hat ioBroker sicher kein Problem mit duzenden von Werten pro Sekunde - zumindest mit Redis wirst du so sicherlich noch lange nicht die Grenze erreichen.

                                Ich werde das Polling Interval in der nächsten Version mal in Millisekunden umbauen; dann musst du einfach mit den Einstellungen spielen, damit der Chip rechtzeitig mit seinen Berechnungen fertig wird. Sobald du die Fehlermeldung "Busy reading values, can't read right now!" im Log siehst, weisst du, dass der Chip länger hat zum messen als du ihn abfragst. Der Adapter ist schlau genug, sich aus der Situation zu "befreien", aber in deinem Logfile sieht es dann nicht so gut aus 😄

                                Ich habe einen Issue auf GitHub erfasst; dort siehst du den Stand der Änderung:
                                https://github.com/UncleSamSwiss/ioBroker.i2c/issues/24

                                UncleSamSwiss created this issue in UncleSamSwiss/ioBroker.i2c

                                closed Change polling interval unit for ADS1115 to milliseconds #24

                                1 Reply Last reply Reply Quote 0
                                • E
                                  eMd @lmk1366 last edited by

                                  @lmk1366 bme/bmp280 können Feuchtigkeit auslesen? Dachte die können nur Druck und Temperatur?

                                  UncleSam 1 Reply Last reply Reply Quote 0
                                  • UncleSam
                                    UncleSam Developer @eMd last edited by

                                    @eMd sagte in [Adapter] - iobroker.i2c:

                                    bme/bmp280 können Feuchtigkeit auslesen?

                                    Gemäss offizieller Website von Bosch:

                                    • BME 280: Feuchtigkeit, Luftdruck, Temperatur https://www.bosch-sensortec.com/bst/products/all_products/bme280
                                    • BMP 280: Luftdruck, Temperatur https://www.bosch-sensortec.com/bst/products/all_products/bmp280

                                    Der Adapter behandelt beide Chips gleich und gibt einfach Feuchtigkeit = 0 aus beim BMP 280.

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      fraeggle last edited by fraeggle

                                      Hi.
                                      Ich habe einen Banana Pi mit dem IOBroker. Alles auf aktuellem Stand.
                                      Wenn ich den Adapeter Instakkieren und konfiguriere, lässt er sich nicht starten.

                                      Banana PI aktuelles Armbian.
                                      ARMBIAN 5.85 stable
                                      /boot/armbianEnv.txt:
                                      overlays=i2c2
                                      Ist dann auch über Armbian-config zu sehen.
                                      Als BUS Nummer hab ich "2" eigetragen, da ich gelesen hab:
                                      Im Reiter "General" tragen Sie jetzt Feld "Bus-Number" bei Raspberry Pi und Tinker Board ein 1 ein, beim Banana Pi eine 2 und klicken anschliessend auf "Search Devices"

                                      Als Fehlermeldung im LOG:

                                      host.iobrokerbpi 2019-06-23 20:58:55.204 info Restart adapter system.adapter.i2c.0 because enabled
                                      host.iobrokerbpi 2019-06-23 20:58:55.203 error instance system.adapter.i2c.0 terminated with code 6 (uncaught exception)
                                      Caught 2019-06-23 20:58:55.202 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                                      Caught 2019-06-23 20:58:55.201 error by controller[0]: at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                      Caught 2019-06-23 20:58:55.200 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
                                      Caught 2019-06-23 20:58:55.199 error by controller[0]: at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
                                      Caught 2019-06-23 20:58:55.198 error by controller[0]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:157:27)
                                      Caught 2019-06-23 20:58:55.197 error by controller[0]: at that.states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4612:61)
                                      Caught 2019-06-23 20:58:55.196 error by controller[0]: at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14
                                      Caught 2019-06-23 20:58:55.196 error by controller[0]: at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20)
                                      Caught 2019-06-23 20:58:55.195 error by controller[0]: at Object.openSync (/opt/iobroker/node_modules/iobroker.i2c/node_modules/i2c-bus/i2c-bus.js:47:3)
                                      Caught 2019-06-23 20:58:55.194 error by controller[0]: at checkBusNumber (/opt/iobroker/node_modules/iobroker.i2c/node_modules/i2c-bus/i2c-bus.js:55:11)
                                      Caught 2019-06-23 20:58:55.191 error by controller[0]: Error: Invalid I2C bus number 2
                                      i2c.0 2019-06-23 20:58:54.128 error at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                                      i2c.0 2019-06-23 20:58:54.128 error at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                      i2c.0 2019-06-23 20:58:54.128 error at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
                                      i2c.0 2019-06-23 20:58:54.128 error at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
                                      i2c.0 2019-06-23 20:58:54.128 error at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:157:27)
                                      i2c.0 2019-06-23 20:58:54.128 error at that.states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4612:61)
                                      i2c.0 2019-06-23 20:58:54.128 error at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14
                                      i2c.0 2019-06-23 20:58:54.128 error at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20)
                                      i2c.0 2019-06-23 20:58:54.128 error at Object.openSync (/opt/iobroker/node_modules/iobroker.i2c/node_modules/i2c-bus/i2c-bus.js:47:3)
                                      i2c.0 2019-06-23 20:58:54.128 error at checkBusNumber (/opt/iobroker/node_modules/iobroker.i2c/node_modules/i2c-bus/i2c-bus.js:55:11)
                                      i2c.0 2019-06-23 20:58:54.128 error Error: Invalid I2C bus number 2
                                      i2c.0 2019-06-23 20:58:54.123 error uncaught exception: Invalid I2C bus number 2

                                      Hat jemand eine Idee?

                                      Gruß Peter

                                      T 1 Reply Last reply Reply Quote 1
                                      • T
                                        tt-opa @fraeggle last edited by

                                        @UncleSam
                                        Hallo zusammen, beschäftige mich gerade mit iobroker und möchte ebenfalls die I2c Schnittstelle nutzen.
                                        Leider endet die Installation des Adapters mit einer Fehlermeldung. Die Vorgehensweise ist wie beschrieben gemacht worden. Installiert ist Raspian Buster und die CCU3. Über i2cdetect sehe ich den PCF 8574 und kann ihn lesen und beschreiben. Hat jemand eine Idee warum die Adapterinstallation fehlschlägt , Danke vorab

                                        UncleSam 1 Reply Last reply Reply Quote 0
                                        • UncleSam
                                          UncleSam Developer @tt-opa last edited by

                                          @tt-opa sagte in [Adapter] - iobroker.i2c:

                                          Leider endet die Installation des Adapters mit einer Fehlermeldung.

                                          Welche Fehlermeldung?

                                          T 1 Reply Last reply Reply Quote 0
                                          • O
                                            oHa510 last edited by

                                            Hallo zusammen, ich bin erst seit kurzem in der Smarthome Welt unterwegs, aber da ich ioBroker super finde, möchte ich nun auch mal etwas zurückgeben. Es geht um das Digital Input Modul von Horter, auch ich hatte nun das Problem wie @mike1976 und @strago, dass sobald man das Modul im Adapter als "Eingänge" definitert, alle LED's auf dem Board leuchten und man daher nichts einlesen kann...

                                            Nun habe ich in der "PCF8574.js" gesehen, dass dort in der "start" Funktion eine "initial value" in den 8574 geschrieben wird. Im Falle des Input Moduls wird der Wert 0x00 geschrieben, was wohl auch normalerweise so passen würde, aber die Horter Module haben eine negative Logik, heißt für Horter ist 0x00 = alle Eingänge High, daher gehen auch alle LEDs auf dem Board an. Es müsste der Wert 0xFF geschrieben werden, danach kann man auch einwandfrei die Inputs einlesen (getestet!).

                                            @UncleSam Kannst du das entsprechend einprogrammieren? Man könnte z.B. berücksichtigen, ob der Eingang im Adapter als "invertiert" gekennzeichnet ist und dann entsprechend die initial value erzeugen?!

                                            Viele Grüße
                                            oHa

                                            UncleSam 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

                                            792
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            i2c
                                            36
                                            128
                                            20498
                                            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