Push bei fertiger Waschmaschine / Trockner / Geschirrspüler etc. (Plugwiese Messung)

Gibt es jemanden der schon ein Script hat, das folgendes macht ? Voraussetzung Plugwise Circles oder ähnliches.

Ich möchte per Push mitgeteilt bekommen, wenn meine Waschmaschine oder ähnliches fertig ist.
Das müsste doch gehen wenn ich die Verbrauchsvariable des Plugwise Circle auswerte wenn z.B. der Verbrauch der Waschmaschine länger als 15 min > 100 W beträgt und sie nach einer gewissen zeit wieder <= 10W fällt.

Also ersteinmal muss ein Verbrauch über eine gewisse Zeit stattfinden und im Anschluss für eine gewisse Zeit der Verbrauch wieder abfallen = Push Nachricht.

Ich hab aber kein Plan wie ich das programmieren soll. Vielleicht gibt es ja schon etwas vergleichbares ?! bzw. fertiges ?

Eventuell so ?
Mit einem Ereignis mit Grenzüber -und Unterschreitung die Verbrauchsvariable des Circles überwachen und wenn die Variable größer 10W ist müsste man einen Timer starten der das Ereignis alle 5 min ausführt um damit die Verbrauchsvariable zu überwachen. Fällt der Verbrauch unter 10W, wird das Pushscript ausgeführt und der Timer deaktiviert. Wie mach ich das am besten ? :smiley:

Gruß
Christian

Nur mal auf die Schnelle, weiss nicht was verwendbar ist

Gruß
Bruno

Servus,
ich mach das, allerdings nicht als Push, sondern für Sprachausgabe.

Trockner war leicht: Wenn Verbrauch unter xWatt dann Meldung
Waschmaschine: wenn für länger als 5 min unter xWatt dann Meldung
Dampfgarer: wenn Verbrauch unter xWatt
Backofen: da funktionierts nicht, das zeitliche Pattern der Stromaufnahme ist unterschiedlich
Geschirrspüler ist etwas ekelhafter, da er am Ende noch ewig lange braucht um den Dampf zu kondensieren.
Die Zeit ist auch nicht immer gleich, und manchmal läuft währenddieser Zeit auch die Abwasserpumpe nochmals an.
Hier warte ich jetzt generell 20min bis zur Ansage. Klappt aber auch nicht immer.

Die Fertigmeldungen haben den WAF übrigens enorm gehoben. Ebenso wie die Morgendliche Ansage des Wetterberichts.
Hätt ich nicht gedacht, aber Frau gefällt dies sehr.

gruß
bb

Wenn das so einfach wäre, würde doch dauerhaft eine Meldung bei deinem Trockner oder Waschmaschine kommen, denn meine Waschmaschine steht meistens und verbraucht nichts. Ich habe gerade mal geschaut… die Variable der Waschmaschine aktualisiert sich ja ständig und ist meist bei 0.0W oder 0.5W wenn sie aus ist. Wie soll denn da eine einfache Ereignisabfrage funktionieren die würde dann doch dauerhaft melden: „Trocker fertig“ ?! Oder kannst du mir das etwas genauer erläutern ? Vielleicht mit einem Screenshot ?
Sprachausgabe per Sonos soll noch folgen…

@Bruno: Danke Dir ! Ich schau mir die Links mal an…

Schau mal:
http://www.ip-symcon.de/service/dokumentation/konzepte/ereignisse/

Das Hackerl bei nachfolgende Ereignisse ist der Trick.

gruß
bb

:smiley: ich werd´s testen ! Das wäre natürlich die einfachste Lösung. Danke !!!

So. konnte es nun das erste mal richtig testen.
Aber wie ich mir das gedacht hab. Nach dem sie fertig ist und auch wenn sie ausgemacht wurde meldet sie weiterhin per push dass sie fertig ist. und das alle paar sec. (Grenzwert ist 8W) Wie hast du das denn gelöst ?
Habe das Ereignis ersmtal wieder deaktiviert.

