Licht per Fernbedienung an, aber erst bei Dämmerung

Begonnen von Guest, 20 Februar 2012, 23:36:25

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,
ich weiß nicht, ob sowas schon gepostet wurde, hab aber so erst mal
nichts gefunden. Bin neu in der FHEM-Gemeinde und mit Scripting hab
ichs auch nicht so.
Folgendes. Ich möchte per Logitech Harmony das Licht hinter meinem
Fernseher einschalten. Ist ja so kein Thema.

define WZ_Logitech1Notify notify WZ_Logitech1 set WZ_Lamp1 %

Das soll aber erst geschehen, wenn der Dämmerungssschalter draußen
sagt, daß es dunkel ist.

Da ich mit der Harmony auch Aktionen (Fernsehen) schalte wie z.B.:
- Fernseher an
- Receiver an
...
- Lampe an
bekommt die Zentrale schon ein "Ein"-Signal. Da es evtl. aber draußen
noch nicht dunkel genug ist, schaltet die Lampe im o.g. Szenario nicht
ein. Ohne ein nochmaliges Einschalten an der Harmony, soll dann das
Licht bei der entsprechenden Dunkelheit einschalten. Ist das möglich?
Wer kann mir so ein Skript zur Verfügung stellen?

Besten Dank im Voraus...!

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

Zrrronggg!

                                                     

Grob:

define Dunkel_Licht_an notify MyDaemmerungsschalter { if
("$value{MyDaemmerungsschalter }" eq "off" &&
("$value{FernseherSchalter}" ne "off") { fhem("WZ_Lamp1 on") } }

Ich weiss nicht, was dein Dämmerungschalter genau macht. Ich habe
jetzt mal angenommen, dass der bei Unterschreiten der
Dämmerugnsschwelle auf OFF schaltet. Sonst passend umbauen. Der Rest
checkt, ob der Fernsher an ist (ich nehme dabei an, dass der mittels
eines FHEM bekannten Schalters angemacht wird. Sollte das nicht der
Fall sein, musst du paar mehr Details deines Setups hier
reinschreiben)

Disclaimer: Bin selber Anfänger. Ungetestete Ideendiarrhoe.









On 20 Feb., 23:36, DerTom wrote:
> Hallo,
> ich weiß nicht, ob sowas schon gepostet wurde, hab aber so erst mal
> nichts gefunden. Bin neu in der FHEM-Gemeinde und mit Scripting hab
> ichs auch nicht so.
> Folgendes. Ich möchte per Logitech Harmony das Licht hinter meinem
> Fernseher einschalten. Ist ja so kein Thema.
>
> define WZ_Logitech1Notify notify WZ_Logitech1 set WZ_Lamp1 %
>
> Das soll aber erst geschehen, wenn der Dämmerungssschalter draußen
> sagt, daß es dunkel ist.
>
> Da ich mit der Harmony auch Aktionen (Fernsehen) schalte wie z.B.:
> - Fernseher an
> - Receiver an
> ...
> - Lampe an
> bekommt die Zentrale schon ein "Ein"-Signal. Da es evtl. aber draußen
> noch nicht dunkel genug ist, schaltet die Lampe im o.g. Szenario nicht
> ein. Ohne ein nochmaliges Einschalten an der Harmony, soll dann das
> Licht bei der entsprechenden Dunkelheit einschalten. Ist das möglich?
> Wer kann mir so ein Skript zur Verfügung stellen?
>
> Besten Dank im Voraus...!

--
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

Guest

Originally posted by: <email address deleted>

Hi, Danke, passt aber nicht...mehr zum Setup:

Ich habe eine Logitech Harmony One die über einen FS20 IRU on/off
sendet: "WZ_Logitech1" Wenn diese einschaltet, soll in Abhängigkeit
eines Dämmerungssensors "HOF_Daemm1" (bei Dunkelheit: on) ein FS20 ST
"WZ_Lamp1" auf on gehen. Wenn  "WZ_Logitech1" auf off geht und/oder
"HOF_Daemm1" ebenfalls auf off (wegen Helligkeit) soll "WZ_Lamp1" auf
off gehen.

Ebenfalls bin ich noch ein wenig am Syntax-Büffeln. Dein Notify habe
ich entsprechend meines o.g. Setups mal angepasst.

define Dunkel_Licht_an notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
"on") && ("$value{WZ_Logitech2}" eq "on") { fhem("WZ_Lamp1 on") } }

