FHEM - Hardware > FRITZ!Box

Externe IPv6 Addresse der Fritzbox

(1/4) > >>

Sailor:
Ein herzerfrischendes Moin vom achtern Diek vorweg!

Hat Jemand von Euch eine Möglichkeit gefunden, aus fhem heraus die externe IPv6 Adresse der FritzBox auszulesen, unter der die FritzBox von außen zu erreichen ist?

Also die Adresse, die in der FritzBox unter "Internet" -> "Freigaben" -> "Fritz!Box" - Dienste" -> "Internet-Adresse Ihrer FRITZ!Box" ganz unten zu finden ist.

Mit dem Modul "FRITZBOX" bekomme ich mit "box_ipExtern" nur die externe IPv4 - Adresse die aufgrund meines DualStack seitens Deutsche Glasfaser nicht zu gebrauchen ist.

Danke für die Hilfe!

Gruß
    Sailor

justme1968:
keine fertige lösung, aber eine möglichkeit an die daten zu kommen die dir vielleicht auch weiter hilft...

da ich keine fritzbox als router habe ;) mache ich mache das nicht über die fritzbox sondern mit (einem angepassten) httpmod und einem der externen 'was ist meine ip' dienste. statt den beiden die ich genommen habe geht das mit der entsprechenden änderung an der jeweiligen regex auch mit jedem anderen.

wenn du in deiner fhem installation useInet6 setzen kannst und dir die ipv6 reicht sollte die ipv6 variante unten direkt gehen.

wenn du useInet6 nicht setzen kannst/willst und/oder du ipv4 und ipv6 brauchst sind vorher noch zwei dinge nötig:
- eine HttpUtils version neuer als 1.5.2022 (siehe hier: https://forum.fhem.de/index.php/topic,127464.0.html)
- du musst in HTTPMOD dafür sorgen das beim HttpUtils aufruf try6 je nach device passend gesetzt ist.
   ich wollte eigentlich einen patch für HTTPMOD fertig machen, bin aber noch nicht dazu gekommen.

das timestamp-on-change-reading ist gesetzt um im reading/log den zeitpunkt der änderung zu haben. damit zeige ich im speedtest plot an ob sich die ip (wegen fallback auf den zweiten anschluss) geändert hat.

für ipv6 z.b.:
--- Code: ---defmod myIPv6 HTTPMOD http://ipv6.icanhazip.com/ 60
attr myIPv6 enableControlSet 1
attr myIPv6 event-on-change-reading .*
attr myIPv6 reading01Name IP
attr myIPv6 reading01Regex (\d.*\d)\n
attr myIPv6 room 8.3 Netzwerk
attr myIPv6 stateFormat IP
attr myIPv6 timeout 5
attr myIPv6 timestamp-on-change-reading .*
attr myIPv6 webCmd reread
--- Ende Code ---

für ipv4 z.b.:
--- Code: ---defmod myIP HTTPMOD http://checkip.dyndns.com/ 60
attr myIP comment dig +short txt ch whoami.cloudflare @1.0.0.1
attr myIP event-on-change-reading .*
attr myIP reading01Name IP
attr myIP reading01Regex ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP room 8.3 Netzwerk
attr myIP stateFormat IP
attr myIP timeout 5
attr myIP timestamp-on-change-reading .*
attr myIP webCmd reread
--- Ende Code ---

Otto123:
Hallo in den Norden,

so was ganz kurzes - völlig unabhängig vom Router usw.


--- Code: ---{qx(wget -q -O - https://v6.ident.me/)}
--- Ende Code ---

Geht auch mit v4 ;)

Gruß Otto

justme1968:
das hat aber den nachteil das fhem blockieren kann wenn das wget z.b. wegen einem internet problem hängen bleibt.

wenn man den weg über das system geht ist es vermutlich besser in fhem "..." zu verwenden und den externen aufruf gleich in ein script zu packen das nach beenden den wert an fhem pushed.

je nach anwendung kann es auch einen unterschied machen ob die system routinen und eine bestimmte http implementierung (über das wget) oder die fhem internen (per HTTPMOD) zur namensauflösung und verbindungsaufbau verwendet werden. da ein fallback (oder das fehlen des selben) dazu führen das das ganze im fehlerfall unterschiedlich reagiert.

Otto123:
Hast ja Recht, leider bin ich zu doof das in httpmod zu gießen. Die Seite liefert ja einfach nur Text zurück.
Von daher ist das von allen Seiten, die ich kenne, die mit dem geringsten Overhead.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln