Hallo,
ich würde gerne in einem Dummy 4 Werte aus einem HTTPMod Gerät addieren.
Das habe ich versucht mit:
userReadings Wassermenge_Gesamt {ReadingsVal("Rechner_1","Wasser_Menge",0)+ ReadingsVal("Rechner_2","Wasser_Menge",0)}
Nur bleibt der Dummy leider leer.
Heißt das ich muss zuerst alle "Wasser_Mengen in den Dummy bekommen um damit rechnen zu können oder gibt es einen eleganteren Weg?
Danke!
Mfg
das userreading Wassermenge_Gesamt ändert sich, wenn sich ein Reading von deinem Dummy ändert...
Du könntest zwei weitere userReadings hinzufügen in der Art:
userReadings Wassermenge_Gesamt {ReadingsVal("Rechner_1","Wasser_Menge",0)+ ReadingsVal("Rechner_2","Wasser_Menge",0)},Rechner_1 {ReadingsVal("Rechner_1","Wasser_Menge",0)},Rechner_2 {ReadingsVal("Rechner_2","Wasser_Menge",0)}
Also die Wasser_Menge jeweils von beiden Rechnern.
Hast Du das userReading Wassermenge_Gesamt auch mit
setreading <devspec> <reading> <value>
angelegt ?
Müsste auch für die beiden neuen userReadings gemacht werden.
EDIT: Ich habs gerade mal versucht nachzustellen, aber so scheint es nicht zu funktionieren... :(
Hallo,
danke für die Hilfe!
Das war es mit dem setreading.
Nun habe ich aber noch ein Problem, er aktualisiert den Wert nicht mehr. Soll heißen beim erstellen des Readings errechnet er Ihn einmal aber dann nicht mehr.
Mfg
Mit den zwei weiteren userReadings wird das nichts.
Damit die beiden in deinem Dummy neu angelegten userReadings Rechner_1 und Rechner_2 aktuell sind, könntest Du mit einem notify auf die Wassermengen von Rechner_1 und Rechner_2 triggern.
Das notify setzt dann die Readings Rechner_1 und Rechner_2 mit setrading in deinem Dummy.
Dann sollte auch die Addition hinhauen.
Hast du das oben gelesen:
"das userreading Wassermenge_Gesamt ändert sich, wenn sich ein Reading von deinem Dummy ändert..."
Woher soll der dummy wissen dass er was rechnen soll?
Gesendet von meinem S3_32 mit Tapatalk
Zitat von: Tweak am 30 August 2017, 13:53:50
Nun habe ich aber noch ein Problem, er aktualisiert den Wert nicht mehr. Soll heißen beim erstellen des Readings errechnet er Ihn einmal aber dann nicht mehr.
Mfg
Das habe ich beim Nachstellen auch festgestellt. Deshalb die idee mit dem notify...
Mal Abwarten, es kommen sicher noch hilfreichere Ideen/Posts...
Geht mit DOIF: DOIF: Aggregieren von Werten (http://commandref.fhem.de/commandref_DE.html#DOIF_aggregation)
Bei mir für die Darstellung der summierten Leistungsabnahme:
defmod myElectricityConsumption DOIF
attr myElectricityConsumption state [#sum:d2:".+_Hauptschalter:.+":power]
Wobei es praktisch das gleiche ist, nur durch DOIF gekapselt
Blicke ich irgendwie nicht ganz durch wie das mit dem DOIF klappt?
ist in deinem Fall Hauptschalter das Geräte? und Power das Reading was du Summieren möchtest?
als beispiel
defmod doif_sum DOIF
attr doif_sum state [#sum:d2:"dummy.":state]
defmod dummy1 dummy
defmod dummy2 dummy
musst du jetzt noch auf deines adaptieren..
Zitat von: Tweak am 30 August 2017, 17:23:23
Blicke ich irgendwie nicht ganz durch wie das mit dem DOIF klappt?
ist in deinem Fall Hauptschalter das Geräte? und Power das Reading was du Summieren möchtest?
Ich habe vier PCA301 Steckdosen
Arbeitszimmer_Hauptschalter
Kueche_Hauptschalter
Schlafzimmer_Hauptschalter
Wohnzimmer_Hauptschalter
und bei denen summiere ich das reading power
Das heißt meine Anweisung müsste so aussehen?
defmod WasserGesamt DOIF
attr WasserGesamt state [#sum:d2:".+Rechner_:.+":Wasser_Menge]
Habe ich das Richtig verstanden? Den so klappt es leider immer noch nicht :(
Mfg
Zitat von: Tweak am 30 August 2017, 19:33:47
Habe ich das Richtig verstanden? Den so klappt es leider immer noch nicht :(
Na dann hast du deine Frage ja schon selbst beantwortet ;)
Ich teste sowas immer mit list. Bei "list .+_Hauptschalter" tauche alle Geräte auf.
Ist das bei dir und "list .+Rechner_:.+" auch der Fall?
Stimmt, du hast Recht, wenn ich es mit der List versuche bekomme ich keine Geräte.
Auch nicht wenn ich ein anderes Device auswähle. Also muss da wohl was anderes nicht passen?
Mfg
Zitat von: Tweak am 30 August 2017, 19:58:38
Auch nicht wenn ich ein anderes Device auswähle.
Was meinst du damit?
Versuch es mal mit "list Rechner_.+"
Hallo,
sorry das ich so lange nicht geantwortet habe. Also ich habe mal FHEM auf den aktuellsten Stand gebracht.
Aber das list der Geräte mit "Rechner" hat nur einmal kurz nach Neustart funktioniert. Und jetzt im laufendem Betrieb geht es leider nicht mehr.
Die Geräte werden mittels HTTPMOD abgefragt, tut das eventuell was zur Sache?
Mfg
Habe es nun hinbekommen!
Danke vielmals allen beteiligten!
Eine Frage hätte ich nun aber noch, wenn das HTTMOD Device nicht erreicht wird, wird ja aktuell mit dem letztem Wert weitergerechnet der ja leider nicht mehr korrekt ist. Gibt es eine Möglichkeit bei z.b. Gerät offline einen Ersatzwert von z.b. 0 einzutragen?
Danke!
mfg