Waschmaschine überwachen (Skript funktioniert nicht)

Hallo Zusammen,

ich habe mir jüngst zwei Homematic Schaltsteckdosen zugelegt, welche auch den Stromverbrauch etc. überwachen können.
Die eig. um eine Überlastung der Leitung (16A, Trockner 2500W, Waschmaschine 2000W) zu verhindern.
Das klappt auch.

Jetzt habe ich etwas rumgesucht und herausgefunden, dass es fertige Skripte gibt die „Wäsche fertig“ Melden können.
Allerdings habe ich mir den Leistungsbedarf / verlauf der Waschmaschine angesehen und das ganze ist zu kompliziert!
Daher habe ich selbst schnell was gestrickt - allerdings will das nicht funktionieren:

<?
$W_WASCHM=GetValueFloat(29895  /*[Komponenten\Steckdosen\Daten Steckdose Waschmaschine\Leistung]*/);
$STATUS_WASCHM=GetValueBoolean(46825  /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/);


If (($W_WASCHM > 100) AND ($STATUS_WASCHM=false)) {
	SetValueBoolean(46825  /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/,true);
	}
ELSEIF (($W_WASCHM < 2) AND ($STATUS_WASCHM=true)){
	SetValueBoolean(46825  /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/, false);
	WFC_PushNotification(10810 /*[WebFront Configurator]*/, 'Info', "Die Wäsche ist fertig gewaschen!" , '', 0);
	}
?>

Ich meine das Ding ist ja total simpel - W_WASCHM ist die Leistung (Watt) und STATUS_WASCHM ist ein Flag der gesetzt wird, wenn sie eingeschaltet ist, d.h. einen bestimmten Strombedarf hat.
Allerdings bekomme ich (Waschmaschine ist aus, Status ist 0 / false) bei jedem Ausführen des Skripts einen Pushnachricht - kann mal jemand drauf schauen was ich da übersehe?
Danke & Gruß,
Matthias

Versuche es mal mit

If (($W_WASCHM > 100) AND ($STATUS_WASCHM==false)) {
    SetValueBoolean(46825  /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/,true);
    }
ELSEIF (($W_WASCHM < 2) AND ($STATUS_WASCHM==true)){ 

Ach ja, ich bin ein Idiot :slight_smile:
Vielen Dank!
Meine Freundin war schon total happy weil ich ihr die ganze Zeit Nachrichten aufs Handy gepusht habe… :slight_smile:

:slight_smile: ob das so klappt bei hundert pro ist aber noch offen… Meine WA kommt in den Pausen waehrend des Waschvorgangs auf die standbyewerte runter bei der Leistung… Da bleibt dann nichts anderes uebrig als einen timeout abzuwarten und dann erst die Schlussmeldung senden…

Hmm ja aber wenn ich das richtig sehe, geht meine beim waschen auf 6w und standby ist bei 1,5w.
Ist zwar knapp aber geht evtl…
Oder mit nem counter zählen bis das ne bestimmte Zeit an ist…

@Matthias

Wie wäre es denn mit diesem Vorschlag?

…und beim Wechsel von STATE true nach false triggerst du deine Push-Nachricht :wink:

Ich mache das mit meinen HM Steckdose mit Leistungsmesser am Stromwert fest.
Dort ist genügend Spielraum bei meinen Geräten.
Und dann alles ohne Scripte nur je Gerät eine zusätzliche Bool-Var für läuft/stop. Unterhalb von der Var ein Event wenn Strom größer X dann setzte auf true/läuft und eins für unterhalb Y dann auf false/stop setzen.
Der Wechsel von der BoolVar auf false triggert dann meine Benachrichtigung.
Das funktioniert mit den HM Teilen jetzt schon fast ein Jahr und sehr zuverlässig.
Den Aktor selbst schalte ich gar nicht.
Michael

Abend!

Ich mache das so ähnlich wie Michael, seit knapp einem Jahr, 100% zuverlässig ohne Fehlmeldungen!

Hier die ganz ganz kurze Version, aber damit sollte es klappen. Natürlich muss du die 3 WATT gegebenenfalls auf dich anpassen, da ist jede Maschine anders. Einfach mal bei dir schauen, was die am Ende vom Waschvorgang so an Strom verbraucht und wie lange die Pausen, mitten im Waschvorgang, so sind…

<?
$WF_ID = 12345;  // ID vom WebFront zum Push-Versand
$WaschmaschineAktiv = 11111 /*[Hardware\HomeMatic\Zwischenstecker\L01 (Waschmaschine)\Messwerte\Aktiv_Inaktiv]*/;  // Bool-Variable (TRUE = Waschmaschine AKTIV, FALSE = Waschmaschine INAKTIV)
$WaschmaschinePower = GetValueFloat(22222 /*[Hardware\HomeMatic\Zwischenstecker\L01 (Waschmaschine)\Messwerte\POWER]*/);  // POWER-Variable vom HomeMatic Leistungsmesser

if (($WaschmaschinePower < 3) AND (GetValue($WaschmaschineAktiv) == true))  {
   IPS_SetScriptTimer($_IPS['SELF'], 120);
}

if ($WaschmaschinePower > 3)  {
	SetValue($WaschmaschineAktiv, true);
	IPS_SetScriptTimer($_IPS['SELF'], 0);
}



if($_IPS['SENDER'] == "TimerEvent")  {
	if ($WaschmaschinePower < 3)  {
	   IPS_SetScriptTimer($_IPS['SELF'], 0);
		//PUSH-Nachricht senden
		WFC_PushNotification($WF_ID, "WASCHMASCHINE", "ist FERTIG!", "", 0);
	  	// Waschmaschine auf inaktiv setzen
	  	SetValue($PushGesperrt, true);
	  	SetValue($WaschmaschineAktiv, false);
	}
}
?>

Die Variablen am Anfang noch anpassen + diesem Script 2 Ereignisse hinzufügen. Einmal mit Grenzüberschreitung der POWER-Variable und z.B. 3 und dann einmal mit Grenzunterschreitung der POWER-Variable. Jeweils den Haken bei „Nachfolgende Ereignisse ausführen“ ENTFERNEN.

Joa…glaube das war es auch schon :slight_smile:

Könnte man auch noch mit Mittelwerten machen und sonstigem Kram…hängt halt alles von der jeweiligen Maschine ab. Bei mir klappt das bei Waschmaschine und Trockner so ohne Problem :cool:

Grüße,
Chris

Wie ähnlich? Eher kaum bis gar nicht.
Ich habe gar kein Script für die Geräte.
Kein Timer, kein Vergleich per Script, nur reine IPS Events. Wozu benötigt man den Timer auf ein Script ?
Warum immer kompliziert wenn es auch klicki/bunt einfach geht ?

Lediglich ein globales Script für die Benachrichtigungen habe ich. Das erzeugt die Texte durch die auslösende VariableID.
Aber der ‚Rest‘ ist rein IPS ohne PHP.
Michael

:smiley: Keine Ahnung was ich gelesen hab :smiley: Montag :rolleyes:

Den Timer brauche ich, weil die Maschine mittendrinne teilweise „Pausen“ einlegt, dann aber wieder die Grenzüberschreitung macht und der Timer wieder gestoppt wird. Wenn der Timer nicht gestoppt wird, dann sind die Waschmaschine/der Wäschetrockner fertig.

Trotzdem hier nochmal ein Beispiel, falls es jemand brauchen kann :slight_smile:
>>> IP-Symcon - Wie kann ich… 2.0 - Seite 5

Grüße,
Chris

Naja, ich glaub das hatten wir ja schon mal in einem Thread kurz angesprochen. Die Lösungen funktionieren je nach Waschmaschine. Nall und Bayaro, ich wäre froh ich könnte die Lösung so realisieren… würde ich auch viel lieber als irgendwelche script… aber angenommen

Waschmaschine aus <= 0,1
Waschmaschine stdb (also display ist an, man stellt waschzyklen etc. ein) >0,1 && <= 0,7
Waschgang jeglicher Art (mit etwas Reserve) >= 1 (- 150)

Wird das schwieriger deswegen, weil die Waschmaschine ist an und wäscht… und dann geht Sie für sagen wir 2 Minuten beim Verbrauch zurück auf den Stdb Wert mit 0,7… macht eine Zeit nix und legt wieder los und ist somit nicht fertig. Die zweite Lösung mit Script ist auch noch keine perfekt Lösung, da einfach nach der ersten „ich bin fertig Messung“ zwei Minuten später oder in einem festgelegten Intervall nochmals geprüft wird ob der Verbrauch kleiner ist und dann die Ende Meldung gesendet wird. OK, wer immer den gleichen Waschmodus nimmt… bei dem geht das auch noch gut. Bei meinem 30Grad Modus würde das Script klappen… bei dem Bettwäschemodus mit 70 Grad sind die Pausen teils länger 4 Minuten, noch extremer wird es wenn „Glätten“ aktiviert ist und und… Mittelwert wäre vielleicht noch was… aber da bin ich dann wieder bei Nall… für eine „ich bin fertig Meldung“ zu viel Aufwand. Was dann noch einzelne hier machen, Sie nehmen einfach den längsten Pausenwert… sagen wir bei meiner Maschine 10-15 Minuten… nur da ist meine Frau schon lange am Wäscheaufhängen bis die Endmeldung vom System eintrifft.

:slight_smile:

Irgend einen Tod muss man halt sterben :wink: :smiley: Wie in meinem Beispiel erwähnt, könnte man noch mit Mittelwerten der geloggten Daten arbeiten. Hab ich auch mal gemacht, aber da vergeht noch mehr Zeit als die bei mir aktuellen 2 Minuten. Das muss halt einfach jeder für sich testen. Wie ich sagte, jede Maschine ist anders, da muss jeder für sich die optimale Lösung finden…

Grüße,
Chris

Sind alle Werte so ‚schlecht‘ dicht beisammen?
Wie gesagt ich nutze den Strom Wert.
Wenn er einmal über 700mA geht, ist sie vermutlich an.
Und erst wenn sie unter 52mA fällt ist sie ganz fertig. Die Pausen dazwischen liegen bei ca 60mA also geht das ganz gut. Ich glaube mit der Power-Variable in Watt war das nicht machbar.
Habe das mit der WaMa, der Geschirrspülmaschine und dem Trockner so gelöst.
Letztere war etwas Tricky. Das Ding hat einen ‚Bin fertig‘-Piepser.
Der hat, durch seinen Eigenverbrauch, eine Zeit lang immer für eine neue Benachrichtigung gesorgt :slight_smile:
Also wirklich sehr fein ermittelbar über diese HM-Geräte.
Michael

Klar muss das jeder selbst wissen wie viel Zeit er investiert und wie tief er das integriert. Aber ich fände es interessant -rein „Gwundrig“- wieso solche Pausen, wo das Gerät im Prinzip auf stdb Werte herunterfällt eingelegt werden. Irgendwie habe ich das Gefühl, es hilft/bewirkt das weniger Energie für den Waschvorgang gebraucht wird bei gleichbleibender Waschqualität. Bei meinen früheren A+ Maschine waren die Abstandszyklen eher noch klein… je mehr Plus hinter das A kommen um so länger werden diese. Vielleicht findet ja mal einer raus was der Grund dafür ist und ob das echt was mit dem Energiesparen zu tun hat oder eher das die Wäsche mal „Ruhe liegt und pennen kann“ :slight_smile:

Darum brauchen die Geschirrspülmaschinen jetzt auch ewig :wink:
Michael

Hier mal nochwas direkt von ELV… http://files.elv.de/bilder/mein_elv_projekt/waschmaschine/projekt_waschmaschine_de.pdf

Und so siehts bei mir aus, wenn die WAMA sich dem Ende eines jeden Programms bewegt… fertig ca. 1,4W / vorher ca. 2,3W / sonst, in den hier erwähnten Pausen, nicht unter 4W (ca. 4,25-4,4W):

Deshalb funktioniert das bei mit der Leistung seit ebenfalls Februar 2014 wunderbestens. Aber wie jedesmal… viele Wege führen nach Rom. Man muss die Werte nur mal mitloggen und danach bewerten.
Im Endeffekt sollte es immer ähnlich verlaufen.
Wichtig dabei ist auch, dass man mit der Übertragung der Messwerte nicht „zu sparsam“ umgeht.
Meine Einstellungen dazu, sehen so aus:
wama_einst.JPG

Oder die neuen sparsamen Autos, wenn man aufs Gaspedal drückt und sich wundert das die Omi nebenan einem beim Überholen zuwinkt :slight_smile:

Hey - hat wie immer etwas gedauert.
Bin auch Morgen schon wieder weg nach Peking - aber hier noch das kurze Skript was ich jetzt verwende:

<?
$W_WASCHM=GetValueFloat(29895 /*[Komponenten\Steckdosen\Daten Steckdose Waschmaschine\Leistung]*/ );
$STATUS_WASCHM=GetValueBoolean(46825 /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/ );


If (($W_WASCHM > 15) AND ($STATUS_WASCHM==false)) {
	SetValueBoolean(46825 /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/ ,true);
	}
ELSEIF (($W_WASCHM < 2) AND ($STATUS_WASCHM==true)){
	SetValueBoolean(46825 /*[Funktionen Automatik\Waschmaschine/Trockner\Push-Waschmaschine\Waschmaschine Status]*/ , false);
	WFC_PushNotification(10810 /*[WebFront Configurator]*/, 'Waschmaschine', "Die Wäsche ist fertig gewaschen!" , '', 0);
	}
?>

Funktioniert gut, mein Trockner und die Waschmaschine haben beide das gleiche Skript - nur andere Variablen.
Beide Geräte haben im Betrieb halt relativ klar abgrenzbare Stromverbräuche.

Noch was anderes:
Ich logge (als Zählervariable) die Stromverbräuche (also kWh) - allerdings war letztens bei einem Stromausfall alles wieder auf 0. Woran liegt das? Was kann man tun?
Also am Server liegt es nicht, ich denke das wurde irgendwie von der Homematic als 0 gemeldet und somit dort zurück gesetzt. BTW - ich habe keine SD in der CCU2.

Beste Grüße,

Matthias

Abend Matthias!

Bzgl. „Stromzähler“ zurückgesetzt > du brauchst das hier:
[Modul] Homematic Systemvariablen, Programme und Powermeter

:wink:

Grüße,
Chris

Jep. Der Zähler vom Aktor geht auf 0 wenn er ausgesteckt wird oder halt keine Spannung mehr hat.
Der CCU Zähler aber bleibt und zählt auch brav weiter.
Und diese Gerät habe ich tatsächlich auch schon für IPS 4 fertig :smiley:
Michael