Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    IP Adresse einlesen

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

      @haselchen UPNP-Adapter? Da müsste ich mir wohl eine Fritzbox kaufen?! Never ever! 😳
      Ich habe aber durch Zufall eine Site gefunden, die einach die IP ausgibt. Im o.g. Script einfach als url https://v4.ident.me/ eintragen und schon läuft es wieder.

      Trotzdem Danke.
      Gruss, Jürgen

      1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @haselchen last edited by

        @haselchen ich verwende auch das Script, weil
        A) der tr064 mir damals keine ext. Ip mehr angezeigt hat(ab einer bestimmten Firmeware Version)
        B) auf Unifi umgestellt habe

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

          @crunchip
          @Wildbill

          Hatte mich zuerst verschrieben.
          Meinte den TR064 (hatte eben nochmal nachgeguckt).
          Die externe IP wird dort angezeigt.

          Adapter Version 4.2.14
          FB 7590 mit 7.29 Software

          1 Reply Last reply Reply Quote 0
          • W
            Wildbill last edited by

            @haselchen sagte in IP Adresse einlesen:

            TR064

            @haselchen @crunchip Siehe mein Post oben, mit https://v4.ident.me/ im Script läuft es wieder, ohne UPNP- oder TR064-Adapter und vor Allem ohne Fritzbox.
            Gruss, Jürgen

            1 Reply Last reply Reply Quote 1
            • OliverIO
              OliverIO @pix last edited by

              @pix

              wie wäre es mit
              https://www.myip.com/api-docs/

              ein einfacher request an
              https://api.myip.com/
              und schon kommt json formatiert die antwort
              mit ip, land ausgeschrieben und kurz zurück,
              bei mir halt als ipv6

              {
              "ip": "0000:00:0000:0000:0000:0000:0000",
              "country": "Germany",
              "cc": "DE"
              }

              W 1 Reply Last reply Reply Quote 0
              • W
                Wildbill @OliverIO last edited by

                @oliverio
                Aus zwei Gründen ist das, zumindest für mich, weniger geeignet :

                • Ich brauche die IPv4, die bringt die Site aber anscheinend nicht bei Dual stack
                • Ich müsste den string der kommt erst noch zerpflücken, um die IP sauber in einen Datenpunkt zu schreiben.

                Die von mir genannte Site bringt direkt den string mit der IPv4, der sich so in einen Datenpunkt schreiben und weiter verarbeiten lässt.
                Aber Danke

                Gruß, Jürgen

                crunchip OliverIO 2 Replies Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @Wildbill last edited by

                  @wildbill hab noch was anderes gefunden

                  http://ipecho.net/plain
                  

                  gibt dir direkt deine ip aus

                  1 Reply Last reply Reply Quote 1
                  • OliverIO
                    OliverIO @Wildbill last edited by

                    @wildbill

                    gibt ja noch mehr ähnliche dienste wie crunchip geschrieben hat
                    https://api.ipify.org/?format=json

                    was meinst du mit zerplücken? es ist json

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      Wildbill @OliverIO last edited by

                      @oliverio Eben. Ein JSON muss ich erst per Script oder Node red "zerpflücken" um die reine IP sauber in einem Datenpunkt zu haben. Wenn die Site nur die reine IP direkt ausgibt und sonst nix, spare ich das.
                      Gruß, Jürgen

                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Wildbill last edited by OliverIO

                        @wildbill

                        ah verstehe, ich sag dazu immer JSON.parse. aber jeder hat so seine terminologie
                        wobei axios macht das sogar vollautomatisch, wenn die response-header stimmen.
                        https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          Wildbill @OliverIO last edited by Wildbill

                          @oliverio Ich denke, es war klar, was ich mit zerpflücken gemeinte habe. Und ja, ich kenne JSON.parse und habe ein paar Skripte und auch was in Node red laufen, um einige Dinge aus MQTT aufzudröseln ("zerpflücken"), aber ich sehe keinen Grund, warum ich das für die IP-Adresse machen sollte, wenn es auch direkt ohne geht...

                          Gruss, Jürgen

                          EDIT: Vielleicht noch aus Entwicklersicht: Dort sollte man immer so ressourcenschonend wie möglich arbeiten. Wenn das System eine Funktion bereits bietet (in diesem Fall eben eine Website), so nutzt man die und schreibt sich keine neu oder nutzt eine andere Site, die die Daten nicht so bringt, wie man sie will. Das ist sonst fehleranfälliger und bedeutet mehr Aufwand. Wenn Daten übertragen werden, dann so wenig wie möglich, aber so fehlerresistent, wie es geht. Bei der Site von Dir kommt erst einmal nicht das richtige (IPv6 statt IPv4). Dann kommt 2/3 Daten als Ballast mit, die ich nicht brauche. Dann muss ich den JSON Parsen, was möglicherweise fehlerbehaftet ist, wenn ich nen schlechten Tag habe und nicht alle Eventualitäten abdecke. Im Idealfall sendet Dir ein Gerät, ein Sensor, ein wasauchimmer die Daten direkt so, wie Du sie brauchst, ohne dass Du sie verarbeiten, umwandeln oder dergleichen musst. Genau das macht die von mir genannte Site (und einige mehr, wie ich mittlerweile weiss). Wenn ich an einem Sensor, der an einem ESP hängt, nur einen einzigen Wert brauche, dann lasse ich mir doch auch nicht sämtliche Betriebszustände in einem JSON schicken und parse den danach, nur weil ich es kann?! Dann sendet mir der ESP genau den einen Wert den ich brauche in genau dem Format, das ich brauche und gut ist. Nicht alles was machbar scheint oder ist macht auch immer Sinn...

                          OliverIO 1 Reply Last reply Reply Quote 1
                          • OliverIO
                            OliverIO @Wildbill last edited by

                            @wildbill

                            ich seh du kennst dich aus.
                            keinen weiteren kommentar

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              pix @OliverIO last edited by

                              Eröffnungsthread angepasst, danke an alle.

                              https://forum.iobroker.net/post/1017

                              Gruß
                              Pix

                              1 Reply Last reply Reply Quote 3
                              • crunchip
                                crunchip Forum Testing Most Active last edited by

                                angepasst zwecks request

                                /* IP Adresse einlesen https://forum.iobroker.net/topic/1017/ip-adresse-einlesen?_=1636891604452
                                Quelle: http://ipecho.net/plain
                                {1}
                                erstellt: 27.08.2015 von pix
                                03.01.2016 ID erstellt
                                16.01.2018 Code optimiert
                                22.07.2020 WAN IP kommt jetzt erstmal aus Unifi Adapter
                                14.11.2021 bessere Quelle ohne Schnickschnack http://ipecho.net/plain
                                           Danke @wildbill und @crunchip https://forum.iobroker.net/post/702174      
                                */
                                 
                                const fC = false;
                                const logging = true; // (true;false) Logausgabe zentral schalten, ob stündlich geloggt werden soll
                                const idIP_Adresse = "IP.public";
                                const idIP_aktualisieren = "IP.aktualisieren";
                                 
                                let url = "http://ipecho.net/plain"; 
                                 
                                // Objekte erstellen
                                createState(idIP_Adresse, " ", fC, {
                                    name: "Öffentliche IP-Adresse",
                                    desc: "WAN Internet Protokoll Adresse",
                                    type: "string",
                                    role: "url"
                                });
                                 
                                createState(idIP_aktualisieren, false, fC, {
                                    name: "Taster zum Aktualisieren der IP Adresse",
                                    desc: "IP wird neu eingelesen",
                                    type: "boolean",
                                    role: "switch"
                                });
                                 
                                // Daten einlesen
                                function ip_einlesen() {
                                    
                                    httpGet(url, (err, response) => {
                                        if(!err && response.statusCode == 200) {
                                            const body = response.data;
                                            try {
                                                if (logging) log("IP-Adresse (ausgelesen von " + url + "): " + body);
                                                setState(idIP_Adresse, body);
                                            } catch (e) {
                                                log("IP-Adresse einlesen - Parse Fehler: " + e, "warn");
                                            }
                                        } else log("IP-Adresse einlesen - Fehler/" + error);
                                    });   // Ende request 
                                    
                                    /*
                                    setState(idIP_Adresse, getState("unifi.0.default.health.wan.wan_ip").val, function () {
                                        log("WAN IP aus Unifi-Adapter ausgelesen");
                                    });
                                    */
                                }
                                 
                                // Manuelles Einlesen der IP (über VIS Taster)
                                on(idIP_aktualisieren, function (obj) {
                                    if (!obj.state.ack && obj.state.val) {
                                        ip_einlesen(); // Daten sofort einlesen
                                        log("IP-Adresse einlesen - manuell gestartet");
                                        setState(idIP_aktualisieren, false, false); // zurücksetzen des Tasters
                                    }
                                });
                                 
                                // Ausführung
                                ip_einlesen();
                                schedule("16 * * * *", ip_einlesen); // jede Stunde um 16min nach
                                
                                W 1 Reply Last reply Reply Quote 1
                                • W
                                  Wildbill @crunchip last edited by Wildbill

                                  @crunchip Hättest Du ja gestern schon hier einstellen können. 😀
                                  Ich habe mir jetzt eben ein Blockly gebastelt, macht aber das gleiche, nur ohne Taster:

                                  
                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                    <block type="on_ext" id="wu+=d3FSm7!EP9bGuz}+" x="88" y="38">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <value name="OID0">
                                        <shadow type="field_oid" id="CP)F@J~.WrNshNe8^j@-">
                                          <field name="oid">javascript.0.IP.public</field>
                                        </shadow>
                                      </value>
                                      <statement name="STATEMENT">
                                        <block type="email" id="P0+MV?vsb;+eM.qRJU^5">
                                          <field name="INSTANCE"></field>
                                          <field name="IS_HTML">FALSE</field>
                                          <field name="LOG"></field>
                                          <value name="TO">
                                            <shadow type="text" id="KI~ORHiOlb#xW;c:9W(m">
                                              <field name="TEXT">juergen@xxxxxx.net</field>
                                            </shadow>
                                          </value>
                                          <value name="TEXT">
                                            <shadow type="text" id="U~l)Zi~A3Eid%//!@(ll">
                                              <field name="TEXT"></field>
                                            </shadow>
                                            <block type="text_join" id="sX~Mmo1!DucqYfX|BS)W">
                                              <mutation items="2"></mutation>
                                              <value name="ADD0">
                                                <block type="text" id="/r2aD~vZ:B|:gPH7n#*u">
                                                  <field name="TEXT">IP-Adresse hat sich am </field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="text_join" id="8l~5z).,pYq[2E%Bmbl7">
                                                  <mutation items="2"></mutation>
                                                  <value name="ADD0">
                                                    <block type="convert_from_date" id="#Kb^2P.IqTBxb[_5*Ep1">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                      <field name="OPTION">DD.MM.YYYY</field>
                                                      <value name="VALUE">
                                                        <block type="get_value" id="w!AcPGJL[eb}@E^7!{+h">
                                                          <field name="ATTR">lc</field>
                                                          <field name="OID">javascript.0.IP.public</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <value name="ADD1">
                                                    <block type="text_join" id="/Q1!];m1%c5[XSgObLCV">
                                                      <mutation items="2"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="w~~sjln47Rslqo,#eCnA">
                                                          <field name="TEXT"> um </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_join" id="v{+[m.D0c=ULB0GkCcGx">
                                                          <mutation items="2"></mutation>
                                                          <value name="ADD0">
                                                            <block type="convert_from_date" id="2E9b6yx[ac{3+bgb`@MS">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                              <field name="OPTION">hh:mm</field>
                                                              <value name="VALUE">
                                                                <block type="get_value" id="W-B,S(,Vq8e0}X1dvcAU">
                                                                  <field name="ATTR">lc</field>
                                                                  <field name="OID">javascript.0.IP.public</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="ADD1">
                                                            <block type="text_join" id="?(%~hV*[tk2/pbidDj+s">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="text" id="/^J7DcU@7W%NoSUX(qqz">
                                                                  <field name="TEXT"> Uhr geändert. Letzte Änderung erfolgte am </field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text_join" id="@IPtq,WhN#oi`d#aDBP9">
                                                                  <mutation items="2"></mutation>
                                                                  <value name="ADD0">
                                                                    <block type="convert_from_date" id="^L_7r^)c(3z*`5L~fum6">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                      <field name="OPTION">DD.MM.YYYY</field>
                                                                      <value name="VALUE">
                                                                        <block type="get_value" id="?8-6vS{X;~@3m!C~cwSK">
                                                                          <field name="ATTR">lc</field>
                                                                          <field name="OID">javascript.0.IP.IP_alt</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD1">
                                                                    <block type="text_join" id="{U52#iPn-qj],gNt-kzw">
                                                                      <mutation items="2"></mutation>
                                                                      <value name="ADD0">
                                                                        <block type="text" id="4pZSt;ozH=qVKvFl/wHw">
                                                                          <field name="TEXT"> um </field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="ADD1">
                                                                        <block type="text_join" id="P.Rh71Fpum6D)S6MzstV">
                                                                          <mutation items="2"></mutation>
                                                                          <value name="ADD0">
                                                                            <block type="convert_from_date" id="7ws*9uzEGa3{%mQ~i7DW">
                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                              <field name="OPTION">hh:mm</field>
                                                                              <value name="VALUE">
                                                                                <block type="get_value" id="If=yqQ3j([.`tq~^LI/W">
                                                                                  <field name="ATTR">lc</field>
                                                                                  <field name="OID">javascript.0.IP.IP_alt</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD1">
                                                                            <block type="text_join" id="yWS|YU/L?1{{10c=(X]8">
                                                                              <mutation items="2"></mutation>
                                                                              <value name="ADD0">
                                                                                <block type="text" id="xG-cGlyGtk}|;r-iPa`I">
                                                                                  <field name="TEXT"> Uhr. </field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="ADD1">
                                                                                <block type="text_join" id="Y;iF6ZQBl6}8G5y)@}Cb">
                                                                                  <mutation items="2"></mutation>
                                                                                  <value name="ADD0">
                                                                                    <block type="text" id="eA4*#QE=y2A#lKy?gmZs">
                                                                                      <field name="TEXT">Neue IP lautet: </field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="ADD1">
                                                                                    <block type="get_value" id="I3cL%z{/+{1[]2+{UVIh">
                                                                                      <field name="ATTR">val</field>
                                                                                      <field name="OID">javascript.0.IP.public</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="SUBJECT">
                                            <shadow type="text" id="QvaUTb+Ce|.jF4iqF]vd">
                                              <field name="TEXT">Internet war getrennt</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="update" id="+G$F/H_gtDeqZz[T8,,p">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                              <field name="OID">javascript.0.IP.IP_alt</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">1</field>
                                              <field name="UNIT">min</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE">
                                                <block type="on_source" id="-9^HI`CB!P12M)8jp2%Y">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </xml>
                                  
                                  

                                  Gruss, Jürgen

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  813
                                  Online

                                  31.9k
                                  Users

                                  80.1k
                                  Topics

                                  1.3m
                                  Posts

                                  7
                                  20
                                  3565
                                  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