Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Ersatz für vcgencmd nach Raspberry Kernel Update

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ersatz für vcgencmd nach Raspberry Kernel Update

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Thomas Braun last edited by mickym

      @thomas-braun

      pi@MWHome2:~ $ xrandr
      Can't open display
      pi@MWHome2:~ $ sudo xrandr
      Can't open display
      pi@MWHome2:~ $
      

      pi ist in Gruppe video.

      M 1 Reply Last reply Reply Quote 0
      • M
        mrjeschke @mickym last edited by

        @mickym
        Musste gerade feststellen das ich das gleiche Problem habe.
        Ausschalten kann ich den Monitor über

        pi@DietPi:~$ export DISPLAY=:0.0
        pi@DietPi:~$ xrandr --output HDMI-1 --off
        

        Einschalten geht über

        pi@DietPi:~$ xrandr --output HDMI-1 --auto
        
        mickym 2 Replies Last reply Reply Quote 0
        • mickym
          mickym Most Active @mrjeschke last edited by

          @maik-0
          @Thomas-Braun

          Ja und ich bin soooo blöd.😬 😬 😬

          Man muss das Kommando tatsächlich auf der Maschine eingeben, an der der Bildschirm hängt. Das war bei dem vcgencmd nicht so, da ging das auch über ssh.

          Das Ausschalten geht so. - Ich muss nun schauen, ob ich es via NodeRed steuern kann.

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

            @mickym sagte in Raspberry Kernel Update:

            Das war bei dem vcgencmd nicht so, da ging das auch über ssh.

            Das ist klar, X wird nicht (ohne weiteres) über ssh geroutet.
            Hier kämpfen auch einige damit:
            https://www.linuxquestions.org/questions/linux-general-1/xrandr-from-remote-through-ssh-869084/

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

              @thomas-braun Das Ausschalten ging, aber ich habe nun das Problem wie ich das wieder anbekomme.

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @mrjeschke last edited by mickym

                @mrjeschke
                @Thomas-Braun

                So vielen Dank an Euch beide. Wichtig war noch der Export dieser Umgebungsvariable DISPLAY=0.0 - damit ist es dann auch möglich remote und über SSH den Bildschirm wieder zu schalten. Außerdem muss man noch Berechtigungen vergeben, damit das ganze auch für andere Benutzer funktioniert. Für NodeRed muss man dann noch ein paar Verrenkungen machen. Da muss ich wohl @apollon77 bitten wieder eine Variable für die settings.js bereitzustellen, damit man in der Laufzeitumgebung des NodeRed Prozesses Umgebungsvariablen definieren kann.

                Als erstes damit der Benutzer iobroker das Ganze auch ausführen darf, muss man die Zugriffsrechte anpassen und zwar muss das wohl bei jedem Neustart des Systems neu erfolgen, kann man wohl nicht konfigurieren. Ich habe diesen Zugriffscheck abgeschaltet mit xhost +.

                Es langt wenn man es für den Benutzer pi ins Anmeldeprofil schreibt, da sich dieser ja eh automatisch anmeldet.

                Die beiden Befehle habe ich also in die .profile im Homeverzeichnis des pi angehängt:

                export DISPLAY=:0.0
                xhost +
                

                Dann war die Herausforderung diese DISPLAY Umgebungsvariable in dem Prozess, in dem node-red läuft zugänglich zu machen, wie oben bereits erwähnt.

                Man kann folgendenen Eintrag in die settings.js machen bevor die module.export section beginnt - also entweder ganz am Anfang oder ganz am Ende.

                process.env.DISPLAY=':0.0';
                

                Wenn man es nicht macht - dann bekommt man immer als RC=1 zurück, wenn man die xrandr Befehle ausführen will.

                Ansonsten kann man dann prüfen, dass der Returncode 0 ist - also alles in Ordnung ist. Und kann dann an bzw. true in auto und false bzw, aus in off übersetzen und an den Befehlsrumpf angehängt.

                xrandr --output HDMI-1 <--off|--auto>
                

                3405251b-b031-41d9-8c15-6946a87dcc76-image.png

                Danke an alle die mir geholfen haben. 🙂

                mickym Sminter 2 Replies Last reply Reply Quote 0
                • mickym
                  mickym Most Active @mickym last edited by

                  Das Einzige - was etwas offen ist - das ich bisher nichts gefunden habe, wie bei dem vcgencmd Befehl, das mir den aktuellen Status zurückliefert. Das ist nicht ganz so schlimm, wenn man eh nur an einer Stelle schaltet und halt sobald die Maschine hochgefahren ist, einen definierten Status schaltet.

                  1 Reply Last reply Reply Quote 0
                  • Sminter
                    Sminter @mickym last edited by

                    @mickym Danke, genau das habe ich gesucht: Die Steuerung des Bildschirms per NodeRed. Kannst du mir noch den Export deines Flows zukommen lassen?
                    Da ich mich noch nicht lange mit dem Pi beschäftige. Wo finde ich die zwei anzupassenden Dateien auf dem Pi 4?

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Sminter last edited by mickym

                      @sminter Na wenn du all das gemacht hast, was ich unten beschrieben habe - der Flow ist quasi nur der Aufruf der Befehle:

                      769866ee-2af9-4dcc-9c1c-055e925955cc-image.png

                      Mit true und false schalte ich den Monitor an und aus:

                      Hier der Flow:

                      [
                         {
                             "id": "226756a3.c3f79a",
                             "type": "exec",
                             "z": "2364426f.ac30ce",
                             "command": "xrandr --output HDMI-1 ",
                             "addpay": "payload",
                             "append": "",
                             "useSpawn": "true",
                             "timer": "10",
                             "winHide": false,
                             "oldrc": false,
                             "name": "",
                             "x": 770,
                             "y": 1840,
                             "wires": [
                                 [
                                     "7220811b.4bd39"
                                 ],
                                 [
                                     "7220811b.4bd39"
                                 ],
                                 [
                                     "830e8b336da27104"
                                 ]
                             ]
                         },
                         {
                             "id": "3b699dd31190819f",
                             "type": "change",
                             "z": "2364426f.ac30ce",
                             "name": "translate",
                             "rules": [
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "true",
                                     "fromt": "bool",
                                     "to": "--auto",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "false",
                                     "fromt": "bool",
                                     "to": "--off",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 560,
                             "y": 1840,
                             "wires": [
                                 [
                                     "226756a3.c3f79a"
                                 ]
                             ]
                         }
                      ]
                      

                      Die anderen Dateien habe ich in dem Post beschrieben. Die .profile im Homeverzeichnis des pi.

                      7e5bc690-d600-4631-b6fb-cbf353059581-image.png

                      Den export der Variablen, wie gesagt in der settings.js - da musst Du das template editieren. Leider - da es nicht in die Adapterkonfiguration übernommen wird, bei jedem Update erneut ändern:

                      Die template settings.js findest Du unter dem Verzeichnis:

                      /opt/iobroker/node_modules/iobroker.node-red
                      

                      b2b247ae-37c1-4dec-96be-84616abf9d4d-image.png

                      Sminter 1 Reply Last reply Reply Quote 0
                      • Sminter
                        Sminter @mickym last edited by

                        @mickym Thx, für die Screenshots. Hatte anfänglich Schwierigkeiten. Vielleicht liegt es an der OS-Version oder dem Pi4. Kann es sein, das meine Settings-Datei wo anders liegt?
                        e7cb8b31-a1a3-4548-814d-720f3e05bbaa-image.png

                        Und die .profile finde ich auch über die Dateisuche nicht.
                        bf73e3b0-d51c-4083-8f98-60c1dbaf9edb-image.png

                        Der NodeRed-Befehl ist kein Problem, nur greift er natürlich noch nicht... Weißt du wo ich die Datei noch suchen könnte?

                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active last edited by mickym

                          @sminter die .profile sehe ich ja schon auf deinem Screenshot. 4.letzte Datei, wenn du Deinen User pi in franz umbenannt hast.

                          Und die settings.js liegt nur im Adapterverzeichnus, das ich gepostet habe. Also hier: /opt/iobroker/node_modules/iobroker.node-red
                          Natürlich nur, wenn du node-red als Adapter im iobroker betreibst, Ansonsten halt in Deiner stand-alone Settings.js

                          Sminter 1 Reply Last reply Reply Quote 0
                          • Sminter
                            Sminter @mickym last edited by

                            @mickym Sorry, nach all den versteckten und dann auch nicht suchbaren Dateien war ich wohl etwas verwirrt.
                            Wenn die Dateien nicht versteckt und der der andere Pfad beachtet wird, lassen sich die Dateien finden und editieren. Nun funktioniert alles. Danke für die detaillierte Anleitung!
                            Jetzt muss ich nur noch mein Bewegungsmelder dazu bekommen, die ganzen Fehlalarme bleiben zu lassen... 🙂

                            Endurance 1 Reply Last reply Reply Quote 0
                            • Endurance
                              Endurance @Sminter last edited by

                              dh vcgencmd get nicht mehr, um den HDMI Port auszuschalten?

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Endurance last edited by

                                @endurance sagte in Ersatz für vcgencmd nach Raspberry Kernel Update:

                                dh vcgencmd get nicht mehr, um den HDMI Port auszuschalten?

                                genau 😉

                                1 Reply Last reply Reply Quote 0
                                • N
                                  Nexus last edited by

                                  Hi,
                                  bei mir schaltet sich der Bildschirm nach ca. 10s wieder von selbst ein.

                                  Ist das bei euch auch so?
                                  Kann man das anders einstellen?

                                  Gruß!

                                  Endurance 1 Reply Last reply Reply Quote 0
                                  • Endurance
                                    Endurance @Nexus last edited by

                                    gehe mal davon aus, dass sich auch unter Bookworm nichts geändert hat, oder?
                                    Hat jemand einen Idee, wie ich nun den HDMI Port am Raspberry via Bewegungsmelder ein und ausschalte? Eventuell gibts ja irgendwo ein Tutorial dazu....

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Endurance last edited by

                                      @endurance sagte in Ersatz für vcgencmd nach Raspberry Kernel Update:

                                      gehe mal davon aus, dass sich auch unter Bookworm nichts geändert hat, oder?
                                      Hat jemand einen Idee, wie ich nun den HDMI Port am Raspberry via Bewegungsmelder ein und ausschalte? Eventuell gibts ja irgendwo ein Tutorial dazu....

                                      Ich hab doch hier alles beschrieben, das funktioniert bei mir seit damals und heute auch noch.

                                      1 Reply Last reply Reply Quote 0
                                      • Flexer
                                        Flexer last edited by

                                        Hallo in die Runde,
                                        danke für die Inspiration für dieses Projekt. Habe heute meinen Serverschrank mit einem Touchdisplay versehen. Wird alles gesteuert über einen Tür und BWM Sensor.
                                        HDMI An/Aus klappt 1a.

                                        Hier ein Paar Bilder

                                        IMG_9432.jpeg
                                        IMG_9444.jpeg
                                        IMG_9442.jpeg
                                        IMG_9445.jpeg

                                        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

                                        552
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

                                        9
                                        42
                                        6065
                                        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