neues Modul: G-Homa Wifi Steckdose

Begonnen von klausw, 22 September 2015, 22:57:24

Vorheriges Thema - Nächstes Thema

Gasmast3r

Zitat von: MAC66666 am 17 Januar 2018, 18:18:51
Sorry muss noch mal fragen:

Da ich Euren Code (noch) nicht verwenden möchte, sondern nur mal für mich zum spielen einen Umrechnungsfaktor von Energy benötige, wie wäre der denn jetzt?
Ich finde es nicht im Code. /3600/1000 scheint ja nicht zu stimmen... Wenn doch hat mein Kühlschrank in 24 Stunden über 20 KWh verbraucht ;-)
Mit dem wert Energy stimmt das auch nicht

DerBaer

#286
Ja dafür muss man erstmal wissen was "energy" ist.
Wie du sicherlich auch gelesen hast habe ich ein paar Posts vorher geschrieben das "energy" eher unplausibel ist um damit zu arbeiten. Zb auch deswegen da sich der Wert nicht auf null setzt so wie die anderen wenn die Steckdose ausgeschaltet wird. In diesem Fall fließt kein Strom, deswegen darf dort dann auch nur 0 stehen.

Das der Kühlschrank keine 20 kWh braucht is ziemlich sicher. Aber wenn du schon mit einem unplausiblen Wert rechnest, brauchst du dich nicht wundern wenn das Ergebnis unplausibel ist...

Aus diesem Grund habe ich den Code der ursprünglich von Waschto ist, abgeändert.

DerBaer

Das einzige was dieser Code anderes macht als der von Waschto:

Anstatt den vom Gerät gelieferten Wert,  der schon im Format kWh ist, zu verwenden, wird anhand der einfachen Grundformel (P=U*I) die Leistung berechnet. Spannung * Strom = Leistung.
Das Ergebnis, wird jede Sekunde mit dem Wert energy_kWh addiert. Dieses Ergebnis wird dann eben wieder in energy_kWh geschrieben. Das nennt sich summieren.
Das Ergebnis dabei ist die Arbeit, welche von euch dann verwendet wird um die Kosten zu berechnen.

bumbumb

hallo,
ich noch mal bei mir kommt nichts bei den kosten und den verbrauch an. Die Werte bei energy_kwh kommen aber rein


