Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich meinte eigentlich perl ist mächtig und ich lerne noch...
(Hatte gerade einen 12 Stunden nonstop Programmierversuch hinter mir.)
Die ganzen Sachen mit ˜ und so sind mir neu, ich kenne die Taste dafür nichtmal...
Grüsse Bodo
Fragen gehören ins Forum, und nicht in mein Postfach;
EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;
Ich habe noch eine Frage zu den perl scripts bei mh. Ich will den Statuswechsel eines Tasters in der Küche mitbekommen und dann für einen begrenzten Zeitraum die Lüftung aufdrehen. Wie bekomme ich denn den Statuswechsel mit bzw. wie merke ich mir zwischen zwei Abarbeitungen des scripts durch mh den Status? Sind die perl variablen persistent?
perfekt, danke! Ich versuche, die Lüftung nach Betätigen einer Taste für einen definierten Zeitraum hochzufahren
Code:
if ($Lueftung_hochfahren->state_changed) {
if ($Lueftung_hochfahren->state eq 'on') {
my $letzte_stufe = $Lueftung_Stufe->state;
$Lueftung_Stufe->set_with_timer(100, 600, $letzte_stufe);
$Lueftung_hochfahren->set(off);
}
}
Das hochfahren funktioniert auch, und nach 600 sekunden fährt die Lüftung auch wieder runter, weil aber das erste if nicht mehr zieht, kann ich die Taste nicht zurücksetzen -> LED am Schalter leuchtet weiter. Kann man das Ablaufen des Timers, den ich mit der Methode "set_with_timer" setze, irgendwie überwachen? Oder gibt es eine Alternative? Ich habe in der mh doku gesehen dass es ein Timer Objekt mit einer expired Methode gibt, werde aber aus den Beispielen nicht schlau.
wieso prüfst du nicht einfach nochmals in einer zweiten if-Bedingung $Lueftung_Stufe->state ab?
Also irgendwie so:
Code:
if ($Lueftung_Stufe->state_changed) {
if ($Lueftung_Stufe->state eq 'off') {
......
}
}
PS: Man könnte dir vielleicht schneller helfen, wenn du nicht den Thread vergewaltigt hättest und einen neuen Thread zum Thema "Misterhouse blabla ..." gestartet hättest. Dann würden vielleicht mehr MH-User das Thema lesen.
das mit der zweiten if-Bedingung klappt leider nicht weil es zwei unabhängige Quellen für Änderungen der Lüftungsstufe gibt - zum Einen ein Zeitprogramm, zum anderen Taster in Küche und Toilette, die die Lüftung für einen begrenzten Zeitraum auf volle Leistung schalten sollen. Eine Abfrage auf Statusänderungen der Lüftungsstufe könnte also von Änderungen durch das Zeitschaltprogramm "sabotiert" werden.
Du hast Recht mit dem Thread - ich werde einen neuen mit der Frage aufmachen. Danke für Deine Hilfe!
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar