zeitverzögertes schalten mit notify

Begonnen von Franz Tenbrock, 21 Juni 2017, 18:49:00

Vorheriges Thema - Nächstes Thema

Franz Tenbrock

hab di selbst zusammengebaut,
scheint Unterschiede zu geben
erst mal Nr 4 anschrauben...

wollte ne foscam C1 nehmen, die ist aber beim IPcam Modul echt zickig...
abermein Smart home wird immer besser.
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

amenomade

Nachteil von "defmod": da wird eine Änderung in der Config gemacht => ein Frageszeichen kommt dann nach "Save config" in der Weboberfläsche.

Hast Du mit DOIF probiert?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Franz Tenbrock

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

ok
schwere Materie, mächtiges tool, ewig lange Erklärungen in der commandref

das Beispiel hier trifft ja wohl einen Teil meines Problems
Im Grunde genommen müssen ja beide Schalter sowol das Relais im Keller als auch das Relais für die Lampe on bleiben solange sich jemand draussen bewegt. da ich nun 2 Bewegunsmelder habe die dafür sorgen solle das das Licht an bleibt ....
aber erst mal einfach mit einem Bewegungssensor.



Die Nachbildung eines on-for-timers lässt sich wie folgt realisieren:

define di_on_for_timer ([detector:"motion"])
(set light on)
(set light off)
attr di_on_for_timer do resetwait
attr di_on_for_timer wait 0,30

Hiermit wird das Licht bei Bewegung eingeschaltet. Dabei wird, solange es brennt, bei jeder Bewegung die Ausschaltzeit neu auf 30 Sekunden gesetzt, "set light on" wird dabei nicht unnötig wiederholt.

Die Beispiele stellen nur eine kleine Auswahl von möglichen Problemlösungen dar. Da sowohl in der Bedingung (hier ist die komplette Perl-Syntax möglich), als auch im Ausführungsteil, keine Einschränkungen gegeben sind, sind die Möglichkeiten zur Lösung eigener Probleme mit Hilfe des Moduls sehr vielfältig.

so nun den Code den du mir gegeben hast

define diGarten DOIF ([motion_Garten:"motion"] and [?motion_Garten:brightness] < 234)
  (set Gartenlichtrelais on-for-timer 240)
  (set LED.* on-for-timer 180)

attr diGarten wait 0,15
attr diGarten do always


motion_Garten:"motion"
"motion" ist das Event es bewegt sich was

[?motion_Garten:brightness] < 234   ## Helligkeit kleiner 234   

Werden Status, Readings, Internals und Zeitangaben in der Bedingung mit einem Fragezeichen eingeleitet, triggern sie nicht.

es bewegt sich was und es ist nicht heller als 234
muss dann nicht ein > Zeichen vor die Helligkeit es soll doch nur angehen wenn es dunkel ist


  (set Gartenlichtrelais on-for-timer 240)       ####schaltet Relais im Keller für 240 Sekunden ein
  (set LED_50 on-for-timer 180)                ######  schaltet LED_50 im Garten ein

attr diGarten wait 0,15          ## führt den 1.setBefehl sofort aus und wartet mit dem 2. set Befehl 15 Sekunden
attr diGarten do always


Hab ich es vom Prinzip richtig verstanden ?
sehr umfangreiches Tool
man o man
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Damian

ZitatHab ich es vom Prinzip richtig verstanden ?

ja :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Franz Tenbrock

#20
ok funktioniert

und die fhem.cfg kann ich auch wieder editieren ( ist zwar verpönt .. )

etwas Feintuning brauchts noch..
Helligkeit zb jusitieren , Bewegungsmelder optimal ausrichten zb

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

was soll das hier im log?

eval: Terasse_Motion_Licht_an: warning in condition c01
2017.06.25 08:40:11 3: CUL_HM set Gartenlichtrelais on-for-timer 120
2017.06.25 08:40:26 3: CUL_HM set LED_50 on-for-timer 19
2017.06.25 08:42:16 1: PERL WARNING: Argument "off" isn't numeric in numeric lt (<) at (eval 8802) line 1.
2017.06.25 08:42:16 3: eval: Garten_Motion_Licht_an: warning in condition c01
2017.06.25 08:42:16 3: CUL_HM set Gartenlichtrelais on-for-timer 40
2017.06.25 08:42:31 3: CUL_HM set LED_50 on-for-timer 10
2017.06.25 08:45:24 1: PERL WARNING: Argument "off" isn't numeric in numeric lt (<) at (eval 8868) line 1.
2017.06.25 08:45:24 3: eval: Terasse_Motion_Licht_an: warning in condition c01
2017.06.25 08:45:24 3: CUL_HM set Gartenlichtrelais on-for-timer 120
2017.06.25 08:45:39 3: CUL_HM set LED_50 on-for-timer 19



die Definition die aktuell ist

################################################
######## Bewegungsmelder Garten
################################################

define motion_Garten CUL_HM 379D47
attr motion_Garten IODev hmusb
attr motion_Garten actCycle 000:10
attr motion_Garten actStatus alive
attr motion_Garten autoReadReg 4_reqStatus
attr motion_Garten expert 2_raw
attr motion_Garten firmware 1.6
attr motion_Garten model HM-Sen-MDIR-O
attr motion_Garten peerIDs 00000000,
attr motion_Garten room CUL_HM,Garten
attr motion_Garten serialNr MEQ0247521
attr motion_Garten subType motionDetector

define FileLog_motion_Garten FileLog ./log/motion_Garten-%Y.log motion_Garten
attr FileLog_motion_Garten logtype text
attr FileLog_motion_Garten room CUL_HM

