Hi hab mal da ein Problem…
Also ich frage im Keller per LCN den Stromverbrauch von Trockner und Waschmaschiene ab. Also bei Fertig Variable = 0 bzw. Binärwert.
Jetzt musste ich feststellen, hab mal den Status der Variablen mitgeschnitten, dass es sowohl beim Trockner als auch bei der Waschmaschiene abhängig vom Programm Pausenzeiten gibt. Jetzt würde ich eine Funktion benötigen die bei der ersten Betätigung Aktiv wird und dann meldet, wenn sich die Variable auf 0 setzt und sich länger als 10 Minuten nicht verändert hat… Hat einer ne Idee??
Also die Scripte sehen sehr intressant aus, gerade das auch mit der Datenbank. Werd die Geschichte vorläufig erstmal über das jeweilige Starten eines Timers lösen aber an der Datenbank lösung basteln…
Ich ärgere michgrad über ein ähnliches Problem. Zuvor hatte ich die Pausenzeiten mittels eine Hilfsvariable abgefangen. Das ging auch war aber keine optimale Lösung also solte ein Timer her mittels dem ich die Pause ausblenden kann.
Muss dazu sagen ich nutze einen FS20 Lastsensor der mir den Standby des Geschirrspülers meldet. Wenn dieser fertig ist wartet er ca. 10 - 15min das das Geschirrabgetropft ist und pummt dann ab. Die zweite Standby Meldung bekomme ich dann nach der Abpumpphase…
Irgendwie fängt mein Script die erste Meldung schon ab aber ich bekomme immer noch zwei Meldungen, ich vermute ich habe ein Fehler im Timerbereich… vielleicht findet einer von euch ja meinen Fehler… Steh da grad wie der Ochse vorm Berg…
<?
include('ProwlPHP.php'); // Ausführen der Datei ProwlPHP.php
$Var_Lastmelder = 12820 /*[Datenbank Holodeck-51\Zimmer\Küche\.Scripts\Meldung Geschirrspüler\Hilfsvariable: Zählt die Meldungen]*/;
$var_info = IPS_GetVariable ($Var_Lastmelder); //hole alle Variableninformationen
$var_timestamp = $var_info["VariableUpdated"]; // gebe mir den Wert des Parameters "VariableChanged" zurück
$Laufzeit = time() - $var_timestamp;// berechne die Laufzeit in Sec
SetValueInteger(12820 /*[Datenbank Holodeck-51\Zimmer\Küche\.Scripts\Meldung Geschirrspüler\Hilfsvariable: Zählt die Meldungen]*/, +1);
// Abfangen einer Doppelmeldung nach 3sec.
If (($Laufzeit > 10) and ($Laufzeit < 45*60)) // Prüfe ob die Variable innerhalb der letzten 45min ausgelöst hat, so überspringst du die Abpumpphase
{
$prowl = new Prowl('xxxxxxxxxxxxxxxxxxxxxx'); // Magic-Key
$prowl->push(array(
'application'=>'IP-Symcon',
'event'=>'Meldung',
'description'=>utf8_encode("Geschirrspuler fertig"),
'priority'=>'0'
));
$prowl = new Prowl('xxxxxxxxxxxxxxxxxxxxxx'); // Magic-Key
$prowl->push(array(
'application'=>'IP-Symcon',
'event'=>'Meldung',
'description'=>utf8_encode("Geschirrspuler fertig"),
'priority'=>0
));
SetValueInteger(12820 /*[Datenbank Holodeck-51\Zimmer\Küche\.Scripts\Meldung Geschirrspüler\Hilfsvariable: Zählt die Meldungen]*/, 0);
$HomeSilentMode = GetValue (23962 /*[Datenbank Holodeck-51\Sonstiges Scripte/Labor\Main Skripte\Zentrale Variablen\HomeSilentMode - Paul schläft]*/);
if ($HomeSilentMode == false) //Stummschaltum im KonfigModul / true = Meldung stumm
{
TTS_Speak(53873 /*[Datenbank Holodeck-51\Sonstiges Scripte/Labor\Main Skripte\Multimedia\Text To Speech - Ausgabe der Statusmeldungen]*/, "Servicemeldung! Der Geschirrspüler ist nun fertig, und kann ausgeräumt werden!", true); //Warten bis zu Ende gesprochen wurde
}
}
?>