LED von CCU auf RaspberryMatic nachbilden
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 90
- Registriert: 08.12.2014, 22:16
- Wohnort: Erfurt
Re: LED von CCU auf RaspberryMatic nachbilden
Hallo Frank,
das hört sich doch schon mal gut an mit der "Info" LED.
Habe auf jeden Fall Interesse an dem "Code/Skript" für die Ansteurung.
Vielen Dank noch mal für Deine Bemühungen.
das hört sich doch schon mal gut an mit der "Info" LED.
Habe auf jeden Fall Interesse an dem "Code/Skript" für die Ansteurung.
Vielen Dank noch mal für Deine Bemühungen.
Re: LED von CCU auf RaspberryMatic nachbilden
Hallo,
hier mal meine ersten Gehversuche mit der Info-LED!
Zuerst habe ich mir einen Ordner "led" in "/usr/local/addons" angelegt.
In diesem Ordner habe ich folgende Scripte erstellt:
info-led-toggle.sh
info-led.sh
Den beiden Dateien die Rechte 755 gegeben.
Damit ist es möglich die Info-LED zu steuern.
Testen kann man es einfach so:
Über Putty mit RasPi verbinden, und in der Konsole folgendes eingeben:
Schnelles Blinken
LED aus
Langasmes Blinken
LED dauerhaft an
Jetzt zum Homematic Script!
Ich habe mir zwei System-Variablen angelegt:
1. Info-LED Alarm
2. Info-LED Service Ein Programm erstellt: Das Programm wird über Cuxd Timer alle 60 sec. aufgerufen.
Der zurzeit von mir verwendete Test-Sript im Programm sieht folgendermaßen aus:
Dieser Script ist alles andere als genial, aber ich test damit einfach nur die Zuverlässigkeit meiner sh Sripte.
So, der Anfang ist gemacht, jetzt bitte ich um Unterstützung!
Achtung!
Wenn das System bei blinkender Info-LED neu gestartet wir rennt mein Homematic-Script in eine Sackgasse, da das info-led.sh Script nicht ausgeführt wird, aber die SystemVariable ("Info-LED Alarm" oder "Info-LED Service") immer noch auf "true" steht.
Gruß
Frank
hier mal meine ersten Gehversuche mit der Info-LED!
Zuerst habe ich mir einen Ordner "led" in "/usr/local/addons" angelegt.
In diesem Ordner habe ich folgende Scripte erstellt:
info-led-toggle.sh
Code: Alles auswählen
#!/bin/bash
INSTANZ="Info-LED Homematic-Raspi"
Pidfile=/var/run/info-led.pid
BPDIR=/usr/local/addons/led
COMMAND=./info-led.sh
val=$2
if [ -f $Pidfile ]
then
Pid=`cat $Pidfile`
fi
case "$1" in
'start')
if [ -f $Pidfile ] ; then
if test `ps -o pid | grep -c $Pid` = 1; then
echo "Not starting $INSTANZ - instance already running with PID: $Pid"
else
echo "Starting $INSTANZ"
cd $BPDIR
nohup $COMMAND $val &> /dev/null &
echo $! > $Pidfile
fi
else
echo "Starting $INSTANZ"
cd $BPDIR
nohup $COMMAND $val &> /dev/null &
echo $! > $Pidfile
fi
;;
'stop')
if [ -f $Pidfile ] ; then
echo "stopping $INSTANZ"
kill -15 $Pid
rm $Pidfile
else
echo "Cannot stop $INSTANZ - no Pidfile found!"
fi
;;
'restart')
$0 stop
sleep 5
$0 start
;;
'status')
if [ -f $Pidfile ] ; then
if test `ps -o pid | grep -c $Pid` = 0; then
echo "$INSTANZ not running"
else
echo "$INSTANZ running with PID: [$Pid]"
fi
else
echo "$Pidfile does not exist! Cannot process $INSTANZ status!"
exit 1
fi
;;
*)
echo "usage: $0 { start | stop | restart | status }"
;;
esac
exit 0
Code: Alles auswählen
#!/bin/sh
#Konfiguration
#LED GPIO Port
LED=6
pause=$1
toggle()
{
# Zustand des Pins einlesen
LedVal=$(cat /sys/class/gpio/gpio$1/value)
# LED toggeln
if [ $LedVal -eq "0" ]; then
LedVal="1"
else
LedVal="0"
fi
# Pin auf 0 oder 1 setzen
echo $LedVal > /sys/class/gpio/gpio$1/value
}
while :
do
# Die LED blinken lassen!
for Port in $LED
do
if [ $pause = "" ]; then
echo "1" > /sys/class/gpio/gpio$1/value
else
toggle $Port
fi
done
if [ $pause = "slow" ]; then
# led slow
sleep 1
fi
if [ $pause = "fast" ]; then
# led fast
sleep 0.2
fi
# Schaltet die LED beim beenden immer aus!
trap 'echo "0" > /sys/class/gpio/gpio"$LED"/value ; exit' 0 1 2 3 15
done
Damit ist es möglich die Info-LED zu steuern.
Testen kann man es einfach so:
Über Putty mit RasPi verbinden, und in der Konsole folgendes eingeben:
Schnelles Blinken
Code: Alles auswählen
sh /usr/local/addons/led/info-led-toggle.sh start fast
Code: Alles auswählen
sh /usr/local/addons/led/info-led-toggle.sh stop
Code: Alles auswählen
sh /usr/local/addons/led/info-led-toggle.sh start slow
Code: Alles auswählen
sh /usr/local/addons/led/info-led-toggle.sh start
Ich habe mir zwei System-Variablen angelegt:
1. Info-LED Alarm
2. Info-LED Service Ein Programm erstellt: Das Programm wird über Cuxd Timer alle 60 sec. aufgerufen.
Der zurzeit von mir verwendete Test-Sript im Programm sieht folgendermaßen aus:
Code: Alles auswählen
integer a_msgcount = dom.GetObject(40).Value();
integer i_msgcount = dom.GetObject(41).Value();
string stdout;
string stderr;
object x = dom.GetObject("Info-LED Alarm");
object y = dom.GetObject("Info-LED Service");
if ((a_msgcount > 0) && (i_msgcount == 0)) {
if (x.Value() == false) {
system.Exec("sh /usr/local/addons/led/info-led-toggle.sh start fast", &stdout, &stderr);
x.State(true);
}
}
if (a_msgcount == 0) {
if (x.Value() == true) {
system.Exec("sh /usr/local/addons/led/info-led-toggle.sh stop", &stdout, &stderr);
x.State(false);
}
}
if ((i_msgcount > 0) && (a_msgcount == 0)) {
if (y.Value() == false) {
system.Exec("sh /usr/local/addons/led/info-led-toggle.sh start slow", &stdout, &stderr);
y.State(true);
}
}
if (i_msgcount == 0) {
if (y.Value() == true) {
system.Exec("sh /usr/local/addons/led/info-led-toggle.sh stop", &stdout, &stderr);
y.State(false);
}
}
So, der Anfang ist gemacht, jetzt bitte ich um Unterstützung!
Achtung!
Wenn das System bei blinkender Info-LED neu gestartet wir rennt mein Homematic-Script in eine Sackgasse, da das info-led.sh Script nicht ausgeführt wird, aber die SystemVariable ("Info-LED Alarm" oder "Info-LED Service") immer noch auf "true" steht.
Gruß
Frank
RaspberryMatic - RPI3 mit 80 Aktoren/Sensoren
1x Raspi3 1x RTC DS3231 3x Lan-Gateway
Gesteuert werden:
Heizkörper, Heizung (Biostar 23), Beleuchtung, Multimedia, Pool, Teich
1x Raspi3 1x RTC DS3231 3x Lan-Gateway
Gesteuert werden:
Heizkörper, Heizung (Biostar 23), Beleuchtung, Multimedia, Pool, Teich
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: LED von CCU auf RaspberryMatic nachbilden
Die können ja per einfachem Programm ohne WENN auf false gestellt werden, oder sehe ich das falsch?hetty hat geschrieben:... SystemVariable ("Info-LED Alarm" oder "Info-LED Service") immer noch auf "true" steht ...
Gruß
Bruno
-
- Beiträge: 1
- Registriert: 28.05.2017, 15:44
Re: LED von CCU auf RaspberryMatic nachbilden
Hallo ich bin neu hier! und das mit der LED Ansteuerung für die Info finde ich auch gut! dann muss man nicht jeden Tag nachschauen ob irgendwas los ist, leider bin ich auf diesem Gebiet noch ziemlich unerfahren! wie schreibt man in den Ordner etc/init.de?
Habe die Datei S0lnitLED erstmal in einen anderen Ordner drinne, und starte sie per Hand.
Habe die Datei S0lnitLED erstmal in einen anderen Ordner drinne, und starte sie per Hand.
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: LED von CCU auf RaspberryMatic nachbilden
Warum nehmt ihr nicht Alchys Allinclusive-Skript, um damit die LED-Systemvariablen anzusteuern?
Gruß,
Thorsten
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 90
- Registriert: 08.12.2014, 22:16
- Wohnort: Erfurt
Re: LED von CCU auf RaspberryMatic nachbilden
Das ist natürlich naheliegend !
Für die Alarmmeldungen gibt es ebenfalls eine Lösung von alchy, soweit ich mich erinnere.
Gruß Peter
Für die Alarmmeldungen gibt es ebenfalls eine Lösung von alchy, soweit ich mich erinnere.
Gruß Peter
- Obihamster
- Beiträge: 407
- Registriert: 29.07.2015, 11:31
Re: LED von CCU auf RaspberryMatic nachbilden
Nur als Hinweis nebenbei falls es nicht jeder schon weiß: (Ich weiß es erst seit 2 Tagen )
Man kann auch mit nem ganz einfachen WebUI Programm die Servicemeldungen anzeigen lassen
Ich habe z.B. bei mir an der Haustür innen eine 16 LED Statusanzeige die über den Bewegungsmelder im Flur aktiv wird und habe dann mit 2 einfachen Programme das Problem gelöst.
1. Wenn Systemvariable Servicemeldung ist gleich oder größer 1 dann Statusdisplay LED 1 Orange.
2. Wenn Systemvariable Servicemeldung ist kleiner als 1 dann Statusdisplay LED 1 Grün.
Funktioniert bei mir bisher einwandfrei.
Soll nur als Tipp dienen falls jemand (wie ich) das noch nicht wußte das man es auch darüber lösen kann, natürlich kann man dann auch andere Aktoren (Gongs ect.) damit ansprechen.
Grüße Markus
Man kann auch mit nem ganz einfachen WebUI Programm die Servicemeldungen anzeigen lassen
Ich habe z.B. bei mir an der Haustür innen eine 16 LED Statusanzeige die über den Bewegungsmelder im Flur aktiv wird und habe dann mit 2 einfachen Programme das Problem gelöst.
1. Wenn Systemvariable Servicemeldung ist gleich oder größer 1 dann Statusdisplay LED 1 Orange.
2. Wenn Systemvariable Servicemeldung ist kleiner als 1 dann Statusdisplay LED 1 Grün.
Funktioniert bei mir bisher einwandfrei.
Soll nur als Tipp dienen falls jemand (wie ich) das noch nicht wußte das man es auch darüber lösen kann, natürlich kann man dann auch andere Aktoren (Gongs ect.) damit ansprechen.
Grüße Markus
Alles elektrisch und total überlastet.