FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: uxtuner am 25 Dezember 2017, 09:57:26

Titel: userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: uxtuner am 25 Dezember 2017, 09:57:26
Hallo,

ich habe einen Event

2017-12-25 09:46:44 ESERA OneWireController 1.OWD4.1: 2851.35


welchen ich meinem Dummy Device "StromkostenGesamt" als Reading (durch 8 geteilt) mit dem Namen "Verbrauch" einfügen möchte:

attr StromkostenGesamt userReadings Verbrauch:1.OWD4.1.* {ReadingsVal("OneWireController","1.OWD4.1",0)/8;;}


Was mach ich falsch?
Titel: Antw:userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: DeeSPe am 25 Dezember 2017, 11:35:30
userReadings funktionieren nur im selben Device!
Und bei Rechnungen lieber ReadingsNum verwenden.

attr OneWireController userReadings Verbrauch:1.OWD4.1.* {ReadingsNum($NAME,"1.OWD4.1",0)/8}

Gruß
Dan
Titel: Antw:userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: uxtuner am 25 Dezember 2017, 11:37:59
Danke, das wars !
Titel: Antw:userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: Skell am 02 Januar 2019, 04:52:10
Moin,

ich habe eine ähnliche Frage zu diesem Thema.

Ich versuche einen Wert zu invertieren bzw. 100 - X zu rechnen. Denke das es mit einem userreading am cleversten gelöst ist damit ich den Wert direkt weiterverwenden kann, nur weiß ich nicht wie ich das umsetzen muss.

Ich habe folgendes im reading stehen:

1.31 0.00 0.19 98.45 0.00 0.00 0.04

Den 4 teil davon (98.45) hätte ich gerne invertiert bzw 100 - X gerechnet so das in dem Fall 1.55 raus kommen würde. Die Frage ist nur, wie ich auf genau diesen Teil zugreifen kann und wie dann die Formel aussehen muss.

Hoffe das mir da einer helfen kann.

Gruß
Titel: Antw:userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: Otto123 am 02 Januar 2019, 08:55:58
Hi,

mit (split(' ',ReadingsVal($name,"Readingname","")))[3]hast Du deinen Wert Nr. 4.

Gruß Otto
Titel: Antw:userReadings & ReadingsVal (wahrscheinlich das 100te Mal)
Beitrag von: Skell am 08 Januar 2019, 22:15:33
Zitat von: Otto123 am 02 Januar 2019, 08:55:58
Hi,

mit (split(' ',ReadingsVal($name,"Readingname","")))[3]hast Du deinen Wert Nr. 4.

Gruß Otto

{ und } haben jeweils am Anfang/Ende noch gefehlt. Damit hat es dann geklappt

Vielen dank Otto