Hallo,
ich würde gerne von 3 Helligkeitssensoren (HM-SEN-MDIR-O-2) die maximal Helligkeit in einem Reading eines Dummy-Devices erfassen.
Realisieren wollte ich das mit UserReadings, aber ich bekomme es nicht hin.
Geplant war ein
userReadings max { maxNum(ReadingsVal("Aussen_Bewegungsmelder_Garage", "brightness", 0), ReadingsVal("Aussen_Bewegungsmelder_Garten", "brightness", 0), ReadingsVal("Aussen_Bewegungsmelder_Eingang", "brightness", 0));; }
aber nicht mal ein userReadings max { ReadingsVal("Aussen_Bewegungsmelder_Garage", "brightness", 0);; }
funktioniert.
Internals:
CFGFN
FUUID 5dd8e3a7-f33f-425e-a0a4-76b8ef964042f2b4
NAME Aussen_Helligkeit
NR 936378
STATE ???
TYPE dummy
OLDREADINGS:
READINGS:
Attributes:
room Aussen
userReadings max { ReadingsVal("Aussen_Bewegungsmelder_Garage", "brightness", 0);; }
Was mache ich falsch?
Habe es auch mit "return" versucht, hat auch nicht geholfen.
Der Ausdruck { maxNum(ReadingsVal("Aussen_Bewegungsmelder_Garage", "brightness", 0), ReadingsVal("Aussen_Bewegungsmelder_Garten", "brightness", 0), ReadingsVal("Aussen_Bewegungsmelder_Eingang", "brightness", 0));; }
direkt in FHEM funktioniert.
Laut Wiki (https://wiki.fhem.de/wiki/UserReadings) hat sich das Handling von Triggern geändert, aber das nutze ich ja nicht einmal
Moin.
Das "Problem" ist, dass userReadings nur aktualisiert werden, wenn ein Event _am Device, zu dem es gehört_ stattfindet (hier also dem dummy. Beziehst du dich nur auf Devices von außerhalb, ist das genau "nie"...
Lösung z.B.:
Definiere ein notify, das auf die brightness-Werte aller Devices reagiert und füge da den Auswerte-Code ein, wobei du zum Abschluß dann das Reading "max" auch direkt (via setreading) im notify vorhalten kannst.
Oder du nimmst userReadings und packst das zu einem der Bewegungsmelder; das wird dann aber nur aktualisiert, wenn sich was an diesem Bewegungsmelder aktualisiert.
(Ansonsten gilt die generelle Empfehlung, userReadings IMMER mit Trigger zu versehen.)
Zitat von: Beta-User am 26 November 2019, 09:30:54
Das "Problem" ist, dass userReadings nur aktualisiert werden, wenn ein Event _am Device, zu dem es gehört_ stattfindet (hier also dem dummy. Beziehst du dich nur auf Devices von außerhalb, ist das genau "nie"...
Danke, dann ist das klar ... habe jetzt ein DOIF genommen und es funktioniert.