Hallo,
ich habe von Homematic die schaltbare Steckdose mit Leistungsmessung. Jetzt würde ich gerne den Verbrauch jeden Tag um Mitternacht auf Null setzen und das Reading energyOffset benutzen. Sprich ich würde gerne den Wert vom Reading ernergy als Negativwert in den energyOffset schreiben.
Irgendwie verstehe ich das mit dem Rechnen nicht und finde auch keine Anleitung, oder Erklärung, die ich verstehe.
Hi,
Hast du diesen Beitrag schon gelesen?
Vielleicht wäre dies eine einfachere Alternative
https://forum.fhem.de/index.php/topic,69097.0.html
VG
Klaso
Hi, finde ich Interessant, doch mein Frage ist damit nicht beantwortet.
Sorry, ich habe es so verstanden, dass du letzten Endes den Tagesverbrauch möchtest.....sorry
VG
Klaso
ZitatIrgendwie verstehe ich das mit dem Rechnen nicht und finde auch keine Anleitung, oder Erklärung, die ich verstehe.
Hm, das ist jetzt aber nicht unbedingt Mathe der höheren Stufe - sowas haben wir in der Hauptschule gelernt.
Einen positiven Wert negativ machen kannst du indem du
a) den Wert * -1 rechnest oder
b) den Wert von 0 (Null) abziehst.
Aber um dir auch beim Code etwas zu helfen hier noch etwas ausführlicher.
Einfacher wäre das ganze wenn du ein list des Devices gezeigt hättest (was das ist beantwortet dir sicher die SuFu).
Ich würde:
Zitatden Verbrauch jeden Tag um Mitternacht auf Null setzen
Ein at erstellen das jeden Tag um 00:00 Uhr ausgeführt wird.
define <beliebiger_einmaliger_Name> at *00:00 {}
innerhalb der {}
musst du dann das Reading auslesen mit:
my $wert_energy=ReadingsVal("<Name_des_Aktors>","energy",0);
Nun das ganze Negativ machen:
Variante a:
my $wert_energy_negativ = $wert_energy*-1;
Variante b:
my $wert_energy_negativ = 0-$wert_energy;
Und nun das ganze noch in das Reading energyOffset schreiben:
fhem("setreading <Name_des_Aktors> energyOffset $wert_energy_negativ");
Ich habe den Code nur aus dem Kopf erstellt und weder durch eine Syntaxprüfung noch durch eine Funktionsprüfung laufen lassen.
Ob das ganze so klappt musst du versuchen, Namen bitte anpassen, Fehlermeldungen aus dem Logfile lesen und beheben und wenn du nicht weiter kommst mit diesen Meldungen hier nochmal nachfragen.
Edith: Wolltest du einen ganzen, funktionierenden Code für die fhem.cfg bin ich leider der falsche Ansprechpartner.
Ich habe es gerne wenn die Fragesteller selbst auch aktiv werden und mitdenken und Codes für die fhem.cfg (was ist das ??? ) gibt es bei mir nicht da ich alles über das Frontend mache.
Vielen Dank Puschel74,
mir ging es mehr darum zu verstehen, wie man das in fhem schreibt, bzw. umsetzt.
Das Rechnen selber kann ich natürlich, dein kleiner Kurs war genau das was ich gesucht habe.
Doch es hat nicht sofort geklappt, denn die Zeile mit fhem("setreading <Name_des_Aktors> energyOffset $wert_energy_negativ");
muss nochmals in geschweiften Klammern:{fhem("setreading <Name_des_Aktors> energyOffset $wert_energy_negativ")};
Aber jetzt funktioniert es so wie ich es mir gedacht habe.