userReading Werte in Prozent ausgeben

Begonnen von earkle, 01 November 2015, 15:57:34

Vorheriges Thema - Nächstes Thema

earkle

Hallo zusammen,

ich werte mit meinem FHEM eine Fotodiode über einen Arduino aus um einen Helligkeitswert zu erhalten.
Als Ausgabe erhalte ich ein Reading mit einem Wert von 0 bis 1028... wobei 1028 das Dunkelste und 0 das Hellste ist.
Das ganze möchte ich jetzt als userReading auswerten so das ich werte von 0-100% erhalte- wobei 0 das dunkelste sein soll.
Jetzt fummel ich hier schon den ganzen Nachmittag und irgendwie will das ganze nicht Funktionieren.

Hat jemand einen Tipp oder eine Lösung für mich? Für den Anfang würde es schon reichen das der dunkelste Wert 0 und er hellste 1028 ist- dann sieht es zumindest im Diagramm besser aus :-)

Danke und Grüße

Andreas
Rspberry Pi, Cul, FHEM, Relaiskarte, mehrere DS1820 zur Temperaturmessung, HMS 100 TF, FS20st, FS20 S16

Bennemannc

Hallo,

(1028 - Wert) / 10.28 das wäre die Formel
userReading ....  {(1028 - (ReadingsVal("Gerät","OrgReading",0)))/10.28}

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

earkle

Vielen Dank Christoph.

Funktioniert einwandfrei.

Gruß

Andreas
Rspberry Pi, Cul, FHEM, Relaiskarte, mehrere DS1820 zur Temperaturmessung, HMS 100 TF, FS20st, FS20 S16

earkle

Jetzt kommt direkt die nächste Frage hinterher.... wie kann ich das ganze auf eine Nachkommastelle einschränken oder die Nachkommastelle ganz weglassen?

Danke

Andreas
Rspberry Pi, Cul, FHEM, Relaiskarte, mehrere DS1820 zur Temperaturmessung, HMS 100 TF, FS20st, FS20 S16

marvin78

Die 99_utils bietet eine round() Funktion. Siehe commandref.

networker

oder die Ausgabe mit {sprintf("%.1f,.... formatieren