FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: TheTrumpeter am 02 November 2017, 21:40:37

Titel: Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: TheTrumpeter am 02 November 2017, 21:40:37
Nachdem ich es nun innerhalb von 24h schon 2x geschafft habe, den RasPi irgendwie aus dem WLAN zu "schmeissen" und sich das Problem wg. fehlender anderer Zugriffsmöglichkeiten nur mittels Trennen der Stromversorgung beheben liess, überlege ich einen "Reboot"-Taster per GPIO zu realisieren wie beispielsweise hier beschrieben: https://alexbloggt.com/raspberry-pi-ausschalter/ (https://alexbloggt.com/raspberry-pi-ausschalter/)
(Ich habe nach dem ersten Mal ein Shell-Skript eingerichtet, das die WLAN-Verbindung neu aufbauen sollte, aber das hat offenbar nicht funktioniert, denn als das Problem erneut aufgetreten ist, hat es sich nicht wie erwartet "selbst repariert". Da FHEM weiterhin geloggt hat, weiss ich, dass der RasPi prinzipiell gelaufen ist.)

Jetzt habe ich eine dumme Frage bzgl. der Umsetzung des "Reboot-Tasters":
Wenn ich in der Linux-Shell shutdown oder restart eingebe und der RasPi dann neu startet, wird vorher FHEM "geordnet runtergefahren" wie wenn ich es vorher selbst mittels sudo /etc/init.d/fhem stop beende oder ist es in Bezug auf FHEM genauso wie wenn ich einfach die Spannungszufuhr trenne?

Wenn jemand eine bessere Lösung für mein "WLAN-Problem" hat, nehme ich es auch gerne... leider weiss ich noch nicht wie ich es geschafft habe die Verbindung 2x zu trennen, da ich während der Zeit nie zum RasPi verbunden war, sonst könnte ich auch dort ansetzen.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: amenomade am 02 November 2017, 21:43:49
Nw. wenn Du fhem als Dienst (init.d oder systemd) installiert hast, sollte das Betriebsystem fhem whärend des reboot Vorgangs ordentlich stoppen.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: Otto123 am 02 November 2017, 21:44:31
Hi,

nur Kabel ist wahres   ;D

Ja FHEM wird als Dienst ordentlich beendet. Kannst Du im Log leicht verfolgen wenn Du den Raspberry mal neu startest.

Gruß Otto
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: mahowi am 02 November 2017, 21:44:39
Ein Shutdown unter Linux beendet vorher alle Dienste über die Start-/Stop-Skripte bzw. systemd. FHEM wird also ordentlich beendet.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: CoolTux am 02 November 2017, 21:47:07

#!/bin/bash
#
##
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
HOST=`hostname`

        if [ $(cat /sys/class/net/wlan0/carrier) = 0 ] || [ $(cat /sys/class/net/vlan60/carrier) = 0 ]; then

                if [ $(cat /sys/class/net/wlan0/carrier) = 0 ]; then
                        ifup wlan0
                        echo "wlan0 Interface on $HOST is down, i'll see if i can wake him up!! Next check in 10 min" | mail -s "wlan0 on $HOST is DOWN!!!" Email@gmail.com
                exit 0
                elif [ $(cat /sys/class/net/vlan60/carrier) = 0 ]; then
                        ifup vlan60
                        echo "Public Network vlan60 on $HOST is down, i'll see if i can wake him up!! Next check in 10 min" | mail -s "vlan60 on $HOST is DOWN!!!" Email@gmail.com
                exit 0
                fi
        fi
exit 0                                                                                                                                                               


Entweder durch cron alle 10min ausführen lassen oder mittels FHEM.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: TheTrumpeter am 02 November 2017, 22:11:17
Zitat von: CoolTux am 02 November 2017, 21:47:07

#!/bin/bash
#
##
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
HOST=`hostname`

        if [ $(cat /sys/class/net/wlan0/carrier) = 0 ] || [ $(cat /sys/class/net/vlan60/carrier) = 0 ]; then

                if [ $(cat /sys/class/net/wlan0/carrier) = 0 ]; then
                        ifup wlan0
                        echo "wlan0 Interface on $HOST is down, i'll see if i can wake him up!! Next check in 10 min" | mail -s "wlan0 on $HOST is DOWN!!!" Email@gmail.com
                exit 0
                elif [ $(cat /sys/class/net/vlan60/carrier) = 0 ]; then
                        ifup vlan60
                        echo "Public Network vlan60 on $HOST is down, i'll see if i can wake him up!! Next check in 10 min" | mail -s "vlan60 on $HOST is DOWN!!!" Email@gmail.com
                exit 0
                fi
        fi
