define myIP1 HTTPMOD https://www.wieistmeineip.de/ 30
setuuid myIP1 6161d2d2-f33f-7267-a1a7-6b19ec950e3bde63
attr myIP1 alias externe IPv4
attr myIP1 devStateStyle style="color:red;;text-align:middle;;font-size:18px;;font-weight:bold"
attr myIP1 event-on-change-reading IP.*
attr myIP1 event-on-update-reading IP:
attr myIP1 fp_Grundriss 160,42,0,,
attr myIP1 group Raspberry
attr myIP1 icon it_i-net
attr myIP1 reading01Name IP
attr myIP1 reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP1 room Wohnung
attr myIP1 sortby 005
attr myIP1 stateFormat IP <br> lastChange
attr myIP1 userReadings lastChange:IP.* {(split(' ',ReadingsTimestamp("$name","IP",0)))[1]}
Durch das
event-on-change-reading IP.*
wird nur ein LOG-Eintrag erzeugt und das "lastChange" ganz weg gelassen; wird auch nicht benötigt, da die Zeit eh im LOG steht!
Das <br> funktioniert zwar in FHEM, wird aber in einer Mail nicht aufgelöst, was besseres ist mir nicht eingefallen (stört aber nicht weiter)!
So weiß ich jetzt immer ob ich meine FritzBox neu verbinden muss, oder ob der Download (den ich vorhabe zu tätigen) noch im 24h Zeitraster passt!
Dazu genügt ein Blick auf meinem XORO-Monitor neben meinem PC! 
Nochmals Gruß an Benni für deine schnelle Hilfe, ansonsten hätte ich hier nochmals ein paar Monate getüftelt!
Schön wenn es funktioniert, auch wenn du anscheinend noch nicht ganz verstanden hast, was für was da ist:
event-on-change-reading=IP.* erzeugt ein event wenn sich der Wert eines Readings ändert und dessen Namen mit "IP" beginnt. Gut, dass zufällig nur genau eines da ist, das IP heißt.
Ein Log-Eintrag wird dadurch übrigens nicht erzeugt, das passiert ggf. in einem notify, wenn es auf einen event eines Readings triggert, das "IP" im Namen beginnt. (Gut das nur das eine da ist!)
Wenn das notify das mit dem Trigger aus dem ersten Post ist (ich gehe stark davon aus!), weiß das notify natürlich nichts von lastChange, woher auch, es triggert ja auf alle Events, die mit IP.* beginnen. Wenn du dort auch die Zeit haben willst, muss du sie dir auch dort per ReadingsTimestamp beschaffen (Weißt ja jetzt, wie das geht

)
oder alternativ gleich das reading lastChange per ReadingsVal() holen.
Dein event-on-update-reading=IP: macht glücklicherweise nichts und kann somit auch gelöscht werden.
Wenn der Doppelpunkt nicht wäre, würde immer ein Event ausgelöst, wenn sich das Reading IP aktualiseirt, egal ob der Wert dabei derselbe ist, oder ein anderer und demzufolge würde dann auch das userReading neu interpretiert und somit lastChange auf den Zeitpunkt dieses Events festgesetzt, das wäre bei einem Intervall von 900 alle 15Minuten!
<br> funktioniert in deiner Mail nur dann wenn es dort in einem entsprechenden html-Body steht und nicht in einer einfachen Text-Mail. Dort müsstest du das <br> bei übernahme durch ein \n ersetzen

<br> funktioniert übrigens auch nur in FHEMWEB, aber nicht in telnet!
gb#