FHEM Forum

FHEM - Hausautomations-Systeme => EnOcean => Thema gestartet von: kassi am 02 April 2026, 15:35:56

Titel: (Gelöst) Remapping von "over range" in eine Zahl
Beitrag von: kassi am 02 April 2026, 15:35:56
Ich teste gerade das Verhalten des Lichtsensors in EMDCA (Bewegungsmelder mit Lichtsensor) bei EEP A5-07-03 (PIR with light level sensor).
In diesem EEP wird die Lichtstärke (FHEM: brightness) mit 10-bit zwischen 0 ... 1000 rapportiert.
1001 hat in diesem EEP die spezielle Bedeutung "Saturation" (= mehr als 1000), 1002 ... 1023 sind RFU.

In FHEM wird 1001 als brightnes: "over range" rapportiert, was ein Problem mit meinem Frontend ist.
Ich hätte deshalb gerne den Wert 1001 statt "over range".

Ich habe gedacht, dass sich das über ein User Reading (Illuminace) lösen lassen müsste, dass bei brightness == "over range" den Wert 1001 hat und sonst den Wert von brightness. Definition bei mir:

Illuminance {if (ReadingsVal("EnO_042FDC6F","brightness","") == "over range" ) {return 1001} else  {return ReadingsVal("EnO_042FDC6F","brightness","")}}
Das funktioniert insoweit, als brightness = "over range" tatsächlich durch Illuminance = 1001 ersetzt wird.
Auch brightness zwischen 1 und 1000 funktioniert das wie erwartet (Illuminance = brightness).
Das Problem ist, das bei brightness = 0 für Illuminace der Wert 1001 ausgegeben wird.

Mir ist nicht klar, wieso das so ist und würde mich über Hinweise freuen.

Viele Grüße,
Matthias
Titel: Aw: Remapping von "over range" in eine Zahl
Beitrag von: Beta-User am 02 April 2026, 16:44:30
Versuche es mal mit "eq" statt "==".

Tipps noch:
userReadings immer mit Trigger versehen.
Und hin und wieder ins Log schauen, v.a., wenn was nicht so funktioniert wie erwartet.
Titel: Aw: Remapping von "over range" in eine Zahl
Beitrag von: kassi am 02 April 2026, 17:07:00
"eq" macht tatsächlich den Unterschied, damit geht es wie erwartet.
DANKE!!!