userreadings sollte Zugriff auf den Trigger erlauben.

Begonnen von JoeALLb, 10 April 2018, 12:54:47

Vorheriges Thema - Nächstes Thema

JoeALLb

Hallo,

bei vielen KNX-Devicen muss ich diese Userreadings hinterlegen, da
egal ob ein Reading mit -set -get oder -put aktualisiert wird. Und das Pro gruppenadresse pro Device,
also durchaus hunderte male.
Jeder Wert ist relevant und wird daher in das reading
measured-temp (hier im beispiel)
kopiert.
Dazu nutze ich folgendes reading.
measured-temp:measured-temp-set.* {   
ReadingsNum($name,"measured-temp-set",-10);
},
measured-temp:measured-temp-get.* {   
ReadingsNum($name,"measured-temp-get",-10);
},
Ruecklauftemperatur:Ruecklauftemperatur-set.* {   
ReadingsNum($name,"Ruecklauftemperatur-set",-10);
},


Wenn ich auf den Trigger zugreifen könnte, wäre folgende Schreibweise viel eleganter:

measured-temp:measured-temp-.* {   
ReadingsNum($name,$trigger,-10);
}


$trigger existiert sogar, beinhaltet jedoch leider nicht den tatsächlichen trigger, sondern ebenfalls
den Text "measured-temp-.*".
$reading enthält leider auch nicht den gesuchten Text.
Vielleicht wäre deshalb eine andere Variable notwendig?

Noch ein Wunsch: Optimal wäre es natürlich, wenn ich wie aus Perl gewohnt auch Zugriff
auf den Klammerinhalt bekommen würde.
Dann wäre
measured-temp:measured-temp-(...)\s?(.*) {   
return $2
}

möglich.

sG Joe
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

rudolfkoenig

Ich habe den Code etwas angepasst, damit beim aktivierten userReadings-Trigger folgende Variablen gesetzt werden:
- $event: enthaelt das Event (komplett!)
- $eventName: enthaelt den Namen des Events
- $eventValue: enthaelt den Wert.

Beispiel:
Zitatfhem> attr d userReadings state:basicR.* { "EV: $event NAME:$eventName VALUE:$eventValue" }
fhem> info timer
fhem> setreading d basicReport 255
2018-04-13 21:51:54 dummy d basicReport: 255
2018-04-13 21:51:54 dummy d EV: basicReport: 255 NAME:basicReport VALUE:255
Mit $1 / $2 habe ich so meine Probleme: da die Suche nach dem Trigger in einer Schleife erfolgt, scheint $1/$2 auch nur innerhalb der Schleife gesetzt zu sein. Wenn jemand eine Alternative kennt....

JoeALLb

Vielen Dank! Sehr hilfreiche Erweiterung!!! Hab Sie soeben großflächig zum Einsatz gebracht und meinen Code stark reduzieren können!!
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270