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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Adapter] - iobroker.i2c

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

      @SMARTY-ML Ich tippe auf Netzwerk Problem? Sonst kannst du das Skript auf deinem PC herunterladen und dann auf den Raspi kopieren und dort ausführen:
      https://iobroker.net/install.sh

      1 Reply Last reply Reply Quote 0
      • S
        SMARTY.ML last edited by

        Mein Pihole hats geblockt ^^

        Leider funktioniert es immernoch nicht, es gibt auch keine Fehlermeldung o.ä. Die Rechte vom oberen Post habe ich vergeben.

        i2c.0	2020-11-28 20:46:07.681	info	(1405) Using bus number: 1
        i2c.0	2020-11-28 20:46:07.466	info	(1405) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.i2c, node: v10.23.0, js-controller: 3.1.6
        

        Über die Shell immernoch folgendes Ergebnis:

        pi@raspberrypi:~ $ i2cdetect -y 1
             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
        00:          -- -- -- -- -- -- -- -- -- -- -- -- --
        10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
        30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        70: -- -- -- -- -- -- -- --
        
        

        Kann ich irgendwie nochmal Version 0.0.8 installieren?

        UncleSam 1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @SMARTY.ML last edited by

          @SMARTY-ML Kannst du mal versuchen, den Adapter zu beenden, dann in den Einstellungen zur Adapter Instanz, die Bus Nummer auf 0 zu stellen und das speichern & schliessen. Danach wieder öffnen und zurück auf 1 stellen und speichern. Danach den Adapter wieder starten. Hilft das vielleicht?

          1 Reply Last reply Reply Quote 0
          • S
            SMARTY.ML last edited by

            Zeigt leider keine Wirkung, habe auch nochmal die Berechtigungen geprüft:

            i2c:x:998:pi,root,www-data,iobroker
            
            UncleSam 1 Reply Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer @SMARTY.ML last edited by

              @SMARTY-ML Was passiert genau, wenn du in der Adapter Config nach Geräten suchst? Wird der Knopf grau oder kannst du ihn mehrmals bedienen? Schalte mal das Adapter Log auf debug und öffne in deinem Browser per F12 die Entwickler Konsole. Siehst du dann irgendetwas, wenn er sucht (Browser und ioBroker Log)?

              1 Reply Last reply Reply Quote 0
              • S
                SMARTY.ML last edited by

                Ich musste den Adapter direkt über Github beziehen und eine Instanz hinzufügen.
                Inspiration hier her: https://github.com/UncleSamSwiss/ioBroker.i2c/issues/53

                Ich kann den Adapter jetzt auch über den Master steuern, soweit alles i.O.

                Problem behoben, Ursache ungeklärt, vielen Dank

                keg6431 created this issue in UncleSamSwiss/ioBroker.i2c

                closed Adapter does not find any devices #53

                UncleSam 1 Reply Last reply Reply Quote 0
                • UncleSam
                  UncleSam Developer @SMARTY.ML last edited by

                  @SMARTY-ML sagte in [Adapter] - iobroker.i2c:

                  Ich musste den Adapter direkt über Github beziehen und eine Instanz hinzufügen.

                  Verdammt, es gibt immer mehr, die mit dem Problem kommen. Ich werde baldmöglichst eine neue Version herausgeben.

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

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

                    Ich werde baldmöglichst eine neue Version herausgeben.

                    Das Problem mit der Gerätesuche wurde in Version 1.1.1 behoben. Danke vielmals für euer Feedback und sorry für den Fehler!

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

                      @UncleSam Hallo, vorab bereits schon einmal vielen Dank für den Adapter.
                      Anbei meine Frageliste.
                      Kann ich die Eingänge und Ausgänge dauerhaft umbeschriften? Eben nach dem Neustart war alles weg.
                      Zweitens ist es möglich die Ausgänge auf eine Tastfunktion dauerhaft umzustellen? Ich schalte nämlich Stromstoßrelais welche nur ein kurzen Impuls brauchen.
                      Drittens die als Inputs definierten Datenpunkte stehen nicht stabiel also True, True, false, True etc. bei den aktualisierungen obwohl der Eingang ununterbrochen auf HIGH ist. (Eingang ohne PullUp Widerstand)
                      Danke im Voraus.

                      Technische Daten
                      ioBroker Slave Pi 3 B mit MCP23017
                      Adresse 0x20 als Inputs A0-A7 und B0-B7 die Signale kommen von Finderrelais welche parallel zu den Verbrauchern angeschlossen sind
                      Adresse 0x21 als Outputs A0-A7 und B0-B7 daran eine Relaiskarte angeschlossen die widerum Stromstoßrelais parallel zu den eigentlichen mechanischen Tastern "schaltet"

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

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

                        Kann ich die Eingänge und Ausgänge dauerhaft umbeschriften? Eben nach dem Neustart war alles weg.

                        Nein, Datenpunkte umbenennen geht bei diesem Adapter nicht. Du kannst aber die Alias-Funktion verwenden, wenn du bessere Namen für die Datenpunkte verwenden willst.

                        Zweitens ist es möglich die Ausgänge auf eine Tastfunktion dauerhaft umzustellen? Ich schalte nämlich Stromstoßrelais welche nur ein kurzen Impuls brauchen.

                        Für die jeweiligen Geräte stelle ich nur dieselbe Funktionalität zur Verfügung, wie sie das Gerät per I2C bietet. Für die einfachen I/O-Expander (PCF8574 und MCP230xx) kannst du nur einen Wert setzen (ein/aus). Wenn du unbedingt einen Chip willst, der kurze Trigger kann, dann schau dir die SX150x an: dort kannst du das Timing vieler Pins genau einstellen. Allerdings würde ich persönlich diese Tastfunktion einfach mit JavaScript oder Blockly selber schreiben.

                        Drittens die als Inputs definierten Datenpunkte stehen nicht stabiel also True, True, false, True etc. bei den aktualisierungen obwohl der Eingang ununterbrochen auf HIGH ist. (Eingang ohne PullUp Widerstand)

                        Bist du sicher, dass du den Pin sauber auf VCC gezogen hast und er nicht "floating" ist. Ohne Pull-Up-Widerstand (sprich: push-pull) muss der Zustand des Pins immer sauber zur Referenzspannung (VCC) gesetzt sein: also entweder mit VCC oder GND verbunden. Speist du den MCP23017 mir 3.3V oder 5V? Was geschieht wenn das Finder Relais offen ist? Und was, wenn es geschlossen ist?

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

                          @UncleSam die false Werte stehen stabil. Die Eingänge sind mit 5 Volt. In der "alten" py umgebung gab es das Problem nicht.

                          UncleSam 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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