HDMI mit PIR schalten - leider reagiert nix - kann jemand helfen?

  • Hey, ich habe nach Anleitung aus dem Internet das pir.py script gemacht aber ledier tut sich nix. Ich habe alles versucht. der Pi schaltet nichtmal den Monitor ab. auch der befehln den TV Service zu kontrollieren (/opt/vc/bin/tvservice -s) geht nicht dann kommt nur: bash: /opt/vc/bin/tvservice: cannot execute: required file not found

    Mein Script sieht so aus:

    auf dem Bild meine PinBelegung. Ich verzweifle langsam... :( kann mir hier jemand sagen was hier falsch ist?

    es ist ein Pi 4b 8GB mit RaspiOS Full (incl. GUI) und ein PIR SR-501

    Danke schonmal.

    LG LordIcon

  • HDMI mit PIR schalten - leider reagiert nix - kann jemand helfen?? Schau mal ob du hier fündig wirst!

  • Go to Best Answer
  • Hallo Bernd, danke für deine Antwort.

    Ich habe mit dem Imager einfach Raspberry Pi OS 64Bit gewählt.

    edit:

    Code
    PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
    NAME="Debian GNU/Linux"
    VERSION_ID="12"
    VERSION="12 (bookworm)"
    VERSION_CODENAME=bookworm
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
  • tvservice gibt es unter bookworm wohl nicht mehr, [...]

    das ist mir auch irgendwie geläufig

  • Hallo und guten morgen :) ok aber unter bullyeye gehts auch nicht wie beschrieben da kommt das selbe.

    weiß denn jemand wie man das sonst realiesieren kann mit dem monitor aus schalten? Ich bin da echt am verzweifeln :(

    edit* ich habs mit xset -q versaucht die meldung kommt immernoch:

    xset: unable to open display ""

    es liegt aber nicht am HDMI Kabel der über einen mini HDMI auf HDMI adaprer geht oder?

    edit2* ich glaube ihc mache das lieber alles über eine usb schaltsteckdose! und einem bezegungsmelder bei zigbee wenn das geht (das der monitor nicht schwarz bleibt nach dem einschalten wenn er wieder strom bekommt) weil ich das echt nicht hinbekomme^^

    Edited 4 times, last by LordIcon (November 17, 2023 at 10:00 AM).

  • Versuchs mal mit vcgencmd display_power 0 für aus-, bzw. vcgencmd display_power 1 für einschalten!


    Und / oder

    xset: unable to open display ""

    hier mit DISPLAY=:0  xset .... oder besser noch mit xset -display :0 dpms force on (oder off)

    //Edit

    Das war doch erst die Tage mal hier Thema: Script zum deaktivieren des HDMI ports

  • Moin LordIcon,

    so, ich habe nun eine Lösung gefunden.

    Der Hinweis vom hyle : vcgencmd display_power 0 greift auch nicht. Es kommt immer die Aussage display_power=1.

    Der RPi muss im als Display-Server wayland nutzen und man muss angemeldet sein!! Mit SSH geht es nicht.

    Also Anmelden und eine Konsole öffnen. Dann mal wlr-randr eingeben. Dann kommt diese Ausgabe:

    Display Spoiler

    Wichtig ist die erste Zeile "HDMI-X-X".

    Mit wlr-randr --output=HDMI-A-1 --off ist das Bild weg. Monitor ist aber noch an.

    Bitte nicht per Hand machen. Man muss dann blind weitermachen. Darum habe ich ein kleines Script gebastelt.

    Code
    !#/bin/bash
    clear
    sleep 2
    wlr-randr
    sleep 10
    wlr-randr --output=HDMI-A-1 --off
    sleep 30
    wlr-randr --output=HDMI-A-1 --on

    Die HDMI-Zeile sollle angepasst werden.

    73 de Bernd

    //EDIT Getestet mit einem RPi4 und Raspberry Pi OS mit Desktop 32bit

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd,

    du meinst ich muss es direkt am Pi an der Desktop oberflache im Terminal machen?

    wenn ich das als Script mache wo und wie kann ihc es startbar machen? (sorry ich bin da wirklich nicht so fit gerade (windows liegt mir mehr^^) und wie genau kann ich hier in deinem Script dann den bewegungsmelder nutzen? weil das ist ja das was ich gern hätte. Ich zeit genr mal ein Bild wie das gerade bei mir hängt

  • Moin LordIcon,

    ja, direkt in einem Terminal auf dem Desktop. Die Datei kannst du lauffähig machen indem du folgendes eingibst: chmod 744 Dateiname.

    Es sollte dann so aussehen

    Code
    -rwxr--r-- 1 bernd bernd  122 17. Nov 15:54 Displaytest.sh

    Die Endung .sh soll sagen das es ein Shellscript ist, ähnlich .bat unter Windows.

    Wichtig ist das 'x' für ausführbar.

    73 de Bernd

    //EDIT zum Starten dann ./Displaytest.sh eingeben. Mein Dateiname, du nimmst deinen!!

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hey Bernd,

    das script geht. er schaltet den monitor aus und wieder an. ABER nachdem er den monitor wieder angemacht hat will er das ich mich einlogge also der geht an und dann meldet er mich irgendwie ab...

  • Moin LordIcon,

    aus deinem Script, wobei ich Python nicht kann.

    def turn_on(): subprocess.call("sh /home/lordicon/Scripte/monitor_on.sh", shell=True)

    Beispiel, das aber Python-Leute sich ansehen sollten.

    Code
    def turn_on(): subprocess.call("sh /usr/bin/wlr-randr --output=HDMI-A-1 --on",shell=True)

    Ich weiss nicht ob das shell=True sein muss.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin LordIcon,

    aus deinem Script, wobei ich Python nicht kann.

    Beispiel, das aber Python-Leute sich ansehen sollten.

    Code
    def turn_on(): subprocess.call("sh /usr/bin/wlr-randr --output=HDMI-A-1 --on",shell=True)

    Ich weiss nicht ob das shell=True sein muss.

    73 de Bernd

    achso ich kann mein script su nutzen aber muss halt das

    Code
    def turn_on(): subprocess.call("sh /usr/bin/wlr-randr --output=HDMI-A-1 --on",shell=True)

    nutzen?

    das heißt ja auch dass das monitor_off.sh dann nicht vcgencmd display_power 0 sondern wlr-randr --output=HDMI-A-1 --off heißen muss?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!