Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Meldung Internetausfall

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Meldung Internetausfall

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active @Samson71 last edited by

      @Fruchtzwergi

      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?

      1 Reply Last reply Reply Quote 1
      • T
        ticaki Developer @Codierknecht last edited by

        @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 stabil 😁

        Naja die Fritzbox hat auch keine Ahnung von Internet. Wenn die jemandem die Daten schicken kann reicht das.

        MartinP 1 Reply Last reply Reply Quote 0
        • MartinP
          MartinP @ticaki last edited by

          @ticaki naja Internetstörungen können durchaus komplex sein, z.b. nur IPv4 oder IPv6 betroffen sind.

          T 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @MartinP last edited by

            @martinp
            Das ist genau das was ich geschrieben habe.

            1 Reply Last reply Reply Quote 0
            • M
              MiSchroe last edited by

              @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>
              
              1 Reply Last reply Reply Quote 0
              • S
                Shadowhunter23 last edited by

                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...

                MartinP 1 Reply Last reply Reply Quote 0
                • MartinP
                  MartinP @Shadowhunter23 last edited by

                  @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.

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Shadowhunter23 @MartinP last edited by Shadowhunter23

                    @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.

                    1 Reply Last reply Reply Quote 0
                    • S
                      Shadowhunter23 last edited by Shadowhunter23

                      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?

                      haselchen 1 Reply Last reply Reply Quote 0
                      • haselchen
                        haselchen Most Active @Shadowhunter23 last edited by haselchen

                        @shadowhunter23

                        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 🙂 )

                        https://www.strato.de/cloud-speicher/

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Shadowhunter23 @haselchen last edited by Shadowhunter23

                          @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.

                          haselchen 1 Reply Last reply Reply Quote 0
                          • haselchen
                            haselchen Most Active @Shadowhunter23 last edited by haselchen

                            @shadowhunter23

                            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?

                            1 Reply Last reply Reply Quote 0
                            • MartinP
                              MartinP last edited by

                              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 erreichbar

                              Ein 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.

                              haselchen S 2 Replies Last reply Reply Quote 0
                              • haselchen
                                haselchen Most Active @MartinP last edited by

                                @martinp

                                Ich bin schonmal raus... 🙂
                                Carrier Grade NAT....

                                MartinP 1 Reply Last reply Reply Quote 0
                                • MartinP
                                  MartinP @haselchen last edited by MartinP

                                  @haselchen Auch IPv6 Adressen kann man pingen 😉

                                  EDIT: Ich weiß aber nicht ob der IOB-Ping Adapter das beherrscht...

                                  EDIT2: Funktioniert ..

                                  6fe677ff-e6a8-48a3-a1d1-6e638ef7586a-grafik.png

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Shadowhunter23 @MartinP last edited by

                                    @martinp

                                    Ein 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 ...

                                    Im Ping Adapter lässt sich auch eine Dyn DNS / Hostname Adresse eintragen. Wenn ich das richtig getestet habe funktioniert das auch.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    860
                                    Online

                                    31.7k
                                    Users

                                    79.8k
                                    Topics

                                    1.3m
                                    Posts

                                    9
                                    25
                                    1171
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo