HM-SEC-SC in IF-Bedingung einbinden...

Begonnen von Gerber, 25 Dezember 2013, 19:04:44

Vorheriges Thema - Nächstes Thema

Gerber

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

martinp876

define nf notify <fContact>:.open.* {\
  my @lt = localtime(gettimeofday());;\
  if (lt[2]>22 ||lt[2]<6){\
    fhem "set <licht> on-for-timer 10"
  }\
}

Gerber

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

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerber

#4
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


Gerber

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

Puschel74

#6
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)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerber

#7
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

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerber

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


Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Gerber

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ß

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

LuckyDay

Zitatpossible freeze starting at 20:40:30, delay is 2.116

ohha  ;)

schleppst auch ein Problem rum  :)

Gerber

#14
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