Kostenloser DDNS Dienst aus FHEM

Begonnen von cpramhofer, 04 April 2019, 14:50:10

Vorheriges Thema - Nächstes Thema

cpramhofer

Die Seite https://ddnss.de/ bietet einen kostenloses und sehr komfortablen DDNS Service.
Leider ist auf vielen Routern dieser Service nicht verfügbar.

Ich habe daher folgende FHEM Devices angelegt um in FHEM einen DDNS Updater darzustellen. Bisher funktioniert das auch perfekt.

define myIP HTTPMOD https://www.wieistmeineip.de/ 900
attr myIP userattr reading01Name reading01Regex
attr myIP event-on-change-reading IP
attr myIP reading01Name IP
attr myIP reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP room 94_Netzwerk
attr myIP stateFormat IP

define DDNS.Updater notify myIP:IP:.* { GetHttpFile("ddnss.de", "/upd.php?key=xxxxxxxxxxxxxxxxxxxxxx4&host=1130.ddnss.de") }
attr DDNS.Updater alias DDNS
attr DDNS.Updater room 91_Automatisierung,94_Netzwerk

Wuppi68

macht auch vom Datenschutz einen guten Eindruck :top:
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

loescher

Cool!

Aber fehlt denn in der Zeile
define DDNS.Updater notify myIP:IP:.* { GetHttpFile("ddnss.de", "/upd.php?key=xxxxxxxxxxxxxxxxxxxxxx4&host=1130.ddnss.de") }
nicht irgendwie noch die IP Adresse als Parameter im URL?

LG,
Stephan.

pataya

Zitat von: loescher am 04 April 2019, 21:21:49
Aber fehlt denn in der Zeile
define DDNS.Updater notify myIP:IP:.* { GetHttpFile("ddnss.de", "/upd.php?key=xxxxxxxxxxxxxxxxxxxxxx4&host=1130.ddnss.de") }
nicht irgendwie noch die IP Adresse als Parameter im URL?

Vermutlich wird die IP vom Aufruf des Scripts genommen.

Die Idee find ich ja ganz nett. Wer etwas zuverlässiges sucht, sollte allerdings die Finger davon lassen. Scheint eher ein Hobbyprojekt zu sein.
Beim durchlesen der "Regeln" wurde mir auch etwas schummrig ;D
https://ddnss.de/regeln.php

cpramhofer

Zitat von: loescher am 04 April 2019, 21:21:49
Cool!

Aber fehlt denn in der Zeile
define DDNS.Updater notify myIP:IP:.* { GetHttpFile("ddnss.de", "/upd.php?key=xxxxxxxxxxxxxxxxxxxxxx4&host=1130.ddnss.de") }
nicht irgendwie noch die IP Adresse als Parameter im URL?

LG,
Stephan.

Hallo Stephan,

der aufruf des dieses URLs reicht aus, es wird automatisch die URL des aufrufers verwendet.
die vorherige ermittlung der IP dient lediglich als trigger um eine veränderte IP zu ermitteln da der DDNSS Service auf 60 aktualisierungen pro Tag beschränkt ist.
es gibt aber auch die Möglichkeit eine entfernte/dritte IP zu übermitteln, dazu mus einfach &ip=IPADRESS an den Update-URL angehängt werden.

Eine genaue Beschreibung gibte es unter https://ddnss.de/ua/help.php

lg
Christoph

cpramhofer

Zitat von: pataya am 11 April 2019, 09:06:37
Vermutlich wird die IP vom Aufruf des Scripts genommen.

Die Idee find ich ja ganz nett. Wer etwas zuverlässiges sucht, sollte allerdings die Finger davon lassen. Scheint eher ein Hobbyprojekt zu sein.
Beim durchlesen der "Regeln" wurde mir auch etwas schummrig ;D
https://ddnss.de/regeln.php

Das ist richtig, es ist ein sehr kleiner Anbieter, das hat aber auch Vorteile:
1., sympathisch
2., es sind viele Hostnamen frei
3., technisch funktioniert es top und viel einfacher als andere Dienste
4., ich hatte bisher noch keinen Ausfall und die Responsezeit ist ebenfalls schneller als bei vielen anderen Anbietern (zb Qnap)

