Hallo,
folgendes Ausgangsszenario:
An Output-Pin 2 meines PiFace-Moduls habe ich eine LED angeschlossen, die mir beim Betätigen eines Tasters anzeigt, ob Post im Briefkasten ist, oder nicht.
Die LED leuchtet sechs Sekunden, wenn man den daneben angeordneten Taster betätigt.
Hier die von mir vorgenommene Einträge in der doorpi.ini:
...
[EVENT_OnKeyPressed_onboardpins.3]
10 = os_execute:/usr/local/etc/DoorPi/scripts/BriefkastenStatus.sh
...
[keyboards]
onboardpins = piface
virtual = filesystem
...
[onboardpins_InputPins]
3 = sleep:0
...
[onboardpins_OutputPins]
2 = Briefkasten-Status-LED
...
[virtual_keyboard]
base_path_output = /usr/local/etc/DoorPi/filesystem/outputs/
base_path_input = /usr/local/etc/DoorPi/filesystem/inputs/
[virtual_InputPins]
briefkastenstatus = out:Briefkasten-Status-LED,1,0,6
Alles anzeigen
Das zugehörige Shellskript "BriefkastenStatus.sh" setzt bei Vorliegen mindestens eines Einwurf die Datei "briefkastenstatus" auf true, was dann zum Einschalten der Status-LED gemäß "[virtual_InputPins]" führt.
#!/bin/bash
CCU_IP=192.xxx.xxx.xxx # IP-Adresse der CCU
# HomeMatic CCU ISE_IDs
HMiseid1= # "EG Briefkasten SV Einwürfe"
# CCU-Systemvariable "EG Briefkasten SV Einwürfe" auslesen
inserts=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(${HMiseid1}).Value()")
inserts=${inserts##*<x>}
inserts=${inserts%%</x>*}
# echo $inserts
# Briefkasten-Status-LED aktivieren, wenn Anzahl der Einwürfe größer oder gleich 1
if [ $inserts -ge 1 ]
then
# Briefkasten-Status-LED über DoorPi aktivieren
echo true > /usr/local/etc/DoorPi/filesystem/inputs/briefkastenstatus
fi
exit 0
Alles anzeigen
Soweit, so gut.
Nun möchte ich gerne genau diese LED des PiFace-Moduls auch zur Anzeige des Status des Tagesriegels unserer Haustür nutzen. Dabei soll die LED so lange blinken, wie der Tagesriegel entsperrt ist. Den Zustand des Tagesriegels rufe ich über die HomeMatic ab. Das ist nicht das Problem. Mir geht es lediglich um die Umsetzung des Blinkens am entsprechenden Ausgang 2 des PiFace-Moduls. Habt ihr eine Idee, wie ich das am besten realisiert bekomme? Kann ich hierzu irgendwie den Schlüssel "is_alive_led" verwenden?
Gruß,
Thorsten