FABH63 - Bewegung soll Steckdose schalten

Begonnen von RpiEinOzean, 20 Dezember 2015, 13:18:05

Vorheriges Thema - Nächstes Thema

RpiEinOzean

Guten Tag zusammen,

ich versuche schon die ganze Zeit den Bewegungsmelder des FABH63 dazu zu 'bewegen' eine Steckdose zu schalten.
Geht einfach nicht.
Mein Versuch:
define n_LichtAn notify FABH63:motion {fhem ("set 5fach_Steckdose_02_K1 on-for-timer 300") if (ReadingsVal("FABH63","brighness",0) < 800)}

Wobei FABH63 der Sensor für Helligkeit und Bewegung ist.
5fach_Steckdose_02_K1  ist eine (BSC oder auch Wisio Eco Steckdosenleiste) mit 2 Schaltaktoren ist.

Die 5fach_Steckdose_02_K1 ist komplett eingelernt und funktioniert auf "Knopfdruck" von der Weboberfläche einwandfrei.
Der Sensor FABH63 gibt in den Readings auch korrekt die motion- Werte mit on und off wieder.

Ich habe hier schon viele ähnliche Beispiele im Forum ausprobiert, will aber alles nicht gelingen.

Ob mir jemand den entscheidenden Schups geben kann?


krikan

define n_LichtAn notify FABH63:motion {if (ReadingsVal("FABH63","brighness",0) < 800) {fhem ("set 5fach_Steckdose_02_K1 on-for-timer 300")}}
Ungetestet; kannst Du selbst mit http://www.fhemwiki.de/wiki/Trigger testen und im Logfile ggfs. Probleme erkennen.

Du solltest auch noch überdenken, ob das notify wirklich bei motion on und off - Events ausgeführt werden soll.

Gruß, Christian

RpiEinOzean

Hallo Krikan,

erst einmal Danke für die schnelle Antwort.
Momentan wäre es schon erfolgreich wenn das notify bei on oder off funktionieren würde.
Das mit triggern habe ich auch versucht. Leider kein Ergebnis.
Dann habe ich das notify extrem eingekürzt.
define n_LichtAn notify FABH63:motion {fhem ("set 5fach_Steckdose_02_K1 on-for-timer 300")}
Wenn ich es richtig verstanden habe sollte das notify dann direkt auf die Bewegung on oder off reagieren und die Steckdose  für 300 Sekunden einschalten.
Wäre dann sehr oft an.
(Will ja erst einmal begreifen wie es funktioniert)
Aber das funktioniert auch nicht.
Evtl. noch einen anderen Tipp?

krikan

Eigentlich wollte ich auf den Inhalt Deines Logfiles hinaus ;) , denn ich vermute ein Problem mit on-for-timer und das würdest Du im Logfile mMn sehen.
Schau Dir mal: http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Was_muss_man_beim_Einsatz_der_.22set_extensions.22_.28on-for-timer.2C_on-till.2C_....29_beachten.3F an, was Bedeutung für Dich haben könnte.
Schaltet "set 5fach_Steckdose_02_K1 on-for-timer 300" aus der Kommandozeile die Steckerleiste?
Anlage notify zur Sicherheit so: http://www.fhemwiki.de/wiki/Notify#Regexp_wizard_-_FHEMWEB-unterst.C3.BCtzte_Anlage_eines_notify
Schöner, aktueller Einstiegspunkt: http://www.fhemwiki.de/wiki/Erste_Schritte_in_fhem

Das ist jetzt leider eine Ansammlung von Infos, aber ich hoffe, dass es ein wenig hilft. Ansonsten bitte fragen  :).

Gruß, Christian

RpiEinOzean

Auch hier wieder Danke für die schnelle Antwort.

Ich werde mich dann mal an´s nochmalige Lesen machen.
Vielleicht sehe ich ja jetzt mehr als vorher.
Die Steckdosenleiste schaltet aus der Weboberfläche, dort habe ich eventMap für BI und B0 und devStateIcon  webCmd für on off hinterlegt.
Das funktioniert auch sehr gut. Wenn ich die Steckdosenleiste über den Aussenlichtsensor  FAH60 schalten lasse, funktioniert sie auch.

###Beispiel wie es mit FAH60 funktioniert:
define di_5fach_Steckdose_01_K1_taeglich_abends DOIF ([FAH60:brightness]<300 and [[Woche_abends_Start]-[Woche_abends_Ende]]) (set 5fach_Steckdose_01_K1 on) DOELSEIF ([FAH60:brightness]>300 or [Woche_abends_Ende]) (set 5fach_Steckdose_01_K1 off)
###
dazu gehören dann noch die dummys für die Schaltzeiten wie z.B. Woche_abends_Start usw.
Habe ich hier aber mal weggelassen. Wird sonst zu unübersichtlich.

Bin jetzt mal weg, stecke den Kopf in den Lesestoff. ;-)

Schönen Gruß

krikan

Im DOIF und vermutlich auch im WebFrontend verwendest Du aber nicht on-for-timer. Was mich wieder zu meiner vorherigen Vermutung zurückführt; den FAQ-Link hatte ich bereits gegeben.

Gruß, Christian

PS: Denke bitte an mein Alter und nutze zukünftig Codestags für Code, das erleichtert mir das Lesen  ;). Danke.

RpiEinOzean

Bin vom "Kopf in Lesestoff stecken wieder zurück",
habe leider dabei nicht wirklich den Durchblick bekommen.
Bei dem Thema FHEM habe ich sehr oft das Gefühl dass wenn ich gerade meine etwas verstanden zu haben das wirkliche Wissen auf -1 geht. :-[
Habe es mal einfacherem versucht.
define n_LichtAn4 notify (FABH63_Beweg_Helligkeit001:M.*) { if ($EVTPART1 eq 'off' or ($EVTPART3 < 300 and $EVTPART1 eq 'on')) {fhem('set 5fach_Steckdose_02_K1'.$EVTPART1);}}
Ist ja aus einer Anleitung von FHEM. (Bis ich es kapiert haben was die Rückstriche bedeuten  . . . ) (In einer Anleitung für Anfänger ist es nicht wirklich Barriere frei  :-[)
Mein "Problemchen" bleibt aber. Der Bewegungsmelder schaltet die Steckdose ein bei Motion ON und bei Motion OFF.
Ich würde aber gerne selbst bestimmen wann die Steckdose wieder aus geht.
#
Zwischenzeitlich habe ich auch einen anderen Sensor hier ausprobiert.
Den ELTAKO FBH65TFB ( hat den Vorteil dass man ihn wegen Stützbatterien auch in "dunklen" Räumen benutzen kann.
Der haut mir bei gleicher Behandlung wie beim FABH63 alles durcheneinander.
Der schalten einfach mal so zwischendurch die Steckdose mal wieder ein.
Ich schätze mal dass er zwischendurch mal ein "on" sendet.
Gerne würde ich dann wohl ein Dummy nutzen das nur das erste "on" übernimmt.
Dann könnte man das(den) Dummy ja anweisen dass die Steckdose z.B. für 600 Sek. eingeschaltet bleibt und erst danach wieder auf den FBH65TFB reagiert.

Ist ein bissel viel, schätze ich mal.
Vielleicht versteht mich ja jemand und kann mir dabei helfen.
Schönen Gruß

RpiEinOzean

Hallo an #krikan,
Danke für die Unterstützung bisher.
Habe versucht die Emoticons "richtig" zu nutzen.
Dazu auch "Code einfügen", hoffe es geht auch so wie ich mir es vorstelle.
Bin mit Bj. 59 nicht wirklich mit solchen Sachen hier bisher vertraut.
Gebe mir aber Mühe es den "Betreuern" nicht zu schwer zu machen.
Ich finde es wirklich toll dass es Menschen gibt die sich die Zeit nehmen Unbekannten einfach so zu helfen.
DANKE.

krikan

#8
Zitat von: RpiEinOzean am 23 Dezember 2015, 18:49:44
Bin vom "Kopf in Lesestoff stecken wieder zurück",
habe leider dabei nicht wirklich den Durchblick bekommen.
Bei dem Thema FHEM habe ich sehr oft das Gefühl dass wenn ich gerade meine etwas verstanden zu haben das wirkliche Wissen auf -1 geht. :-[
Bloß nicht entmutigen lassen. Das ist normal im Bereich der unendlichen Möglichkeiten von FHEM und es dauert ein wenig bis zum Durchbruch. Und erst dann beginnt der richtige Spass...  :)
G
Ich würde mich eigentlich mit Dir gerne auf ein Problem einigen, das wir angehen und bin mir jetzt unsicher, ob Du das Erste abgehandelt hast. Fände das nämlich schöner. Hier mal ohne on-for-timer:

define n_LichtAn notify FABH63:motion..on {if (ReadingsVal("FABH63","brighness",0) < 800) {fhem ("set 5fach_Steckdose_02_K1 on;sleep 300;set 5fach_Steckdose_02_K1 off")}}


Wenn Du das mal testet. Funktioniert das? Falls nicht, was steht im LogFile?

RpiEinOzean

Hallo #krikan,

danke für die tröstenden Worte.
Vor allem Dank für den richtigen Schubs. :D

define n_LichtAn notify FABH63:motion..on {if (ReadingsVal("FABH63","brightness",0) < 800) {fhem ("set 5fach_Steckdose_02_K1 on;sleep 300;set 5fach_Steckdose_02_K1 off")}}
Das hat funktioniert.
Eine gute Sache einfach den Schaltzustand "einzufrieren" und danach Auszuschalten.  ;D

Nachdem ich glaube dieses Notify verstanden zu haben kam gleich eine neue Idee.  ::)
Nun habe ich versucht dieses Notify ein wenig auszuweiten mit "Schalte aber nur in der Zeit von 8:00 - 22:59 Uhr."

define n_LichtAn_1 notify FABH63:motion..on {if (ReadingsVal("FABH63","brightness",0) < 800 && (($hour >= 8 || $hour < 23))) {fhem ("set 5fach_Steckdose_02_K2 on;sleep 300;set 5fach_Steckdose_02_K2 off")}}

Dort klappt leider der zusätzlich eingefügte Code nicht.
Hatte ich aus http://www.fhemwiki.de/wiki/If-condition
(Na eben nur den Teil mit der UND Verknüpfung und der Uhrzeit.)
Habe das ganze in die "if" Klammer mit reingesetzt.
Für mich würde es sich so lesen: WENN der Eingelesene Wert von brightness unter 800   UND   in der Zeit von 08:00 - 22:29   DANN   schalte Steckdose ein für 300 Sek, danach Steckdose aus.
Interessant wäre für mich die Frage: Habe ich den Sinn nicht begriffen oder komme ich nur nicht mit dem Syntax von FHEM (Perl) klar.

Schönen Weihnachtsgruß
Tm

krikan

Hallo!
Zitat von: RpiEinOzean am 26 Dezember 2015, 11:51:23
define n_LichtAn notify FABH63:motion..on {if (ReadingsVal("FABH63","brightness",0) < 800) {fhem ("set 5fach_Steckdose_02_K1 on;sleep 300;set 5fach_Steckdose_02_K1 off")}}
Das hat funktioniert.
Eine gute Sache einfach den Schaltzustand "einzufrieren" und danach Auszuschalten.  ;D
Du bist zu schnell  ;). Denn eigentlich bin ich mit dem notify noch nicht durch. Das Fhem-sleep würde ich gerne wieder rauswerfen und Deinen Ursprungsgedanken on-for-timer umsetzen. Einmal mag ich sleep nicht so wirklich (Verwechselungsgefahr mit Perl-sleep) und außerdem ist on-for-timer eine potientielle EnOcean-Stolperfalle.

Meine Vermutung ist, dass Du beim 5fach_Seckdose_02_K1 noch das passende Attribut setzen musst:
attr 5fach_Steckdose_02_K1 eventMap on-for-timer:on-for-timer BI:on B0:off
BI und B0 ggfs. passend ersetzen, wenn Du Ax,Cx, oder .. zum Ansteuern nutzt.
Dann mit einer on-for-timer-Variante probieren.
Wenn es das nicht ist, bitte Ausgabe von "list 5fach_Steckdose_02_K1" posten, damit ich nicht nur vermuten muss.

Zum 2. notify:
Man kann es so wie Du mit einer Erweiterung der Bedingungen machen, aber ich würde das mit einem passenden Attribut http://fhem.de/commandref#disabledForIntervals zum notify lösen.
Fehler erkenne ich in Deinen Gedankengängen nicht. Notify habe ich mir aber nicht näher angesehen, mir sind das aber zu viele Klammern.

Gruß, Christian

RpiEinOzean

Hallo krikan,

hat leider nicht funktioniert.

Hier das Ergebnis von list 5fach_Steckdose_02_K1
---------------------------------------------------------------------------------
Internals:
   DEF        ABCD1236
   IODev      TCM_ESP3_0
   NAME       5fach_Steckdose_02_K1
   NR         46
   NTFY_ORDER 50-5fach_Steckdose_02_K1
   STATE      on
   TYPE       EnOcean
   Readings:
     2015-12-26 16:23:13   state           BI
Attributes:
   IODev      TCM_ESP3_0
   devStateIcon on:general_an@red:off off:general_aus@blue:on
   eventMap   on-for-timer:on-for-timer BI:on B0:off
   group      01_Steckdosen
   manufID    00D
   room       EnOcean
   sortby     003
   subDef     FF8D5A90
   subType    switch
   webCmd     on:off
------------------------------------------------------------------------
An
http://fhem.de/commandref#disabledForIntervals
gehe ich dann aber auch noch ran.

Bis hierher mal wieder Dank.

Schönen Gruß
Tm

krikan

Hallo!

Ok, das list sieht merkwürdig aus:

Was genau ist das für eine Schaltsteckdose? Ist die, wie ich vermute, unidirektional?
Falls ja, woher hast Du die SenderID im DEF und die SenderID im subDef?
Bei unidirektionalen Aktoren gibt es grds. kein subDef
-> http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#unidirektionale_Aktoren
Warum ist die manufID von Eltako gesetzt? Oben schriebst Du mal was von BSC.

Irgendwie zweifel ich gerade daran, dass die korrekt in FHEM eingebunden ist. Böse Vermutung: Die funktioniert zwar irgendwie, aber nicht so wie es in FHEM gedacht ist und dann kann man in anderen Bereichne ganz schön auf die Nase fallen und sich das Leben schwer machen. Also sollte das Thema zuerst geklärt werden...

Gruß, Christian

RpiEinOzean

Hallo krikan,

ja, das ist eine 5fach Steckdosenleiste mit 2 Schaltkanälen.
Kann man bei Eltako Original so kaufen.
Dort wird sie mit BSC - MwC-32 Steckdosenleiste beschrieben.
Packt man die Leiste aus liegt ein Papier
WISIO ECO Steckdosenleiste dabei.
Die Anleitung diese Steckdosenleiste in FHEM einzubinden hatte ich aus dem FHEM Forum.
Ausser dass ich keine Log- Datei erzeugen kann funktioniert es aus meiner Sicht ganz gut.
------
Ich habe aber zwischenzeitlich auch eine ELTAKO FSVA-230V als Aktor für die Steckdosenleiste ersetzt.
Das Ergebnis blieb allerdings gleich.
Werde ab jetzt immer die FSVA als Aktor benutzen. Dann ist ein Fehler wegen evtl. nicht unterstützter Hardware ausgeschlossen.
. . . aber wie gesagt, damit hat es leider auch nicht funktioniert.
Kann aber noch schnell ein list von der FSVA hier einstellen.

Dauert einen kleinen Moment. :-[

RpiEinOzean

Soooo,
jetzt das gleiche mit der FSVA
------------------------------------------------------------------
Internals:
   DEF        FFCBA801
   IODev      TCM_ESP3_0
   NAME       FStd06_Bewegungssensor
   NR         93
   NTFY_ORDER 50-FStd06_Bewegungssensor
   STATE      off
   TYPE       EnOcean
   Readings:
     2015-12-26 18:11:39   state           BI
Attributes:
   IODev      TCM_ESP3_0
   devStateIcon on:general_an@red:off off:general_aus@blue:on
   eep        F6-02-01
   eventMap   on-for-timer:on-for-timer BI:on B0:off
   group      01_Steckdosen
   manufID    7FF
   room       EnOcean
   sortby     010
   subDef     FF8D5A92
   subType    switch
   switchMode switch
-------------------------------------------------

Ich hoffe das sagt jetzt etwas mehr.  :-[

Gruß
Tm