define Spuelmaschine_StromkostenGesamt dummy
attr Spuelmaschine_StromkostenGesamt alias Gesamt
attr Spuelmaschine_StromkostenGesamt group Spuelmaschine-Stromkosten
attr Spuelmaschine_StromkostenGesamt room Stromkosten
attr Spuelmaschine_StromkostenGesamt stateFormat {sprintf("%.2f kWh - %.2f €", ReadingsVal("Spuelmaschine_StromkostenGesamt", "Verbrauch",0),  ReadingsVal("Spuelmaschine_StromkostenGesamt","Kosten",0))}
attr Spuelmaschine_StromkostenGesamt userReadings Verbrauch monotonic  {ReadingsVal("Spuelmaschine_StromkostenGesamt","Tagesverbrauch",0)}, Kosten {ReadingsVal("Spuelmaschine_StromkostenGesamt","Verbrauch",0)*0.2495}
define Spuelmaschine_StromkostenJahr dummy
attr Spuelmaschine_StromkostenJahr alias Gesamt
attr Spuelmaschine_StromkostenJahr group Spuelmaschine-Stromkosten
attr Spuelmaschine_StromkostenJahr room Stromkosten
attr Spuelmaschine_StromkostenJahr stateFormat {sprintf("%.2f kWh - %.2f €", ReadingsVal("Spuelmaschine_StromkostenJahr", "Verbrauch",0),  ReadingsVal("Spuelmaschine_StromkostenJahr","Kosten",0))}
attr Spuelmaschine_StromkostenJahr userReadings Verbrauch monotonic  {ReadingsVal("Spuelmaschine_StromkostenJahr","Tagesverbrauch",0)}, Kosten {ReadingsVal("Spuelmaschine_StromkostenJahr","Verbrauch",0)*0.2594}
define Spuelmaschine_StromkostenMonat dummy
attr Spuelmaschine_StromkostenMonat alias Monat
attr Spuelmaschine_StromkostenMonat group Spuelmaschine-Stromkosten
attr Spuelmaschine_StromkostenMonat room Stromkosten
attr Spuelmaschine_StromkostenMonat stateFormat {sprintf("%.2f kWh - %.2f €", ReadingsVal("Spuelmaschine_StromkostenMonat", "Verbrauch",0),  ReadingsVal("Spuelmaschine_StromkostenMonat","Kosten",0))}
attr Spuelmaschine_StromkostenMonat userReadings Verbrauch monotonic  {ReadingsVal("Spuelmaschine_StromkostenMonat","Tagesverbrauch",0)}, Kosten {ReadingsVal("Spuelmaschine_StromkostenMonat","Verbrauch",0)*0.2495}
define Spuelmaschine_StromkostenTag dummy
attr Spuelmaschine_StromkostenTag alias Tag
attr Spuelmaschine_StromkostenTag group Spuelmaschine-Stromkosten
attr Spuelmaschine_StromkostenTag room Stromkosten
attr Spuelmaschine_StromkostenTag stateFormat {sprintf("%.2f kWh - %.2f €", ReadingsVal("Spuelmaschine_StromkostenTag", "Verbrauch",0),  ReadingsVal("Spuelmaschine_StromkostenTag","Kosten",0))}
attr Spuelmaschine_StromkostenTag userReadings Kosten { ReadingsVal("Spuelmaschine_StromkostenTag","Verbrauch",0)*0.2495}
define atSpuelmaschineStromkosten at +*00:00:01 {\\
my $a = (ReadingsVal("GHoma_d372b2","energy_kWh",0))+(ReadingsVal("GHoma_d372b2","power",0))/3600/1000;;;;\\
\\
fhem("setreading GHoma_d372b2 energy_kWh $a");;;;\\
fhem("setreading SpuelmaschineStromkostenTag Verbrauch $a");;;;\\
fhem("setreading SpuelmaschineStromkostenMonat Tagesverbrauch $a");;;;\\
fhem("setreading SpuelmaschineStromkostenJahr Tagesverbrauch $a");;;;\\
fhem("setreading SpuelmaschineStromkostenGesamt Tagesverbrauch $a");;;;\\
\\
if(($hour==0) && ($min==0)){\\
fhem("setreading GHoma_d372b2 energy_kWh 0")} \\
\\
if(($hour==0) && ($min==0) && ($mday==1)){\\
fhem("setreading SpuelmaschineStromkostenMonat Verbrauch 0")}\\
\\
if(($hour==0) && ($min==0) && ($yday==1)){\\
fhem("setreading SpuelmaschineStromkostenJahr Verbrauch 0")}\\
}
define GroupSpuelmaschine_Stromkosten readingsGroup < >,<Verbrauch>,<Kosten>  Spuelmaschine_StromkostenGesamt:Verbrauch,Kosten  Spuelmaschine_StromkostenJahr:Verbrauch,Kosten  Spuelmaschine_StromkostenMonat:Verbrauch,Kosten  Spuelmaschine_StromkostenTag:Verbrauch,Kosten
attr GroupSpuelmaschine_Stromkosten valueFormat {Kosten => "%.2f €", Verbrauch => "%.2f kWh"}

bumbumb


bumbumb


DerBaer

Dein dummy-Device heißt anders als im at-Device.
Bei dem einen ist ein Unterstrich bei dem anderen nicht, beide müssen aber gleich sein.

Dummy: Spuelmaschine_StromkostenTag
at:           SpuelmaschineStromkostenTag

bumbumb


Gasmast3r


bumbumb


MAC66666

Zitat von: DerBaer am 17 Januar 2018, 18:40:28
Ja dafür muss man erstmal wissen was "energy" ist.
Wie du sicherlich auch gelesen hast habe ich ein paar Posts vorher geschrieben das "energy" eher unplausibel ist um damit zu arbeiten. Zb auch deswegen da sich der Wert nicht auf null setzt so wie die anderen wenn die Steckdose ausgeschaltet wird. In diesem Fall fließt kein Strom, deswegen darf dort dann auch nur 0 stehen.

Das der Kühlschrank keine 20 kWh braucht is ziemlich sicher. Aber wenn du schon mit einem unplausiblen Wert rechnest, brauchst du dich nicht wundern wenn das Ergebnis unplausibel ist...

Aus diesem Grund habe ich den Code der ursprünglich von Waschto ist, abgeändert.

