Hauptmenü

Waschmaschinen Überwachun -

Begonnen von wildea, 08 Juli 2016, 14:06:57

Vorheriges Thema - Nächstes Thema

wildea

Hallo Leute,

Meine Waschmaschinen Überwachung funktioniert an sich schon super aber trotzdem ist da noch ein kleiner Fehler drin. Und zwar hat die Maschine zwischendurch auch mal einen Moment wo die Trommel still steht und auch nicht heizt. An dem Zeitpunkt hat sie dann auch mal den gleichen Wert wie als wenn sie Fertig ist. Ich würde gerne diesen Moment abfangen und das müsste doch bestimmt mit einer der wait Funktionen gehen.

Also wenn z.B Watt < 2.2 dann soll DOIF erst mal 2 Min warten und wenn dann immer noch Watt < 2.2 dann soll der nächste Schritt ausgeführt werden. Meine Regel sieht im Moment so aus. Wäre super wenn ihr mir einen Tipp geben könntet wie ich diese Pause an der stelle hinbekomme.

Legende:
ZWave_SWITCH_BINARY_11 = Steckdose
Waschmaschine.Status = Dummy in dem die Werte gespeichert werden und auch die Berechungen für Strom und Euro stattfinden.



([ZWave_SWITCH_BINARY_11:power:d] < 0.5 and [Waschmaschine.Status:state] eq 'off' )
(setreading Waschmaschine.Status preEnergy 0 )
DOELSEIF ([ZWave_SWITCH_BINARY_11:power:d] >= 3 and [Waschmaschine.Status:state] eq 'off')
({ my $var1 = sprintf("%.3f",[Waschmaschine.Status:energy:d]);; fhem("set Waschmaschine.Status on"), fhem("setreading Waschmaschine.Status preEnergy $var1 kWh"), fhem("set WaschmaschineEnergy active ")})
DOELSEIF ([ZWave_SWITCH_BINARY_11:power:d] >= 3 and [Waschmaschine.Status:state] eq 'on')
(set Waschmaschine.Status on)
DOELSEIF ([ZWave_SWITCH_BINARY_11:power:d] <= 2.2 and [Waschmaschine.Status:state] eq 'on')
({ my $var2 = sprintf("%.3f",[Waschmaschine.Status:energy:d]-[Waschmaschine.Status:preEnergy:d]);; fhem("set Waschmaschine.Status Fertig"), fhem("setreading Waschmaschine.Status lastEnergy $var2 kWh")})
DOELSEIF ([Waschmaschine.Status:state] eq 'Fertig' and [ZWave_SWITCH_BINARY_11:power:d] >= 1 )
({ my $var3 = sprintf("%.2f",[Waschmaschine.Status:lastEnergy:d]*0.24);;
fhem("setreading Waschmaschine.Status totalEnergy {([Waschmaschine.Status:totalEnergy:d]+[Waschmaschine.Status:lastEnergy:d])} kWh"),
fhem("setreading Waschmaschine.Status lastCost $var3 €")}, {my $var4 = sprintf("%.2f", [Waschmaschine.Status:totalEnergy:d]*0.24);;
fhem("setreading Waschmaschine.Status totalCost $var4 €")},{my $push = sprintf "%.2f €", ReadingsVal("Waschmaschine.Status","lastCost",0);;fhem("set Push msg 'Waschmaschine ist Fertig und die Kosten dafür waren: ' '$push'")})
DOELSEIF ([Waschmaschine.Status:state] eq 'Fertig' and [ZWave_SWITCH_BINARY_11:power:d] < 0.5 )
(set Waschmaschine.Status off, set WaschmaschineEnergy inactive )


Die gesetzten Attr sind:

wait   5:0:30:0:0

Ellert

Trage an die Stelle im Wait-Attribut, die dem Bedingungszweig entspricht, der die Leistung für das Ende bestimmt, die Wartezeit ein.