PS: ich bekomme nichts für die Werbung ;)

EinEinfach

ZitatDie Idee find ich ja ganz nett. Wer etwas zuverlässiges sucht, sollte allerdings die Finger davon lassen. Scheint eher ein Hobbyprojekt zu sein.

Ich hatte den Dienst mehrere Jahre im Einsatz, hat immer ohne Probleme funktioniert. Kann ich nur empfehlen.
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

vbs

Ich bin seit Jahren zufriedener DuckDNS-Benutzer:
https://www.duckdns.org/

Wuppi68

ich habe bei dyndns.org ne lebenslang kostenlose Domain ;-) ist aber auch schon ein paar Tage her, wo das noch so war
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

justme1968

#9
hab auch noch einen kostenlosen dyndns pro account mit 30 hosts und unbeschränkter laufzeit :). leider ohne eigene domain.

sehr zu empfehlen. aber nicht mehr zu bekommen.

die waren damals sehr großzügig für alt accounts die mal gespendet hatten als von kostenlos auf bezahlt umgestellt wurde.

grad geschaut: ist von 2002 :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Benni

Ich bin jetzt seit vielen Jahren bei https://spdyn.de/ glücklich.

gb#

Gisbert

Da der Thread sich in die Richtung, wer nutzt welchen Dienst entwickelt, möchte ich mitteilen, dass ich den Dienst von AVM über die Fritzbox nutze. Die Aussage möchte ich mit der Frage verknüpfen, ob dieser Service empfehlenswert ist im Vergleich zu den hier genannten Empfehlungen.

Mich würde auch noch interessieren, was der Grund bei einem Wechsel von AVM zu einem anderen Anbieter gewesen ist.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

EinEinfach

ZitatMich würde auch noch interessieren, was der Grund bei einem Wechsel von AVM zu einem anderen Anbieter gewesen ist.

Ich nutze den DynDNS Service ausschlieslich zu VPN Zwecken. Bei dem AVM Dienst finde total lästig, dass die VPN Verbindung innerhalb der kürzester Zeit wieder getrennt wird, sobald der Browser geschlossen wird (iPhone + Safari). Den hier erwähnten DDNS Dienst habe ich in Verbindung mit OpenVPN genutzt, dort konnte ich tagelnag mit meinen VPN-Server in Verbindung bleiben.

Gruß
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

majorshark

Ok, dann werfe ich noch mal
https://www.twodns.de/de
ein.
Max fünf Host's
A-Record
MX-Record
Wildcard (Für mich unverzichtbar. Damit habe ich alle "Heimischen" Dienste als Subdomain unter ein und dem selben Host.)
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

TNT0068

Zitat von: Gisbert am 18 April 2019, 07:19:17
Da der Thread sich in die Richtung, wer nutzt welchen Dienst entwickelt, möchte ich mitteilen, dass ich den Dienst von AVM über die Fritzbox nutze. Die Aussage möchte ich mit der Frage verknüpfen, ob dieser Service empfehlenswert ist im Vergleich zu den hier genannten Empfehlungen.

Mich würde auch noch interessieren, was der Grund bei einem Wechsel von AVM zu einem anderen Anbieter gewesen ist.

Viele​ Grüße​ Gisbert​

Also ich bin Jahrelang mit dem AVM Dienst gutgefahren. OK der Kryptische Name etc war etwas doof.
Ich habe nun keine Fritzbox mehr und brauchte auch Wildcard funktionen.

Falls du nichts großes damit machst sprich, nur mal VPN und/oder mal auf deine Systeme von aussen zugreifen möchtest bleib bei AVM
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Wuppi68

Zitat von: TNT0068 am 18 April 2019, 10:15:41
Also ich bin Jahrelang mit dem AVM Dienst gutgefahren. OK der Kryptische Name etc war etwas doof.
Ich habe nun keine Fritzbox mehr und brauchte auch Wildcard funktionen.

Falls du nichts großes damit machst sprich, nur mal VPN und/oder mal auf deine Systeme von aussen zugreifen möchtest bleib bei AVM

