Hallo @justme1968,
ich würde gerne innerhalb von setFn auf die Attribute meines readingsProxy Devices zugreifen. Z.B. mit:
AttrVal($SELF,'mein_Attribut','')
Aber das führt zu dem Fehler:
Global symbol "$SELF" requires explicit package name (did you forget to declare "my $SELF"?) at (eval 475677) line 1.
Gibt es irgend eine Möglichkeit in setFn auf die Attribute des readingsProxy zuzugreifen - außer das Attribut im Perl Code "hart" reinzuschreiben, oder sogar 33_readingsProxy.pm zu patchen (siehe: Link (https://forum.fhem.de/index.php?topic=102163.0)) ?
Liebe Grüße, hasselh
Wenn $self nicht funktioniert (ist nicht in allen Modulen implementiert), warum schreibst du nicht den Namen vom Device rein?
das habe ich jetzt auch temporär genau so gelöst...
Allerdings habe ich einige solcher readingsProxy's mit gleich mehreren Referenzen innerhalb von setFn. Deshalb suche ich nach einer Möglichkeit, ob es vielleicht auch irgendwie "weniger manuell" geht... ;)
Deinen Link habe ich gerade erst gesehen, da steht doch die Lösung drin.
$DEVICE anstatt $SELF
Und in der Hilfe, bzw. Comref steht es auch.
Das wäre zu schön gewesen und das war auch das Erste was ich ausprobiert hatte... aber $DEVICE ist leider das parent device, nicht das readingsProxy device. Siehe Comref dazu:
setFn
perl expresion that will return the set command forwarded to the parent device. has access to $CMD, $DEVICE, $READING and $ARGS