###          Bewegungsmelder Garten schaltet Relais im Keller ein

define Garten_Motion_Licht_an DOIF ([motion_Garten:motion] and [?motion_Garten:motion] < 234)\
  (set Gartenlichtrelais on-for-timer 40)\
  (set LED_50 on-for-timer 10)
attr Garten_Motion_Licht_an do always
attr Garten_Motion_Licht_an room Garten
attr Garten_Motion_Licht_an wait 0,15

################################################
######## Bewegungsmelder Terasse
################################################

define motion_Terasse CUL_HM 379F4D
attr motion_Terasse IODev hmusb
attr motion_Terasse actCycle 000:10
attr motion_Terasse actStatus alive
attr motion_Terasse autoReadReg 4_reqStatus
attr motion_Terasse expert 2_raw
attr motion_Terasse firmware 1.6
attr motion_Terasse model HM-Sen-MDIR-O
attr motion_Terasse peerIDs 00000000,
attr motion_Terasse room CUL_HM,Garten
attr motion_Terasse serialNr MEQ0247377
attr motion_Terasse subType motionDetector
define FileLog_motion_Terasse FileLog ./log/motion_Terasse-%Y.log motion_Terasse
attr FileLog_motion_Terasse logtype text
attr FileLog_motion_Terasse room CUL_HM

###          Bewegungsmelder Garten schaltet Relais im Keller ein

define Terasse_Motion_Licht_an DOIF ([motion_Terasse:motion] and [?motion_Terasse:motion] < 234)\
  (set Gartenlichtrelais on-for-timer 120)\
  (set LED_50 on-for-timer 19)
attr Terasse_Motion_Licht_an do always
attr Terasse_Motion_Licht_an room Garten
attr Terasse_Motion_Licht_an wait 0,15


cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Damian

ZitatPERL WARNING: Argument "off" isn't numeric in numeric lt (<) at (eval 8802) line 1.
2017.06.25 08:42:16 3: eval: Garten_Motion_Licht_an: warning in condition c01

Der Interpreter sagte es dir:

übersetzt: in der ersten Bedingung vergleichst du "off" mit einer Zahl mit Hilfe des "kleiner"-Zeichens - das geht nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Franz Tenbrock

#23
[?motion_Garten:motion] < 234)
meinst du diese Bedingung ?, da geht es ja darum nur zu schalten wenn es dunkel ist ( natürlich mit anderem Wert )

aber müsste da nicht so was stehen wie:
[?motion_Garten:brightness] < 234)

war es doch andersrum
>

tja
wenn man so was nicht öfter macht

muss die Bewegungsmelder noch anders platzieren, bei Wind stören scheinbar die Bäume,lösen aus obwohl kein Tier oder Mensch in der Nähe ist, aber im Ansatz läuft es ja schon mal ganz gut

und wie immer super Unterstützung
Danke !!!!!
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

amenomade

Zitat[?motion_Garten:motion] < 234)
meinst du diese Bedingung ?, da geht es ja darum nur zu schalten wenn es dunkel ist ( natürlich mit anderem Wert )

Dunkelheit wird nicht durch "motion" Reading gemeldet, sondern durch brightness... Klar wäre[?motion_Garten:brightness] < 234)viel besser ... wie ich es hieroben eigentlich geschrieben hatte...!
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Franz Tenbrock

#25
schit
Asche auf mein Haupt
da ist was bei copy paste daneben gegangen...
kam mir aber dann auch selbst schon komisch vor
Problem ist aber das aus irgendeinem Grunde das Ding ständig an und aus geht.

hab das Relais im Keller rausgenommen, ist ständig an

also nur Reaktion auf motion dann direkt Lampe an

bekomme das Ding aber nicht so plaziert das es sauber schaltet,
geht bei dem Wind ständig an, wenn das in der Nacht passiert sind die Nachbarn sauer
das kann noch lustig werden


so hmlan nur noch in den overload  >:(
erst mal aufräumen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

was merkwürdig ist das mit doif ich das Problem hatte das der sensor ständig die Lampe aktivierte ..
jetzt auf notify wieder umgestellt wie am Anfang aber ohne defmod,
bei beiden direktes Ansprechen der LED_50 also ohne Relais im Keller
und bei notify istnun Ruhe, geht nur an wenn ich vorbeigehe


mal sehen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

amenomade

Zitatwas merkwürdig ist das mit doif ich das Problem hatte das der sensor ständig die Lampe aktivierte ..
Ja klar. War das nicht gewünscht? Ein on-for-timer sollte bei jeder Bewegung verlängert werden, oder?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Franz Tenbrock

ja
ist schon ok wenn ich mich im Bereich bewege
aber das ging fortlaufend so, die Lampe ging an und aus obwohl niemand in dem Bereich war
und der hmlan war ständig im overload

ob es nun an dem doif lag ist eher akademischer Natur, kann es ja am nächsten WE noch mal ausprobieren,
so ging es aber nicht, unsere armen Nachbarn, oder alles abschalten

ein weiteres Problem ist das die Reichweite der HM Bewegungsmelder nicht alzu groß ist

also noch einiges an Arbeit bis es so läuft wie gewünscht

Frage ist auch
der HM8 Empfänger sollte eigentlich nicht immer aktiv sein, wollte den Garten Licht Stromkreis eigentlich vom Keller aus ausschalten
dh wenn Gartenlichtrelais an wird der HM8 aktiviert also mit Strom versorgt, ca 15 Sekunden später ist er in FHEM
ev macht das ja auch Probleme

wie immer alles nicht so trivial wenn man nicht vom Fach ist
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi