Reading übergeben von einem Device zu einem anderen

Begonnen von cerberus, 13 November 2014, 12:57:05

Vorheriges Thema - Nächstes Thema

cerberus

Hallo, irgenwie stehe ich gerade auf dem Schlauch. Eigentlich wollte ich mittel userReadings ein neues Reading im Device setzten in dem ich dieses Reading aus zwei anderen Readings berechne. Leider geht das nicht, da eines dieser Readings aus einem anderen Device kommt. Wenn dieses Reading aus dem anderen Device aktualisiert, aktualisiert sich aber das berechnete userReading in dem andern Device in dem ich es setzen möchte nicht. Ich hoffe ich habe mich verständlich ausgedrückt.
Nun habe ich mir überlegt das Reading von dem einem Device per notify  in dem anderen Device zu setzten, damit ich beide Reading im gleich Device habe um so das das neue userReading zu berechen wenn sich eines der beiden ändert. Wie übergebe ich jedoch unabhängig vom Wert des Readings, auf einfache Weise, ein Reading von einem Device zu einem anderen?

hier mein useReading Code der eben so nicht funktioniert

attr Strom userReadings displayS {ReadingsVal("OW_Strom_Gas_Zaehler","displayA",0)-ReadingsVal("Strom","Zählerstand",0);;}

Danke und Grüße
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

igami

Hi cerberus,
vielleicht wäre ja ein DOIF was für dich?
Dürfte dann so inetwa aussehen:

define di_display5 DOIF ([OW_Strom_Gas_Zaehler:displayA] or [Strom:Zählerstand])(setreading Strom display5 ([OW_Strom_Gas_Zaehler:displayA] - [Strom:Zählerstand]))
attr di_display5 do always


Grüße
Igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

cerberus

Danke igami für den Schubs in die richtige Richtung, ich habe es jetzt. Musste nur noch ein paar Klammer setzten, so wie in der commandref beschrieben.

define di_displayS DOIF ([OW_Strom_Gas_Zaehler:displayA] or [Strom:Zählerstand])(setreading Strom displayS {([OW_Strom_Gas_Zaehler:displayA] - [Strom:Zählerstand])})
attr di_displayS do always
define di_displayG DOIF ([OW_Strom_Gas_Zaehler:displayB] or [Gas:Zählerstand] )(setreading Gas displayG {([OW_Strom_Gas_Zaehler:displayB] - [Gas:Zählerstand])})
attr di_displayG do always
define di_displayGL DOIF ([OW_Strom_Gas_Zaehler:displayB] or [Gas:Zählerstand] or [Gas:BWert] or [Gas:ZWert] )(setreading Gas displayGL {(([OW_Strom_Gas_Zaehler:displayB] - [Gas:Zählerstand]) * [Gas:BWert] * [Gas:ZWert])})
attr di_displayGL do always


Grüße
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi