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. ioBroker Allgemein
  4. Ersatz für vcgencmd nach Raspberry Kernel Update

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

Ersatz für vcgencmd nach Raspberry Kernel Update

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
42 Beiträge 9 Kommentatoren 8.0k Aufrufe 8 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.
  • mickymM mickym

    @thomas-braun sagte in Raspberry Kernel Update:

    @mickym sagte in Raspberry Kernel Update:

    um bestimmte Updates zu blockieren.

    apt-hold ist dein Freund.

    OK - Danke - ich probiers mal - und sag obs geklappt hat. 🙂

    Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    schrieb am zuletzt editiert von Thomas Braun
    #16

    @mickym

    Versuch mal

    vcgencmd display_power 0 0
    
    echad@chet:~ $ vcgencmd display_power 0 0
    display_power=0
    

    display_power [0 | 1 | -1] [display]

    Show current display power state, or set the display power state. vcgencmd display_power 0 will turn off power to the current display. vcgencmd display_power 1 will turn on power to the display. If no parameter is set, this will display the current power state. The final parameter is an optional display ID, as returned by tvservice -l or from the table below, which allows a specific display to be turned on or off.

    Note that for the 7" Raspberry Pi Touch Display this simply turns the backlight on and off. The touch functionality continues to operate as normal.

    vcgencmd display_power 0 7 will turn off power to display ID 7, which is HDMI 1 on a Raspberry Pi 4.

    Display         | ID
    > Main LCD      | 0
    > Secondary LCD | 1
    > HDMI 0        | 2
    > Composite     | 3
    > HDMI 1        | 7
    

    To determine if a specific display ID is on or off, use -1 as the first parameter.

    vcgencmd display_power -1 7 will return 0 if display ID 7 is off, 1 if display ID 7 is on, or -1 if display ID 7 is in an unknown state, for example undetected.

    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

    mickymM 1 Antwort Letzte Antwort
    0
    • Thomas BraunT Thomas Braun

      @mickym

      Versuch mal

      vcgencmd display_power 0 0
      
      echad@chet:~ $ vcgencmd display_power 0 0
      display_power=0
      

      display_power [0 | 1 | -1] [display]

      Show current display power state, or set the display power state. vcgencmd display_power 0 will turn off power to the current display. vcgencmd display_power 1 will turn on power to the display. If no parameter is set, this will display the current power state. The final parameter is an optional display ID, as returned by tvservice -l or from the table below, which allows a specific display to be turned on or off.

      Note that for the 7" Raspberry Pi Touch Display this simply turns the backlight on and off. The touch functionality continues to operate as normal.

      vcgencmd display_power 0 7 will turn off power to display ID 7, which is HDMI 1 on a Raspberry Pi 4.

      Display         | ID
      > Main LCD      | 0
      > Secondary LCD | 1
      > HDMI 0        | 2
      > Composite     | 3
      > HDMI 1        | 7
      

      To determine if a specific display ID is on or off, use -1 as the first parameter.

      vcgencmd display_power -1 7 will return 0 if display ID 7 is off, 1 if display ID 7 is on, or -1 if display ID 7 is in an unknown state, for example undetected.

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #17

      @thomas-braun sagte in Raspberry Kernel Update:

      @mickym

      Versuch mal

      vcgencmd display_power 0 0
      
      echad@chet:~ $ vcgencmd display_power 0 0
      display_power=0
      

      Ja das hat ich schon probiert - auch mit

      pi@MWHome2:~ $ vcgencmd display_power = 0
      display_power=0
      pi@MWHome2:~ $ vcgencmd display_power 0 0
      display_power=0
      

      Das meldet zwar display_power=0 zurück, der HDMI Port bleibt aber weiter aktiv.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      Thomas BraunT 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @thomas-braun sagte in Raspberry Kernel Update:

        @mickym

        Versuch mal

        vcgencmd display_power 0 0
        
        echad@chet:~ $ vcgencmd display_power 0 0
        display_power=0
        

        Ja das hat ich schon probiert - auch mit

        pi@MWHome2:~ $ vcgencmd display_power = 0
        display_power=0
        pi@MWHome2:~ $ vcgencmd display_power 0 0
        display_power=0
        

        Das meldet zwar display_power=0 zurück, der HDMI Port bleibt aber weiter aktiv.

        Thomas BraunT Online
        Thomas BraunT Online
        Thomas Braun
        Most Active
        schrieb am zuletzt editiert von
        #18

        @mickym

        Und mit 2 oder 7? Das sind die HDMI-Ports.

        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

        mickymM 1 Antwort Letzte Antwort
        0
        • Thomas BraunT Thomas Braun

          @mickym

          Und mit 2 oder 7? Das sind die HDMI-Ports.

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #19

          @thomas-braun Also Du meinst

          vcgencmd display_power 2 0
          

          bzw.

          vcgencmd display_power 7 0
          

          btw: Das mit dem Zurückhalten der Pakete hat aber schon mal geklappt und Ursache ist definitiv das Kernel Update.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          Thomas BraunT 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @thomas-braun Also Du meinst

            vcgencmd display_power 2 0
            

            bzw.

            vcgencmd display_power 7 0
            

            btw: Das mit dem Zurückhalten der Pakete hat aber schon mal geklappt und Ursache ist definitiv das Kernel Update.

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            schrieb am zuletzt editiert von
            #20

            @mickym Anders herum.

            vcgencmd display_power 0 7
            vcgencmd display_power -1 7
            

            Die ID steht hinten.

            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

            mickymM 1 Antwort Letzte Antwort
            0
            • Thomas BraunT Thomas Braun

              @mickym Anders herum.

              vcgencmd display_power 0 7
              vcgencmd display_power -1 7
              

              Die ID steht hinten.

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #21

              @thomas-braun Kein Effekt.

              Ich hab alles von -2 bis +7 ausprobiert, es kommt mal display_power=-1 oder display_power=0 zurück, aber es schaltet nichts ab.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              Thomas BraunT 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @thomas-braun Kein Effekt.

                Ich hab alles von -2 bis +7 ausprobiert, es kommt mal display_power=-1 oder display_power=0 zurück, aber es schaltet nichts ab.

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #22

                @mickym

                Hast du xrandr installiert?

                xrandr --output HDMI-1 --off
                

                Wobei ich da die genaue Syntax nicht kenne. Mein RPI läuft ja headless...

                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

                mickymM 1 Antwort Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @mickym

                  Hast du xrandr installiert?

                  xrandr --output HDMI-1 --off
                  

                  Wobei ich da die genaue Syntax nicht kenne. Mein RPI läuft ja headless...

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #23

                  @thomas-braun Das Kommando habe ich zwar aber es kommt immer zurück, dass er kein Display öffnen konnte.

                  xrandr --output HDMI-1 --off
                  Can't open display
                  
                  pi@MWHome2:~ $ xrandr --listmonitors
                  Can't open display
                  pi@MWHome2:~ $ xrandr --listproviders
                  Can't open display
                  

                  Wie gesagt das mit dem Kernel auf hold setzen hat geklappt. Es war halt sehr elegant - weil der Bildschirm über Bewegungsmelder gesteuert wurde und nicht über starre Zeiten der Inaktivität - aber noch viel besser - er ist halt automatisch angegangen sobald man das Zimmer betreten hat. Ich finde solche Updates einfach beschi...en. Dann soll man es halt sicher machen oder man nutzt es auf eigenes Risiko.

                  Entweder nehm ich halt den blöden Bildschirmschoner - dann muss man halt immer ne Maus bewegen oder ich hab auch noch einen Shelly über und hänge den Monitor ganz hin - dann wird gar kein Strom mehr gebraucht - wenn niemand im Zimmer ist.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @thomas-braun Das Kommando habe ich zwar aber es kommt immer zurück, dass er kein Display öffnen konnte.

                    xrandr --output HDMI-1 --off
                    Can't open display
                    
                    pi@MWHome2:~ $ xrandr --listmonitors
                    Can't open display
                    pi@MWHome2:~ $ xrandr --listproviders
                    Can't open display
                    

                    Wie gesagt das mit dem Kernel auf hold setzen hat geklappt. Es war halt sehr elegant - weil der Bildschirm über Bewegungsmelder gesteuert wurde und nicht über starre Zeiten der Inaktivität - aber noch viel besser - er ist halt automatisch angegangen sobald man das Zimmer betreten hat. Ich finde solche Updates einfach beschi...en. Dann soll man es halt sicher machen oder man nutzt es auf eigenes Risiko.

                    Entweder nehm ich halt den blöden Bildschirmschoner - dann muss man halt immer ne Maus bewegen oder ich hab auch noch einen Shelly über und hänge den Monitor ganz hin - dann wird gar kein Strom mehr gebraucht - wenn niemand im Zimmer ist.

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von
                    #24

                    @mickym sagte in Raspberry Kernel Update:

                    Can't open display

                    Möglich das man dafür in der Gruppe 'video' sein muss. Sollte aber eh der Fall sein.

                    xrandr
                    

                    oder

                    sudo xrandr
                    

                    sagt?

                    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

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @mickym sagte in Raspberry Kernel Update:

                      Can't open display

                      Möglich das man dafür in der Gruppe 'video' sein muss. Sollte aber eh der Fall sein.

                      xrandr
                      

                      oder

                      sudo xrandr
                      

                      sagt?

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #25

                      @thomas-braun

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

                      pi ist in Gruppe video.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      M 1 Antwort Letzte Antwort
                      0
                      • mickymM 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 Online
                        M Online
                        mrjeschke
                        schrieb am zuletzt editiert von
                        #26

                        @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
                        
                        mickymM 2 Antworten Letzte Antwort
                        0
                        • M mrjeschke

                          @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
                          
                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #27

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

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

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

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

                            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

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • Thomas BraunT 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/

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #29

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

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              1 Antwort Letzte Antwort
                              0
                              • M mrjeschke

                                @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
                                
                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #30

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

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                mickymM SminterS 2 Antworten Letzte Antwort
                                0
                                • mickymM 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. 🙂

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #31

                                  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.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM 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. 🙂

                                    SminterS Offline
                                    SminterS Offline
                                    Sminter
                                    schrieb am zuletzt editiert von
                                    #32

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

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • SminterS Sminter

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

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von mickym
                                      #33

                                      @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

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      SminterS 1 Antwort Letzte Antwort
                                      0
                                      • mickymM 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

                                        SminterS Offline
                                        SminterS Offline
                                        Sminter
                                        schrieb am zuletzt editiert von
                                        #34

                                        @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 Antwort Letzte Antwort
                                        0
                                        • mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #35

                                          @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

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          SminterS 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          385

                                          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