Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen

Begonnen von ChiliApple, 23 Mai 2015, 15:16:46

Vorheriges Thema - Nächstes Thema

ChiliApple

hallo,

ich habe das Problem das hin und wieder die Verbindung abbricht und sich mein Modem dann gelegentlich aufhängt.
Ich würde nun gerne mit FHEM die Verbindung kontrollieren und über eine Schaltsteckdose aus/ein durchführen.

Mit Presence scheint ja "nur" der interne Ping zu funktionieren?! welche Möglichkeiten gebe es noch?
den Rest mit dem Schalten wäre ja kein Problem.

Vielen Dank!
Grüße Udo
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

justme1968

du kannst jedes beliebige ziel anpingen. auch im internet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ChiliApple

:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

Rince

Hab ein ähnliches Problem.

Ich nutze presence um 8.8.8.8 anzupingen (Googles DNS Server)
Dann einen HourCounter um zu zählen, wie oft die Verbinung weg ist.
Dann noch ein DOIF, welches den Strom abdreht

Und zu guter letzt ein Notify, das nach 10 Sekunden den Strom wieder einschaltet...

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MartinMuc

Ich mache das mit einem doif mit Wait. Wenn das Internet länger als 60 min weg ist Steckdose für 1 min aus.


Gesendet von iPhone mit Tapatalk
Cubietruck mit CUL und HM USB

ChiliApple

hmm, Schalterei macht mir entgegen meiner Vorahnung doch Probleme.
Bekomms nicht recht hin, wollte es mit "off-for-timer" im Watchdog machen aber da nimmt es mir das "defined" nicht ...
möchte die Steckdose nur 10sec. deaktivieren wenn Presence auf absent geht.

Funktionieren tut es mit notify aber da hab ich natürlich dann einen Loop (wenn Internetverbindung offline, schaltet es 10sec aus und wieder ein und wieder aus ...) :(
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

Rince

Deshalb ja auch der hourcounter.  Der verhindert die Endlosschleife ganz gut.
Das Notify das den Aktor wieder einschaltet könnte man sich sicher sparen, aber bei mir können auch spielende Kinder den Aktor ausschalten. Dann geht er halt wieder an ;)

Watchdog alleine hilft bei mir nicht.

Mein Internet fällt einfach hin und wieder mal kurz aus. Das ist nicht wild. Da muss ich nicht drauf reagieren.

Dumm wird es dann, wenn es permanent kommt und ausfällt. Dann fängt sich das nämlich nicht mehr. Daher der Counter.

Bin nicht zu Hause, sonst würde ich die DEFs posten. Vielleicht heute Abend.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Puschel74

Verhindern lässt sich dieser Loop auch ganz gut wenn nach dem ausschalten das notify für x Minuten disabled wird.
Dann schlägt es nicht mit dem nächsten PRESENCE wieder zu - oder man verlängert die PRESENCE-Abfrage.
Aber so ganz ohne Code wird es schwer zu helfen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChiliApple

hallo
da hast du natürlich recht, ich hab leider schon alles wieder gelöscht ... das war ein Versuch davon mit Watchdog ...
define InternetUeberwachung watchdog Internetverbindung:offline 00:02 Internetverbindung:online set LTE_Router off-for-timer 10;setstate InternetUeberwachung defined
wie bringe ich ein notify dazu sich für x-Minuten zu disablen?

Danke!
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

Rince

Der HourCounter
Internals:
   DEF        Internetkontrolle:0
   NAME       InternetAusgefallen_Counter
   NR         233
   NTFY_ORDER 50-InternetAusgefallen_Counter
   STATE      8
   TYPE       HourCounter
   VERSION    1.0.1.2 - 24.12.2014
   Readings:
     2015-05-24 00:01:00   clearDate       2015-05-24 00:01:00
     2015-05-24 20:00:00   countsOverall   8
     2015-05-24 20:00:00   countsPerDay    8
     2015-05-24 00:00:00   pauseTimePerDay 0
     2015-05-24 00:00:00   pulseTimePerDay 0
     2015-05-24 20:00:00   state           8
     2015-05-24 19:04:39   tickChanged     870
     2015-05-24 00:00:00   tickDay         3
     2015-05-24 20:00:00   tickHour        75
     2015-05-21 17:04:21   tickMonth       0
     2015-05-24 20:00:00   tickUpdated     835
     2015-05-24 00:00:00   tickWeek        1
     2015-05-21 17:04:21   tickYear        0
     2015-05-24 20:00:00   value           1
   Helper:
     OFF_Regexp
     ON_Regexp  Internetkontrolle:0
     calledByEvent
     changedTimestamp
     forceClear
     forceDayChange
     forceHourChange
     forceMonthChange
     forceWeekChange
     forceYearChange
     isFirstRun 1
     sdRoundHourLast 1432490400
     value      -1
     cmdQueue:
Attributes:
   disable    0
   event-min-interval state.*:0
   event-on-change-reading .*
   room       Kommunikation




Presence
Internals:
   ADDRESS    8.8.8.8
   DEF        lan-ping 8.8.8.8 30
   MODE       lan-ping
   NAME       Internetkontrolle
   NR         184
   STATE      1
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TYPE       PRESENCE
   Readings:
     2015-05-24 20:50:00   presence        present
     2015-05-24 20:50:00   state           present
   Helper:
Attributes:
   eventMap   present:1 absent:0
   room       Kommunikation



Das DoIf
Internals:
   DEF        ([InternetAusgefallen_Counter:state]>7) (set MyTTS tts Das Internet wird wegen häufiger Abbrüche neu gestartet. Es sollte in etwa zwei Minuten wieder alles funktionieren., set InternetAusgefallen_Counter clear, set sa_SD_FritzBoxPWR off)
   NAME       InternetAusgefallen_Reset
   NR         236
   NTFY_ORDER 50-InternetAusgefallen_Reset
   STATE      disabled
   TYPE       DOIF
   Readings:
     2015-05-23 01:19:58   cmd_event       InternetAusgefallen_Counter
     2015-05-23 01:19:58   cmd_nr          2
     2015-05-23 01:20:32   e_InternetAusgefallen_Counter_state 2
     2015-05-23 01:20:49   state           disabled
   Condition:
     0          ReadingValDoIf('InternetAusgefallen_Counter','state','')>7
   Devices:
     0           InternetAusgefallen_Counter
     all         InternetAusgefallen_Counter
   Do:
     0          set MyTTS tts Das Internet wird wegen häufiger Abbrüche neu gestartet. Es sollte in etwa zwei Minuten wieder alles funktionieren., set InternetAusgefallen_Counter clear, set sa_SD_FritzBoxPWR off
   Helper:
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           InternetAusgefallen_Counter:state
     all         InternetAusgefallen_Counter:state
   State:
   Trigger:
Attributes:
   disable    1
   room       Rumpelkammer
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Puschel74

Zitat von: ChiliApple am 24 Mai 2015, 20:44:28
wie bringe ich ein notify dazu sich für x-Minuten zu disablen?
Danke!
Nichts leicher als das.
Nach dem off-for-timer ein
attr <name_des_notify> disable 1
einfügen und danach ein
define notify_enable at +00:05:00 attr <name_des_notify> disable 0
einfügen (hier 5 Minuten als Beispiel - die Zeiten können angepasst werden siehe commandref zu at).
Das geht sicher auch mit DOIF aber das ist nicht meine "Baustelle".

Aber wie gesagt:
Mit den korrekten, zur Zeit eingefügten, Codes wäre die Hilfe einfacher.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

ich verstehe immer noch nicht warum ein einfacher warchdog nicht ausreichen soll. eigentlich reicht es im presence device event-on-change-reading zu setzen. dann gibt es events nur wenn der zustand sich ändert und es gibt keine endlos schleife.

falls das aus irgend einem grund nicht reicht:
mach das reaktivieren des warchdog in einem notify auf present.

d.h. du hast einen warchdog der reagiert wenn die verbindung . eine gewisse zeit weg ist und startest den router neu und du hast ein notify das reagiert wenn die verbindung wieder da ist und den warchdog wieder scharf schaltet.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ChiliApple

vielen Dank fürs erste! ...

ich habe mir DOIF schon angesehen aber da blicke ich noch nicht durch, habe es jetzt mal mit einem notify laufen damit es funktioniert.

define InternetUeberwachung notify Internetverbindung:offline sleep 20;;set LTE_Modem off-for-timer 10;;attr InternetUeberwachung disable 1
define notify_enable at +00:05:00 attr InternetUeberwachung disable 0
attr InternetUeberwachung group Internet


ist zwar sicher nicht optimal aber es hat mal eine Funktion. Es ist bei mir genau so das manch mal die Verbindung abreißt, ich nur dann eingreifen muß wenn sich dabei das Modem aufhängt, das Modem hat Grundsätzlich ne Wiederwahl ...

:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

ChiliApple

der watchdog mag irgendwie das "off-for-timer" nicht so, da kann ich kein defined setzen ...
du meinst ein "event-on-change-reading" im presence würde dafür genügen?

werde ich morgen testen, danke
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1