der Komfort mit dem AVM DynDNS ist OK ...

wenn Dir der Name zu kryptisch ist, dann nehme zusätzlich einen anderen DynDNS Anbieter und setze einen CNAME Record auf den A Record vom AVM.

Setzt AVM eigentlich auch den PTR Record entsprechend auf den Hostnamen?
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

TNT0068

Zitat von: Wuppi68 am 18 April 2019, 12:35:39
der Komfort mit dem AVM DynDNS ist OK ...

wenn Dir der Name zu kryptisch ist, dann nehme zusätzlich einen anderen DynDNS Anbieter und setze einen CNAME Record auf den A Record vom AVM.

Setzt AVM eigentlich auch den PTR Record entsprechend auf den Hostnamen?

Wie gesagt ich habe keine Fritzbox mehr. Die kam einfach nicht mehr mit meiner Netzstruktur klar. Vigor 130 und Unifi Komponenten
Grüße aus Düsseldorf ;)
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

amenomade

Zitat von: Wuppi68 am 18 April 2019, 12:35:39
Setzt AVM eigentlich auch den PTR Record entsprechend auf den Hostnamen?
Nein, er setzt den nicht auf den hostname.myfritz.net sondern auf den Hostnamen der IP beim Internet Anbieter.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

riker1

Hallo,

hätte hier die Frage, wie ich die Frage anlege.

Habe ein https fhem instanz die ich per ddns anbieter erreichen will.

der Port wird als offen gemeldet, aber fhem zeigt nichts an. was müsste ich da denn noch einstellen?

Danke für die Tips

VG T

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

amenomade

Zitat von: riker1 am 27 August 2019, 14:55:24
Hallo,

hätte hier die Frage, wie ich die Frage anlege.

Habe ein https fhem instanz die ich per ddns anbieter erreichen will.

der Port wird als offen gemeldet, aber fhem zeigt nichts an. was müsste ich da denn noch einstellen?

Danke für die Tips

VG T
Das allowed Device der FHEM Instanz prüfen

Was heisst genau "fhem zeigt nichts an"?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

CoolTux

Hast Du denn ein Portforwarding gemacht oder wie genau hast Du was eingestellt? Bisschen Info wäre hilfreich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

riker1

Hallo,

danke, es gut nun auf einmal . Fritzbox neu gestartet.

Portforwarding ist in der Fritzbox aktiviert.

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Vielleicht solltest du über einen webproxy mit Clientzertifikat  nach denken. So ist das ganze eher unsicher.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wuppi68

Zitat von: CoolTux am 27 August 2019, 15:28:58
Vielleicht solltest du über einen webproxy mit Clientzertifikat  nach denken. So ist das ganze eher unsicher.

bitte 50 mal wiederholen - weil Security da extrem wichtig ist
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Tom111

Zitat von: cpramhofer am 04 April 2019, 14:50:10
[...]
define myIP HTTPMOD https://www.wieistmeineip.de/ 900
attr myIP userattr reading01Name reading01Regex
attr myIP event-on-change-reading IP
attr myIP reading01Name IP
attr myIP reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP room 94_Netzwerk
attr myIP stateFormat IP

[...]

Hallo,
ich benutze dieses Format mit Erfolg.
Leider kriege ich es nicht hin die Zeit anzeigen zu lassen, bei der sich die IP Adresse geändert hat!
Hat jemand eine Lösung für mein Problem?

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Benni

Wo möchtest du denn die Änderung anzeigen?

Das Reading IP von myIP hat doch einen timestamp, den man sieht.

Da das Reading nur geändert wird, wenn sich der Inhalt ändert (event-on-change-reading) muss das ja die Zeit sein, zu der FHEM die letzte Änderung festgestellt hat.

Wenn du es in der STATE-Anzeige in des device haben möchtest, kannst du dir den Timestamp mittels ReadingsTimestamp in ein userReading holen und das dann in stateFormat aufnehmen.

gb#

MadMax-FHEM

#26
Zitat von: Benni am 27 Dezember 2021, 13:53:54
Wo möchtest du denn die Änderung anzeigen?

