userReadings & ReadingsVal (wahrscheinlich das 100te Mal)

Begonnen von uxtuner, 25 Dezember 2017, 09:57:26

Vorheriges Thema - Nächstes Thema

uxtuner

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?
Viele Grüße
  Uwe

Intel NUC (VDR & FHEM & HA & AgentDVR), QNAP TS-453, Esera OneWire (8-fach Schalter, Hub, Controller II), EDS 1-Wire Server, Mosquitto Server, Wolf CGW-2 m. ISM7MQTT, Shelly (Plug S, H&T, 2.5, 1 PM, Floodsensor/Rauchmelder), Tado (Thermostat V3+) etc.

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

uxtuner

Viele Grüße
  Uwe

Intel NUC (VDR & FHEM & HA & AgentDVR), QNAP TS-453, Esera OneWire (8-fach Schalter, Hub, Controller II), EDS 1-Wire Server, Mosquitto Server, Wolf CGW-2 m. ISM7MQTT, Shelly (Plug S, H&T, 2.5, 1 PM, Floodsensor/Rauchmelder), Tado (Thermostat V3+) etc.

Skell

#3
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ß

Otto123

Hi,

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

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Skell

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