HTTPMOD - IP oder nodename nur einmalig eingeben

Begonnen von cotecmania, 28 April 2025, 18:27:21

Vorheriges Thema - Nächstes Thema

cotecmania

Hallo,
ich lese meinen Wechselrichter mit HTTPMOD aus was gut funktioniert.
Jetzt habe ich mir einen gleichen 2ten gekauft und das device kopiert und im DEF die IP angepasst.
Leider habe ich mehrere getURL-Attribute, die natürlich nicht angepasst wurden. (URL Vorne gleich, hinten anderer Befehl)
Kann ich die IP nur einmalig eingeben und die getURLs verwenden dann immer diese ?
Mit den Replacements bin ich nicht klar gekommen ...

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Torxgewinde

#1
Probier mal dieses replacement aus meinem OwnTone Device (https://forum.fhem.de/index.php/topic,135666.0.html):
attr Owntone.device replacement02Mode expression
attr Owntone.device replacement02Regex \[([^:]+):([^\]]+)\]
attr Owntone.device replacement02Value my $device = $name if ($1 eq "\$name") // $1;;\
ReadingsVal($device, $2, undef) or AttrVal($device, $2, "???");;

In den verschiedenen set/get kannst du dann auf Readings und Attribute zugreifen mit:
attr Owntone.device setURL [$name:OwntoneServer]%%endpoint%%
Das Attribut OwntoneServer hatte ich so erzeugt:
attr Owntone.device userattr OwntoneServer
attr Owntone.device OwntoneServer http://192.168.123.123:3689


Doku dazu, neben der Commandref: https://wiki.fhem.de/wiki/HTTPMOD#Further_replacements_of_URL,_header_or_post_data

Falls die Regex oben mal nicht richtig klappt, hier ist eine aus meinem MatrixBot-Device (https://forum.fhem.de/index.php?topic=120834.15), dass noch robuster formuliert ist:
attr MatrixBot replacement01Mode expression
attr MatrixBot replacement01Regex \[([^:\s\[\"\']+):([^\]\s]+)\]
attr MatrixBot replacement01Value my $device = $name if ($1 eq "\$name") // $1;;\
ReadingsVal($device, $2, undef) or AttrVal($device, $2, "???");;