Originally posted by: <email address deleted>
Hallo zusammen,
mit folgendem at schalte ich meine Heizung ein:
+*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
($value{HeizungA} eq "off") }
schick wäre es natürlich auch, wenn die Heizung abgestellt wird, wenn
kein Bedarf ist.
Mein Versuch hinten dran ein else Zeile "unterzujubeln" funktioniert
leider nicht.
+*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
($value{HeizungA} eq "off") } else { fhem("set HeizungA off") if
($value{HeizungA} eq "on")}
Wie muss if else korrekt aussehen, damit ich das gewünschte Ergebnis
erziele?
Der Status der Heizung muss abgefragt werden, da ein doppeltes on oder
off die Heizungssteuerung lahm legen würde.
http://www.tizag.com/perlT/perlif.php habe ich mir angesehen, meine
Versuche blieben leider erfolglos.
Danke für Tips und oder Hinweise
Gruß Mark
--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Originally posted by: <email address deleted>
Hi,
drei kleine Fehler sind mir aufgefallen:
- {} startet bzw. beendet die Perl-Interpretation, insofern muss else
innerhalb des Blocks stehen.
- " if" ist schön für einfache Ausdrücke, bei komplexerem Kram
ist "if (Bedingung) { Kommando }" übersichtlicher.
- else und elsif (ohne e!) beachten!
Also:
{ \
if ( a > 0 && $value eq "bla" ) { Kommando1 } \
elsif ( bla = blubb ) { Kommando2 } \
else { Kommando3 } \
}
so in etwa. ungetestet. Aber der Weg sollte imho stimmen.
Gruß,
Martin
Am 13.04.2011 22:03, schrieb Mark:
> Hallo zusammen,
>
> mit folgendem at schalte ich meine Heizung ein:
>
> +*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
> ($value{HeizungA} eq "off") }
>
> schick wäre es natürlich auch, wenn die Heizung abgestellt wird, wenn
> kein Bedarf ist.
> Mein Versuch hinten dran ein else Zeile "unterzujubeln" funktioniert
> leider nicht.
>
> +*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
> ($value{HeizungA} eq "off") } else { fhem("set HeizungA off") if
> ($value{HeizungA} eq "on")}
>
> Wie muss if else korrekt aussehen, damit ich das gewünschte Ergebnis
> erziele?
> Der Status der Heizung muss abgefragt werden, da ein doppeltes on oder
> off die Heizungssteuerung lahm legen würde.
>
> http://www.tizag.com/perlT/perlif.php habe ich mir angesehen, meine
> Versuche blieben leider erfolglos.
>
> Danke für Tips und oder Hinweise
>
> Gruß Mark
>
--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Originally posted by: <email address deleted>
Hallo Martin,
vielen Dank für Deine Tips.
Ich habe es einmal entsprechend aufgedröselt.
Bisher nur in pgm2 (2.) probiert und funktioniert einwandfrei.
Gruß Mark
1. cfg
{ \
if ((sumactuator() > 0) && ($value{HeizungA} eq "off")) { fhem("set
HeizungA on") } \
elsif ($value{HeizungA} eq "on") { fhem("set HeizungA off") } \
} \
2. in pgm2 eingegeben
+*0:00:10 {if ((sumactuator() > 0) && ($value{HeizungA} eq "off"))
{ fhem("set HeizungA on") } elsif ($value{HeizungA} eq "on")
{ fhem("set HeizungA off") }}
On 13 Apr., 22:11, marte wrote:
> Hi,
>
> drei kleine Fehler sind mir aufgefallen:
>
> - {} startet bzw. beendet die Perl-Interpretation, insofern muss else
> innerhalb des Blocks stehen.
> - " if" ist sch n f r einfache Ausdr cke, bei komplexerem Kram
> ist "if (Bedingung) { Kommando }" bersichtlicher.
> - else und elsif (ohne e!) beachten!
>
> Also:
> { \
> if ( a > 0 && $value eq "bla" ) { Kommando1 } \
> elsif ( bla = blubb ) { Kommando2 } \
> else { Kommando3 } \
>
> }
>
> so in etwa. ungetestet. Aber der Weg sollte imho stimmen.
>
> Gru ,
>
> Martin
>
> Am 13.04.2011 22:03, schrieb Mark:
>
> > Hallo zusammen,
>
> > mit folgendem at schalte ich meine Heizung ein:
>
> > +*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
> > ($value{HeizungA} eq "off") }
>
> > schick w re es nat rlich auch, wenn die Heizung abgestellt wird, wenn
> > kein Bedarf ist.
> > Mein Versuch hinten dran ein else Zeile "unterzujubeln" funktioniert
> > leider nicht.
>
> > +*0:05:00 { fhem("set HeizungA on") if (sumactuator() > 0) and
> > ($value{HeizungA} eq "off") } else { fhem("set HeizungA off") if
> > ($value{HeizungA} eq "on")}
>
> > Wie muss if else korrekt aussehen, damit ich das gew nschte Ergebnis
> > erziele?
> > Der Status der Heizung muss abgefragt werden, da ein doppeltes on oder
> > off die Heizungssteuerung lahm legen w rde.
>
> >http://www.tizag.com/perlT/perlif.phphabe ich mir angesehen, meine
> > Versuche blieben leider erfolglos.
>
> > Danke f r Tips und oder Hinweise
>
> > Gru Mark
--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.