Hauptmenü

Logikproblem

Begonnen von Guest, 26 September 2011, 21:55:08

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,

ich brauche mal den Rat von Experten. Ich versuche mich gerade an
einer  etwas komplizierten Schaltung.
Ich möchte mit einer Taste an der Fernbedienung erst Lampe 1
einschalten, dann beim nächsten Tastendruck Lampe 2 dazuschalten und
beim nächsten Tastendruck beide ausschalten.
Einer meiner vielen Lösungsansätze, die alle nicht gezündet haben,
war:

define MyNotify notify Fernbedienung:Btn2.on.* {if(Value("L1") == "on"
&& Value("L2") == "on") {fhem "set L1,L2 off"} elseif(Value("L1") ==
"on" && Value("L2") == "off") {fhem "set L2 on"} else{fhem "set L1
on"}}

Was mache ich da falsch?

Viele Grüße,

RueBe

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi Rübe,

ich kenn mich mit Perl nicht aus, aber ich würde da noch ein paar Klammern reinverteilen:


if (Value("L1") == "on" && Value("L2") == "on")

->

if ( (Value("L1") == "on") && (Value("L2") == "on") )

Außerdem finde ich's etwas kompliziert - ich würde das vielleicht so machen (Pseudo-Perl ;-)):

if (lampe1 == off)
{
   set lampe1 on;

} elseif(lampe2 == off){

   set lampe2 = on;

} else {
   set lampe1,lampe2 off;
}


andy

Am 26.09.2011 um 21:55 schrieb Ruebezahl:

> Hallo,
>
> ich brauche mal den Rat von Experten. Ich versuche mich gerade an
> einer  etwas komplizierten Schaltung.
> Ich möchte mit einer Taste an der Fernbedienung erst Lampe 1
> einschalten, dann beim nächsten Tastendruck Lampe 2 dazuschalten und
> beim nächsten Tastendruck beide ausschalten.
> Einer meiner vielen Lösungsansätze, die alle nicht gezündet haben,
> war:
>
> define MyNotify notify Fernbedienung:Btn2.on.* {if(Value("L1") == "on"
> && Value("L2") == "on") {fhem "set L1,L2 off"} elseif(Value("L1") ==
> "on" && Value("L2") == "off") {fhem "set L2 on"} else{fhem "set L1
> on"}}
>
> Was mache ich da falsch?
>
> Viele Grüße,
>
> RueBe
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Was mache ich da falsch?

nicht einruecken :) Und uns nicht sagen, was "nicht gezündet" heisst.

Sonst sehe ich
- elseif, was man in perl als elsif zu schreiben hat.
- == prueft auf numeriche Gleichheit, strings prueft man mit eq

Solche Probleme muss man zerlegen und Schritt-fuer-schritt loesen, so wie es in
http://fhem.de/commandref.html#perl beschrieben ist.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ich sehe schon, ich werde mich doch tiefer mit Perl beschäftigen
müssen...  :-))

Also so geht es:
define MyNotify notify Taster:Btn1.on.* {if(Value("L1") eq "off" &&
Value("L2") eq "off") {fhem "set L1 on"} elsif(Value("L1") eq "on" &&
Value("L2") eq "off") {fhem "set L2 on"} else{fhem "set L1,L2 off"}}

Dann wird erst L1 eingeschaltet, beim nächsten Tastendruck L2
dazugeschaltet und beim 3. Tastendruck werden beide ausgeschaltet.

Danke Rudolf, deine Hinweise haben echt geholfen.




On 27 Sep., 16:53, Rudolf Koenig wrote:
> > Was mache ich da falsch?
>
> nicht einruecken :) Und uns nicht sagen, was "nicht gez ndet" heisst.
>
> Sonst sehe ich
> - elseif, was man in perl als elsif zu schreiben hat.
> - == prueft auf numeriche Gleichheit, strings prueft man mit eq
>
> Solche Probleme muss man zerlegen und Schritt-fuer-schritt loesen, so wie es inhttp://fhem.de/commandref.html#perlbeschrieben ist.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Aber zum einrücken könnte er dich nicht bewegen :-)

Trotzdem viel dank, ist ein tolles Script, das ich sicher auch mal irgendwo
einbauen werde.

Gruß,
Christian
Am 27.09.2011 21:11 schrieb "Ruebezahl" :
> Ich sehe schon, ich werde mich doch tiefer mit Perl beschäftigen
> müssen... :-))
>
> Also so geht es:
> define MyNotify notify Taster:Btn1.on.* {if(Value("L1") eq "off" &&
> Value("L2") eq "off") {fhem "set L1 on"} elsif(Value("L1") eq "on" &&
> Value("L2") eq "off") {fhem "set L2 on"} else{fhem "set L1,L2 off"}}
>
> Dann wird erst L1 eingeschaltet, beim nächsten Tastendruck L2
> dazugeschaltet und beim 3. Tastendruck werden beide ausgeschaltet.
>
> Danke Rudolf, deine Hinweise haben echt geholfen.
>
>
>
>
> On 27 Sep., 16:53, Rudolf Koenig wrote:
>> > Was mache ich da falsch?
>>
>> nicht einruecken :) Und uns nicht sagen, was "nicht gez ndet" heisst.
>>
>> Sonst sehe ich
>> - elseif, was man in perl als elsif zu schreiben hat.
>> - == prueft auf numeriche Gleichheit, strings prueft man mit eq
>>
>> Solche Probleme muss man zerlegen und Schritt-fuer-schritt loesen, so wie
es inhttp://fhem.de/commandref.html#perlbeschrieben ist.
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Zrrronggg!

                                                     

Finde ich auch gut, packe ich nächste Woche ins Wiki.

On 28 Sep., 20:31, Christian Rockrohr wrote:
> Aber zum einrücken könnte er dich nicht bewegen :-)
>
> Trotzdem viel dank, ist ein tolles Script, das ich sicher auch mal irgendwo
> einbauen werde.
>
> Gruß,
> Christian
> Am 27.09.2011 21:11 schrieb "Ruebezahl" :
>
>
>
>
>
>
>
> > Ich sehe schon, ich werde mich doch tiefer mit Perl beschäftigen
> > müssen... :-))
>
> > Also so geht es:
> > define MyNotify notify Taster:Btn1.on.* {if(Value("L1") eq "off" &&
> > Value("L2") eq "off") {fhem "set L1 on"} elsif(Value("L1") eq "on" &&
> > Value("L2") eq "off") {fhem "set L2 on"} else{fhem "set L1,L2 off"}}
>
> > Dann wird erst L1 eingeschaltet, beim nächsten Tastendruck L2
> > dazugeschaltet und beim 3. Tastendruck werden beide ausgeschaltet.
>
> > Danke Rudolf, deine Hinweise haben echt geholfen.
>
> > On 27 Sep., 16:53, Rudolf Koenig wrote:
> >> > Was mache ich da falsch?
>
> >> nicht einruecken :) Und uns nicht sagen, was "nicht gez ndet" heisst.
>
> >> Sonst sehe ich
> >> - elseif, was man in perl als elsif zu schreiben hat.
> >> - == prueft auf numeriche Gleichheit, strings prueft man mit eq
>
> >> Solche Probleme muss man zerlegen und Schritt-fuer-schritt loesen, so wie
>
> es inhttp://fhem.de/commandref.html#perlbeschriebenist.
>
>
>
>
>
>
>
>
>
> > --
> > To unsubscribe from this group, send email to
> > fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL