Bei Updates eines Devices ein anderes Dummydevice neu berechnetn

Begonnen von Volker Kettenbach, 02 Juni 2016, 16:31:28

Vorheriges Thema - Nächstes Thema

Volker Kettenbach

Hallo zusammen,

vielleicht ist das gar keine Anfängerfrage, aber es kommt mir so vor:

Ich möchte immer, wenn einer meiner KNX-Stromzähler ein reading aktualisiert, mehrere readings eines anderen dummy devices aktualisieren und dabei die Werte der ganzen KNX-Stromzähler verwenden (Differenzen und Summen bilden).
Klar ist, dass das wohl mit einem notify geht.
Ich habe das mal so angelegt:

DP11_SMAEM:.*|
DP11_SMASTP:.*|
8107_DP8_WP_ZAEHLER_WIRKLEISTUNG_PHASE_ALLE.*|
8407_DP11_EG_ZAEHLER_WIRKLEISTUNG_PHASE_ALLE.*|
8307_DP8_OG_ZAEHLER_WIRKLEISTUNG_PHASEN_ALLE.*|
8207_DP8_EG_ZAEHLER_WIRKLEISTUNG_PHASEN_ALLE.*  {


return;   
}


Das Notify wird jetzt auch getriggert, sobald einer der 6 Zähler ein beliebiges Reading aktualisiert.

Die Frage ist, was muss ich jetzt zwischen { und } machen, damit die Readings eines ein dummy-Devices namens "DP_PV" aktualsiert werden.

Ich habe das versucht:

fhem('set reading DP11_PV LastUpdate ' . time());

aber da sagt mir fhem, dass ich das reading "LastUpdate" im Device "DP11_PV" erst anlege muss.

Wie mache ich das?

Benni

Es muss setreading heißen.
Ein Wort!

Und hier der obligatorische Verweis auf die commandref: http://fhem.de/commandref_DE.html#setreading

igami

Was soll denn genau passieren? Differenzen und Summen bilden von was?
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

Volker Kettenbach

Zitat von: igami am 02 Juni 2016, 17:27:55
Was soll denn genau passieren? Differenzen und Summen bilden von was?

Differenzen und Summen der readings der Devices, die das notify ausgelöst haben.

igami

Kannst du ein Beispiel mit Zahlen machen? Am besten mit einem list von den devices und dann sagen Reading A von Device B hat jetzt ausgelöst, deswegen soll in dem Dummy C das Reading D um den Wert A erhöht und das Reading E um den Wert A gemindert werden.

Wahrscheinlich kommt am Ende dann sowas bei raus wie

... {
my $curr = ReadingsVal("C", "D", 0);
$curr += $EVTPART1;
fhem("setreadinf C $curr");
}
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

CoolTux

Wenn es am Ende etwas größeres wird, dann erstelle eine 99_myUtils und schaue Dir an wie FHEM Module Readings aktuallisieren.

readingsBeginUpdate
readingsBulkUpdate sind da nur ein paar Worte.




Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Volker Kettenbach