NEWS
IP Adresse einlesen
-
Hallo,
einer der http://forum.iobroker.org/viewtopic.php?f=32&t=615&p=4258&hilit=IP+node+red#p4248 war damals das Einlesen der externen IP über Wieistmeineip.de Im Zuge der Umstellung meiner node-red-flows auf Javascript poste ich hier mal mein Ergebnis. Im Grunde nicht viel anders, als die anderen Skript, nur das man nicht viel Parsen muss, da http://bot.whatismyipaddress.com/ nur die relevante IP und sonst nix zurückliefert. Ich habe Bluefox' Trigger zum Aktualisieren via VIS mal beigefügt. Sonst aktualisiert das Skript stündlich.
EDIT 14.11.2021
Habe das Skript modernisiert und die Beiträge von weiter unten einbezogen:Viele Grüße
Pix -
Leider hier auch kein Eintrag unter Zustände
javascript-0 2015-08-27 20:06:54 warn State "IP.public" not found javascript-0 2015-08-27 20:06:54 info script.js.IP_Adresse_einlesen: IP Adresse: xxx.xxx.xxx.xxx javascript-0 2015-08-27 20:06:54 info script.js.IP_Adresse_einlesen: registered 1 subscription and 1 schedule javascript-0 2015-08-27 20:06:54 info Start javascript script.js.IP_Adresse_einlesen
-
Vielen dank für dein Script:
Wenn man die IPv4 möchte: "ipv4bot.whatismyipaddress.com" nutzen für IPv6 "ipv6bot.whatismyipaddress.com"
bei bot.whatismyipaddress.com habe ich immer nur eine IPv6 bekommen
Grüße
-
Hallo zusammen,
hat jemand zufällig einen Ersatz für whatismyipaddress.com? Die API ist laut Link Text seit gestern deaktiviert, Aufrufe an ipv4bot.whatismyipaddress.com laufen somit ins Leere. Ich bin auf der Suche nach einer Site/Adresse, die nur die aktuelle IP ohne weiteren Schnickschnack zurückgibt bislang nicht fündig geworden.
Gruss, Jürgen -
Muss es denn ne Website sein?
Ich meine der TR064 Adapter zeigt auch die externe IP Adresse an als Datenpunkt. -
@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 -
@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 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 -
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"
} -
@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 DankeGruß, Jürgen
-
-
gibt ja noch mehr ähnliche dienste wie crunchip geschrieben hat
https://api.ipify.org/?format=jsonwas meinst du mit zerplücken? es ist json
-
@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 -
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 -
@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...
-
ich seh du kennst dich aus.
keinen weiteren kommentar -