ich habe vor einiger Zeit mal nen kleines Script geschrieben welches mit über ein Plugwise Modul, welches an der Waschmaschine hängt, den aktuellen Status in eine Variable schreibt.
Ihr müsst die IDs natürlich anpassen und bei der Integer Variable ein Variablenprofil anlegen.
<?
$ID_Plugwise = 52368; //ID der Verbrauchs Variable des Plugwise Cricles
$ID_Status = 12704; // ID einer Integer Variable für den Status
$Verbrauch = GetValueFloat($ID_Plugwise /*[Program\IPSLibrary\data\hardware\Plugwise\Circles\Waschmaschine\Leistung]*/);
$status = GetValueInteger($ID_Status /*[Keller\Waschküche\Waschmaschine\Status]*/);
//Integer Werte der Status Variable (für Variablenprofil)
// 0 = Aus
// 1 = Betrieb
// 2 = Fertig
//Wechsel von Waschmaschine aus auf Betriebsmodus
if ($status == 0)
{
if ($Verbrauch > "50")
{
SetValueInteger ($ID_Status /*[Keller\Waschküche\Waschmaschine\Status]*/, 1); //Status Waschen
}
}
//Wechsel von Waschen in Fertig
if ($status == 1)
{
if ($Verbrauch < 5)
{
sleep(10); //Schlafen und nochmal abfragen ob wirklich Fertig
if ($Verbrauch < 5)
{
SetValueInteger ($ID_Status /*[Keller\Waschküche\Waschmaschine\Status]*/, 2); //Status Fertig
}
}
}
?>
Wenn die Integer Variable dann den Wert 2 hat trigger ich ein Script das mit auf meine Dreambox und per eMail eine Nachricht schickt. Anschließend wird der Status wieder auf AUS gesetzt.
Best Dank, das hab ich eh gesucht - der Trockner wird bei mir schon via Plugwise ausgewertet, mal sehen
wie zuverlässig dein Script bei der WaMa arbeitet
Also bei mir funktioniert es 1A, es gibt aber eventuell Waschmaschinen die für mehr als 10 Sekunden einen Verbrauch unter 5 Watt im Waschvorgang haben. Bei denen muss die Sleep Zeit natürlich angepasst werden.
Hallo
Ich sehe gerade , dass du das IPSLibrary Modul verwendest.
Ich weiss nicht ob du weisst , dass das Modul sowas schon eingebaut hat.
Stichwort Zaehleractions in der Konfigurationsdatei.
/***************************************************************************//**
* Zaehleractions
* mache etwas bei unterschreiten oder ueberschreiten eines Wertes
* fuer eine bestimmte Zeit
*
* Feld 01 - CircleID oder Externer Name
* Feld 02 - < Wert kleiner , > Wert groesser
* Feld 03 - Leistungswert1 in Watt
* Feld 04 - Leistungswert2 in Watt
* Feld 05 - Zeitraum
* Feld 06 - VariablenID oder ScriptID
* Feld 07 - Sollwert
* Feld 08 - Reserve
*
* Beispiel
* array("000D6F0000D3412E" ,"<" ,4 ,false,5 ,xxxxx ,false ,false),
* fuehre Script 12345 aus / bzw setze Variable 12345 auf true
* wenn Circle 5 Minuten lang unter 4 Watt hat.
*******************************************************************************/
Also in meiner Konfigurationsdatei gibt es keinen Abschnitt „Zaehleractions“.
Ich nutze die Version 1.2.1041 … gibt es da was Neues von dem ich noch nichts weiß?
Das ist ganz einfach erklaert.
Wenn du ein Modul installierst wird diese Konfigurationsdatei erstmalig erstellt.
Darin sollst du deine dir eigenen Sachen einstellen.
Wenn du das Modul updatest kann ich ja nicht deine Einstellungen wieder ueberschreiben
Deine von dir geaenderte wird nicht ueberschrieben.
Kommen neue Konfigurationsmoeglichkeiten hinzu muss der einzelne User diese in „seine“
selbst uebernehmen.
Anhaltspunkt ist immer die DEFAULT-Konfigurationsdatei im Ordner
…\scripts\IPSLibrary\config\hardware\Plugwise\Default
Diese kann ich ueberschreiben.
Also mal diese Datei sich ansehen und „Sachen“ daraus in die eigene Konfiguration uebernehmen.
Unabhängig vom sleep(): Ich denke auch nicht, dass die Variable $Verbrauch beim zweiten If einen anderen Wert wie bei der ersten Abfrage hat, wird ja nicht neu zugewiesen?
Bei mir ist noch „Uralt“-Code „vor“ dem IPSLibrary Modul mit Plugwise im Einsatz, da fehlt mir bisher auch das nochmalige Nachprüfen, womit „Fehlalarme“ vermieden werden sollen (z.B. Übergang Abpumpen - Schleudern)
Da kam der Hinweis mit der fertigen Lösung gerade richtig
@friendly
Jetzt wo du es sagst … Mal wieder nicht nachgedacht
@1007
Danke fürs Beispiel, werde das bei nächster Möglichkeit mal umbauen, hab leider momentan zuviele offene Projekte (Odys next als Raumdisplay, dmx artnet Einbindung und Verkabelung, ebus heizungssteuerung,…)