Im Geiste bin ich anscheinend ganz wo anders als Ihr, aber noch glaube ich, dass ich nicht so falsch liege  ;) Aber ich bin keiner der auf sein Rechthaben pocht  ;D

Aaaalso, ich hatte das schon gelesen, aber:

Auf 0 setzen muss der sich doch nicht? Ist dann doch quasi ein Verbrauchswert seit Inbetriebnahme der Dose. Macht doch Sinn.

Ich rechne ja noch gar nicht mit dem Wert, da ich nicht weiß, was er mir sagen soll. Aber er steigt ja stetig, also wird da schon irgendwie ein W/zeit drin stecken. Ist für mich zumindest der sinnvollste Wert diesbezüglich. Steigt er stärker bei mehr Verbrauch? Hat das mal jemand gecheckt? Ich kann nicht, weil ich schon alles hinter den Schränken verbaut hab.

Wenn man den "löschen" will, muss man halt einen entsprechenden Minuswert zum Verrechnen irgendwo setzen.

Bei der P=U*I Berechnung im Code könnte das bei sekündlicher Abfrage doch ein bisschen driften, sind ja Momentanwerte, zumal die Dose ja so oft gar nicht aktuelle Daten rausschickt... Ist ein Notbehelf, aber unter ungünstigen Umständen sicher extrem ungenau... Oder eventuell nicht? Sind die Werte ggf. Durchschnittswerte seit dem letzten Senden? Dann würde es passen... Was nicht heisst, dass ich nicht zusätzlich auch an den energy Wert glaube, tief in meinem Inneren  ;)
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

Gasmast3r

Zitat von: MAC66666 am 17 Januar 2018, 21:41:06
Im Geiste bin ich anscheinend ganz wo anders als Ihr, aber noch glaube ich, dass ich nicht so falsch liege  ;) Aber ich bin keiner der auf sein Rechthaben pocht  ;D

Aaaalso, ich hatte das schon gelesen, aber:

Auf 0 setzen muss der sich doch nicht? Ist dann doch quasi ein Verbrauchswert seit Inbetriebnahme der Dose. Macht doch Sinn.

Ich rechne ja noch gar nicht mit dem Wert, da ich nicht weiß, was er mir sagen soll. Aber er steigt ja stetig, also wird da schon irgendwie ein W/zeit drin stecken. Ist für mich zumindest der sinnvollste Wert diesbezüglich. Steigt er stärker bei mehr Verbrauch? Hat das mal jemand gecheckt? Ich kann nicht, weil ich schon alles hinter den Schränken verbaut hab.

Wenn man den "löschen" will, muss man halt einen entsprechenden Minuswert zum Verrechnen irgendwo setzen.

Bei der P=U*I Berechnung im Code könnte das bei sekündlicher Abfrage doch ein bisschen driften, sind ja Momentanwerte, zumal die Dose ja so oft gar nicht aktuelle Daten rausschickt... Ist ein Notbehelf, aber unter ungünstigen Umständen sicher extrem ungenau... Oder eventuell nicht? Sind die Werte ggf. Durchschnittswerte seit dem letzten Senden? Dann würde es passen... Was nicht heisst, dass ich nicht zusätzlich auch an den energy Wert glaube, tief in meinem Inneren  ;)
Das testen wir ja mit den code anpassungen ja aus, irgendwann haben wir die richtige Kombination.

MAC66666

Jup. Und ich besorg mal einen Wattmeter und vergleiche mal. Vieleicht bringt's was...
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

Cheftrainer

Hallo zusammen.

Ich bin ein Fhem Anfänger und bekomm es einfach nicht die Readings zu sehen.

Kann bzw. Möchte mir jemand helfen.

Vielen Dank im Voraus

Gasmast3r

Zitat von: Cheftrainer am 17 Januar 2018, 22:34:32
Hallo zusammen.

Ich bin ein Fhem Anfänger und bekomm es einfach nicht die Readings zu sehen.

Kann bzw. Möchte mir jemand helfen.

Vielen Dank im Voraus
Hy du must den namen des G-Homa device anpassen da deins anders benannt ist, dazu must du dann den namen wie es bei dir heissen soll anpassen.
Dann den at befehl erst mit 01.01.01 a definieren und dann den code per def ändern.
Am besten schaust du dir mal den link an damit sollte der zusammenhang etwas verständlicher wirken.