Hauptmenü

Schalter "alles aus"

Begonnen von baumeister, 03 Februar 2013, 17:56:45

Vorheriges Thema - Nächstes Thema

baumeister

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

Markus

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
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Jumbo

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.

MisterEltako

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
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

baumeister

Hallo,

ja danke das war es. Funktioniert nun wie gewünscht

Björn