FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Gerber am 25 Dezember 2013, 19:04:44

Titel: HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 25 Dezember 2013, 19:04:44
Hallo Community,

ich habe eine Frage zu einem Codeschnippsel (Bedingung) mit dem HM-SEC-SC (Tür Fensterkontakt) und 2x Unterputzaktoren 1Fach.

Ich habe mir dieverse Codeschnippsel, IF Else Bedingungen anegschaut komme aber nicht weiter.

Und zwar will ich:

- dass mein Küchen Licht und Treppen Licht (jeweils mit UP Aktoren geschaletet, "kue_UP1" und "treppe_UP1") angehen wenn der Fensterkontakt ein "Open" an Fhem übergibt.

- Diese Bedingung darf aber erst täglich in dem Zeitraum von 23.00 - 06.00 Uhr aktiv sein.

Ich weis einfach nicht weiter, was ich in die Bedingung einbauen muss, damit der Fensterkontakt erst in diesem Zeitraum das Licht schaltet und davor einfach nur Open und Closed auf der Weboberfläche angibt...

Danke im voraus.

MFG Gerber
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: martinp876 am 26 Dezember 2013, 11:59:11
define nf notify <fContact>:.open.* {\
  my @lt = localtime(gettimeofday());;\
  if (lt[2]>22 ||lt[2]<6){\
    fhem "set <licht> on-for-timer 10"
  }\
}
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 13:52:12
Hi martin,

Danke für die Mühe...

werde es morgen abend versuchen und auch rückmelden ob alles funktioniert hat.
Ich hätte nur noch eine Verständnissfrage zu diesem Code.

Zitatmy @lt = localtime(gettimeofday());;\

Wird hier die variable für die aktuelle Zeit deklariert ?

Zitatif (lt[2]>22 ||lt[2]<6){\

für was steht die [2] jeweils?


Danke

MFG Gerber
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 15:01:05
Hallo,

damit
Zitatmy @lt = localtime(gettimeofday());;\
wird mWn ein Array erstellt das 2 (oder mehrere?) Einträge als Inhalt hat.

Zitatfür was steht die [2] jeweils?
Jeweils für das selbe - die Stunde.

Grüße
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 16:04:31
Danke ...

Habe den Code nun mal mit einem alarm_dummy getestet, aber funktioniert nicht...  :(

Zitatdefine test notify alarm_dummy:on {\ my @lt = localtime(gettimeofday());;\ if (lt[2]>16 ||lt[2]<6){\ fhem ("set kue_UP1 on") }\ }

hat jemand eine Idee ?

MFG Gerber

Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 18:16:41
Hi,

habe nun nochmals eine andere Methode getestet:

Zitatdefine Test2 *18:11 {if ($hour > 18) || ($hour < 5) {fhem ("set kue_UP1 on") } }

Auch dieser Befehl funktioniert nicht. das Licht wird um 18:11 nicht eingeschaltet.

Wenn ich aber nur
Zitatdefine test *18:11 {fhem ("set kue_UP1 on") }
eingebe, schaltet das Licht um die eingestellte Zeit.

Ich versteh das nicht.
Bitte helft mir ... :(

MFG Gerber
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 18:27:41
Hallo,

ZitatAuch dieser Befehl funktioniert nicht. das Licht wird um 18:11 nicht eingeschaltet.

Dieser Befehl - von dir gepostet - macht genau was er soll.
define Test2 *18:11 {if ($hour > 18) || ($hour < 5) {fhem ("set kue_UP1 on") } }

Das das für dich "es funktioniert nicht" bedeutet - dafür kann die Zeile nichts  ;)

Logisch schaltet die Lampe um 18:11 Uhr nicht - auch wenn es für uns Menschen >18 bedeutet.
Das if prüft ob die Stunde >18 ist - und das ist sie um 18:11 leider noch nicht.
Erst um 19:00 ist >18 true

Grüße

Edith: Versuch mal define Test2 *18:35 {if ($hour >= 18) || ($hour < 5) {fhem ("set kue_UP1 on") } }

Edith2: Uhrzeit des at angepasst  8)
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 18:42:02
Hi Puschel,

auch bei diesem Code
Zitatdefine Test2 at *18:35 {if ($hour >= 18) || ($hour < 5) {fhem ("set kue_UP1 on") } }

passiert garnix.

der Befehl wird ignoriert.

ps.: Uhrzeit hab ich angepasst -.-

MFG Gerber
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 19:25:03
Hallo,

Zitatpassiert garnix.
Stimmt nicht.

Zitatder Befehl wird ignoriert.
Ist leider auch falsch.

Ich habe mir mal die "Arbeit" gemacht und das define bei mir angelegt und ... in das LogFile geschaut.
siehe da:
Zitat2013.12.26 19:16:00 3: Test2: syntax error at (eval 257227) line 2, near ") ||"
syntax error at (eval 257227) line 5, near "}
}"
Logisch.
Das ODER darf nicht "alleine" stehen - also aussen nochmal eine () drum um siehe da
*19:19 {
if (($hour >= 18) || ($hour < 5)){
  Log(3,"Das ist ein Test");
}
}

(sorry, ich hasse Einzeiler und ich verwende viel zu viele " und ( aber im Logfile steht dafür -
Zitat2013.12.26 19:19:00 3: Das ist ein Test

Danke das du in dein Logfile geschaut hast.
Allwissend sind hier andere aber ich nehme mir gerne die Zeit und schau mal in mein Logfile  ;)

Grüße
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 19:55:09
Oo Gott bin ich blöd,

Nun funktioniert es auch bei mir  :) Danke für die bemühung.

wollte mich nun nochmal an das Beispiel von Martin ran arbeiten.
Da dies ja auch nicht funktioniert.

Jetzt aber eine Dumme Frage in welchen Logs bekommst du dies angezeigt?? muss ich diese erst erstellen ??

MFG Gerber

Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 20:21:25
Hallo,

ZitatJetzt aber eine Dumme Frage
es gibt keine "Dummen" Fragen  8)

Zitatin welchen Logs bekommst du dies angezeigt??
Ähem - das Einsteiger.pdf und den einen oder anderen Beitrag hier schon gelesen?

ZitatDa dies ja auch nicht funktioniert.
Jetzt weisst du ja wo nachschaune  ;)

Grüße
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 20:31:11
Hi,

ok ich war mir unsicher in welchem logfile...

Zitat2013.12.26 20:27:04.619 5: CUL3: A0FC786102354660000000AA8DF100D2A -35
2013.12.26 20:27:04.621 5: CUL3 dispatch A0FC786102354660000000AA8DF100D2A::-35:CUL3

Ich bekomme nur dass hier im Logfile ausgegeben und nicht die Aktionen.

Gruß
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 20:46:48
Hallo,

ich weiß ja nicht in welches Logfile du schaust und was da drinnen steht aber die Einträge in meinem Logfile kann ich zuordnen und weiß warum die da auftauchen

Zitat2013.12.26 20:38:25 1: CUL_WS UNDEFINED temp/hum sensor detected, code 4
2013.12.26 20:40:32 1: Perfmon: possible freeze starting at 20:40:30, delay is 2.116
2013.12.26 20:40:56 2: FHT set EG_WC_Heizung desired-temp 20.0

Grüße
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: LuckyDay am 26 Dezember 2013, 20:52:59
Zitatpossible freeze starting at 20:40:30, delay is 2.116

ohha  ;)

schleppst auch ein Problem rum  :)
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Gerber am 26 Dezember 2013, 20:54:40
Hi,

habe im allgemeinen Logfile nachgeschaut...

Funktioniert aber jetzt:

das Probelem war, dass:

attr global verbose 1 gesetzt war.

deshalb hat er die Logs nicht mehr mitgezeichnet...

Zitat2013.12.26 20:55:40 3: nf return value: No such class testlt at (eval 227) line 1, near "\   my testlt"
syntax error at (eval 227) line 1, near "my testlt ="
syntax error at (eval 227) line 1, near "(lt"
syntax error at (eval 227) line 1, at EOF

Dies wird mei Martins Beispiel ausgegeben...
werde die Tage mal versuchen ob ich es zum laufen bekomme.

Danke nochmal für alles...

MFG Gerber
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Puschel74 am 26 Dezember 2013, 21:44:58
Hallo,

Zitat von: fhem-hm-knecht am 26 Dezember 2013, 20:52:59
ohha  ;)

schleppst auch ein Problem rum  :)
wenn du mir verraten kannst wo ich  was dagegen machen kann

Zitat2013.12.26 21:27:14 1: Perfmon: possible freeze starting at 21:27:13, delay is 1.28
2013.12.26 21:35:46 1: CUL_WS UNDEFINED temp/hum sensor detected, code 3
2013.12.26 21:36:55 1: CUL_WS UNDEFINED temp/hum sensor detected, code 4
2013.12.26 21:37:47 1: Perfmon: possible freeze starting at 21:37:46, delay is 1.12
2013.12.26 21:38:04 1: Perfmon: possible freeze starting at 21:38:03, delay is 1.095
2013.12.26 21:38:06 1: Perfmon: possible freeze starting at 21:38:05, delay is 1.766
2013.12.26 21:38:33 1: Perfmon: possible freeze starting at 21:38:32, delay is 1.503

Grüße

P.S.: Gerne auch per PM
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: Joachim am 27 Dezember 2013, 18:50:25
Moin Puschel,

apptime integrieren, und den Übeltäter suchen.
http://forum.fhem.de/index.php/topic,17746.msg117355.html#msg117355

dann Analyse starten, warum da wer FHEM solange blockiert.

Gruß Joachim
Titel: Antw:HM-SEC-SC in IF-Bedingung einbinden...
Beitrag von: My-Knx-Shop am 28 Dezember 2013, 01:28:24
Hallo ...
nachdem es statt dem  HM-SEC-SC nun den HM-SEC-SC-2 gibt wollte ich die Spezialisten unter Euch mal fragen ob Ihr einen Unterschied feststellen konntet.
Wir bieten jetzt nur noch den HM-SEC-SC-2 an http://www.my-knx-shop.net/eQ-3-Homematic-HM-Sec-SC-2-Funk-Tuer-Fensterkontakt (http://www.my-knx-shop.net/eQ-3-Homematic-HM-Sec-SC-2-Funk-Tuer-Fensterkontakt)
Vielen Dank vorab