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

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

    • 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.
    • UncleSam
      UncleSam Developer @Holger_B76 last edited by

      @Holger_B76 Kannst du mal eine kleine Skizze oder so machen, wie du die Eingänge des MCP23017 genau mit den Relais verbunden hast? Und kannst du mal ein Debug-Log runterladen, wenn sich die Werte ändern?

      H 1 Reply Last reply Reply Quote 0
      • H
        Holger_B76 @UncleSam last edited by

        @UncleSam HerstellerAngaben.JPG so hätte gern der Hersteller den Aufbau

        Licht_Ansteuerung_1.JPG Relaiskarte.JPG

        und so habe ich es dann aufgebaut

        Licht_Ansteuerung.png

        Die Relaiskarte hat eine seperate 12 Volt Versorgung, die 32 Port Karte sitzt huckepack auf dem PI

        Bislang hatte ich eine Datei die 16 Eingänge ausgelesen hat und in eine text datei geschrieben hat. diese wurde dann ausgelesen durch php und visualisiert. Die PHP widerum konnte 16 weitere werte in die txt schreiben die dann durch den laufenden py script abgearbeitet wurden..
        Status (alle aus) Eingang(soll geschaltet werden)
        0000000000000000 0000000000000000

        die Stelle war immer identisch also Lampe 1,2,3.... bis 16 danche Schalten Lampe 1,2,3... bis 16

        das lief alles und die PHP färbte die Button auch dauerhaft grün wenn die lampe an war. Nun pulsiert auch die php (wenn ich den script starte)

        ich habe mir nun bereits im iobroker Hilfspunkte mittels script angelegt welche durch ein Timeout das pulsieren "glätten" aber dennoch ist ja der traffic und stress im datenbus noch da.

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

          @Holger_B76 An den Eingängen des MCP musst du in diesem Fall die Pull-Ups aktivieren. Grund: wenn das Finder-Relais offen ist, ist der Eingang "floating" (kein definierter Zustand). Mit dem Pull-Up setzt du den Einang auf 1, wenn das Relais offen ist; und wenn das Relais geschlossen ist, zieht die direkte Verbindung auf GND den Eingang auf 0.

          H 1 Reply Last reply Reply Quote 0
          • H
            Holger_B76 @UncleSam last edited by Holger_B76

            @UncleSam ja das habe ich auch schon gefunden jedoch läuft ja auf dem PI nun gar kein script wenn ich deinen Adapter benutzte. Wie kann ich da die Pi eigenen aktivieren?

            https://www.abelectronics.co.uk/kb/article/1071/expander-pi---reading-io-inputs

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

              @Holger_B76 Du verwendest doch gar keine Pins vom Raspi, oder? Zumindest in deinem Schema steht davon nichts. Du musst die Pull-ups am MCP aktivieren, und das machst du, indem du den Input (in der Adapter Konfiguration) auf "Input with pull-up" stellst.

              Oder verstehe ich jetzt etwas komplett falsch?

              Du hast ja selber geschrieben:
              @Holger_B76 sagte in [Adapter] - iobroker.i2c:

              Eingang ohne PullUp Widerstand

              Und das ist falsch: der Pull-up muss eingeschaltet sein.

              H 1 Reply Last reply Reply Quote 0
              • H
                Holger_B76 @UncleSam last edited by Holger_B76

                @UncleSam Nein alles richtig nur die Gipos des MCPs werden verwendet. 0x20 als Eingang (16 Stück) und 0x21 als Ausgang zur Relaiskarte (16 Stück) jedoch läuft halt keine Programm.py mehr in der das gesetzt werden könnte. Da ich ja alles nun aus Deinem Adapter heraus mache.

                Und VERDAMMT ich hatte das in Deinem Adapter so verstanden das er einen externen Pull dann erwartet. *anKopfPatsch

                H 1 Reply Last reply Reply Quote 0
                • H
                  Holger_B76 @Holger_B76 last edited by

                  So und nun ist Ruhe in den Datenpunkten.
                  Die Aliasdatenpunkte die ich angelegt hatte sind ja nicht ganz um Sonst sie haben ja das Baschriftungsthema verbessert.

                  Danke vielmals.

                  1 Reply Last reply Reply Quote 1
                  • S
                    SilSchm last edited by

                    Hallo,
                    ich stehe leider gerade etwas auf dem Schlauch, wie ich den Adapter für meinen Zweck mit Werten füttere. Ich habe von Horter ein 4-Kanal-Analog-Output, dem ich versuche die entsprechenden Werte in die Register zu schreiben. Diese Werte sind die dezimal zwischen 0 und 1000 und müssen in Hex gewandelt (mache ich mit node red) und in Upper und Lower Byte in die Register des Kanals geschrieben werden.
                    Der funktionierende Konsolenbefehl ist: i2cset - y 1 0x58 0x00 0x00 0x00 i
                    Dies bedeutet i2c Bus 1, Adresse 0x58, Kanal 0x00 und 2 Byte für den Werte. Meine Frage ist. Wie kann ich diesen Wert im Adapter schreiben.?
                    Ich habe ein Generic-Gerät 0x58 gefunden und die 4 Kanäle 0x00 bis 0x03 angelegt. Ich weiß nur nicht wie ich den Wert Z.B. 0x00 0x00 in den Kanal schreibe, dass er im Register landet. Habe es schon mit Leerzeichen oder Kommagetrennt probiert, aber es kommt nicht an. Hat jemand eine Idee?

                    Mfg Silvio

                    crycode 1 Reply Last reply Reply Quote 0
                    • crycode
                      crycode Developer @SilSchm last edited by

                      @silschm Mit dem Generic Gerätetyp müsstest du deine 4 Kanäle als Register 0x00 bis 0x03 mit dem passenden Datentyp uint16_be oder uint16_le anlegen. Deinen zu schreibenden Wert schreibst du dann einfach als normale Dezimalzahl (0 bis 1000) in den entsprechenden State und der Adapter kümmert sich um den Rest.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        SilSchm @crycode last edited by

                        @crycode Hallo @crycode, vielen Dank. So einfach habe ich gar nicht gedacht. Funktioniert super! 👍

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

                          Hallo ✋

                          ich habe den Adapter zusammen mit dem Horter 4-Kanal Analogausgabemodul zum laufen bekommen. Es funktioniert auch soweit super, aber alle paar Tage habe ich einen komischen Fehler, der die Analogausgänge mit einer Spannung von 3,x V stehen lässt und im Log von iobroker folgenden Fehler wirft.

                          i2c.1	2021-02-23 00:15:12.004	error	(18540) Generic 0x58: 0x01: Couldn't send value: Error: , Remote I/O error
                          i2c.1	2021-02-23 00:15:11.999	debug	(18540) Generic 0x58: 0x01: Sending 2 bytes: 0000
                          i2c.1	2021-02-23 00:15:11.997	debug	(18540) stateChange i2c.1.0x58.0x01 {"val":0,"ack":false,"ts":1614035711988,"q":0,"from":"system.adapter.node-red.1","user":"system.user.admin","lc":1614015340201}
                          i2c.1	2021-02-23 00:15:11.958	error	(18540) Generic 0x58: 0x00: Couldn't send value: Error: , Remote I/O error
                          i2c.1	2021-02-23 00:15:11.952	debug	(18540) Generic 0x58: 0x00: Sending 2 bytes: e803
                          i2c.1	2021-02-23 00:15:11.949	debug	(18540) stateChange i2c.1.0x58.0x00 {"val":1000,"ack":false,"ts":1614035711940,"q":0,"from":"system.adapter.node-red.1","user":"system.user.admin","lc":1614015180177}
                          

                          Einzige Abhilfe ist kurz die Spannung vom Horter-Modul zu trennen. Dann geht es wieder. Adapter oder selbst iobroker neu starten bringt nicht. Seht ihr auch den Fehler beim Modul oder habt ihr eine andere Idee?

                          MfG Silvio

                          Thomas Braun crycode 2 Replies Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @SilSchm last edited by

                            @silschm Bitte keine Screenshots von KonsolenTEXT sondern Text auch als solchen in </> CodeTags posten. Kann man besser und überall lesen.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SilSchm @Thomas Braun last edited by

                              @thomas-braun Ok, sorry, Habe es geändert.

                              1 Reply Last reply Reply Quote 0
                              • crycode
                                crycode Developer @SilSchm last edited by

                                @silschm Dem Fehler nach reagiert der I2C Slave (also dein Modul) nicht mehr auf die Befehle vom I2C Master (ioBroker). Deiner Beschreibung nach vermute ich, dass der Controller auf dem Modul (weshalb auch immer) abstürzt und nichts mehr macht.

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

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

                                  @silschm Dem Fehler nach reagiert der I2C Slave (also dein Modul) nicht mehr auf die Befehle vom I2C Master (ioBroker). Deiner Beschreibung nach vermute ich, dass der Controller auf dem Modul (weshalb auch immer) abstürzt und nichts mehr macht.

                                  Ich kann @crycode nur zustimmen: ich hatte ähnliche Probleme mit Spannungsschwankungen wegen Relais, die an derselben Spannungsversorgung lagen. Die Lösung war einen Kondensator an der Spannungsversorgung anzulöten.

                                  Zudem habe ich bei einigen Modulen eine Überprüfung eingeschaltet, damit ich erkenne, wenn das Modul neu gestartet wurde. Falls du bei Horter etwas findest, wie du einen Neustart erkennen kannst, kannst du vielleicht dann gleich wieder die Werte setzen.

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    ecurb @UncleSam last edited by

                                    @unclesam
                                    Hey
                                    ich habe den BME280 schon über deinen Adapter benutzt. Hat super funktioniert.
                                    Jetzt habe ich mir den BME 680 BME 680 Amazon besorgt und leider gemerkt das dieser noch nicht in deinem Adapter integriert ist.

                                    Gibt es eine Möglichkeit das du diesen in naher Zukunft hinzufügen könntest?

                                    Vielen dank
                                    Mit freundlichen Grüßen
                                    Ecurb

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

                                      @ecurb Klar, erfasse doch bitte ein Issue in GitHub, dann werde ich mich drum kümmern.

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        Wolfgang_Muc last edited by

                                        Hallo,
                                        ich habe von seeed das 4 channel Relais HAT (103030029).
                                        Gesteuert wird es von einem PCAL9535A.
                                        Ich habe schon alle Adapter durch probiert ob da was zufälligerweise kompatibel ist und auch mit dem Generic Adapter komme ich nicht weiter.
                                        Kann man den PCAL9535A mit aufnehmen?

                                        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

                                        959
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

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