Hallo thoern,
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!
- boxerfahrer
Ankündigung
Einklappen
Keine Ankündigung bisher.
brauche Hilfe bei Datentypen
Einklappen
X
-
Hi,
wieso prüfst du nicht einfach nochmals in einer zweiten if-Bedingung $Lueftung_Stufe->state ab?
Also irgendwie so:
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.Code:if ($Lueftung_Stufe->state_changed) { if ($Lueftung_Stufe->state eq 'off') { ...... } }
Gruss
Einen Kommentar schreiben:
-
perfekt, danke! Ich versuche, die Lüftung nach Betätigen einer Taste für einen definierten Zeitraum hochzufahren
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.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); } }
Grüsse
- boxerfahrer
Einen Kommentar schreiben:
-
oderCode:if ($kuechentaster->state_changed) { do_something }
Je nachdem, was du machen möchtest...Code:if ($kuechentaster->state eq 'on') { do_something }
Ja, Variablen sind im Userscript persistent.
Gruß,
thoern
Einen Kommentar schreiben:
-
persistenz
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?
Merci für Eure Hilfe
- boxerfahrer
Einen Kommentar schreiben:
-
die Taste ist rechts, neben dem "Ä"...
über AltGr kannnst du das 3. Zeichern erreichen, so wie ² oder ³ oder |....
Einen Kommentar schreiben:
-
Hoi Thomas
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...
Einen Kommentar schreiben:
-
Naja... das ist jetzt wirklich keine Perl-Besonderheit:Zitat von Bodo Beitrag anzeigenHoi Michael
Perl ist die Seuche ...
Gruß,Code:octopus:~# echo $SHELL /bin/bash octopus:~# x=6 octopus:~# echo $x 6 octopus:~# echo "$x" 6 octopus:~# echo '$x' $x octopus:~#
thoern
Einen Kommentar schreiben:
-
Hoi MichaelZitat von makki Beitrag anzeigenIn single-quotes werden variablen nicht ausgewertet.
Perl ist die Seuche ...
Einen Kommentar schreiben:
-
In single-quotes werden variablen nicht ausgewertet.
Also
ergibtCode:my $wert = 17; print "Wert = $wert";
Code:Wert = 17
ergibtCode:print 'Wert = $wert';
HTH,Code:Wert = $wert
Makki
Einen Kommentar schreiben:
-
Hallo Thoern,
ne, aufgeben gilt nicht :-) Ich habe momentan einfach viel auf der Arbeit zu tun und zwei kleine Kinder zuhause, die mich abends nicht aus den Augen lassen.
Ich habe die Frage mit den single-Quotes nicht verstanden - liegt wohl daran dass ich sicherlich kein perl Experte bin.
Viele Grüße
-boxerfahrer
Einen Kommentar schreiben:
-
Ach ja,
ist das Absicht, dass '$socket' in Single-Quotes steht - weiss nicht genau, was du da bezweckst, wird in dem Fall halt nicht interpoliert, vielleicht möchtest du aber genau das tun....?!
Gruß,
thoern
Einen Kommentar schreiben:
-
Hi,
zwecks Doku kann ich dich in diesem Fall auch nur auf die Misterhouse-Doku verweisen. Das hat alles nichts mit MisterEIB zu tun.
Aus der Ferne, kann ich dir hier wohl kaum weiterhelfen - Debuggen ist angesagt
Gruß,
thoern
Einen Kommentar schreiben:


Einen Kommentar schreiben: