FHEM Forum

FHEM => Sonstiges => Thema gestartet von: uxtuner am 09 November 2019, 08:47:54

Titel: Rechnen mit UserAttributen
Beitrag von: uxtuner am 09 November 2019, 08:47:54
Hallo,

ich möchte für den Gasverbrauch den Offset und Umrechnungswert in ein User Attribut legen und dann im Userreading die Berechnung für "value" machen.
Wie lautet das korrekte Statement für das "userReadings value"?


Internals:
   DEF        EseraCount_ESERA_1C0000000FF1501D:count2
   DEVICE     EseraCount_ESERA_1C0000000FF1501D
   FUUID      5dbf0103-f33f-55bb-bb4f-b365b3d1b1a6bbcb
   NAME       counter_gas
   NOTIFYDEV  global,EseraCount_ESERA_1C0000000FF1501D
   NR         189
   NTFY_ORDER 50-counter_gas
   READING    count2
   STATE      7722.70 m3
   TYPE       readingsProxy
   CONTENT:
     EseraCount_ESERA_1C0000000FF1501D 1
   READINGS:
     2019-11-09 08:40:36   state           393715
     2019-11-09 08:40:36   value           7722.7
Attributes:
   event-on-change-reading state
   multiplier 0.01
   offset     3785.55
   stateFormat {sprintf("%.2f m3",ReadingsVal($name,"state","?")/100+3785.55 )}
   userReadings value { ReadingsVal("counter_gas","state",0)*0.01+3785.55 }
#value { ReadingsVal("counter_gas","state",0)*ReadingsVal("counter_gas","multiplier",0)+ReadingsVal("counter_gas","offset",0) }
   userattr   offset multiplier
Titel: Antw:Rechnen mit UserAttributen
Beitrag von: OdfFhem am 09 November 2019, 09:40:45
@uxtuner

Neben ReadingsVal gibt es noch AttrVal und InternalVal.
Und die entsprechenden, numerischen Varianten.

Titel: Antw:Rechnen mit UserAttributen
Beitrag von: uxtuner am 09 November 2019, 09:50:19
Danke!

ich habe meinen obigen Versuch so geändert:

value { ReadingsVal("counter_gas","state",0)*AttrVal("counter_gas","multiplier",0)+AttrVal("counter_gas","offset",0) }


und schon funktionierts :-)