Hallo.

Das Hackerl bei nachfolgende Ereignisse ist der Trick.

Hast Du den Tip von bbernhard verfolgt?

Servus

also bei mir funktionierts astrein.

gruß
bb

Asche auf mein Haupt ! Bei meinem Trockner hatte ich den Haken entfernt. Und hab immer nur den Trockner betrachtet.
Nun sollte es auch funktionieren. Danke für´s Augen öffnen. Manchmal sieht man den Wald vor lauter häkchen nicht ^^

Kurze Nachfrage: Wie sehen deine Scripte jetzt aus ?

Magst Du diese bitte posten/teilen ?!

Wäre sehr hilfreich. DAnke.

Hallo allerseits!

Da hier keine Rückmeldung mehr kam und ich grad das Problem für mich gelöst habe (Waschmaschine + Wäschetrockner), will ich euch gern daran teilhaben lassen.

VORAB: Ich habe IPS erst seit ca. 1-2 Wochen und habe so gut wie keine PHP Kenntnisse :smiley: Aber es klappt :cool:

Infos zum Skript > Ich verwende die HomeMatic Zwischenstecker mit Leistungsmessung. Dazu errechne ich mir noch den Verbrauch und die Stromkosten. Und ich lasse mir anzeigen, ob eine Maschine Aktiv oder Inaktiv ist.

Da Waschmaschine und Trockner, wie allen bekannt ist, immer mal Pausen machen, habe ich beobachtet wie lange diese Pausen bei mir sind und für mich festgestellt, dass wenn 120 Sekunden (deshalb der Timer auf dieser Zeit) vergehen und dann immer noch keine höhere Power gemessen wurde, dann ist die Maschine fertig (würde höhere Power kommen, dann würde der Timer wieder auf 0 gesetzt werden).

Mein Skript wird über ein Ereignis ausgelöst > Variablenaktualisierung POWER des Leistungsmesser > Und dann halt über Timer der vom Skript selbst aktiviert wird.

Hoffe ich hab mich soweit halbwegs verständlich ausgedrückt :slight_smile:


<?

$waschmaschinepower = GetValueFloat(17603 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\POWER]*/);

if (($waschmaschinepower < 3) AND (GetValue(32439 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Aktiv_Inaktiv]*/) == true))  {
   IPS_SetScriptTimer($IPS_SELF, 120);
}
elseif ($waschmaschinepower > 3)  {
	SetValue(50393 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Push-Nachricht gesperrt]*/, false);
	SetValue(32439 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Aktiv_Inaktiv]*/, true);
	IPS_SetScriptTimer($IPS_SELF, 0);
}
else  {
   IPS_SetScriptTimer($IPS_SELF, 0);
}

$waschmaschineverbrauch = GetValue(16347 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\ENERGY_COUNTER]*/);
$waschmaschineverbrauch = $waschmaschineverbrauch * 0.001;
SetValue(34969 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Gesamtverbrauch kWh]*/, $waschmaschineverbrauch);

$L01kosten = GetValue(34969 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Gesamtverbrauch kWh]*/) * 0.29;
SetValue(46185 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Stromkosten]*/, $L01kosten);


