Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter rpi2 2.x

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter rpi2 2.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Smallfeuer @Laser last edited by

      @laser sagte in Test Adapter rpi2 2.x:

      e

      gpioinfo -> damit siehst du aber nur Eingang/Ausgang / LOW HIGH

      für Pin 17:

      pi3:~ $ gpioget gpiochip0 17
      gpioget: error reading GPIO values: Device or resource busy
      

      jetzt also den Adapter Stoppen:

      bei mir folgender Zustand:
      IOB:
      22 = true
      17 = false

      GPIOGET nach deaktivieren des Adapters:

      pi3:~ $ gpioget gpiochip0 22
      1
      pi3:~ $ gpioget gpiochip0 17
      1
      

      Was ich nicht verstehen kann, warum ist es bei dir anders? Hast du einen Pi5?

      L S 2 Replies Last reply Reply Quote 0
      • L
        Laser @Smallfeuer last edited by

        @smallfeuer Ich habe einen PI4. Aber eine low-aktive Relaiskarte. Low= Relais gezogen.

        S 1 Reply Last reply Reply Quote 0
        • S
          Smallfeuer @Laser last edited by

          @laser sagte in Test Adapter rpi2 2.x:

          Es muß 100% sicher sein, daß nach einem Reboot die Relais in einem bestimmten Status stehen. Auch beim Reboot selber (oder Raspi ohne Spannung) müssen die Relais so stehen (aus).

          Glaub ich hab deinen Text beim ersten mal falsch gelesen. Scheint ja doch identisch.

          NA ganz so ist es nicht .
          Wenn der Strom ausfällt -> muss das Relais Spannungslos sein. Also bei:

          Ausgangssituation Status: "false" im IOB
          -> wird true (beim Stromausfall - Relais wird losgelassen)
          -> sobald Strom/Reboot -> sollte Ausgang wieder "false" werden
          (Wenn dieser ohne Anfangswert konfiguriert ist - wenn du natürlich den Anfangswert 1 konfigurierst dann bleibt das Relais aus - so ist es auch bei mir aktuell.)

          1 Reply Last reply Reply Quote 0
          • S
            Smallfeuer @Laser last edited by

            @laser Na du kannst ja das Relais bei diesen "Standard Relasis aus dem PI Baukasten Sortiment" anklemmen wie du magst. LOW oder HIGH

            Wichtig ist -> erregt ist das Relais wenn Strom da ist - also der Eingang am Relais beschalten ist -> die LED leuchtet. Darum geht es.

            Was die Steuerung dahinter macht ist erstmal egal. Wenn dein Relais Stromausfall hat -> muss es in den sicheren Zustand wechseln. Wenn der sichere Zustand bei dir ein geschlossener Stromkreis am Relais ist, dann ist das für die Sache hier aber nebensächlich.

            L 1 Reply Last reply Reply Quote 0
            • L
              Laser @Smallfeuer last edited by Laser

              @smallfeuer Raspi (4) ausgeschaltet- LED an der Relaiskarte glimmen, Relais aber noch nicht gezogen. Wieder hochfahren- Relais ist abgefallen. Statusabfrage = 1. (Adapter gestoppt). Relais abgefallen (LED aus). Auch wenn der Adapter wieder gestartet wird.
              Wo kann ich denn einen Anfangswert konfigurieren? Adapter V.2.3.2
              Ärgerlich, daß der Status des GPIO nur bei gestopptem Adapter abgefragt werden kann.

              EDIT: ich habe jetzt nur Ausgänge betrachtet. Noch keine Eingänge.

              S 2 Replies Last reply Reply Quote 0
              • S
                Smallfeuer @Smallfeuer last edited by

                @smallfeuer sagte in Test Adapter rpi2 2.x:

                @laser sagte in Test Adapter rpi2 2.x:

                e

                gpioinfo -> damit siehst du aber nur Eingang/Ausgang / LOW HIGH

                für Pin 17:

                pi3:~ $ gpioget gpiochip0 17
                gpioget: error reading GPIO values: Device or resource busy
                

                jetzt also den Adapter Stoppen:

                bei mir folgender Zustand:
                IOB:
                22 = true
                17 = false

                GPIOGET nach deaktivieren des Adapters:

                pi3:~ $ gpioget gpiochip0 22
                1
                pi3:~ $ gpioget gpiochip0 17
                1
                

                Was ich nicht verstehen kann, warum ist es bei dir anders? Hast du einen Pi5?

                @Garfonso Dieses Problem tritt auf wenn ich den Adapter, oder PI Neustarte - > er schreibt den Eingang 17 auf false und prüft ihn nicht vorher. Meiner Meinung nach müsste der State vom Eingang "schreibgeschützt" sein und müsste sich - selbst wenn er manuell geändert in kürzester Zeit zurück ändern. Normalerweise sind doch alle aktiven GPIO überwacht und wenn der Datenpunkt nicht dem GPIO entspricht muss er sofort umgeschrieben werden.

                Garfonso 1 Reply Last reply Reply Quote 0
                • S
                  Smallfeuer @Laser last edited by

                  @laser sagte in Test Adapter rpi2 2.x:

                  Wo kann ich denn einen Anfangswert konfigurieren? Adapter V.2.3.2

                  Du musst in den Einstellungen der Instanz wo du Eingang und Ausgang definierst, Ausgang mit Anfangswert 0 /1 auswählen.

                  1 Reply Last reply Reply Quote 2
                  • S
                    Smallfeuer @Laser last edited by

                    @laser sagte in Test Adapter rpi2 2.x:

                    Ärgerlich, daß der Status des GPIO nur bei gestopptem Adapter abgefragt werden kann.

                    JA, stellt sich mir daraus eine Frage:

                    Wenn der Ausgang 0 ist -> Relais erregt - LED AN
                    -> dann der Adapter beendet wird
                    -> wird dann der Wert auf 1 gesetzt und das Relais deaktiviert - LED AUS?

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      Laser @Smallfeuer last edited by Laser

                      @smallfeuer Den Anfangswert kann ich nur beim Neuanlegen festlegen. Das war mir nicht klar. Gab es möglicherweise in älteren Versionen noch nicht. Zur Zeit geht, ohne daß ich das konfiguriert habe, der Ausgang auf 1, nach dem Neustart.
                      Das Relais ist deaktiviert.

                      EDIT: habe jetzt auf "Ausgangswert 1" konfiguriert. Nach dem Neustart des RPI steht auch eine 1 an.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Smallfeuer @Laser last edited by

                        @laser Ich kann in der 2.3.1 aktuell einfach umstellen. Dafür muss ich die GPIO nicht löschen.

                        1 Reply Last reply Reply Quote 1
                        • Moppedman
                          Moppedman @Smallfeuer last edited by Moppedman

                          Hi @smallfeuer ,

                          Sorry, aber ich war im Ausland auf Dienstreise und habe daher erst jetzt Zeit zu antworten. Weis nicht ob du die Tabelle in meinem Orginal Post gefunden hast, sonst hier noch einmal zur Info. Die obere ist von meinem "alten" Pi4 mit Buster und die untere ein Pi5 mit Bookworm. Die jeweiligen rpio Versionen die ich getestet habe stehen links

                          gpio-Vergleichstabelle-2.jpg

                          1 Reply Last reply Reply Quote 1
                          • Garfonso
                            Garfonso Developer @Smallfeuer last edited by Garfonso

                            @smallfeuer said in Test Adapter rpi2 2.x:

                            Das bedeutet das es wohl Grundlegend geändert wurde. Vor Bookworm war es definitiv andersrum und für mich logischer.

                            Das kann ich ehrlich gesagt im Code nicht nachvollziehen. Also wenn dann kommt das von der Bibliothek. Aber ich hab jetzt mal das invertieren eingebaut.

                            @smallfeuer said in Test Adapter rpi2 2.x:

                            Dieses Problem tritt auf wenn ich den Adapter, oder PI Neustarte - > er schreibt den Eingang 17 auf false und prüft ihn nicht vorher. Meiner Meinung nach müsste der State vom Eingang "schreibgeschützt" sein und müsste sich - selbst wenn er manuell geändert in kürzester Zeit zurück ändern. Normalerweise sind doch alle aktiven GPIO überwacht und wenn der Datenpunkt nicht dem GPIO entspricht muss er sofort umgeschrieben werden.

                            Also beim Adapter start wird der Wert aller Eingänge ausgelesen und in ioBroker entsprechend gesetzt. Wenn du oder ein Skript daran rumfummelst, passiert nichts (außer eine Fehlermeldung im Log). Da bist du mE dann aber auch etwas selber schuld, der Adapter repariert das gefummel nicht. 😉 Wenn sich der Zustand ändert, wird es wieder korrigiert.
                            Aber ok, ich habe eingebaut, dass er nach der Fehlermeldung den Wert nochmal ausliest.

                            Und ich hab jetzt eingebaut, dass er auch den Wert von GPIO-Ausgängen beim starten liest. Falls das geht, sollten die ioBroker states dann abbilden, was bei den GPIOs an / aus ist. Wobei das für die GPIOs mit definiertem Startwert auch vorher schon der Fall gewesen sein sollte.

                            S 3 Replies Last reply Reply Quote 0
                            • S
                              Smallfeuer @Garfonso last edited by

                              @garfonso sagte in Test Adapter rpi2 2.x:

                              Also beim Adapter start wird der Wert aller Eingänge ausgelesen und in ioBroker entsprechend gesetzt

                              Na genau das funktioniert bei mir nicht. Nach einem Neustart des Adapters geht der Eingang von True auf False obwohl das Signal weiterhin anliegt. Wenn ich den Adapter dann beende und auslese wird mir auch eine 1 angezeigt.

                              1 Reply Last reply Reply Quote 0
                              • S
                                Smallfeuer @Garfonso last edited by Smallfeuer

                                @garfonso sagte in Test Adapter rpi2 2.x:

                                Wobei das für die GPIOs mit definiertem Startwert auch vorher schon der Fall gewesen sein sollte.

                                Bei definiertem Startwert braucht er sie ja nicht auslesen. Da muss er sie ja einfach nur setzen. 😉

                                Nur bei nicht definiertem Startwert, wäre es korrekt den Wert beizubehalten der vorher da war.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Smallfeuer @Garfonso last edited by Smallfeuer

                                  @garfonso

                                  Ich bekomm die aktuelle Github Version 2.3.2 nicht zum laufen, 2.3.1 läuft:

                                  Grad komplett gelöscht mit allen Einstellungen und neu gezogen.

                                  Do not restart adapter system.adapter.rpi2.0 because restart loop detected
                                  
                                  Thomas Braun Garfonso 3 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @Smallfeuer last edited by Thomas Braun

                                    @smallfeuer @Garfonso

                                    Und die Meldungen im Log sehen so aus. Zumindest bei mir...

                                    2025-02-23 11:53:08.571  - info: rpi2.0 (279931) starting. Version 2.3.2 (non-npm: iobroker-community-adapters/ioBroker.rpi2) in /opt/iobroker/node_modules/iobroker.rpi2, node: v23.7.0, js-controller: 7.0.6
                                    2025-02-23 11:53:08.981  - error: rpi2.0 (279931) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                    2025-02-23 11:53:08.981  - error: rpi2.0 (279931) unhandled promise rejection: value.toFixed is not a function
                                    2025-02-23 11:53:08.983  - error: rpi2.0 (279931) TypeError: value.toFixed is not a function
                                        at parser (/opt/iobroker/node_modules/iobroker.rpi2/main.js:454:58)
                                        at async main (/opt/iobroker/node_modules/iobroker.rpi2/main.js:327:9)
                                        at async Rpi2.onReady (/opt/iobroker/node_modules/iobroker.rpi2/main.js:58:9)
                                    2025-02-23 11:53:08.984  - error: rpi2.0 (279931) value.toFixed is not a function
                                    2025-02-23 11:53:08.990  - info: rpi2.0 (279931) terminating
                                    2025-02-23 11:53:08.992  - warn: rpi2.0 (279931) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                    2025-02-23 11:53:09.490  - info: rpi2.0 (279931) terminating
                                    2025-02-23 11:53:09.603  - error: host.chet instance system.adapter.rpi2.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                    2025-02-23 11:53:43.092  - info: rpi2.0 (279987) starting. Version 2.3.2 (non-npm: iobroker-community-adapters/ioBroker.rpi2) in /opt/iobroker/node_modules/iobroker.rpi2, node: v23.7.0, js-controller: 7.0.6
                                    2025-02-23 11:53:43.532  - error: rpi2.0 (279987) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                    2025-02-23 11:53:43.533  - error: rpi2.0 (279987) unhandled promise rejection: value.toFixed is not a function
                                    2025-02-23 11:53:43.535  - error: rpi2.0 (279987) TypeError: value.toFixed is not a function
                                        at parser (/opt/iobroker/node_modules/iobroker.rpi2/main.js:454:58)
                                        at async main (/opt/iobroker/node_modules/iobroker.rpi2/main.js:327:9)
                                        at async Rpi2.onReady (/opt/iobroker/node_modules/iobroker.rpi2/main.js:58:9)
                                    2025-02-23 11:53:43.535  - error: rpi2.0 (279987) value.toFixed is not a function
                                    2025-02-23 11:53:43.543  - info: rpi2.0 (279987) terminating
                                    2025-02-23 11:53:43.545  - warn: rpi2.0 (279987) Terminated (UNCAUGHT_EXCEPTION): Without reason
                                    2025-02-23 11:53:44.043  - info: rpi2.0 (279987) terminating
                                    2025-02-23 11:53:44.160  - error: host.chet instance system.adapter.rpi2.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                    2025-02-23 11:53:44.161  - warn: host.chet Do not restart adapter system.adapter.rpi2.0 because restart loop detected
                                    
                                    

                                    Version: iobroker.rpi2@2.3.2 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.rpi2.git#c75795660b15fec21ffda74db9263f94f3e341a1)

                                    1 Reply Last reply Reply Quote 1
                                    • Thomas Braun
                                      Thomas Braun Most Active @Smallfeuer last edited by

                                      @smallfeuer

                                      Allerdings läuft die iobroker.rpi2@2.3.2 aus dem Repo.
                                      Lass halt die Finger von GitHub-Installationen, wenn du nicht dazu aufgefordert wurdest das zu tun.
                                      Da kann halt jeder Code-Stand angespült werden.

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

                                        @thomas-braun sagte in Test Adapter rpi2 2.x:

                                        Lass halt die Finger von GitHub-Installationen, wenn du nicht dazu aufgefordert wurdest das zu tun.
                                        Da kann halt jeder Code-Stand angespült werden.

                                        Na eigentlich wird nur der letzte Stand der in Github hochgeladen wurde installiert.
                                        Hatte mir die Comparing changes vorher angeschaut - bin schon groß 😉

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @Smallfeuer last edited by

                                          @smallfeuer sagte in Test Adapter rpi2 2.x:

                                          Na eigentlich wird nur der letzte Stand der in Github hochgeladen wurde installiert.

                                          Richtig. Das kann aber was komplett anderes sein, als das was (mit gleicher Versionsnummer!) in den Repos landet.

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

                                            @thomas-braun

                                            Dieser Hinweis ist wichtig an der Stelle, daher hatte ich die Version und aus Github geschrieben. Aber korrekt und wichtig für alle da zu unterscheiden.

                                            Ich such jetzt im Programm mal nach dem Fehler der mir beim Neustart des Adapters meinen Eingang auf false setzt, obwohl dieser definitiv true ist.

                                            @Garfonso
                                            Problem gefunden und hätte hier eine Lösung. Die Initialisierung geht nicht schnell genug.
                                            Habe eine Delay Funktion nach dem GPIO watch Befehl integriert - jetzt wird der Eingang korrekt auf True gesetzt.

                                            function delay(ms) {
                                              return new Promise(resolve => setTimeout(resolve, ms));
                                            }
                                            
                                              // Füge eine kurze Verzögerung hinzu, um sicherzustellen, dass der Pin initialisiert ist
                                            
                                            
                                               121              this.gpioInputPorts.push(gpioSetting.gpio); //
                                               neu                 await delay(100); // Verzögerung von 100 Millisekunden
                                               122                 await this.readValue(gpioSetting.gpio);
                                            
                                            

                                            im DEBUG Log zeigt er mir damit aber eine lange liste true. Das "false" am Anfang kommt leider immer noch durch. Er korrigiert es jetzt aber. Kannst du beim 1. lesen des Eingangs den Inhalt verwerfen? Das liegt sicher an der Debounce Abfrage - richtig?

                                            2025-02-23 17:43:25.161 - debug: rpi2.0 (34903) GPIO chip undefined initialized
                                            2025-02-23 17:43:25.161 - debug: rpi2.0 (34903) Port 17 direction: in
                                            2025-02-23 17:43:25.164 - debug: rpi2.0 (34903) Setting state for port 17 to false
                                            2025-02-23 17:43:25.221 - silly: rpi2.0 (34903) States user redis pmessage rpi2.0.*/rpi2.0.gpio.17.state:{"val":false,"ack":true,"ts":1740329005219,"q":0,"from":"system.adapter.rpi2.0","user":"system.user.admin","lc":1740329005219}
                                            2025-02-23 17:43:25.225 - debug: rpi2.0 (34903) Port 22 direction: outhigh
                                            2025-02-23 17:43:25.227 - debug: rpi2.0 (34903) Adding event listener for port 17
                                            2025-02-23 17:43:26.792 - debug: rpi2.0 (34903) GPIO change on port 17: true
                                            2025-02-23 17:43:26.793 - debug: rpi2.0 (34903) Setting state for port 17 to true
                                            2025-02-23 17:43:26.795 - debug: rpi2.0 (34903) GPIO change on port 17: true
                                            2025-02-23 17:43:26.797 - debug: rpi2.0 (34903) Setting state for port 17 to true
                                            2025-02-23 17:43:26.800 - debug: rpi2.0 (34903) GPIO change on port 17: true
                                            2025-02-23 17:43:26.801 - debug: rpi2.0 (34903) Setting state for port 17 to true
                                            2025-02-23 17:43:26.803 - debug: rpi2.0 (34903) GPIO change on port 17: true
                                            2025-02-23 17:43:26.804 - debug: rpi2.0 (34903) Setting state for port 17 to true
                                            2025-02-23 17:43:26.806 - debug: rpi2.0 (34903) GPIO change on port 17: true
                                            
                                            S Garfonso 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            805
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            496
                                            62239
                                            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