[Gelöst] Rechnen mit Readings

Begonnen von Chris_XXX, 02 Februar 2019, 21:22:05

Vorheriges Thema - Nächstes Thema

Chris_XXX

Hallo zusammen,

ich möchte folgendes machen, doch bin ich langsam am Zweifeln ob das überhaupt funktioniert.
Ich habe zwei Stromzähler. Ich möchte von einem Reading des einen Stromzählers einn Reading vom zweiten Stromzähler abziehen. Geht das überhaupt oder stell ich mich nur aweng "komisch" an?

attr Zaehler userRadings VerbrauchHeizung {ReadingsNum("Stromzaehler2","16.7_akutelle_Leistung", 0) - ReadingsNum("Stromzaehler1","16.7_akutelle_Leistung", 0}


Oder kann man Berechnungen nur innerhalb von einem Device durchführen?

Grüße
Christian

justme1968

userReadings werden nur getriggert wenn von readings im gleichen device. du kannst userReadings nicht verwenden um readings aus einem oder zwei devices in ein drittes zu schereiben.

nimm ein normales notify.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Otto123

Moin,

als Idee, nicht getestet:
defmod n_zaehler notify Stromzaehler1:16.7_akutelle.*|Stromzaehler2:16.7_akutelle.* set Zaehler {([Stromzaehler2:16.7_akutelle_Leistung:d] - [Stromzaehler1:16.7_akutelle_Leistung:d])}

Beide Zaehler triggern das notify. Und ich hoffe das die Readings wirklich "akutelle" heißen  ;D

Als ersten Test kannst Du den Ausführungsteil einfach in der FHEM Kommandozeile testen:
set Zaehler {([Stromzaehler2:16.7_akutelle_Leistung:d] - [Stromzaehler1:16.7_akutelle_Leistung:d])}

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

Damian

#3
Alternativ

define zaehler_di DOIF {set_Reading("diff",[Stromzaehler2:16.7_akutelle_Leistung:d]-[Stromzaehler1:16.7_akutelle_Leistung:d],1)}

Im Reading [zaehler_di:diff] findest du immer die aktuelle Differenz. Auch hier triggern beide Readings die Definition. Ein Dummy ist nicht erforderlich.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Chris_XXX

Herzlichen Dank euch beiden. Ich habe jetzt erstmal meine akutelle angepasst ;) und werde beide mal testen. Ich werde berichten.

Danke und Gruß
Christian

Chris_XXX

Die Version von Damian funktioniert auf Anhieb. Merci.
Bei der Version von Otto habe ich eine Frage: Muss ich den "Zaehler" als dummy definieren? Oder wie macht man das am elegantesten?

VG
Christian

Otto123

Hallo Christian,

die Idee Zaehler ist nicht von mir, die steht in deinem Post!?

Kannst Du machen wie du willst, extra dummy, vorhandenes Gerät - wie auch immer
Bei vorhandenem Gerät nimmst Du anstatt set
setreading <gerateName> <ReadingName> {usw...}

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

Chris_XXX

Hallo Otto,

da hast du Recht. Sorry.
Auf jeden Fall ist mein Problem erstmal gelöst. Vielen Dank euch.

Grüße
Christian

KernSani

Themen bitte nicht schliessen, sondern [Gelöst] vor das Subject des ersten Posts schreiben
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...