Berechnung von mehreren Energie-Werten

Begonnen von klausmrkor, 15 Dezember 2014, 17:59:20

Vorheriges Thema - Nächstes Thema

klausmrkor

Hallo, heute muss ich euch nochmals belästigen.
Ich habe alles versucht, komme aber nicht weiter.
Was mache ich falsch. Hier meine Definition:

Define strom_Tmpges notify hz_strom_gesamt {my $ges = Value("hz_brenner energy") + Value("hz_pumpe energy")/1000
     fhem("trigger strom_Tmpges $ges")
}


Danach noch die Logfile um die Gesamt-verbrauch herauszuholen.

Define hz_strom_Log FileLog /opt/fhem/log/hz_strom-%Y.log hz_strom_gesamt.*

Für eine Antwort wäre ich sehr dankbar, auch wenn ich einigen wieder falsch komme.

Mit freundlichen Grüßen
Klaus Mrkor




fiedel

Hi Klaus,

define klein und eine runde Klammer um die Berechnung könnte klappen (ungetestet):

define strom_Tmpges notify hz_strom_gesamt {my $ges = (Value("hz_brenner energy") + Value("hz_pumpe energy")/1000)
     fhem("trigger strom_Tmpges $ges")
}


Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

klausmrkor

Vielen Dank, doch leider habe keine logfile zum auslesen gefunden,

Irgendetwas haut noch nicht hin.

Gruß
Klaus

Puschel74

#3
Hallo,

einen trigger auf den Namen eines notify (oder was auch immer) macht nicht viel Sinn.

Du kannst den errechneten Wert einem Device als "neues" Reading zuweisen oder einem Dummy aber nicht einem notify.
Oder damit ein notify triggern - wobei das evtl. klappen sollte aber ich wüsste nicht wozu das gut sein sollte.
Ein notify sollte doch ein Reading "tragen" können  ???
Wobei der Wert aber dann nicht mit "trigger" zugewiesen wird.

Du müsstest aber entsprechende Meldungen im Logfile finden  ;)
Wieder einer der meinen angepinnten Beitrag nicht gelesen hat

Grüße

Edith: Beitrag überarbeitet.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

klausmrkor

Vielen Dank, aber jetzt weiß ich gar nicht mehr weiter.
Wo kann ich das nachlesen?

Gruß Klaus

Puschel74

#5
Hallo,

das define von hz_strom_gesamt fehlt.
Vermutlich willst du den errechneten Wert diesem Device zuweisen.
Das sollte sich mit setreading hz_strom_gesamt $ges
erledigen lassen.

Einpflücken musst du es selbst noch richtig - meine Beispiele sind NICHT für die fhem.cfg gedacht.

Nachlesen kannst du das eigentlich im Forum oder im Wiki - setreading wäre ein Suchbegriff.
Wenn du die benötigten Daten meinst zum nachlesen würde ich dir mal meinen angepinnte Beitrag ans Herz legen.

Grüße

Edith: Sorry aber setreading klappt natürlich nur auf ein Reading.
Vielleicht erklärst du einfach mal kurz was du haben möchtest.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

klausmrkor

Hallo,
also es geht darum hz_brenner energy + hz_pumpe energy zusammen zuzählen und da die erergy in wh ist,  größere Werte in kwh auszurechnen.

Das ist alles, aber ich habe keine Ahnung.

Gruß Klaus

Puschel74

Hallo,

ok, es darf dann doch etwas ausführlicher sein.
Zum Beispiel wäre es nett wenn du dafür interessanten Defines postest - so wie ich in meinem angepinnten Beitrag auch bitte.
Es wäre evtl. auch mal nett wenn du ihn dir auch durchlesen würdest.
Dann bräuchte man nicht alles und jeden nachfragen  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Bennemannc

Hallo,

mach doch ein userReading, wo du beide Werte addierst und mit 0.0001 multiplizierst.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

klausmrkor

#9
Hallo,besten Dank für die Antwort,
ich habe es versucht, aber ich weiß einfach nicht weiter.
anbei ein bildschirmfoto.

Gruß Klaus

Bennemannc

#10
Hallo,

mit ReadingsNum habe ich noch nciht gearbeitet - aber das R am Anfang muss groß sein! Fhem, Perl und Linux unterscheiden zwischen Groß- und Kleinschreibung.
Außerdem stimmt das Format nicht, es müsste sein {ReadingsNum("hz_brenner","Energy",0)+....)*0.0001} dann sollten da kWh raus kommen. Wenn Du die Einzelwerten auch in kWh haben möchteste - UserReading Power_Brenner {ReadingsNum("hz_brenner","Energy",0)*0.0001}. Die einzelnen Definitionen für die UserReadings sind durch Komma+Leerzeichen getrennt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

klausmrkor

Hallo,
ist das so richtig?

userReadings   hz_strom_gesamt {ReadingNum("hz_brenner","energy",0) + ReadingNum("hz_pumpe_eg","energy",0) + ReadingNum("hz_pumpe_og","energy",0)/1000}

aber wie lese ich es dann aus, dass es neben den Gesamt_Strom ausgedruckt wird?

Gruß Klaus

Bennemannc

Hallo,

ein UserReading ist, wie der Name schon sagt, ein "normales" Reading. Dieses wird Dir, nach der ersten Aktualisierung im Reading Bereich des Gerätes angezeigt - als ob es ein reading vom Gerät selber wäre. Das kannst Du mit StateFormat oder wie auch immer nutzen. Wenn Du es mehrfach unterschiedlich nutzen möchtest, nimmst Du das Modul CloneDummy. Das dupliziert das Gerät, besser gesagt die Reading und verhält sich an sonsten wie ein richtiges Gerät. Dadurch kannst Du die Daten mit anderem StateFormat, Gruppen, Aliasse ... anzeigen lassen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

klausmrkor

Hallo.
irgendwie komme ich mir schon zu alt vor, ich komme einfach nicht weiter, ich blicke nicht mehr durch.
kann ich bitte einen Tipp bekommen wie ich die Define beginne und wo ich die userreading hintue und wie ich es auslese.

Andernfalls werde ich es langsam ausrollen lassen und die Berechnung halt mit der Hand ausführen.

Gruß Klaus

Bennemannc

Hallo,

Post doch mal den Teil der fhem.cfg, der das Gerät beschreibt. Zusätzlich poste mal einen "list GERÄT" - einfach list und den Gerätenamen oben in die Befehlszeile eingeben. Vielleicht kann ich Dir dann weiterhelfen.
BTW man sollte alle Änderungen in der fhem.cfg über die Geräte-Detailseite machen und nicht die fhem.cfg von Hand ändern.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF