Hallo,
ich versuche mir einen Schalter in den Floorplan einzubauen, den ich bei Gelegenheit drücken kann und dann z.B. sämtliches Licht ausgeschaltet oder eingeschaltet wird.
Ich habe es mit
define alle_Lampen structure room WC_EG_Lampe WZ_EG_1_switch WZ_EG_2_switch WZ_EG_3_switch WZ_EG_4_switch Terrasse_Garten_Lampe Flur_Treppe_Lampe
attr alle_Lampen fp_Grundriss 320,10,1,Lichtschalter
versucht. Nur leider wird der Status beim manuellen Schalten von z.B. WC_EG_Lampe auf "undefined" gestezt. Klar ist ja logisch.
Somit habe ich mir einen dumm gebaut:
define Lichtschalter dummy
attr Lichtschalter setList on off
define alle_Lampen structure room WC_EG_Lampe WZ_EG_1_switch WZ_EG_2_switch WZ_EG_3_switch WZ_EG_4_switch Terrasse_Garten_Lampe Flur_Treppe_Lampe
attr Lichtschalter fp_Grundriss 320,10,1,
define act_Lichtschalter_aus notify Lichtschalter {\
{fhem("set alle_Lampen off")}\
}
define act_Lichtschalter_an notify Lichtschalter {\
{fhem("set alle_Lampen on")}\
}
Wenn ich den nun anklicke geht alles an (bzw. aus) und nach wenigen Sekunden läuft das gesamte Programm noch einmal und scahltet alles erneut, also wieder aus bzw. an
Wo ist mein Denkfehler?
Grüsse Björn
Ich Würde es so probieren geht sicher eleganter aber ist leichter zu Debuggen.
define Alles_Aus notify Alles:off {\
if ( Value("Fernsehen") eq "on" ) { \
fhem("set Fernsehen off");; \
} \
if ( Value("Licht_Wohnzimmer") eq "on" ) { \
fhem("set Licht_Wohnzimmer off");; \
} \
if ( Value("Licht_Schlafzimmer") eq "on" ) { \
fhem("set Licht_Schlafzimmer off");; \
} \
if ( Value("Licht_Bad") eq "on" ) { \
fhem("set Licht_Bad off");; \
} \
if ( Value("Licht_Kuche") eq "on" ) { \
fhem("set Licht_Kuche off");; \
} \
}
Gruß Markus
hab 2 schalter gemacht im Floorplan, alles aus , und alles an
so sieht das in der config aus :
define Luuchtenaus notify HomestatusLuuchten set HomeStatus 5;;set Luucht_Gang,Luucht_Kichen1,Luucht_Kichen2,Luucht_Living1,Luucht_Living2,Luucht_Living3,Luucht_Living4,Lena_Kummer,Kanner_Kummer off
hoffe das hilft.
Hi!
Dein Code:
define Lichtschalter dummy
attr Lichtschalter setList on off
define act_Lichtschalter_aus notify Lichtschalter {\
{fhem("set alle_Lampen off")}\
}
define act_Lichtschalter_an notify Lichtschalter {\
{fhem("set alle_Lampen on")}\
}
... fragt doch beide notify's gleichzeitig ab. Es müsste doch eher lauten:
define act_Lichtschalter_aus notify Lichtschalter:off.* set alle_Lampen off
define act_Lichtschalter_an notify Lichtschalter:on.* set alle_Lampen on
oder:
define act_Lichtschalter notify Lichtschalter {\
if ("%" eq "off") {fhem("set alle_Lampen off")\
} else {fhem ("set alle_Lampen on")}\
}
MfG, MisterEltako
Hallo,
ja danke das war es. Funktioniert nun wie gewünscht
Björn