Zyklische Automation mit Shell und Pause

  • Hallo,

    kurz zu meinem Szenario: Ich habe einen Pi mit Hyperion für das Ambilight am TV. Der Pi hängt an einer smarten Steckdose die in Homekit eingebunden ist. Ich möchte das harte Abschalten des Pi über die Steckdose vermeiden und habe dafür einen Dummy Switch angelegt.


    Dummy switch an - Steckdose vom Ambilight an.


    Dummy switch aus:

    - Shell command zu dem Raspberry mit power off Befehl

    - 30 sekunden warten

    - Steckdose vom Ambilight aus.


    Die zuletzt genannte Automation funktioniert nicht so ganz, wie ich es mir vorstelle. Also eigentlich gar nicht, wenn ich den Dummy Switch über die Home App deaktiviere. Komischerweise wird zumindest der Shell command ausgeführt, wenn ich die Automation teste. 30 Sekunden warten und dann Steckdose aus klappt aber auch dort nicht. Was mache ich verkehrt? Also ein Passwort ist in der Shell natürlich eingetragen, wie gesagt, mit "automation testen" funktioniert ja wenigstens der Teil..

  • Komischerweise wird zumindest der Shell command ausgeführt, wenn ich die Automation teste. 30 Sekunden warten und dann Steckdose aus klappt aber auch dort nicht. Was mache ich verkehrt?

    Du machst wohl eher gar nichts falsch. Ich habe einen ähnlichen Anwendungsfall, wo ich das harte "Vom-Strom-Nehmen" des PIs auch vermeide.


    Ich glaube seit ca. Ende letzten Jahres hat Apple die Security geändert, dass Shell-Scripte per SSH nicht mehr ohne weiteres funktionieren, da kein Zertifikatsaustausch/Abgleich zw. einer HomeKit-Zentrale (die die Automation dann ausführt) und dem PI stattfindet.


    Für mit habe ich das Probleme so gelöst, dass ein "virtueller Schalter" über node-red an Homekit bereitgestellt wird. Dieser führt das Script über SSH mit Trusted Certifcate auf dem Pi dann aus.

  • Hallo djiwondee,

    genau an soetwas habe ich auch schon gedacht und ursprünglich an das CMDTrigger Plugin gedacht um den SSH Befehl auszuführen. Umso überraschter war ich, als der Shell command beim testen der Automation abgesetzt wurde und ich scheinbar keinen weiteren virtuell Schalter mehr benötigte. Nun brauche ich wohl doch noch etwas zusätzliches, aber ganz so zufriedenstellend ist das nicht.


    - Dummy switch, der beim Einschalten die Steckdose einschaltet

    - Dummy switch, der beim Ausschalten den CMDtrigger auslöst, wartet und dann die Steckdose abschaltet


    Letztendlich habe ich dann 3 Schalter: Dummy Switch, CMDtrigger und die eigentliche Steckdose. Geht das nicht noch etwas effizienter? Die Steckdose ist nativ in Homekit eingebunden, erscheint also nicht in Homebridge.

    Einmal editiert, zuletzt von hyxamp ()

  • Meine Steckdose ist auch eine native EVE Energy. Der Kurzbefehl ist simple:



    Der Dummy-Schalter selber setzt in node-red den shutdown ab



    In Homekit gibt es dann den Switch für die echte EVE Steckdose und den Dummy (Software) Switch für den Shutdown.

  • Vielen Dank,

    jetzt funktioniert es.

    Es lag anders Speichervariablen die den Text für Telegram erzeugt. Über die Konsole funktionierte alles, aber über das Plugin wurde keine Message versendet weil der Message Text leer war.

  • Das ist ja interessant. So könnte ich mir das auch vorstellen, aber ohne Node Red.

    Auf dem Homebridge Raspberry müsste also irgendwie ein Skript bzw. Shell befehlt gestartet werden, sobald der Dummy Switch triggert. Muss ich mal schauen wie ich das umgesetzt bekomme, möchte aber meinen soetwas in der Vergangenheit schon mal gemacht zu haben! Lang ists her..

  • Kurz zum Abschluss:

    habs jetzt doch mit cmdtrigger gelöst. Zum Ausschalten der Steckdose wird also erst ein SSH Befehl zum Ambilight Pi über cmdtrigger abgesetzt, 15 Sekunden gewartet, dann die Steckdose ausgeschalten. War jetzt am einfachsten, wenn auch irgendwie unschön.