Das Reading IP von myIP hat doch einen timestamp, den man sieht.

Da das Reading nur geändert wird, wenn sich der Inhalt ändert (event-on-change-reading) muss das ja die Zeit sein, zu der FHEM die letzte Änderung festgestellt hat.

Wenn du es in der STATE-Anzeige in des device haben möchtest, kannst du dir den Timestamp mittels ReadingsTimestamp in ein userReading holen und das dann in stateFormat aufnehmen.

gb#

Ich nehme mal an so: https://forum.fhem.de/index.php/topic,123780.msg1183488.html#msg1183488 ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tom111

Zitat von: Benni am 27 Dezember 2021, 13:53:54
Wo möchtest du denn die Änderung anzeigen?

Das Reading IP von myIP hat doch einen timestamp, den man sieht.

Da das Reading nur geändert wird, wenn sich der Inhalt ändert (event-on-change-reading) muss das ja die Zeit sein, zu der FHEM die letzte Änderung festgestellt hat.

Wenn du es in der STATE-Anzeige in des device haben möchtest, kannst du dir den Timestamp mittels ReadingsTimestamp in ein userReading holen und das dann in stateFormat aufnehmen.

gb#

Und wie soll ich das machen??
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Benni

Zitat von: Tom111 am 27 Dezember 2021, 14:27:44
Und wie soll ich das machen??

So wie ich geschrieben habe!

Du definierst dir im myIP-Device ein userReading (im Attribut userReadings).
Den Wert für das Reading holst du dann per ReadingsTimestamp aus dem Reading IP des myIP-Devices selbst


{ReadingsTimestamp($name,'IP','no time')}


gb#

Tom111

Zitat von: Benni am 27 Dezember 2021, 14:43:36
So wie ich geschrieben habe!

Du definierst dir im myIP-Device ein userReading (im Attribut userReadings).
Den Wert für das Reading holst du dann per ReadingsTimestamp aus dem Reading IP des myIP-Devices selbst


{ReadingsTimestamp($name,'IP','no time')}


gb#

Hab das mal so gemacht, tut sich aber nichts, wird immer noch nur die IP-Adresse angezeigt!

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:16px;;font-weight:bold"
attr myIP1 event-on-change-reading .*
attr myIP1 event-on-update-reading IP:
attr myIP1 reading01Name IP
attr myIP1 reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP1 userReadings {ReadingsTimestamp($name,'IP','no time')}
attr myIP1 room Wohnung
attr myIP1 sortby 005
attr myIP1 stateFormat IP


FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Benni

#30
Zitat von: Tom111 am 27 Dezember 2021, 14:52:51
Hab das mal so gemacht, tut sich aber nichts, wird immer noch nur die IP-Adresse angezeigt!

userReading nicht richtig definiert: https://fhem.de/commandref_DE.html#userReadings

stateFormat nicht angepasst: https://fhem.de/commandref_DE.html#stateFormat

So'n bisschen Eigeninitiative darf schon auch sein  ;)

gb#

EDIT: Und bevor hier gemeckert wird hier die komplett vorgekaute Lösung:


attr myIP stateFormat IP (lastChange)
attr myIP userReadings lastChange:IP.* {ReadingsTimestamp($name,'IP','no time')}

MadMax-FHEM

Und bevor kommt: es passiert nichts...
...ein userReadings wird nat. erst "erstellt" bzw. aktualisiert, wenn es auch "getriggert" wurde.

Also verm. erst nach dem nächsten IP-Wechsel...

Nachzulesen in Wiki und Commandref (wie so ziemlich alles ;)  )...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tom111

Zitat von: Benni am 27 Dezember 2021, 14:59:46
userReading nicht richtig definiert: https://fhem.de/commandref_DE.html#userReadings

stateFormat nicht angepasst: https://fhem.de/commandref_DE.html#stateFormat

So'n bisschen Eigeninitiative darf schon auch sein  ;)

gb#

EDIT: Und bevor hier gemeckert wird hier die komplett vorgekaute Lösung:


attr myIP stateFormat IP (lastChange)
attr myIP userReadings lastChange:IP.* {ReadingsTimestamp($name,'IP','no time')}


