[gelöst] readingsChange zu schwer für mich

Begonnen von wk, 05 November 2021, 17:00:01

Vorheriges Thema - Nächstes Thema

wk

Ich habe einige mit Tasmota geflashte Geräte, deren IP-Adresse ich in einer ReadingsGroup anzeigen möchte.
Die IP-Adresse kommt als reading:
2021-11-05 16:44:52   IPAddress1      0.0.0.0 (172.16.10.52)

In der commandref steht, dass keine whitespace im <to replace> sein dürfte. Meine Versuche mit Klammern oder Hochkommas waren nicht erfolgreich.
Viele Treffer bringt die Suchfunktion bei readingsChange auch nicht. So muss ich wieder um Hilfe bitten.

Beta-User

Bitte in den Anfängerbereich verschieben und die dortigen Hinweise beachten (ich sehe keine lists, oder...?).

Vermutlich musst du einfach nur Leerzeichen im "to replace" mit Punkten ersetzen (aka: beliebiges Zeichen in regex).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

wk

Entschuldige meine Unwissenheit.

Die obige Zeile ist ein Ausschnitt aus dem list des devices.
Ich kann gerne noch das list des nicht funktionierenden readingsChange anhängen:
Internals:
   DEF        MQTT2_DVES_541F64 IPAddress1 0.0.0.0\ (\d+\.\d+\.\d+\.\d+) $1
   FUUID      61851738-f33f-b6b9-544b-5ea396e941dbb8c3
   NAME       ipread
   NOTIFYDEV  MQTT2_DVES_541F64
   NR         923
   NTFY_ORDER 00-ipread
   STATE      active
   TYPE       readingsChange
   READINGS:
     2021-11-05 16:44:31   state           active
Attributes:
   alias      Anzeige_IP-Adresse
   verbose    5


Im übrigen habe ich unter device specific help gesucht in welchem Forum ich meine Frage stellen soll.

Das Ersetzen des blanks durch einen Punkt hat auch nichts gebracht.

Beta-User

0.0.0.0..(\d+\.\d+\.\d+\.\d+). $1
Da auch die Klammern Teil des Reading-Werts sind, muss man die auch in der <to replace> berücksichtigen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

wk

Vielen Dank Beta-User.

Ich bin einfach mit den vorhanden Punkten und den Ersetzungspunkten ins Schleudern gekommen.
Wenn man es kann, ist es ganz einfach.

Beta-User

Gerne geschehen :) .

PS: Ich finde die Idee hinter readingsChange eigentlich ganz smart und hatte selbst einige Mühe zu verstehen, wie das eigentlich funktionieren soll, bis ich den Dreh' dann raus hatte...
Allerdings gefällt mir dabei nicht so, dass man für jedes zu ändernde Element ein eigenes readingsChange braucht, und hatte daher mal angefangen, ein "readingsChange2" zu basteln: Eine Instanz, der Rest wird über Attribute am jeweiligen Zielgerät geregelt. Leider klappt das noch nicht so, wie ich mir das erhoffe und ich komme grad auch nicht zum Weiterbasteln. Falls jemand Interesse an dem Fragment hat, stelle ich es gerne hier ein.
(Es hakt an der Zusammenarbeit mit fhem.pl und ist evtl. nur eine Kleinigkeit).

Das Wunschkonzert für das Modulchen würde dann auch beliebigen Perl-Code (für mehrere Readings JSON-Blobs auspacken) und optimalerweise das Löschen von "Ausreißern" umfassen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors