Hallo,
ich brauche einmal etwas Hilfe.
Im Einsatz sind ein Bewegungsmelder Eltako FABH65S und ein Actor FLC61NP230.
Beides ist in FHEM eingelernt, die Steckdose, die am Actor hängt (nur zu Testzwecken), kann ich von Fhem aus schalten und auch der Bewegungsmelder reagiert und gibt seine Werte zurück.
Im Event Monitor der Bewegungsmelder und Steckdose (Actor):
2019-03-04 18:42:40 EnOcean Bewmelder1 M: off E: 2048
2019-03-04 18:42:44 EnOcean Bewmelder1 M: on E: 2048
2019-03-04 18:52:58 EnOcean Steckdose block: unlock
2019-03-04 18:52:58 EnOcean Steckdose on
2019-03-04 18:52:58 EnOcean EnO_0196E06D buttons: pressed
2019-03-04 18:52:58 EnOcean EnO_0196E06D channelB: B0
2019-03-04 18:52:58 EnOcean EnO_0196E06D B0
2019-03-04 18:53:01 EnOcean Steckdose block: unlock
2019-03-04 18:53:01 EnOcean Steckdose off
2019-03-04 18:53:01 EnOcean EnO_0196E06D buttons: pressed
2019-03-04 18:53:01 EnOcean EnO_0196E06D channelB: BI
2019-03-04 18:53:01 EnOcean EnO_0196E06D BI
Nun möchte ich das ganze automatisieren und habe ein Notify erstellt:
define Schalter1Notify notify Bewmelder1 { if ( "$EVENT" eq "on") {fhem("set Steckdose on")} }
passieren tut nichts.
Vielleicht kann mir jemand einen Tipp geben wo der Fehler in meinen Gehirnwindungen ist oder ob ich hier total auf dem Holzwege bin.
Danke und Gruß Kuno
Nimm den Eventmonitor und markiere dort den gesamten Event. Dann sagst create Notify
Raus kommen sollte sowas wie
define Schalter1Notify notify Bewmelder1:M:.on.* set Steckdose on
@CoolTux
Danke für den Tipp, aber damit habe ich noch ein Problem:
es kommt erst ein Fehler, dass ich nur eine Zeile markieren soll, wenn ich das mache und dann auswähle with any number matching und das notify erzeuge erhalte ich ein Notify mit folgendem Inhalt:
Bewmelder1:M:.on.E:..* {}
Gruß Kuno
Zitat von: Kuno am 04 März 2019, 20:28:18
@CoolTux
Danke für den Tipp, aber damit habe ich noch ein Problem:
es kommt erst ein Fehler, dass ich nur eine Zeile markieren soll, wenn ich das mache und dann auswähle with any number matching und das notify erzeuge erhalte ich ein Notify mit folgendem Inhalt:
Bewmelder1:M:.on.E:..* {}
Gruß Kuno
Naja passt doch super. Nimmst die beiden geschweiften noch weg und schreibst dein set bla bla da hin. Kannst auch mein Beispiel nehmen, ist das gleiche nur kürzer.
@CoolTux
Danke, hat super funktioniert.
Gruß Kuno
Naja super ist anders.
Jedes mal wenn Dein Bewegungsmelder auslöst reagiert das Notify und sendet ein Schaltbefehl.
Je nach Konfiguration kann das auch mal mehrere male pro Minute sein.
Wenn Du nur ein on senden willst Frage vorher ab ob sie nicht schon in ist.
set Steckdose:FILTER=state=off in
Hier wird also nur geschalten wenn der state off war.
Hast du den Bw Melder vom Device etwas eingeschränkt was Events an geht?
event-on-change-reading zum Beispiel. Nur wenn sich der Inhalt vom Reading ändert wird ein Event ausgelöst. Aber bevor du das machst überlege kurz was genau du machen willst.
@CoolTux
Danke für den Hinweis. Ich hatte mich einmal vor Jahren etwas mit fhem beschäftigt und dann das ganze verworfen. Da ich aber einige eltako Aktoren im Einsatz habe um diverse Lichter zu schalten lag es nahe diese doch in einer Heimautomation zu integrieren.
Nach Ausflügen in openhab, domoticz, iobroker und symcon bin ich doch wieder bei fhem gelandet.
Aber aller Anfang ist schwer, naja, so nach und nach komme ich doch vielleicht dahinter.
Der Bewegungsmelder soll später einmal das Außenlicht schalten, so dass es nach ca. 3 Minuten wieder ausgeht, also set Aussenlicht on; sleep 180; set Aussenlicht off. Allerdings soll dieses auch über einen Taster zum schalten sein und dann soll es so lange an sein bis es mit dem Taster auch wieder ausgeschaltet wird.
Ich bin noch am üben :D
Gruß Kuno
Zitat
Der Bewegungsmelder soll später einmal das Außenlicht schalten, so dass es nach ca. 3 Minuten wieder ausgeht, also set Aussenlicht on; sleep 180; set Aussenlicht off. Allerdings soll dieses auch über einen Taster zum schalten sein und dann soll es so lange an sein bis es mit dem Taster auch wieder ausgeschaltet wird.
Ich würde da mit einem watchdog zusätzlich arbeiten.
define Schalter1Notify notify Bewmelder1:M:.on.* set Steckdose:FILTER=state=off on
define wdAussenlicht Bewmelder1:M:.on.* 00:10:00 Taster:on|off set Steckdose:FILTER=state=on off
attr wdAussenlicht autoRestart 1
Bei Bewegung wird das Licht eingeschalten und der watchdog läuft an. Der Watchdog würde das Licht nach 10 Minuten wieder ausschalten es sei denn der Taster wird betätigt. Dann wird der Watchdog deaktiviert und wartet auf ein neuen Event. Das ganze hat noch einen Haken. Der Watchdog triggert nun immer. Für das Aussenlicht kannst Du noch sagen disabledForInterval 16:00-24:00 00:00-07:00. Aber man müsste noch einen weiteren Indikator ein bauen das er das Licht nicht ausschaltet wenn der Taster das Licht eingeschalten hat. Kann man aber mit einem userReadings oder setreading machen.
@CoolTux
erst einmal herzlichen Dank für deine Hilfe.
Jetzt muss ich mir das Ganze einmal zu Gemüte führen, das sind doch einige Möglichkeiten die mir so bisher nicht bekannt waren.
Ich denke das alles lässt sich irgendwo nachlesen, muss ich mal nachschauen.
Danke und Gruß Kuno