Habe einen FHTTK der ordnungsgemäss open/closed auswertet.
damit will ich ein Licht schalten, tut es aber nicht.
define Carport CUL_FHTTK a5b960
attr Carport IODev CUL
attr Carport alias CarTor
define Licht_Carport FS20 7010 10
attr Licht_Carport IODev CUL
attr Licht_Carport model fs20as1
define opencontact notify Dunkelheit IF ([Carport:state] eq "open") (set FS20_701010 on-for-timer 240)
Licht lässt sich aber schalten. Habe es mit"Open" auch versucht.
wo übersehe ich da was? Habe aber andere notifys erfolgreich laufen.
Hallo,
define opencontact notify Dunkelheit IF ([Carport:state] eq "open") (set FS20_701010 on-for-timer 240)
Dein notify triggert auf Dunkelheit - willst du das so?
Wenn Dunkelheit kein Event erzeugt das dein notify triggert wird auch dein Carport nicht abgefragt.
Grüße
Danke, zwischenzeitlich bemerkt. erster versuch war , das nur bei Dunkelheit (Dummy) u. offener Kontakt geschaltet wird. Jetzt habe ich die Dunkelheit rausgenommen und nur Carport versucht. jetzt klappts. jetzt noch die Dunkelheit verknüpfen.
thx.
Hallo,
Zitatdas nur bei Dunkelheit (Dummy) u. offener Kontakt geschaltet wird.
Du weisst das du im regexp für ein notify mehrere Bedingungen einbauen kannst?
Dann triggert das notify auf diese Bedingungen - sprich Dunkelheit ODER Carport löst aus.
Im notify kannst du dann noch prüfen ob deine Anforderungen erfüllt sind und entsprechend weiter bearbeiten.
Bei einer normalen Verknüpfung (ohne IF sondern mit Perl-if) kann ich dir helfen.
Du musst nur deine Anforderungen posten und ggf. die Readings der Sensoren ;)
Grüße
HAllo.
Danke für Hilfe, die ich gebrauchen kann. Es klappt noch immer nicht-
define Carport CUL_FHTTK a5b960
attr Carport IODev CUL
attr Carport alias CarTor
define Licht_Carport FS20 7010 10
attr Licht_Carport IODev CUL
attr Licht_Carport model fs20as1
define opencontact notify Carport IF ([Carport:state] eq "Open")) (set FS20_701010 on-for-timer 240)
wenn dies funktioniert würde ich gerne zusätzlich "Dunkelheit" einfügen, dass nur geschaltet wird wenn kontakt open und Dunkelheit on ist.
define Dunkelheit dummy
define Dunkelheit_an notify myTwilight.*:aktEvent:.*ss_indoor set Dunkelheit on
define Dunkelheit_aus notify myTwilight.*:aktEvent:.*sr_indoor set Dunkelheit off
Hallo,
ZitatEs klappt noch immer nicht-
Was klappt nicht?
Wie geschrieben - IF kenn ich nicht aber mit Perl-if kann ich dir helfen.
Dem Code entnehme ich das du
- wenn Carport auslöst und den Status Open sendet soll das Licht für on-for-timer 240 angehen.
Das kann so nicht klappen da du
FS20_701010 einschalten willst - das heisst aber Licht_Carport ;)
Zitatwenn dies funktioniert würde ich gerne zusätzlich "Dunkelheit" einfügen, dass nur geschaltet wird wenn kontakt open und Dunkelheit on ist.
Das ist alles?
Gib mir mal kurz ne Denkpause - ich werd dann versuchen dir (m)einen langen unverständlichen komplizierten Code hinzuwerfen in der Hoffnung das der klappt ;)
Grüße
Hallo,
define <Name_der_dir_gefaellt> notify (Dunkelheit|Carport):(on|Open) {
if (Value("Dunkelheit") eq "on" {
if (Value("Carport") eq "Open" {
fhem ("set Licht_Carport on-for-timer 240");
}
else {
fhem ("set Licht_Carport off");
}
}
}
Hier mal mein verkorkster Code.
Da ich keine Lust hatte 2 Dummys zu erstellen (und auch die Infos dafür gefehlt haben) habe ich einfach mal was hingeworfen.
Das notify sollte triggern wenn Dunkelheit ODER Carport auslöst und ein Event sendet das on ODER Open lautet
Wenn Dunkelheit on ist
Wenn Carport Open ist
sollte das Licht_Carport für 240 Sekunden eingeschaltet werden
sonst
wenn Dunkelheit on ist
Wenn Carport kein Open sendet
sollte das Licht_Carport ausgeschaltet werden.
Alle weiteren Verknüpfungen und Wünsche könnten dann eingebaut werden.
Grüße
Einzeiler:
define Lichtsteuerung_carport notify carport { if (Value("carport") eq "Open") && Value("Dunkelheit") eq "on" ) {fhem("set Licht_Carport on-for-timer 240") } }
Danke vorerst, klappt noch immer nicht.
habe im Log folgendes entdeckt:
2014.05.25 10:07:35.490 5: Triggering opencontact
2014.05.25 10:07:35.492 4: opencontact exec {
if (Value("Dunkelheit") eq "on" {
if (Value("Tor") eq "Open" {
fhem ("set Licht_Carport on-for-timer 240");;
}
else {
fhem ("set Licht_Carport off");;
}
}
}
2014.05.25 10:07:35.492 5: Cmd: >{
if (Value("Dunkelheit") eq "on" {
if (Value("Tor") eq "Open" {
fhem ("set Licht_Carport on-for-timer 240");
}
else {
fhem ("set Licht_Carport off");
}
}
}<
2014.05.25 10:07:35.498 3: opencontact return value: syntax error at (eval 41360) line 2, near ""on" {"
syntax error at (eval 41360) line 6, near "}
else"
was hat das zu bedeuten? habe den Kontakt auf "tor" umbenannt, nur zur info.
versteh nicht warums nicht klappt, andere notifys klappen auch, nur andere komponenten angesteuert.
Zitat von: Puschel74 am 24 Mai 2014, 22:26:25
Hallo,
Das notify sollte triggern wenn Carport auslöst UND Dunkelheit on ODER Carport Open und Dunkelheit onlautet
Wenn Dunkelheit on ist
Wenn Carport Open ist
sollte das Licht_Carport für 240 Sekunden eingeschaltet werden
sonst
wenn Dunkelheit on ist
Wenn Carport kein Open sendet
sollte das Licht_Carport ausgeschaltet werden.
Alle weiteren Verknüpfungen und Wünsche könnten dann eingebaut werden.
Grüße
Hallo.
Habe es neu aufgebaut, nur mit abfrage von Tor.
define Licht_Carport FS20 7010 10
attr Licht_Carport IODev CUL
define Tor CUL_FHTTK a5b960
attr Tor IODev CUL
das notify wird gestartet, aber eben mit folgendem log:
2014.05.25 11:10:31.679 5: Triggering opencontact
2014.05.25 11:10:31.680 4: opencontact exec { if (Value("Tor") eq "Open") {fhem("set Licht_Carport on-for-timer 240") }
2014.05.25 11:10:31.681 5: Cmd: >{ if (Value("Tor") eq "Open") {fhem("set Licht_Carport on-for-timer 240") }<
2014.05.25 11:10:31.686 3: opencontact return value: Missing right curly or square bracket at (eval 13049) line 2, at end of line
syntax error at (eval 13049) line 2, at EOF
update auch schon gemacht, samt shutdown restart
endlich, gelöst !!
fehler war fehlende }
define opencontact notify Tor { if (Value("Tor") eq "Open") {fhem("set Licht_Carport on-for-timer 240") } }
2014.05.25 11:28:39.834 4: opencontact exec { if (Value("Tor") eq "Open") {fhem("set Licht_Carport on-for-timer 240") } }
2014.05.25 11:28:39.834 5: Cmd: >{ if (Value("Tor") eq "Open") {fhem("set Licht_Carport on-for-timer 240") } }<
2014.05.25 11:28:39.840 5: Cmd: >set Licht_Carport on-for-timer 240<
2014.05.25 11:28:39.840 3: FS20 set Licht_Carport on-for-timer 240
[/code
sorry für fehler meinerseits.
und so schaltet das ding wenn Dunkelheit:on und Tor:Open ist.
Bei Tor:Open u. Dunkelheit:off od. Tor:Closed u. Dunkelheit:on bleibt Lampe finster.
define opencontact notify (Tor|Dunkelheit):(Open|on) { if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport on-for-timer 300") } } }
schwere Geburt, aber immerhin.
Schönen Sonntag noch allen.
das 2x if brauchts aber trotzdem nicht. Beide Bedingungen mit && verknüpfen müsste reichen.