OldReadingsVal auch für userReadings anwendbar ?

Begonnen von Spook112, 12 August 2021, 13:00:02

Vorheriges Thema - Nächstes Thema

Spook112

Hi,
eine vermutlich einfache Frage, auf die ich bisher keine Antwort gefunden habe.

Kann man auch eigene userReadings im Attribut oldreadings eintragen und erhält dann auch das gewünschte Ergebnis?
(Ich habe den Verdacht das geht nicht. Also eintragen kann man das schon, aber es scheint nicht zu funktionieren)

Anwendungsfall:
oldreadings LastActionResult, previous_LastActionResult
userReadings previous_LastActionResult {sprintf (OldReadingsVal("$NAME","LastActionResult","-1"))},
former_LastActionResult (sprintf (OldReadingsVal("$NAME","previous_LastActionResult","-1"))}


Auch nach mehreren Aktionen die "LastActionResult" verändern entteht das userReadings  "former_LastActionResult" nicht.

Habe ich da einen Überlegungsfehler oder geht das per Definition nicht ?
(Das userReadings  "previous_LastActionResult" wird bei jedem Wechsel aktualisiert)
Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren

frank

in der definition von former_LastActionResult fehlt mindestens die öffnende, geschweifte klammer.
keine fehlermeldung in fhem.log?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MadMax-FHEM

Naja du hast ja auch ein Leerzeichen VOR dem previous_LastActionResult im Attribut!

Zitat von: commandref
oldreadings
Dieses Attribut enthält eine durch Kommata getrennte Liste von Readings. regex sind erlaubt. Für jedes Reading aus der Liste speichert FHEM intern den vorherigen Wert wenn sich das Reading ändert. Zum Zugriff auf die Werte gibt es die OldReadings.* Routinen.

Komma-separiert heißt halt auch wirklich Komma-separiert!

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)

Spook112

Danke für die Tipps.
Beide waren berechtigt, wobei ich das ohne Leerzeichen, also im Attribut oldreadings tatsächlich nur durch Komma separiert, auch schon probiert hatte. Ohne Erfolg.

Das Problem lag in der falschen Klammer vor dem  "sprintf" bei
(sprintf (OldReadingsVal("$NAME","previous_LastActionResult","-1"))}

Wenn man natürlich ( anstatt { nimmt kann es nicht funktionieren :-)
Raspberry PI / RaZberry ZWAVE Modul / RFXTRX433E / 13 Fibaro FGS-222-EN-A-v1.00 / 17 VISION ZD2102-5 / 10 Somfy RTS / 4 Greenwave GWRENS310-F / Gardena Sileno City / 3 Gardena Gartensteckdosen / 2 devolo Home Control Funkschalter / 8 FIBARO System FGSD002 Smoke Sensoren