exit 0                                                                                                                                                               


Entweder durch cron alle 10min ausführen lassen oder mittels FHEM.
Hm...
Mein Skript müsste ähnliches tun:
#!/bin/bash

# global variables
gateway="gateway"
interface="wlan0"

# Ping gateway for network status test
ping -c4 $gateway > /dev/null

# if gateway is not reachable, restart the network interface
if [ $? != 0 ]
then
  ifdown $interface
  sleep 3
  ifup --force $interface
fi

Wenn ich das Skript direkt starte (bzw. mit "echos" debugge) und parallel dazu den RasPi "dauerpinge", sehe ich, dass die Schleife durchlaufen wird, sobald das Gateway nicht mehr erreichbar ist, und im Ping 2x ein paar Pakete ausfallen, d.h. die Verbindung offenbar neu gestartet wird.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: Hollo am 03 November 2017, 09:22:12
Ich mag ja diese würgarounds, mit denen man sich nicht mehr um die Ursache kümmern muss, weil es damit ja irgendwie bis irgendwann funktioniert.   :-\

Du hast sicher mal in die Glasgoogle geguckt und die diversen Hinweise dazu kontrolliert!?
Es kann natürlich auch ganz andere Ursachen haben, aber die "bekannten Probleme" kann man ja evtl. vorab testen und ausschließen.

Hier https://forum.fhem.de/index.php/topic,55161.0.html (https://forum.fhem.de/index.php/topic,55161.0.html) gibt es einiges bzgl. Energiesparmodus des WLAN.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: Otto123 am 03 November 2017, 10:51:37
Hallo TheTrumpeter,

was hast Du für einen Wlan Access Point?

Gruß Otto
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: TheTrumpeter am 03 November 2017, 12:37:24
Zitat von: Otto123 am 03 November 2017, 10:51:37
was hast Du für einen Wlan Access Point?
Verbunden ist der RasPi per WLAN mit einem Edimax Extender "irgendwas". Der wiederum ist per WLAN mit dem Pirelli-Modem verbunden.
Der Extender hat eine separate SSID. Anfangs hatte der dieselbe SSID, damit gab's massiv Probleme, sobald sich ein 2. Gerät am Extender angemeldet hat.
Seit der eigenen SSID lief es eigentlich absolut rund.
Im Pirelli-Modem blockiere ich den RasPi, damit er sich ins starke Signal vom Extender einwählt und nicht ins schwache Signal vom Modem.

Beide Ausfälle liefen wie folgt ab:
Ich habe versucht vom Handy aus über DDNS das Webinterface zu erreichen, als ich ebenfalls am Extender verbunden war. Nach einigen Sekunden, als ich merkte, dass es mal wieder nicht funkioniert (siehe separater Thread) habe ich das andere Tab mit interner IP-Adresse vom RasPi aktiviert und dort "neu laden" gedrückt. Das Webinterface wurde aufgebaut, aber bevor die Plots des entsprechenden Raums angezeigt wurden, blieb es "stecken".
Danach konnte ich den RasPi nicht mehr erreichen, weder per VNC, noch Ping. Später habe ich sowohl den Extender als auch das Modem neu gestartet, aber der RasPi wurde nirgends als "verbunden" angezeigt.

Beim ersten Ausfall lief der RasPi sicher schon 2 Monate durch, ohne jegliche Probleme. Der 2. Ausfall war nichtmal 24 Stunden nach dem ersten.
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: Hollo am 03 November 2017, 23:06:06
Bei unterschiedlicher SSID erübrigt sich doch ein Blocken, wenn Du einfach am PI nur 1x Zugangsdaten abspeicherst.
Sorry, aber weißt Du wirklich was Du da so konfiguriert hast bzw. musst?
Titel: Antw:Beendet Linux "reboot/shutdown" vorher FHEM "sauber"?
Beitrag von: TheTrumpeter am 04 November 2017, 11:13:54
Zitat von: Hollo am 03 November 2017, 23:06:06
Bei unterschiedlicher SSID erübrigt sich doch ein Blocken, wenn Du einfach am PI nur 1x Zugangsdaten abspeicherst.
Sorry, aber weißt Du wirklich was Du da so konfiguriert hast bzw. musst?
Das kommt daher, dass ich beide Zugänge konfiguriert habe, um bei Ausfall des Extenders mit dem (schwachen) Signal vom Router verbinden kann. Dann muss ich dort nur das Blocken aufheben und es müsste funktionieren.