Bewegungsmelder soll zeitgesteuert schalten - FS20 PIRI-2

Begonnen von Guest, 08 September 2012, 14:11:54

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,
ich möchte gern Bewegungsmelder installieren, die Licht schalten.
 
Mein genaues Szenario ist wie folgt:

   1. Ich habe eine Lampe "Licht_Nord". Diese möchte ich manuell ein- und
   ausschalten können.
   2. Ich nutze einen FS20 PIRI-2 als Bewegungsmelder, der immer einen
   EIN-Befehl sendet, sobald sich etwas im Erfassungsbereich bewegt. Bei
   dauerhafter Bewegung wird alle 8sek. ein EIN-Befehl gesendet.
   3. Ich habe einen fiktiven Schalter "PIR_Automatik", über den ich die
   Bewegungserkennung manuell deaktivieren können möchte.
   4. Das Licht soll (sofern PIR_Automatik auf EIN) nur wenn es Dunkel ist
   eingeschaltet werden (sunset Funktion).

Hier mein bisheriger Code:
 
define PIR_Automatik FS20 dddc 01
attr PIR_Automatik dummy 1
attr PIR_Automatik model fs20st
attr PIR_Automatik room Aussen

define Licht_Nord FS20 dddd 00
attr Licht_Nord model fs20st
attr Licht_Nord room Aussen

define Bewegungsmelder_Carport FS20 dc33 00
attr Bewegungsmelder_Carport fm_type none
attr Bewegungsmelder_Carport model fs20piri
attr Bewegungsmelder_Carport room Aussen
define PIR_Carport_aus notify Bewegungsmelder_Carport:on {if
("$value{PIR_Automatik}" eq "on") {fhem("set Licht_Nord on ;; delete
PIR_Carport_aus ;; define PIR_Carport_aus at +00:00:10 set
Bewegungsmelder_Carport,Licht_Nord off") }}
Die Zeiten sind jetzt natürlich sehr kurz, aber zum Testen optimal. Das
Konstrukt funktioniert schon ein wenig. Probleme habe ich jetzt noch mit:

   1. Bei dieser Lösung sehe ich auch am Bewegungsmelder_Carport, dass eine
   Bewegung erfasst wurde, aber der Schalter bleibt auf eingeschaltet stehen,
   wenn die Automatik aus ist.
   2. Wie kann ich noch die zeitliche Abhängigkeit integrieren (sunset), so
   dass das Licht nur abends/nachts einschaltet?

Sicher kann ich den Bewegungsmelder so einstellen, dass er nur bei
bestimmter Dunkelheit überhaupt befehle sendet, aber es ist auch ganz
schön, generell zu sehen, dass sich etwas bewegt.
 
Danke für eure Hilfe.
 
 

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

Guest

Originally posted by: <email address deleted>

Ups, ich habe alten Code eingefügt. Derweil konnte ich auch das "Problem" 1
(Schalter bleibt eingesachaltet) lösen. Allerdins ist noch immer die frage
offen bzgl. der zeitlichen Abhängigkeit. Hat jemand eine Idee?
Hier der aktualisierte Code:
 
define PIR_Automatik FS20 dddc 01
attr PIR_Automatik dummy 1
attr PIR_Automatik model fs20st
attr PIR_Automatik room Aussen

define Licht_Nord FS20 dddd 00
attr Licht_Nord model fs20st
attr Licht_Nord room Aussen

define Bewegungsmelder_Carport FS20 dc33 00
attr Bewegungsmelder_Carport fm_type none
attr Bewegungsmelder_Carport model fs20piri
attr Bewegungsmelder_Carport room Aussen
define PIR_Carport_aus notify Bewegungsmelder_Carport:on {\
 if ("$value{PIR_Automatik}" eq "on") {\
  fhem "set Licht_Nord on";;\
  fhem "delete PIR_CP_aus";;\
  fhem "define PIR_CP_aus at +00:00:10 set
Bewegungsmelder_Carport,Licht_Nord off";;\
 } else {\
  fhem "delete PIR_CP_aus";;\
  fhem "define PIR_CP_aus at +00:00:30 set Bewegungsmelder_Carport off";;\
 }\
}

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

Zrrronggg!

                                                     

Zusätzlich zu if ("$value{PIR_Automatik}" eq "on") auf "nicht isday"
testen.

Zitiert aus:
www.fhem.de/Heimautomatisierung-mit-fhem-V2.pdf:

Tag und Nacht - $isday
Wenn Sie einen Bewegungsmelder haben, der aber für ein Nachtlicht nur
nachts auslösen soll, verwenden Sie die Variable $isday:
define Nachtlicht notify Bewegungsmelder {if (!$isday) {fhem(,,set
lampe on")} }

Verknüpfung zweier Abfragen per "und" durch && (Perl), ausserdem "ist
nicht" = "!"

Also in etwa (ungestestet aus'm Kopf):


define PIR_Carport_aus notify Bewegungsmelder_Carport:on {if
("$value{PIR_Automatik}" eq "on" && !$isday) {fhem("set Licht_Nord
on...

Hinweis: Laut Rudi ist $value deprecated:"$value{xxx} wird demnaechst
entfernt, bitte Value("xxx") verwenden."




On 8 Sep., 15:50, Stobor wrote:
> Ups, ich habe alten Code eingefügt. Derweil konnte ich auch das "Problem" 1
> (Schalter bleibt eingesachaltet) lösen. Allerdins ist noch immer die frage
> offen bzgl. der zeitlichen Abhängigkeit. Hat jemand eine Idee?
> Hier der aktualisierte Code:
>
> define PIR_Automatik FS20 dddc 01
> attr PIR_Automatik dummy 1
> attr PIR_Automatik model fs20st
> attr PIR_Automatik room Aussen
>
> define Licht_Nord FS20 dddd 00
> attr Licht_Nord model fs20st
> attr Licht_Nord room Aussen
>
> define Bewegungsmelder_Carport FS20 dc33 00
> attr Bewegungsmelder_Carport fm_type none
> attr Bewegungsmelder_Carport model fs20piri
> attr Bewegungsmelder_Carport room Aussen
> define PIR_Carport_aus notify Bewegungsmelder_Carport:on {\
>  if ("$value{PIR_Automatik}" eq "on") {\
>   fhem "set Licht_Nord on";;\
>   fhem "delete PIR_CP_aus";;\
>   fhem "define PIR_CP_aus at +00:00:10 set
> Bewegungsmelder_Carport,Licht_Nord off";;\
>  } else {\
>   fhem "delete PIR_CP_aus";;\
>   fhem "define PIR_CP_aus at +00:00:30 set Bewegungsmelder_Carport 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

UliM

                                                 

Hi,
kleiner Fehler in fhem für Einsteiger: heisst nicht $isday, sondern isday()
In der bald erscheinenden nächsten Version gefixt.
Gruß & viel Erfolg,
Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Super, werd ich ausprobieren.
Woher bezieht IsDay denn die Zeitpunkte?

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

Zrrronggg!

                                                     

10 Sekunden Google für dich: Sunrise (wäre auch meine Vermutung
gewesen)


> Woher bezieht IsDay denn die Zeitpunkte?

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

Hallo,

ich habe schon länger isday() in dieser Form im Einsatz zum Einschalten von
Dekoleuchten im Wohnzimmer. Leider kann man der isday()-Funktion keine
Korrekturwerte mitgeben, wie das z.B. bei sunset() oder sunrise() geht. Wie
könnte man sonst eine vorgezogenen Schlatzeitpunkt in einen Perlvergleich
einbauen, wenn isday() zu spät schaltet?


Am Mittwoch, 12. September 2012 23:35:05 UTC+2 schrieb Zrrronggg!:
>
> 10 Sekunden Google für dich: Sunrise (wäre auch meine Vermutung
> gewesen)
>
>
> > Woher bezieht IsDay denn die Zeitpunkte?
>

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

Zrrronggg!

                                                     

sunrise/sunset anstatt isday verwenden?
Zur Not selber ein Dummy (z.b. "TagNacht") erzeugen, dessen Zustand
mit sunrise/sunset + offset mit "Tag" oder "Nacht" befüllen und dann
gegen den testen. Also einen eigenes "isday" basteln.

On 27 Okt., 18:30, JuergenL wrote:
> Hallo,
>
> ich habe schon länger isday() in dieser Form im Einsatz zum Einschalten von
> Dekoleuchten im Wohnzimmer. Leider kann man der isday()-Funktion keine
> Korrekturwerte mitgeben, wie das z.B. bei sunset() oder sunrise() geht. Wie
> könnte man sonst eine vorgezogenen Schlatzeitpunkt in einen Perlvergleich
> einbauen, wenn isday() zu spät schaltet?
>
> Am Mittwoch, 12. September 2012 23:35:05 UTC+2 schrieb Zrrronggg!:
>
>
>
>
>
>
>
>
>
> > 10 Sekunden Google für dich: Sunrise (wäre auch meine Vermutung
> > gewesen)
>
> > > Woher bezieht IsDay denn die Zeitpunkte?

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

UliM

                                                 

Am Samstag, 27. Oktober 2012 18:30:25 UTC+2 schrieb JuergenL:
>
>  Wie könnte man sonst eine vorgezogenen Schlatzeitpunkt in einen
> Perlvergleich einbauen, wenn isday() zu spät schaltet?
>
>
>> Oder twilight verwenden und damit zB auf
ReadingsVal("myTwilight","light",0)<5 prüfen.
Twilight hat ggü sunset den Vorteil, dass man mehr konfigurieren kann.
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.