Funktioniert aber nicht. Wenn ich trenne:

define Dunkel_Licht_an notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
"on") { fhem("set WZ_FS_1 on") } }
define Dunkel_Licht_an notify WZ_Logitech2 {if("$value{WZ_Logitech2}"
eq "on") { fhem("set WZ_FS_1 on") } }

laufen die einzelnen Befehle problemlos...Geschweigedenn, daß das
ganze auch noch ausgeschaltet werden solte (s.o.)...

Bin rat- und hilflos...




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

Zrrronggg!

                                                     

> define Dunkel_Licht_an notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
> "on") && ("$value{WZ_Logitech2}" eq "on") { fhem("WZ_Lamp1 on") } }
>
> Funktioniert aber nicht.

Hm. Sehe gerade das Problem auch nicht.

Oder... Moment... setze mal bitte anstatt
fhem("WZ_Lamp1 on")
fhem("set WZ_Lamp1 on")

Wenn es das nicht war, dann versuch mal folgende Alternative:

define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } }

Wenn das geht, dann zusätzlich Licht aus, wenn die Logitech OFF ist
durch hinzufügen von ELSE:

define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } else }
{ fhem("set WZ_Lamp1 off")

Und zuletzt Licht auschalten, wenn HOF_Daemm_1 auf OFF schaltet, es
also zu hell ist:

define Dunkel_Licht_aus notify HOF_Daemm_1:off set WZ_Lamp1 off

--
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

Zrrronggg!

                                                     

äh...

define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } else }
{ fhem("set WZ_Lamp1 off")

is quatsch, ich meinte:


define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } else
{ fhem("set WZ_Lamp1 off") }}


Ist schon spät. Sorry.

On 22 Feb., 00:00, "Zrrronggg!" wrote:
> > define Dunkel_Licht_an notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
> > "on") && ("$value{WZ_Logitech2}" eq "on") { fhem("WZ_Lamp1 on") } }
>
> > Funktioniert aber nicht.
>
> Hm. Sehe gerade das Problem auch nicht.
>
> Oder... Moment... setze mal bitte anstatt
> fhem("WZ_Lamp1 on")
> fhem("set WZ_Lamp1 on")
>
> Wenn es das nicht war, dann versuch mal folgende Alternative:
>
> define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
> ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } }
>
> Wenn das geht, dann zusätzlich Licht aus, wenn die Logitech OFF ist
> durch hinzufügen von ELSE:
>
> define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
> ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } else }
> { fhem("set WZ_Lamp1 off")
>
> Und zuletzt Licht auschalten, wenn HOF_Daemm_1 auf OFF schaltet, es
> also zu hell ist:
>
> define Dunkel_Licht_aus notify HOF_Daemm_1:off set WZ_Lamp1 off

--
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

Guest

Originally posted by: <email address deleted>

> define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
> ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } else
> { fhem("set WZ_Lamp1 off") }}
>
> Ist schon spät. Sorry.

neenee, kein Sorry. Bin ja froh, daß mich hier jemand unterstützt. Das
mit dem fehlenden "set" ist mir scon aufgefallen gewesen.

define Dunkel_Licht_an notify HOF_Daemm_1:on.* {if
("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_Lamp1 on") } }

hatte ich auch schon probiert. Geht auch nicht. Die unterschiedlichen
Schaltzustände on / off habe ich mit % versucht, und es ging,
allerdings ohne weitere Bedingung HOF_Daemm_1:

define Dunkel_Licht_an notify WZ_Logitech2 {if("$value{WZ_Logitech2}"
eq "%") { fhem("set WZ_Lamp1 %") } }

Ich schaffe es einfach nicht, die zweite Bedingung zum Laufen zu
bringen...Im Log steht auch nur
FS20 WZ_Logitech2 on.
Kein Fehler...





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

Guest

Originally posted by: <email address deleted>

Halt,
wenn ich eine andere Steckdosenleiste "WZ_FS_1" ins Spiel bringe, geht
es nun doch. (Liegts am Dämmerungssschalter?)

define Dunkel_Licht_an notify WZ_Logitech2:on.* {if("$value{WZ_FS_1}"
eq "on") { fhem("set WZ_Lamp1 on") } }
Hab jetzt aber keine Lust weiter zu machen...

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

Zrrronggg!

                                                     

Sendet der Dämmerungsschalter garantiert ein "on" wenns dunkel wird?
Müsste im Log zu sehen sein.

On 22 Feb., 23:45, DerTom wrote:
> Halt,
> wenn ich eine andere Steckdosenleiste "WZ_FS_1" ins Spiel bringe, geht
> es nun doch. (Liegts am Dämmerungssschalter?)
>
> define Dunkel_Licht_an notify WZ_Logitech2:on.* {if("$value{WZ_FS_1}"
> eq "on") { fhem("set WZ_Lamp1 on") } }
> Hab jetzt aber keine Lust weiter zu machen...

--
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

Guest

Originally posted by: <email address deleted>

Ich hab jetzt alles so wie ich es möchte. Es lag wirklich nur am
Dämmerungsschalter oder es hat geholfen, daß ich meine FritzBox
nochmal durchgestartet habe. Alles in allem hab ich es mit 4 define-
Befehlen durch...(Die Stecksodenleiste hab ich mal umgestellt auf
WZ_FS_1)

define FS_Licht_an_1 notify WZ_Logitech2:on.* {if("$value{HOF_Daemm1}"
eq "on") { fhem("set WZ_FS_1 on") } }
define FS_Licht_an_2 notify HOF_Daemm1:on.* {if("$value{WZ_Logitech2}"
eq "on") { fhem("set WZ_FS_1 on") } }

define FS_Licht_aus_1 notify WZ_Logitech2:off.*
{if("$value{HOF_Daemm1}" eq "on") { fhem("set WZ_FS_1 off") } }
define FS_Licht_aus_2 notify HOF_Daemm1:off.*
{if("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 off") } }

Wüste nicht, wie ich das noch straffen könnte.

Ich danke Dir recht herzlich für die Unterstützung, hab dabei einiges
gelernt. (Syntax)...

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

Zrrronggg!

                                                     

Wenns geht: schonmal super.


Aber okay, mal sehen...


> define FS_Licht_aus_1 notify WZ_Logitech2:off.*
> {if("$value{HOF_Daemm1}" eq "on") { fhem("set WZ_FS_1 off") } }
> define FS_Licht_aus_2 notify HOF_Daemm1:off.*
> {if("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 off") } }

Hm. Das ist meiner Aufassung nach unnoetig kompliziert und macht
vermutlich auch nicht was du willst.
Im ersten Fall passiert naemlich folgendes: Wenn du die Fernbedienung
auschaltest und der Daemmerungschalter auf OFF ist, bleibt das Licht
an, obwohl es draussen hell ist.

Das hast du auch schon bemerkt und das mit dem zweiten Teil
abgefangen.
Da ist wieder das Problem, das das Licht an bleibt, wenn es draussen
hell wird, aber die Fernbedienung auf AUS steht. Und das ist ja sicher
wiedersinnig. Das Gesammtbild ist aber okay, da die beiden sicher
ergaenzen.
Aber ich meine das geht einfacher,

Du willst ja, dass das Licht ausgeht, wenn es hell wird oder du das
Licht mit der Fernbedienung aus machst.
Wenn hier in jedem Falle ausgeschaltet werden soll, kannst du dir die
if Abfrage schenken.

das führt zu:

define FS_Licht_aus_1 notify WZ_Logitech2:off.* { fhem("set WZ_FS_1
off") }

define FS_Licht_aus_2 notify HOF_Daemm1:off.* { fhem("set WZ_FS_1
off") }



Da hier eigentlich kein Perl Kram gebraucht wird, müsste auch

define FS_Licht_aus_1 notify WZ_Logitech2:off.* set WZ_FS_1 off

und

define FS_Licht_aus_2 notify HOF_Daemm1:off.* set WZ_FS_1 off

gehen.



Meiner Auffassung nach ginge das ganze auch in nur 2 notifys. Ob das
aber besser ist ist ne andere Frage, uebersichtlicher wird's
jedenfalls nicht. Naemlich:

define FS_Licht_an_1 notify WZ_Logitech2 {if("$value{HOF_Daemm_1}" eq
"on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
else { fhem("set WZ_FS_1 off")}}

define FS_Licht_an_2 notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
"on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
else { fhem("set WZ_FS_1 off")}}

Beachte, dass ich hier  on und on.* gleich verwendet habe.
on.*
kann man optional verwenden, um das ganze etwas robuster zu machen.
on.*  fängt nämlich auch
on-for-timer
(und on-old-for-time etc.)
ab.

Also:

("$value{WZ_Logitech2}" eq "on")

bei on = TRUE
bei on-for-timer = FALSE

("$value{WZ_Logitech2}" eq "on.*")

bei on = TRUE
bei on-for-timer = TRUE

Noch sicherer ist, nach dem Gegenteil zu testen:
("$value{WZ_Logitech2}" ne "off")

ist bei allem TRUE (auch dimup und so Kram) ausser bei off.

In deiner Situation ist das sicher egal, aber wer FS20 Fernbedienungen
benutzt ist damit gut bedient, weil man da ja gerne mal den Hauch zu
lange draufdrueckt, und dann sendet die dimup und dann scheitert die
Abfrage.

Man hat zwar den richtigen Knopf gedrueckt, aber nix passiert. Das ist
insbesondere ein WAF Problem, denn was macht der FS20- Laie, wenn nix
passiert? Richtig: Doller und laenger druecken...






> Ich danke Dir recht herzlich für die Unterstützung, hab dabei einiges
> gelernt. (Syntax)...

:-)

--
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

Guest

Originally posted by: <email address deleted>

Hi,

hatte eigentlich alles durchgetestet...

> > define FS_Licht_aus_1 notify WZ_Logitech2:off.*
> > {if("$value{HOF_Daemm1}" eq "on") { fhem("set WZ_FS_1 off") } }
> > define FS_Licht_aus_2 notify HOF_Daemm1:off.*
> > {if("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 off") } }
>
> Hm. Das ist meiner Aufassung nach unnoetig kompliziert und macht
> vermutlich auch nicht was du willst.

Meiner Meinung nach doch...

> Im ersten Fall passiert naemlich folgendes: Wenn du die Fernbedienung
> auschaltest und der Daemmerungschalter auf OFF ist, bleibt das Licht
> an, obwohl es draussen hell ist.

Wieso sollte ich an der FB ausschalten. Das Licht kann ich doch gar
nicht einschalten. Es ist ja hell draussen...Aber Recht hättest Du.
Auch wenn der Fall nicht eintreten wird.

> Das hast du auch schon bemerkt und das mit dem zweiten Teil
> abgefangen.

Das habe ich nur eingestellt, damit, sollte man FS schauen bis es hell
wird (hab ich zwar noch nicht gemacht, aber...), dann die Lampe
ausgeht

> Aber ich meine das geht einfacher,

meine ich auch...

> das führt zu:
>
> define FS_Licht_aus_1 notify WZ_Logitech2:off.* { fhem("set WZ_FS_1
> off") }
> define FS_Licht_aus_2 notify HOF_Daemm1:off.* { fhem("set WZ_FS_1
> off") }
> define FS_Licht_aus_1 notify WZ_Logitech2:off.* set WZ_FS_1 off
> und
> define FS_Licht_aus_2 notify HOF_Daemm1:off.* set WZ_FS_1 off
> gehen.

genau

> Meiner Auffassung nach ginge das ganze auch in nur 2 notifys. Ob das
> aber besser ist ist ne andere Frage, uebersichtlicher wird's
> jedenfalls nicht. Naemlich:
>
> define FS_Licht_an_1 notify WZ_Logitech2 {if("$value{HOF_Daemm_1}" eq
> "on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
> else { fhem("set WZ_FS_1 off")}}
>
> define FS_Licht_an_2 notify HOF_Daemm_1 {if("$value{HOF_Daemm_1}" eq
> "on") && ("$value{WZ_Logitech2}" eq "on") { fhem("set WZ_FS_1 on")}
> else { fhem("set WZ_FS_1 off")}}

Das erinnert mich an manche Access-Abfragen in meinen
Anfangstagen...;-)

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