Frage zur DoorPi.ini und script-Dateien

  • Hallo zusammen,


    jetzt habe ich meinen "DoorPi" auch schon ziemlich fertig (wobei... Welches selbstgebaute System, egal welcher Art, ist schon jemals fertig??)


    Bevor ich meinen DoorPi hier veröffentliche und demnächst produktiv schalten möchte, ergibt sich mir aber noch folgende Frage:


    Wie kann ich folgenden Code:

    Code
    10 = out:amplifier_power,1,0,2
    20 = os_execute:sudo /etc/init.d/mjpg_streamer start
    30 = take_snapshot
    40 = sleep 1
    50 = call:**610#622
    60 = os_execute:sudo /usr/local/etc/DoorPi/scripts/LoxoneNotify.py


    an diese Stelle in der doorpi.ini am besten eintragen?

    Code
    [nextion_InputPins]
    ### pin 111111 EFH Tür open
    111111 = out:door,1,0,3
    ### pin 999999 Türklingel
    999999 = ????

    Soll heißen, bei einem bestimmten Nextion-Input-Event soll z. B. der o. g. Code abgearbeitet werden.


    Ich glaube am ehesten über ein script.sh oder ähnlich. Aber wie muss ich dieses schreiben bzw. evtl. auch noch lauffähig machen?
    Die "fhemhelper.sh" vom Prof. Dr. funktioniert wohl geanu so wie ich mir das vorstelle. Nur fehlt mir mom. noch der Durchblick bzw. Ansatz.


    Vielen Dank für Tipps :D

  • Verstehe ich nicht ganz.


    Möchtest du "nur" ein Shell-Skript laufen lassen, oder mehrere Aktionen ausführen?


    Wenn nur eine Aktion (hier Skript) ausgeführt werden soll, dann z.B.:

    Code
    [nextion_InputPins]
    ### pin 111111 EFH Tür open
    111111 = out:door,1,0,3
    ### pin 999999 Türklingel
    999999 = os_execute:sudo /usr/local/etc/DoorPi/scripts/LoxoneNotify.py


    Rein theoretisch müsste dann auch ein Event OnKeyDown_nextion.999999 vorhanden sein. Dort kann man auch mehrere (weitere) Aktionen nacheinander ausführen.
    Beispiel:


    Hier bin ich mir nicht so sicher:
    Soweit ich weiß ist das out:amplifier_power,1,0,2 blockierend. Oder nicht?


    Demnach wird dein Amplifier für 2 Sekunden mit Power versorgt. Dann wieder abgeschaltet.
    Danach erst geht es weiter mit mjpeg-Streamer, Snapshot, usw.


    Bei mir Zuhause geht es "etwas" hektischer zu 8o


    Eventuell ist es dann sinnvoller den Amplifer ein- und aus- zuschalten, wenn er benötigt wird oder eben nicht.


    Code
    [EVENT_OnMediaRequired]
    10 = out:amplifier_power,1
    
    
    [EVENT_OnMediaNotRequired]
    10 = out:amplifier_power,0


    HTH


    Viele Grüße
    Olaf


    PS: Wer nicht gekennzeichnete Rechtschreibfehler findet kann sie gerne behalten

  • Hallo korky2,


    danke für deine Antwort.


    ich möchte nachdem das Display Nextion über die 232-Schnittstelle eine z. B. "999999" oder "111111" gesendet hat, diese mit dem DoorPi auswerten und dann mehrere Befehle (wie oben beschrieben) hintereinander ablaufen lassen. Dafür fehlt mir momentan der Ansatz über ein Script (Datei) oder einen Eintrag in der DoorPi.ini.


    Das mit dem

    OnKeyDown_nextion.999999

    werde ich mal testen. Weiß aber nicht ob DoorPi darauf reagiert bzw. wo man dieses Event dann noch evtl. neben der Doorpi.ini eintragen müsste. Ist ja ein RS232-Befehl.


    Gruß Albundy