if($IPS_SENDER == "TimerEvent")  {
	if ($waschmaschinepower < 3)  {
      if (GetValue(50393 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Push-Nachricht gesperrt]*/) == false)  {
	      WFC_PushNotification(13103 /*[HEAVEN]*/, "WASCHMASCHINE", "ist FERTIG!", "", 0);
	      HM_WriteValueString(10392 /*[SKRIPTE\HomeMatic\Funk-Gong\GONG01\Sound]*/ ,"SUBMIT","1,1,3,0");
			IPS_Sleep (3000);
			HM_WriteValueString(10392 /*[SKRIPTE\HomeMatic\Funk-Gong\GONG01\Sound]*/ ,"SUBMIT","1,1,3,1");
  	  	   SetValue(50393 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Push-Nachricht gesperrt]*/, true);
	  	   $counter = GetValue(53446 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Counter]*/);
	  	   $counter = $counter + 1;
	  	   SetValueInteger(53446 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Counter]*/, $counter);
	  	   IPS_SetScriptTimer($IPS_SELF, 0);
	   }
   	else {
   	   SetValue(32439 /*[SKRIPTE\HomeMatic\Zwischenstecker mit Leistungsmessung\L01 (Waschmaschine)\Messwerte\Aktiv_Inaktiv]*/, false);
	  	   IPS_SetScriptTimer($IPS_SELF, 0);
	  	}

	}
}

?>

Sollte noch etwas unklar sein, einfach nachfragen :slight_smile:

Grüße von einem neuen IPS Verrückten :loveips:,
Chris

Ein leicht andere und sehr gut funktionierende Lösung ist eine Mittelwert-Berechnug -> LINK
Ich denke, dass ist die bessere Variante, da die Pausenzeiten je nach Wasch-/Trocken-Programm ja durchaus nicht immer gleich sind.

Cheers
/Jens

Hallo Jens,

das mit der Mittelwert-Berechnung ist auch eine gute Variante, hatte ich auch schon gesehen.

Ich habe bei mir aber mehrmals meinen kompletten Stromverlauf genau beobachtet und konnte sehen, wenn Waschmaschine oder Wäschetrockner fertig sind, dann liegt bei der Waschmaschine die Power bei beständigen 2,1W und beim Wäschetrockner bei 1,4W. Damit gibt es auch keine Fehlalarme. Bei Pausen zwischen den Programmen geht der Verbrauch bei beiden Geräten nie unter die Schwellwerte und deshalb klappt alles wunderbar. :slight_smile:

Aber natürlich muss jeder für seine Geräte selbst die optimale Lösung finden. Viele Wege führen nach Rom und der schönste über IPS :loveips: :smiley:

Gruß,
Chris

Hallo zusammen,

hab das Script aus Post #12 bei mir angepasst eingerichtet. Die Pushs kommen auch, allerdings eine Stunde zu spät.

Woran kann das liegen?

Hier das angepasste Script:

 <?

// Script von http://www.ip-symcon.de/forum/threads/21468-Push-bei-fertiger-Waschmaschine-Trockner-Geschirrsp%C3%BCler-etc-(Plugwiese-Messung)?p=234845#post234845

$waschmaschinepower = GetValueFloat(46554 /*[Program\IPSLibrary\data\hardware\Plugwise\Circles\Waschmaschine\Leistung]*/ );
$alarmgenzwert = 3.5;

if ($waschmaschinepower <= $alarmgenzwert)  {
   IPS_SetScriptTimer($IPS_SELF, 120);
}
elseif ($waschmaschinepower > $alarmgenzwert)  {
    SetValue(37621 /*[Logisch\Alarme\Waschmachine\WaschmaschineIstFertig\PushNachrichtGesperrt]*/ , false);
    IPS_SetScriptTimer($IPS_SELF, 0);
}
else  {
   IPS_SetScriptTimer($IPS_SELF, 0);
}

$PushNachrichtStatus = GetValue(37621 /*[Logisch\Alarme\Waschmachine\WaschmaschineIstFertig\PushNachrichtGesperrt]*/ );

//$waschmaschineverbrauch = GetValue(16347 /*[Objekt #16347 existiert nicht]*/);
//$waschmaschineverbrauch = $waschmaschineverbrauch * 0.001;
//SetValue(34969 /*[Logisch\System\Diverses\MYSQL_Info]*/, $waschmaschineverbrauch);

//$L01kosten = GetValue(34969 /*[Logisch\System\Diverses\MYSQL_Info]*/) * 0.29;
//SetValue(46185 /*[Objekt #46185 existiert nicht]*/, $L01kosten);

if($IPS_SENDER == "TimerEvent")
{
    if ($waschmaschinepower <= $alarmgenzwert)  {
      if ($PushNachrichtStatus == false)  {
          WFC_PushNotification(36122 /*[Wolf]*/ , "WASCHMASCHINE", "ist FERTIG!", "", 0);
          //HM_WriteValueString(10392 /*[Objekt #10392 existiert nicht]*/ ,"SUBMIT","1,1,3,0");
            IPS_Sleep (3000);
          //HM_WriteValueString(10392 /*[Objekt #10392 existiert nicht]*/ ,"SUBMIT","1,1,3,1");
               SetValue(37621 /*[Logisch\Alarme\Waschmachine\WaschmaschineIstFertig\PushNachrichtGesperrt]*/ , true);
             //$counter = GetValue(53446 /*[Objekt #53446 existiert nicht]*/);
             //$counter = $counter + 1;
             //SetValueInteger(53446 /*[Objekt #53446 existiert nicht]*/, $counter);
             IPS_SetScriptTimer($IPS_SELF, 0);
       }
       else {
          //SetValue(32439 /*[Objekt #32439 existiert nicht]*/, false);
             IPS_SetScriptTimer($IPS_SELF, 0);
          }
    }
}
?>

Die letzte Variablenänderung von „PushNachrichtGesperrt“ war um 16:34:10

Im screenshot seht ihr den Plugwise-Verlauf

Wie bekomm ich die Nachrichten zeitnah? Hab ich zuviel auskommentiert? Ich sehes nicht.

Bin um jede Hilfe dankbar.

Hallo Wolfgang,

wenn deine letzte Änderung von „Pushnachricht gesperrt“ einige Minuten vor dem Versenden der Push-Nachricht war, dann hat das Skript alles richtig gemacht.

Die Push-Nachricht wird gesperrt, wenn der Stromverbrauch in deinem Fall über 3,5W geht. Geht der Verbrauch unter 3,5W, dann wird das Skript aufgerufen und der Timer auf 120 Sekunden gesetzt. Bleibt der Stromverbrauch DURCHGEHEND unter 3,5W, dann wird nach 120 Sekunden das Skript über den Timer aufgerufen und ist in diesem Moment der Verbrauch ebenfalls unter 3,5W , dann wird die Push-Nachricht sofort ausgelöst und kommt bei mir auch direkt an.

Steigt der Stromverbrauch zwischenzeitlich auch nur kurz über 3,5W, dann wird der Timer erneut um 120 Sekunden verlängert. Ich kann mir also nur vorstellen, dass deine Waschmaschine kurzzeitig (nur für 1-2 Sekunden) über die 3,5W Grenze geht und deshalb das Skript immer weiter rausgezögert wird.

Das kannst du gut prüfen, wenn du am Ende vom Waschvorgang das Skript in der Konsole offen hast und ebenfalls rechts die Ereignisse eingeblendet hast. Weil wenn etwas das Skript auslöst oder der Timer umgeändert wird, dann leuchtet dieser in der Ereignisliste grün auf und aktualisiert sich.

Ansonsten ist dein Skript so ausreichend und auch nicht zuviel auskommentiert. Alles andere setzt nur einen Status auf aktiv/inaktiv, zählt einen Counter hoch wie oft gewaschen wurde, zeigt die Laufzeit der Maschine an und zeigt die Stromkosten an.

Also es muss bei dir so sein, dass der Strom über 3,5W geht und der Timer verlängert wird… Oder gab es evtl. ein Problem bei der Push-Nachricht-Zustellung? Wegen Apple iOS 8? Ich hab am Wochenende 3 mal gewaschen/getrocknet und jedes Mal kam korrekt die Fertig-Meldung.

Gruß,
Chris