NEWS
Meldung Internetausfall
-
@fruchtzwergi Wie funktioniert Pushover ohne Internet-Verbindung?
-
@martybr said in Meldung Internetausfall:
@fruchtzwergi Wie funktioniert Pushover ohne Internet-Verbindung?
Er schrieb
und für kurze zeit unterbrochen ist.
Wenn die Mail erst bei wieder Verfügbarkeit der Verbindung abgesetzt wird, ist das ausreichend nahe am Ereignis ....
Bei längerem Ausfall wäre eine Mail erst nach Ende des Ausfalls natürlich wenig hilfreich. -
@martinp Bei kurzen Störungen ist die Dokumentation der Störung so in Ordnung. Wenn die Störung aber länger andauert, dann wäre eine zeitnahe Meldung wichtig.
Wenn eine z.B. Synology vorhanden ist, dann kann man die eingebaute Chat-Funktion nutzen. Aber auch nur im eigenen WLAN.
Andere Lösungen sind wesentlich aufwändiger (z.B. Router mit SIM Karte etc.). -
Stellt sich ohnehin die Frage warum man im 15 Sek. Takt Ping Traffic verursacht, der im Zweifelsfall nicht bzw. "zu spät" gemeldet wird und dann auch noch nicht mal gesichert einer unterbrochenen Internetverbindung zugeordnet werden kann. Nur weil einmal in dieser Taktung keine Antwort kommt, ist das doch noch kein Beweis für eine gekappte Verbindung. Zumal die FritzBox nach eigener Aussage keine Auffälligkeiten dazu dokumentiert.
-
@fruchtzwergi
Ich prüfe die Internetverbindung der Fritte über den UPNP-Adapter.
Dient aber nur der Anzeige in der Vis.
Meldung könnte ich über SMS der Alarmanlage rausgeben. Brauche ich bei Glasfaser aber nicht. Das ist extrem stabil -
@samson71 naja, ein Ping hat nur ein paar Dutzend Byte. Alle 15 Sekunden ein Ping bedeutet maximal 50 kByte Traffic pro Stunde.
Da habe ich viel schlimmere Sünden in Foren gelesen.
Alle 10 Minuten als Speedtest 1 GByte transferieren z.B. -
@martinp
Ich hätte es auch anders formulieren können.
Wenn jemand meine Webseite alle 15 Sek mit nem Ping traktiert, wäre spätestens beim 100sten Mal Schluss.
Wer garantiert denn dass es tatsächlich ein Abriss der Verbindung ist und kein temporärer Block auf der Gegenseite? Das womöglich dem ISP gegenüber als Argument zu bringen dürfte höchstens für nen Lacher sorgen. -
Ich wiederhole mich gerne
Wieso nicht den Ping Adapter benutzen?
Auf 8.8.8.8 (Google) pingen, eine vernünftige Ping Zeit einstellen und die Sache abhaken? -
@codierknecht sagte in Meldung Internetausfall:
@fruchtzwergi
Ich prüfe die Internetverbindung der Fritte über den UPNP-Adapter.
Dient aber nur der Anzeige in der Vis.
Meldung könnte ich über SMS der Alarmanlage rausgeben. Brauche ich bei Glasfaser aber nicht. Das ist extrem stabilNaja die Fritzbox hat auch keine Ahnung von Internet. Wenn die jemandem die Daten schicken kann reicht das.
-
@ticaki naja Internetstörungen können durchaus komplex sein, z.b. nur IPv4 oder IPv6 betroffen sind.
-
@martinp
Das ist genau das was ich geschrieben habe. -
@Fruchtzwergi
Ich hatte mal genau das gleiche Problem. Über den tr-064 Adapter kann man den Internetstatus von der FritzBox abfragen.
Für mich hat es gereicht, die Daten in ein paar Datenpunkte zu schreiben, da ich das einfach nur protokollieren wollte.
Über den History-Adapter kann man sich das dann z.B. in eine Datenbank schreiben lassen und später auswerten.
Alternativ kannst du dir natürlich eine Nachricht senden lassen, wenn der PhysicalLinkStatus sich ändert.Hier das Script (Blockly):
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="rwzxO_@~WbTEz1Id_`+4">response</variable> <variable id="R@M!ScA7}(c1m_YX^92V">CommandGetCommonLinkProperties</variable> <variable id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</variable> <variable id="Ug,z#Gb~TkV7eA=#+Skn">value</variable> </variables> <block type="create" id="rqk`+gp[.4#P2uAn-lXg" x="-612" y="-363"> <field name="NAME">FritzBox.WANAccessType</field> <next> <block type="create" id="E+~ypM_H7jOl3R9cksm."> <field name="NAME">FritzBox.Layer1UpstreamMaxBitRate</field> <next> <block type="create" id="yrzpQO]ARf?x%EoozG,)"> <field name="NAME">FritzBox.Layer1DownstreamMaxBitRate</field> <next> <block type="create" id="wG8*_fGL~NzvqyVF=W,v"> <field name="NAME">FritzBox.PhysicalLinkStatus</field> <next> <block type="schedule" id="@.X;`kwnSNa3D-h5MUPd"> <field name="SCHEDULE">0,10,20,30,40,50 * * * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="5v{oq#Eoj/woD53k_ai?"> <mutation name="GetDSLInformationFromFritzBox"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="x0_Ie1Wdq|b5tAki.8W(" x="-87" y="-363"> <field name="NAME">GetDSLInformationFromFritzBox</field> <comment pinned="false" h="80" w="160">Read DSL information with TR-064 adapter from FritzBox</comment> <statement name="STACK"> <block type="variables_set" id="8gh?Hy7.Jl:zDwK~ZDH["> <field name="VAR" id="R@M!ScA7}(c1m_YX^92V">CommandGetCommonLinkProperties</field> <value name="VALUE"> <block type="text" id="81v7l1[F6a?=o]-7n}i0"> <field name="TEXT">{"service": "urn:dslforum-org:service:WANCommonInterfaceConfig:1","action": "GetCommonLinkProperties","params": {}}</field> </block> </value> <next> <block type="control" id="Y9y;,|xA1#K{u}y7H#T`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tr-064.0.states.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Yef2HePdV2ew%CXq,7.%"> <field name="VAR" id="R@M!ScA7}(c1m_YX^92V">CommandGetCommonLinkProperties</field> </block> </value> <next> <block type="get_value_async" id="tHwuM:E,x1-hM%%LlPF8"> <field name="ATTR">val</field> <field name="OID">tr-064.0.states.commandResult</field> <statement name="STATEMENT"> <block type="variables_set" id="G8PrwJgS*x~1O76KSFf#"> <field name="VAR" id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</field> <value name="VALUE"> <block type="convert_json2object" id="}MjVw07Xtu4}:e}T=+UV"> <value name="VALUE"> <block type="variables_get" id="=D/m{rDOUs5Sgy?a*k2E"> <field name="VAR" id="Ug,z#Gb~TkV7eA=#+Skn">value</field> </block> </value> </block> </value> <next> <block type="update" id="cT`;d18Bqp]+wW`ejcwI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.FritzBox.WANAccessType</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="Z[do)*?xfqr!P,h%v+eC"> <mutation name="getWANAccessType"> <arg name="response"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="#lk1N_PM{,cy7D6bKx3@"> <field name="VAR" id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</field> </block> </value> </block> </value> <next> <block type="update" id="}Kh.?z^.t1Xm3p5s0j1i"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.FritzBox.Layer1DownstreamMaxBitRate</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="oXIv=ZyubHR,SHYS1sg2"> <mutation name="getLayer1DownstreamMaxBitRate"> <arg name="response"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="(J%`EY[Fq:E1Cp!EnOx3"> <field name="VAR" id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</field> </block> </value> </block> </value> <next> <block type="update" id="^,1.Jss=cAAvU1xmghyR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.FritzBox.Layer1UpstreamMaxBitRate</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="M49#`IX,T@ionI)|~gT]"> <mutation name="getLayer1UpstreamMaxBitRate"> <arg name="response"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="1cFYx.^3s*aU5FjQ.D!}"> <field name="VAR" id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</field> </block> </value> </block> </value> <next> <block type="update" id="M%%BlpE+yS%#%_kwdhk9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.FritzBox.PhysicalLinkStatus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="[8x2~Uj~X}70iSmpw,s#"> <mutation name="getPhysicalLinkStatus"> <arg name="response"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="{dg50u~~/UaW:L2E/V+w"> <field name="VAR" id="C2W`O*!(?*=w#gqWgSod">commonLinkPropertiesResponse</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defcustomreturn" id="D2RyJks?h;-5/|ULrLIa" x="988" y="-363"> <mutation statements="false"> <arg name="response" varid="rwzxO_@~WbTEz1Id_`+4"></arg> </mutation> <field name="NAME">getWANAccessType</field> <field name="SCRIPT">cmV0dXJuIHJlc3BvbnNlLk5ld1dBTkFjY2Vzc1R5cGU7</field> <comment pinned="false" h="80" w="160">Gets the WAN access type from the response object</comment> </block> <block type="procedures_defcustomreturn" id=":r]v%.4ygwlSQzM74q/Y" x="987" y="-313"> <mutation statements="false"> <arg name="response" varid="rwzxO_@~WbTEz1Id_`+4"></arg> </mutation> <field name="NAME">getLayer1UpstreamMaxBitRate</field> <field name="SCRIPT">cmV0dXJuIHJlc3BvbnNlLk5ld0xheWVyMVVwc3RyZWFtTWF4Qml0UmF0ZTs=</field> <comment pinned="false" h="80" w="160">Gets the upstream bit rate from the response object</comment> </block> <block type="procedures_defcustomreturn" id="06NvLSFlu3)B)9FHk,=`" x="987" y="-263"> <mutation statements="false"> <arg name="response" varid="rwzxO_@~WbTEz1Id_`+4"></arg> </mutation> <field name="NAME">getLayer1DownstreamMaxBitRate</field> <field name="SCRIPT">cmV0dXJuIHJlc3BvbnNlLk5ld0xheWVyMURvd25zdHJlYW1NYXhCaXRSYXRlOw==</field> <comment pinned="false" h="80" w="160">Gets the downstream bit rate from the response object</comment> </block> <block type="procedures_defcustomreturn" id="eg7+%E3`+pWtuo#LXJSG" x="987" y="-212"> <mutation statements="false"> <arg name="response" varid="rwzxO_@~WbTEz1Id_`+4"></arg> </mutation> <field name="NAME">getPhysicalLinkStatus</field> <field name="SCRIPT">cmV0dXJuIHJlc3BvbnNlLk5ld1BoeXNpY2FsTGlua1N0YXR1czs=</field> <comment pinned="false" h="80" w="160">Gets the link status from the response object</comment> </block> </xml>
-
Theoretisch bräuchte man einen externen Server im Internet der den Ping auf den iobroker Zuhause macht. Ist dieser Ping weg gibt der Server die Meldung zurück, iobroker offline. Daraus könnte man sogar ein Geschäftsmodell machen...
-
@shadowhunter23 thinkbroadband.com betreibt einen ähnlichen Dienst. Man kriegt aber keine Mails, sondern es wird ein Ping Plot erstellt, der über den Browser abgerufen werden kann.
-
@martinp danke, kannte ich nicht. Aber ich könnte mir durchaus vorstellen dass für "kleines" Geld solch ein Dienst angenommen wird. Etwas besser auf die iobroker Umgebung angepasst.
Ich prüfe bei mir mit zwei iobroker auf zwei verschiedenen Geräten die interne Verfügbarkeit. Simple API schreibt gegenseitig einen Wert. Ich hatte leider schon den Fall das Ping eine Antwort liefert aber iobroker trotzdem weg war. Trotzdem bleibt, kein Internet keine Meldung. Fairerweise sei aber gesagt, so oft habe ich keinen Internetausfall.
-
Mal aus der theoretischen Ansicht betrachtet.
Man könnte sich ein VPS beim billigsten Anbieter mit z.b. 2 GB RAM mieten. Domain braucht es keine, da reicht ja die IP Adresse. Auf diesem VPS installiert man iobroker. Dann schreibt man mit Simple API von Zuhause auf den VPS. Wenn am VPS die Änderung per Simple API nicht ankommt ist Zuhause etwas "falsch". So könnte man doch in der einen Richtung prüfen?edit
Nochmal anders gedacht. @Jey-Cee
Schreib doch einen Adapter für solch ein Zenario und erstelle einen Service im Internet mit der Rückmeldung über den Status? Zahltag? -
Nette Idee.
Denke aber nach der Diskussion wirst Du niemanden finden, der für das Szenario Geld ausgeben möchte.
Mich eingeschlossen.Das Ganze kannste auch, wenn Du es so machen willst, günstig für nen Euro selber machen.
Beim Hoster GB mieten (schon gesehen für 1 Euro im Monat) und dann Deine Idee umsetzen.Sogar 50Cent monatlich. (danach einfach woanders umschauen oder Frau/Kinder anmelden
)
-
@haselchen
Einen iobroker einfach so im Internet zu installieren bedeutet schon das man Ahnung haben sollte. Da schließe ich mich aus. Mir ging es nur um die Theorie. Und man sagt auch hier im Forum das man iobroker nicht im Internet laufen lassen soll.
Aber ich könnte mir durchaus vorstellen das man diesen "Dienst" annehmen würde um die Verfügbarkeit zu prüfen. Vorraussetzung sind natürlich einfache Handhabung für den 0815 User wie z.B. mich. -
Da gibt es drölftausend Videos und Anleitungen dazu.
Und ich meinte nicht nackt Iobroker , sondern per Proxmox als VM.Findest Du es sicherer, wenn ein "Fremder" das für Dich macht?
-
Ich habe gerade eine Idee ....
Man bildet eine Art "Ping-Cloud"Beispiel:
iobroker von @haselchen pingt den internet-Anschluss von shadowhunter23, und schickt Shadowhunter23 eine Mail, wenn nicht erreichbar.
iob von @Shadowhunter23 pingt den Internet-Anschluss von martinp, und schicht martinp eine Mail, wenn nicht erreichbar
iob von martinp pingt den Internet-Anschluss von haselchen, und schicht haselchen eine Mail, wenn nicht erreichbarEin Pferdefuß ist, dass ja kaum ein User eine wirklich feste IP hat, da wird wohl auch ein gewisser Pflegeaufwand nötig sein, wenn die IP-Adressen beim Provider durchgerührt werden ...
Könnte man aber ggfs. auch über den iob automatisieren - man kann ja auch Reaktionen auf eingehende Mails legen.