Hilfe gesucht: Raspberry Pi: HDMI an/aus schalten, wenn Tor geöffnet wird

Ich hab mein Raspberry (bisher hauptsächlich Soundausgabe über Sonos) etwas softwaretechnisch upgegraded :sunglasses: und stehe grad vor einem für mich unlösbarem, aber sicher einfachem Problem:

Ich möchte, wenn sich mein Garagentor öffnet, den HDMI Ausgang von meinem RPI aktivieren und 2 Minuten, nachdem sich das Garagentor geschlossen hat, deaktivieren.

Dazu habe ich folgendes Skript gefunden und in das Home Verzeichnis (/home/pi/) gelegt:

Ausführbar habe ich es mit dem Befehl

chmod +x /home/pi/rpi-hdmi.sh

gemacht

Nun ist die Frage, wie ich das Skript zum Laufen bekomme? Ich verstehe, dass ich im Cron Editor mit folgenden Zeilen den HDMI Ausgang zu bestimmten Zeiten an/aus schalten kann:

     # Turn HDMI Off (22:00)
     0 22 * * * /home/pi/rpi-hdmi.sh off
     
     # Turn HDMI On (7:00)
     0 7 * * * /home/pi/rpi-hdmi.sh on 

Wie gesagt mag ich aber keine feste Zeiten, sondern eine Statusänderung meines Garagentores als Auslöser an/aus.

Bin ich mit dem Cron Editor und dem Skript auf dem richtigen Weg? Oder verrenn ich mich da grad? Und wie bekomm ich das Skript zum Abarbeiten? node-Red, IFTTT, lokaler Webhook?

Edit: Und dann hab ich noch folgendes gefunden. Wenn ich das mit Putty in die Konsole eingebe, wird der HDMI Ausgang korrekt an/aus geschaltet:

vcgencmd display_power 0
schaltet den HDMI-Ausgang aus.
vcgencmd display_power 1
schaltet den HDMI-Ausgang wieder ein.

Es würde mir ja langen, wenn ich irgendwie bei Garagentoröffnen den Befehl vcgencmd display_power 1 in der Konsole automatisch eingeben/ausführen lassen könnte?

Hast du bei dir einen Webserver mit php installiert ?
Evt. Klappt ja der Aufruf über ein php Script das du dann per webhook aufrufen kannst.

Bin mir jetzt nicht sicher ob der User die Rechte hat den Befehl auszuführen.
Evt. Ist es ja ein Anstoß in die richtige Richtung.

VG Micha

1 „Gefällt mir“

Hmmm, also per Webhook starte ich eine php Datei, die wiederum ein Shellscript startet, das wiederum das passende Kommando in die Kommandozeile einträgt und ausführen lässt? Ist schon zu spät, ich befasse mich morgen Abend damit. Danke erstmal.

1 „Gefällt mir“

Das wäre der einfachste Weg ohne Nodered oder PHP.

Grüße

1 „Gefällt mir“

Das sieht perfekt aus, probier ich heute Abend und berichte.

Danke :slight_smile:

Kannst du das nicht auch einfach mit homeeup und dem cmd switch machen? Den lernst du im homee an und du kannst in der config ein command ausführen auf dem Pi. Dann kannst du das ganz einfach mit einem HG regeln. Wenn Garagentor aufgeht, dann den switch einschalten und der löst den Befehl zum aktivieren des HDMI Ausgangs aus.
Wenn ich das mit dem switch in homeeup richtig verstanden habe!

4 „Gefällt mir“

Das sieht ebenfalls sehr gut aus :+1: Jetzt hab ich also 2 Lösungen. Ich teste das mal heute Abend und berichte :slight_smile:

Danke :slight_smile:

2 „Gefällt mir“

So, kurzer Zwischenbericht:

Habe gleich homeeup genommen, da ich da die Hoffnung habe, das Display auch per Alexa an/aus zu schalten.

Installiert via homeean (zuerst manuelle Installation versucht, hat nicht geklappt). Mit homeean ist es eh einfacher …

Dann hab ich den CMD Switch genommen, ihn als “Dashboard” umbenannt und als On/ Off Befehle vcgencmd display_power 0 bzw. vcgencmd display_power 1 eingetragen.

Anschließend in homee ein neues CCU2 Gerät einlernen und voilà: -> da ist es auch schon :slight_smile:

War ziemlich leicht, aber funktioniert nur halb gut:
Wenn ich direkt das Gerät schalten will (ein/aus), dann springt der Schalter immer zurück auf “An”; es wird auch angezeigt, dass das Gerät “An” sei. Jedoch schaltet es sich beim ersten Mal draufklicken aus (und der Schalter springt zurück auf (An"). Wenn ich ihn danach nochmals betätige, springt er zwar kurz auf Aus und zurück auf An, aber es tut sich nichts.

Dann habe ich 2 HGs angelegt: Wenn abgespielt, dann schalte Dashboard an / Wenn abgespielt, dann schalte Dashboard aus
–> Damit funktioniert es problemlos!

Habe dann gedacht, ich könne am “CheckIntervall” rumspielen: Das brachte nichts. Lösch ich es, ist das Gerät nicht verfügbar, wenn ich es auf 5 setze, passiert auch nix, wenn ich es auf 2000 lasse, passiert auch nichts … ich poste das aber noch alles in den homeeup Thread, da wird mir sicher geholfen :wink:

3 „Gefällt mir“

Nach 2 Tagen ohne Internet (nur per Handy, Kabel-Internet wurde hoffentlich zum letzten Mal für eine längere Zeit “optimiert”) hier nur das Endergebnis :wink:

Meinen Raspberry Pi 3 B+ habe ich noch eine GUI (LXDE) und Browser spendiert (Chromium). Unclutter verdeckt den Mauszeiger nach wenigen Sekunden Inaktivität. Dann kam noch homeeUp drauf und ein Gerät wurde angelegt. Dieses konnte ich dann in homee per WLAN- CCU2 anwählen. Das Gerät aktiviert bzw. deaktiviert den HDMI Ausgang von meinem RPI, somit schaltet sich mein Monitor automatisch in den Standby, wenn der HDMI Ausgang aus ist. Als Symbol in homee habe ich natürlich das Monitor/TV Symbol gewählt. Das sieht jetzt wirklich so aus, als wenn der Monitor direkt eingebunden wäre :slight_smile:
Und das hat einen ganz großen Vorteil, dies so “direkt” zu machen, statt über Umwege wie Webhooks: Ich kann den Monitor ganz einfach in HGs einfügen und auch Alexa kann ihn ohne irgendetwas dazu zutun steuern. Und: Ich sehe den aktuellen Status, also ob er an oder aus ist.

Wozu brauche ich das ganze?
Ich habe meinen alten 22" Monitor in meine Garage gehängt (Kabelführung ist noch nicht fertig). Dieser geht jetzt immer automatisch an, wenn entweder mein Garagentor oder meine Hauseingangstür über die Garage geöffnet wird (beide jeweils per Tür/Fenstersensor überwacht). Ebenso geht er nach ein paar Minuten aus, wenn das Tor oder die Tür geschlossen wird. Selbstverständlich wird das Ausschalten gestoppt, wenn ich z.B. die Tür schließe aber das Tor öffne :wink:

Auf dem Raspi läuft dann DAKboard https://www.dakboard.com/site
Zur Zeit werden mir

  • Uhrzeit / Datum
  • Kalender
  • Nachrichtenfeed (RSS)
  • Wettervorhersage

angezeigt. Das ist ganz praktisch, vor allem die Müllabfuhrtermine (Abholtermine vom Landkreis als Kalenderdatei runterladen, bei Google Kalender hoch laden, fertig) … geht man zum Auto, schon wird man dran erinnert, die Mülltonne zum Straßenrand rauszuschieben. Auch weiß ich, wer von uns zu Hause gerade wo unterwegs ist (meine Frau ist Stewardess und ich bin ab und an als Ingenieur unterwegs). Ist so ein kleiner Familienkalender :wink:
(Das Hintergrundbild ändert sich alle 2 Minuten)

Wie kommt jetzt das Dashboard automatisch auf den RPI? Ist alles hier beschrieben. Prinzipiell geht es darum, dass der Monitor (wenn gewünscht) um 90° gedreht wird und Chromium ist KioskModus ohne Popups automatisch startet. Dann wird direkt die eigene DAKboard Seite aufgerufen und das eigene Dashboard wird angezeigt. Alles kein Hexenwerk.
https://blog.dakboard.com/diy-wall-display/
Hinweis:
Kapitel

Turn the monitor on and off automatically (optional)

nicht beachten.

Statt

sudo nano ~/.config/lxsession/LXDE-pi/autostart

ist der korrekte Pfad …/lxsession/LXDE/autostart gewesen.

Für homeeUp homeeUp - virtuelle Geräte in homee ist eigentlich nur die Anpassung der config.json erforderlich:
{
“plugins”: [
{
“deviceName”: “Dashboard”,
“type”: “SimpleCMDPlugin”,
“pluginParams”: {
“onCmd”: “vcgencmd display_power 1”,
“offCmd”: “vcgencmd display_power 0”,
“statusCmd”: “vcgencmd display_power | sed ‘s/display_power=0/1/;s/display_power=1/0/’”,
“checkInterval”: 2000
}
}
],
“hostAdress”: “IP des RPI”
}

Besonders Dank an @anon21150642, der sehr beim Aufsetzen von homeeUp und vor allem bei der aktuellen Statusabfrage tatkräftig geholfen hat :slight_smile:

Kleine Randbemerkungen:
Die Monitorhalterung ist eine NB North Bayou F120 17" - 27" Monitor Wandhalterung von Amazon für 19,90 Euro (die wird auf Amazon auch für 30 Euro angeboten - Preisvergleich!). Man kann hier den Monitor am Arm drehen als auch in der Höhe und seitlich verschieben und der Monitor bleibt dank einstellbarer Gasdruckfeder immer genau da im Raum stehen, wo man ihn los lässt. Tolles Teil!
Die Amazon Echo Halterung ist eine RICOO Amazon Echo Plus Halter Z046-B (aktuell für knapp 9 Euro -> Rabattaktion unterm Preis anklicken). Alexa steuert meine Lampen (IKEA Gu10) und das Garagentor (Fibaro Relay Switch), spielt dazu noch Musik, wenn ich in der Garage was arbeite, etc.

4 „Gefällt mir“