FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ChiliApple am 23 Mai 2015, 15:16:46

Titel: Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 23 Mai 2015, 15:16:46
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
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: justme1968 am 23 Mai 2015, 15:30:42
du kannst jedes beliebige ziel anpingen. auch im internet.
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 23 Mai 2015, 15:37:32
ok danke! werde es gleich probieren
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Rince am 23 Mai 2015, 17:55:34
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...

Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: justme1968 am 23 Mai 2015, 18:05:54
wäre das mit einem einzigen WATCHDOG nicht einfacher?
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: MartinMuc am 23 Mai 2015, 20:47:20
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
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 24 Mai 2015, 13:31:50
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 ...) :(
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Rince am 24 Mai 2015, 14:17:53
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.
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Puschel74 am 24 Mai 2015, 18:49:10
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.
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 24 Mai 2015, 20:44:28
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!
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Rince am 24 Mai 2015, 20:53:40
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
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Puschel74 am 24 Mai 2015, 21:06:37
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.
Titel: Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: justme1968 am 24 Mai 2015, 21:43:09
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
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 24 Mai 2015, 21:45:47
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 ...

Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 24 Mai 2015, 21:48:50
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
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: Puschel74 am 24 Mai 2015, 21:55:03
a) Beiträge lassen sich bearbeiten
b) Ich glaube kaum das es mit deinem geposteten Code klappt  ::)
Dein define notify_enable wird doch nur einmalig angelegt, ausgeführt und dann wieder gelöscht - mit deinem Code direkt nach der Eingabe.
Ich dachte ich hab mich verständlich ausgedrückt das das define notify_enable logischerweise NACH dem disable 1 gehört.
Ok, ich habs nicht so geschrieben aber denken muss bei mir jeder immer noch selbst.
Oder wie und/oder durch was soll das at ausgelöst/angelegt werden  ???
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 24 Mai 2015, 22:02:12
das ist mir aufgefallen, danke
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: justme1968 am 25 Mai 2015, 09:31:10
dein semikolon ist vermutlich falsch. wenn du deine eingabe nicht im web frontend unter DEF machst sondern das konfigfile direkt änderst musst du dich selber um das maskieren oder verdoppeln mancher zeichen kümmern.

ein warchdog wird normalerweise mit
  trigger <name> .
reaktiviert.

gruß
  andre
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: ChiliApple am 25 Mai 2015, 11:03:39
danke hatte das DEF gepostet, in der cfg steht es mit zwei ;;
ich dachte trigger is der Auslöser, im Wiki ist die Anwesenheit auch mit "defined" zurückgesetzt
Titel: Antw:Internetverbindung kontrollieren und ggf. Neustart des Modems auslösen
Beitrag von: justme1968 am 26 Mai 2015, 09:03:24
was heißt der watchdog mag off-for-timer nicht? welche meldung bekommst du?