Endlich mal jemand mit einer brauchbaren Lösung!
Man braucht halt nur den richtigen Ansprechpartner!

Danke für deine Hilfe!!

Gruß
Tom

PS: Jetzt muss ich nur noch das Datum wegbekommen, ich brauch nur die Uhrzeit!
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

MadMax-FHEM

Zitat von: Tom111 am 27 Dezember 2021, 15:24:45
Endlich mal jemand mit einer brauchbaren Lösung!
Man braucht halt nur den richtigen Ansprechpartner!

Danke für deine Hilfe!!

So lernst du halt nicht es irgendwann mal selber machen zu können...

EDIT: geht nat. keinesfalls "gegen" dich Benni! 8)

Zitat von: Tom111 am 27 Dezember 2021, 15:24:45
PS: Jetzt muss ich nur noch das Datum wegbekommen, ich brauch nur die Uhrzeit!

Siehe Split im anderen Thread...

Ah, sorry, du willst ja gleich die fertige 100% passende Lösung...
...dann muss wohl wieder jemand anders dran ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tom111

Zitat von: MadMax-FHEM am 27 Dezember 2021, 16:11:00
So lernst du halt nicht es irgendwann mal selber machen zu können...

EDIT: geht nat. keinesfalls "gegen" dich Benni! 8)

Siehe Split im anderen Thread...

Ah, sorry, du willst ja gleich die fertige 100% passende Lösung...
...dann muss wohl wieder jemand anders dran ;)

Gruß, Joachim

Zu deiner Beruhigung: Nein ich brauche keine weitere Hilfe mehr, alles andere habe ich selber hinbekommen!

Zu deiner Information: Benni hat mir nur einen kleinen Teil von dem gezeigt was ich brauchte, aber das verstehst du sicher nicht!

@MadMax-FHEM ... DU eignest dich einfach nicht dafür um hier Hilfestellungen zu geben, du hattest 2 Monate Zeit mir einen Weg zu zeigen, warst aber nicht in der Lage dies zu bewerkstelligen. In diesem Thread war ich gerade mal 2 Stunden und schon bin ich ein ganzes Stück weiter. Von dir kam immer nur Gemecker und dass ich mich nicht genügend informiere, das ist aber nicht wahr, DU konntest mir einfach nicht meine Fragen beantworten.

Nichtsdestotrotz bin ich jetzt (Dank Benni) ein ganzes Stück weitergekommen.

Gruß
Tom

FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Tom111

#35
So, bin jetzt fertig!
Für alle die, die sowas auch benötigen hier der Code:
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!

Gruß
Tom

So sieht das ganze dann aus:
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Benni

Zitat von: Tom111 am 27 Dezember 2021, 17:20:16
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#

Tom111

Zitat von: Benni am 27 Dezember 2021, 17:46:38
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!

Danke für deine ausführliche Erklärung!
Ganz am Anfang habe ich auch gedacht, aber das "event-on-update-reading" habe ich nicht ohne Grund eingebaut. Ich kann mich erinnern, dass ich ohne "event-on-update-reading" Probleme hatte, ich glaube dass damals das LOG vollgeschrieben wurde mit ein und derselben IP-Adresse. Nach dem Einsatz von "event-on-update-reading" klappte das Ganze dann mit jeweils nur ein LOG-Eintrag pro Adresse.

Aber es funktioniert ja jetzt ohne Probleme und genauso wie ich es haben wollte!  :)
Deshalb werde ich an dieser Funktion nicht mehr herumzuschrauben, es sei denn ich hab mal wieder Zeit ohne Ende und kann mir mal ein Testsystem aufbauen.
Alles was ich hier mach läuft auf meinem scharfen System das ich vor 6 Jahren angefangen habe aufzubauen und mittlerweile so komplex ist dass ich selber nicht mehr durchblicke.  ;D
Meine "fhem.cfg" hat mittlerweile über 3500 Zeilen und alles ist irgendwie mit allem verknüpft genau deshalb kann ich nicht viel herum experimentieren.  ;)

Danke nochmals an dich dass du dir die Zeit genommen hast!

Gruß
Tom

FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V