Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter rpi2 2.x

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Test Adapter rpi2 2.x

Geplant Angeheftet Gesperrt Verschoben Tester
519 Beiträge 29 Kommentatoren 148.3k Aufrufe 20 Watching
  • Ä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.
  • S Smallfeuer

    @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 Offline
    L Offline
    Laser
    schrieb am zuletzt editiert von Laser
    #451

    @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 Antwort Letzte Antwort
    0
    • L 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 Offline
      S Offline
      Smallfeuer
      schrieb am zuletzt editiert von
      #452

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

      1 Antwort Letzte Antwort
      1
      • S Smallfeuer

        @garfonso Den Ausgang hast du noch nicht Invertiert, oder? Siehe meinem letzten Beitrag?

        Wenn das keinen Stört dann sollten wir es so lassen. Ich würde am WE mal die neue Version testen, aber aktuell läuft es wie gesagt problemlos. Never Change a running System ^^.

        Ich hab die Tabelle von @Moppedman nicht gefunden, könnt Ihr die mal teilen?

        MoppedmanM Offline
        MoppedmanM Offline
        Moppedman
        schrieb am zuletzt editiert von Moppedman
        #453

        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

        Gruß aus dem rheinischen

        1 Antwort Letzte Antwort
        1
        • S Smallfeuer

          @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.

          GarfonsoG Offline
          GarfonsoG Offline
          Garfonso
          Developer
          schrieb am zuletzt editiert von Garfonso
          #454

          @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.

          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

          S 3 Antworten Letzte Antwort
          0
          • GarfonsoG 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 Offline
            S Offline
            Smallfeuer
            schrieb am zuletzt editiert von
            #455

            @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 Antwort Letzte Antwort
            0
            • GarfonsoG 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 Offline
              S Offline
              Smallfeuer
              schrieb am zuletzt editiert von Smallfeuer
              #456

              @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 Antwort Letzte Antwort
              0
              • GarfonsoG 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 Offline
                S Offline
                Smallfeuer
                schrieb am zuletzt editiert von Smallfeuer
                #457

                @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 BraunT GarfonsoG 3 Antworten Letzte Antwort
                0
                • S 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 BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von Thomas Braun
                  #458

                  @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)

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  1 Antwort Letzte Antwort
                  1
                  • S 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 BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von
                    #459

                    @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.

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    S 1 Antwort Letzte Antwort
                    1
                    • Thomas BraunT Thomas Braun

                      @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 Offline
                      S Offline
                      Smallfeuer
                      schrieb am zuletzt editiert von
                      #460

                      @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 BraunT 1 Antwort Letzte Antwort
                      0
                      • S Smallfeuer

                        @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 BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von
                        #461

                        @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.

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        S 1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @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 Offline
                          S Offline
                          Smallfeuer
                          schrieb am zuletzt editiert von Smallfeuer
                          #462

                          @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 GarfonsoG 2 Antworten Letzte Antwort
                          0
                          • S 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 Offline
                            S Offline
                            Smallfeuer
                            schrieb am zuletzt editiert von
                            #463

                            Jetzt verstehe ich es nicht mehr. Nachdem ich alles gelöscht hatte ändert er aktuell den Status wieder automatisch von false auf true - bei 2.3.1 jedenfalls auch ohne mein Delay.

                            Das 1. false müsste man aber abfangen. Kein Plan was sich jetzt wieder geändert hat zwischenzeitlich :(.

                            1 Antwort Letzte Antwort
                            0
                            • S 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
                              
                              GarfonsoG Offline
                              GarfonsoG Offline
                              Garfonso
                              Developer
                              schrieb am zuletzt editiert von
                              #464

                              @smallfeuer

                              ähm.. ja.. die github Version hab ich auch noch nicht getestet. Kann sein, dass da noch fehler drin sind. Die Tests laufen ja auch nicht durch. 😉
                              Bin am Freitag nur dazu gekommen neuen Code zu produzieren, ausprobieren und Fehler glatt bügeln, dafür hat die Zeit nicht mehr gereicht. Insofern, was @Thomas-Braun sagt: Bitte erstmal bei der Version aus dem repository bleiben. Ich bitte um tests, wenns soweit ist.

                              Und ja, eigentlich wollte ich das Freitag noch schaffen, aber ging halt nicht. Aber im Forum wollte ich halt auch noch kurz antworten. 😉

                              Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                              Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                              S 1 Antwort Letzte Antwort
                              2
                              • GarfonsoG Garfonso

                                @smallfeuer

                                ähm.. ja.. die github Version hab ich auch noch nicht getestet. Kann sein, dass da noch fehler drin sind. Die Tests laufen ja auch nicht durch. 😉
                                Bin am Freitag nur dazu gekommen neuen Code zu produzieren, ausprobieren und Fehler glatt bügeln, dafür hat die Zeit nicht mehr gereicht. Insofern, was @Thomas-Braun sagt: Bitte erstmal bei der Version aus dem repository bleiben. Ich bitte um tests, wenns soweit ist.

                                Und ja, eigentlich wollte ich das Freitag noch schaffen, aber ging halt nicht. Aber im Forum wollte ich halt auch noch kurz antworten. 😉

                                S Offline
                                S Offline
                                Smallfeuer
                                schrieb am zuletzt editiert von
                                #465

                                @garfonso Kein Stress. Sag bescheid wenn du soweit bist.

                                GarfonsoG 1 Antwort Letzte Antwort
                                0
                                • S 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
                                  
                                  GarfonsoG Offline
                                  GarfonsoG Offline
                                  Garfonso
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #466

                                  @smallfeuer said in Test Adapter rpi2 2.x:

                                  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?

                                  Hä? Welches Problem hat das denn jetzt gelöst?
                                  In deinem log sehe ich, dass der Port initialisiert wurde, dann wurde false eingelesen, nach dem timeout, den du dort hinzugefügt hast und danach meldet die library von "außen" mehrere Veränderungen zu true. Wenn da nur einmal true rauskommen soll, könntest du das mit debounce timer lösen.

                                  Was genau hat der delay jetzt bei dir behoben, wenn es nicht das initiale lesen war?

                                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • S Smallfeuer

                                    @garfonso Kein Stress. Sag bescheid wenn du soweit bist.

                                    GarfonsoG Offline
                                    GarfonsoG Offline
                                    Garfonso
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #467

                                    @smallfeuer said in Test Adapter rpi2 2.x:

                                    @garfonso Kein Stress. Sag bescheid wenn du soweit bist.

                                    Jetzt kannst du von github mal ausprobieren und gucken, ob es einen Unterschied macht. Der initiale Zustand der Eingäge wird jetzt erst gelesen, nachdem der Eventlistener hinzugefügt wurde.

                                    Wenn da immer noch das falsche bei rum kommt, weiß ich nicht mehr so richtig weiter.
                                    In dem Fall, könntest du mir deine Konfiguration mal zukommen lassen? Weiß zwar nicht, ob ich da ohne Hardware hier weiter komme, aber vielleicht fällt mir was ein. 😉

                                    Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                    Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                    HasontH S 2 Antworten Letzte Antwort
                                    0
                                    • GarfonsoG Garfonso

                                      @smallfeuer said in Test Adapter rpi2 2.x:

                                      @garfonso Kein Stress. Sag bescheid wenn du soweit bist.

                                      Jetzt kannst du von github mal ausprobieren und gucken, ob es einen Unterschied macht. Der initiale Zustand der Eingäge wird jetzt erst gelesen, nachdem der Eventlistener hinzugefügt wurde.

                                      Wenn da immer noch das falsche bei rum kommt, weiß ich nicht mehr so richtig weiter.
                                      In dem Fall, könntest du mir deine Konfiguration mal zukommen lassen? Weiß zwar nicht, ob ich da ohne Hardware hier weiter komme, aber vielleicht fällt mir was ein. 😉

                                      HasontH Offline
                                      HasontH Offline
                                      Hasont
                                      schrieb am zuletzt editiert von Hasont
                                      #468

                                      @garfonso
                                      Ich hab ja auf Raspi 4 Bookworm die rpi2 v 2.3.2 und wenn du da Hilfe bei Tests brauchst sag Bescheid.
                                      Habe 8 Ausgänge am Raspie mit High aktiv und 6 Eingänge (Pull down) die ich kurzfristig auch für Tests mit 3,3V beschalten könnte. Derzeit verwende ich GPIO 23 mit einem Taster.

                                      Was mir im Thread auffällt ist, dass viele von Ihren Relaiszustand schreiben. Dieser kann aber je nach verwendeter Relaiskarte auch invertiert sein. Es wäre hier sinnvoll sich immer auf high oder low an den Pins am Raspie zu beziehen. Weiter sollte auch immer in der ersten Zeile benannt werden ob es schon die 2.3.2 ist.

                                      Zum Thema GPIO mit Raspie 5 hab ich grad was im Netz gesehen. Ev. hilft euch das!
                                      https://kofler.info/gpio-aerger-auf-dem-raspberry-pi-5/
                                      https://kofler.info/gpio-reloaded-ii-bash/#more-7796

                                      Dort ist auch eine Abfrage der GPIOs mit z.B. pinctrl get 23 für GPIO 23 beschrieben die bei mir prima funktioniert.

                                      pinctrl get [gpionr] ermittelt den aktuellen Status aller GPIOs bzw. des angegebenen GPIOs.
                                      
                                       pinctrl funcs [gpionr] ermittelt, welche alternativen Funktionen der angegebene GPIO bzw. alle GPIOs erfüllen können.
                                      
                                       pinctrl set gpionr options verändert den Status des angegeben GPIOs. Mögliche Optionen sind:
                                           ip = Input
                                           op = Output
                                           dl = Zustand Low (Drive Low)
                                           dh = Zustand High (Drive High)
                                           pu = Pull-up-Widerstand aktiv
                                           pd = Pull-down-Widerstand aktiv
                                           pn = keine Pull-up/down-Funktion
                                           a0 bis a7 = alternative Funktion n aktivieren
                                           no = Deaktivieren (no function)
                                      
                                      Soweit sich sinnvolle Kombinationen ergeben, dürfen mehrere der obigen Optionen auf einmal übergeben werden, jeweils getrennt durch Leerzeichen. Welche alternative Funktionen ein GPIO unterstützt und wie sie nummeriert sind, geht aus pinctrl funcs hervor.code_text
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • GarfonsoG Garfonso

                                        @smallfeuer said in Test Adapter rpi2 2.x:

                                        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?

                                        Hä? Welches Problem hat das denn jetzt gelöst?
                                        In deinem log sehe ich, dass der Port initialisiert wurde, dann wurde false eingelesen, nach dem timeout, den du dort hinzugefügt hast und danach meldet die library von "außen" mehrere Veränderungen zu true. Wenn da nur einmal true rauskommen soll, könntest du das mit debounce timer lösen.

                                        Was genau hat der delay jetzt bei dir behoben, wenn es nicht das initiale lesen war?

                                        S Offline
                                        S Offline
                                        Smallfeuer
                                        schrieb am zuletzt editiert von
                                        #469

                                        @garfonso
                                        Naja, ich dachte es hätte was geändert. Deshalb hatte ich ja drunter geschrieben gestern Abend - ich verstehe es nicht mehr 🙂

                                        Vorher war es so, dass beim Rebooten "false" stehen geblieben ist und der Eingang gar nicht auf true ging. Nun hatte ich ja die Github Version installiert die nicht lief, dann meine komplette Instanz + Adapter gelöscht und neu auf 2.3.1 gespielt.

                                        Danach blieb von meinem Problem nur noch über, das der 1. Befehl false war und es dann auf true wechselte obwohl ein Signal anliegt. Kurz gesagt - vergiss mein Delay - ich teste jetzt mal die Github Version.

                                        1 Antwort Letzte Antwort
                                        0
                                        • GarfonsoG Garfonso

                                          @smallfeuer said in Test Adapter rpi2 2.x:

                                          @garfonso Kein Stress. Sag bescheid wenn du soweit bist.

                                          Jetzt kannst du von github mal ausprobieren und gucken, ob es einen Unterschied macht. Der initiale Zustand der Eingäge wird jetzt erst gelesen, nachdem der Eventlistener hinzugefügt wurde.

                                          Wenn da immer noch das falsche bei rum kommt, weiß ich nicht mehr so richtig weiter.
                                          In dem Fall, könntest du mir deine Konfiguration mal zukommen lassen? Weiß zwar nicht, ob ich da ohne Hardware hier weiter komme, aber vielleicht fällt mir was ein. 😉

                                          S Offline
                                          S Offline
                                          Smallfeuer
                                          schrieb am zuletzt editiert von Smallfeuer
                                          #470

                                          @garfonso Getestet - läuft, Fehler mit falschen "False" Befehl ist aber identisch. Hast du ne Idee wie wir den 1. Befehl der vom Ausgang gelesen wird verwerfen können?

                                          S 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

                                          717

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe