Hallo ich verzweifle seit Stunden an einem einfachen Script und weiß nicht wo es hadert..
Es ist ein Script mit dem ich bei meinem Pi in Verbindung mit dem StromPi die Internetverbindung und Stromausfall überwachen möchte. Wenn eins von beiden ausfällt soll das Störungsrelais (GPIO 1) geschalten werden und eine E-Mail (stromausfallmail.py) geschicht werden. Wichtig ist das er das Relais und die E-Mail nur einmal setzt/schickt. Erst wenn es wieder OK ist soll er das Relais wieder auf 0 stellen.
Leider schaltet im Fehlerfall das Relais aus und ein, sprich er springt auch immer in die zweite if Abfrage mit rein. Am liebsten wäre mir sowieso ein Python oder C Script aber da weiß ich nicht wie ich das mit der Internetverbindung abfragen lösen soll...
Hier mal der Code wäre super wenn ihr mir weiterhelfen könntet.
#!/bin/bash
gpio mode 1 out
gpio mode 29 in
gpio write 1 0
state=0
while [ true ]
do
nc -z mail.gmx.net 587 >/dev/null 2>&1
online=$?
result="$( gpio read 29 )"
if ([ "$result" = "1" ] || [ "$online" -eq 1 ]) && [ "$state" == "0" ];
then
gpio write 1 1;
state=1;
python ./stromausfallmail.py
elif [ "$result" = "0" ] && [ "$online" -eq 0 ] && [ "$state" == "1" ];
then
gpio write 1 0;
state=0;
fi
done
Alles anzeigen
Danke schonmal!!