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?
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
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?
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
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ß
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.
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ß
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.
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?
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
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
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
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
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. :-[
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
Zitat von: RpiEinOzean am 26 Dezember 2015, 20:08:44
Dort wird sie mit BSC - MwC-32 Steckdosenleiste beschrieben.
Die Anleitung diese Steckdosenleiste in FHEM einzubinden hatte ich aus dem FHEM Forum.
Dann ist die Anleitung definitiv falsch, wenn die Leiste unidirektional ist. Mir ist nicht bekannt, dass BSC jemals eine bidi-Variante hatte. Unterstützt von FHEM wird aber auch unidi. Nur es gibt eben kein subDef und der Anlernvorgang ist anders. Woher hast Du denn die DEF und SenderID?
FSVA schaue ich mir später an..... :)
Zur 5fach_Steckdosenleiste
Ich hatte hier im Forum dazu einen Beitrag gelesen. Leider habe ich den Beitrag nicht abgespeichert.
Dort sollte man für die DEF einfach eine Buchstabe-Zahlenkombi eintragen die sonst nicht vorkommt.
In meinem Fall eben ABCD1234 - - der zweite Kanal dieser Steckdosenleiste hat dann ABCD1235.
Bei der subDef habe ich fortlaufend zur IODev hochgezählt.
(Wenn ich es recht verstanden habe ist es das gleiche Vorgehen wie bei allen anderen Aktoren. Eben bis zu 127.)
Oh, oh, da ist mein Wissen ja schon wieder in Richtung -1 unterwegs. :'(
. . . Wie gesagt, es lässt sich damit schalten . . .
Ist aber kein Problem, nehme ich die 5fach_Steckdosenleisten eben wieder raus. :D
Erst mal Danke.
Schönen Gruß
Tm
ZitatDort sollte man für die DEF einfach eine Buchstabe-Zahlenkombi eintragen die sonst nicht vorkommt.
In meinem Fall eben ABCD1234 - - der zweite Kanal dieser Steckdosenleiste hat dann ABCD1235.
Das ist vorsichtig formuliert komplett falsch.
Bitte lies mal http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide komplett durch. Wenn da etwas unverständlich ist, bitte nachfragen. Das hilft mir ggfs. auch bei Verbesserungen. Die Todos auf der Wiki-Seite ändern nichts an der Richtigkeit; das habe ich nur noch nicht ergänzt.
Der FSVA ist ein bidi-Aktor. Vor dem Einlernen müssen Bestätigungstelegramme eingeschaltet werden. Dann sollte es laufen. list ist auf ersten Blick nicht auffällig, vermisse aber Energiewerte.
Aber auch egal, denn eigentlich wüsste ich gerne die Meldungen/Fehlermeldungen im FileLog (verbose 5), wenn Du
set <device> on-for-timer 30
absetzt. Das war ja das Ausgangsproblem und ich verliere sonst den Überblick :-[ und bemerke nicht, wenn ich hier etwas verpasst habe.
Gruß, Christian
Hallo Christian,
vielen Dank für die Geduld.
Leider muss ich eine kleine Auszeit nehmen. Beruflich und Gesundheitlich.
Gehe aber davon aus dass ich im Laufe der Woche das Thema wieder angehen kann.
Hattest mir ja "Hausaufgaben" aufgegeben. (Ist ein nett gemeinter Scherz)
Ich benutze ab jetzt eine FSVA-230V, dazu der FABH63.
Werde es im "TestRaum" hinterlegen und dann die Vorschläge von Dir genau abarbeiten.
So komme ich nicht mit den funktionierenden Aktoren durcheinander. ;D
Kannst Du bitte trotzdem parallel mal nach meinem zweiten Problem schauen.
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")}}
Ich meinte den Teil mit : && (($hour >= 8 || $hour < 23))
Ist mir schon klar dass man ein Problem nach dem Anderen behandeln sollte. :-[
Vielleicht kannst Du mir zu der "Zeitfunktion" einen Tipp geben ob ich damit völlig in die falsche Richtung gehe. :'(
Möchte aber, wenn es mir wieder möglich ist, mit Deiner Hilfe das eigentliche Problem angehen.
Schönen Gruß
Tm
Hallo!
Ruhig an; ich hab Zeit und worauf Du eine Antwort möchtest, entscheidest Du.
Fhem soll Dir Spaß machen; auch wenn Du vermutlich noch in der mir gut bekannten "Ich bin von der Fülle erschlagen" Phase bist. Ich schubs nur immer wieder in die Grundlagenrichtung, da ich anfangs auch zu viel auf einmal wollte....
Zum Thema:
Dein Weg ist grundsätzlich nicht falsch, aber mMn
(($hour >= 8 || $hour < 23))
-> bedeutet: Stunde ist größer/gleich 8 ODER Stunde ist kleiner 23
-> das ist bei allen Werten zwischen 0 und 24 Stunden erfüllt. Darum ist diese Bedingung immer wahr und Du kannst sie gleich weg lassen.
-> Schlußfolgerung: für Deinen Zweck musst Du einen anderen logischen Perl-Operator nutzen, denn Du willst doch: Stunde ist größer/gleich 8 UND Stunde ist kleiner 23
Hoffe das hilft Dir.
Gruß, Christian
Hallo krikan,
melde mich zwar spät, aber ich melde mich nun wieder.
Vorausgeschickt: Erfolgreich
Ich hatte ja Schwierigkeiten mit:
define n_LichtAn notify FABH63:motion..on {if (ReadingsVal("FABH63","brightness",0) < 800) {fhem ("set FSVA_230V on-for-timer")}}
Hier habe ich als Bewegungsmelder den FABH63 von Eltako, sowie die Steckdose FSVA_230V von Eltako im Einsatz.
Aus EnOcean Starter Guide:
on-tor-timer: attr <device> eventMap on-for-timer:on-for-timer BI:on B0:off
Habe ich wohl regelmäßig überlesen. :-[
Das habe ich jetzt natürlich ENDLICH auch mal gelesen und umgesetzt. ;D
Wobei ich es in BI:off B0:on abgeaendert habe.
Wenn ich es richtig verstanden habe ist gerade EnOcean nicht mit der einfachen Logik I = ON 0= OFF unterwegs.
Es funktioniert nun genau so wie gedacht.
Danke für Deine Hartnäckigkeit. :P
Das zweite Problemchen was ich hatte:
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")}}
Den Teil:
(($hour >= 8 || $hour < 23))
habe ich in (($hour >= 8 && $hour <= 22)) abgeaendert.
Nun bleibt die Steckdosenleiste in der Zeit von 09:00 - 23:00 Uhr aus.
Vielen, vielen Dank. :)
Hast ja recht, wenn man ein klein wenig Durchblickt (und ein bissel Erfolg hat) macht FHEM auch Spass.
Schönen Abend noch.
Tm