1 notify - 2 verschieden aktionen

Begonnen von satprofi, 21 Juni 2014, 10:49:33

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Wollte gestern meinem Torcontact einen 2. actor zuweisen.
erster versuch:



define opencontact notify (Tor|Dunkelheit):(Open|on) { if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport on"} {fhem("set Antikleuchte on-for-timer 320") } } } }


ergebnis das nur Licht_Carport geschaltet wurde.

2. versuch:



define opencontact notify (Tor|Dunkelheit):(Open|on) { if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport,Antikleuchte on-for-timer 320") } } }


ergebnis beide lampen werden geschalten, aber auch Carport mit timer.

wie lege ich es ohne zusätzliches notify an das carport manuell und andere mit timer geschalten wird?

gruss
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Puschel74

#1
Hallo,

manuell kann Carport nicht geschaltet werden durch ein notify  ;)
Manuell kannst nur du schalten  :P

Dein erster Versuch macht doch genau das was du willst - oder nicht?

Wenn du einfach nur mit "weniger" {fhem ... auskommen willst dann versuch doch mal:
define opencontact notify (Tor|Dunkelheit):(Open|on) { if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport on;set Antikleuchte on-for-timer 320") } } }

Das auch Carport den timer bekommt ist bei deinem zweiten Versuch hoffentlich klar - sonst würde es einen Fehler bringen weil an Carport nichts übergeben wird.

Ich weiß aber nicht ob meine Idee klappt - einfach mal ausprobieren.

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.

satprofi

Zitat von: Puschel74 am 21 Juni 2014, 11:43:37
Hallo,

manuell kann Carport nicht geschaltet werden durch ein notify  ;)
Manuell kannst nur du schalten  :P

Dein erster Versuch macht doch genau das was du willst - oder nicht?



Grüße

nein, eben nicht. nur Carport wird geschalten, rest ignoriert.


2014.06.20 17:42:36.472 5: Cmd: >{ if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport on") {fhem("set Antikleuchte on-for-timer 320") } } } }<
2014.06.20 17:42:36.480 3: opencontact return value: syntax error at (eval 58939) line 1, near ") {"
syntax error at (eval 58939) line 1, near "} }"




gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Puschel74

#3
Hallo,

logisch gibt es den Fehler.
Da hab ich vorhin zu schnell drüber gelesen.

http://www.fhemwiki.de/wiki/Funktionsbeschreibung_zu_notify

Du könntest aber auch selbst mal versuchen im Wiki zu schauen  ;)

Grüße

Edith: Codevorschlag oben angepasst.
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.

satprofi

#4
danke, kapiert. werds testen.
WIKI schon durchgelesen ;-)

wo finde ich die ganze WIKI einträge?
über die hauptseite komm ich dort nie mehr hin.

gruss
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Puschel74

Hallo,

versuch mal auf der Wiki-Hauptseite rechts oben die Suchfunktion  ;)
Stichworte genügen meistens - zumindest bei mir klappt das einwandfrei.

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.

Puschel74

Hallo,

so. Nun hatte ich mal 5 Minuten und hab mir deinen Code etwas genauer angeschaut und ich muss sagen  :o

Wozu machst du das ganze if-Gedönse?
Das notify löst doch sowieso nur aus wenn das regexp erfüllt ist.

So
define opencontact notify (Tor|Dunkelheit):(Open|on) set Licht_Carport on;set Antikleuchte on-for-timer 320
sollte das doch auch klappen.

Ja ok - so kann auch Tor ODER Dunkelheit ein Open ODER ein on senden.
Wenn aber Tor nur Open ODER Closed sendet und Dunkelheit nur on ODER off kannst du dir das ganze if schenken da das regexp das ja schon übernimmt.

Das ist aber jetzt nur mal eine Vermutung da ich das noch nicht versucht habe.

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.

Puschel74

Hallo,

vergiss meinen vorherigen Beitrag.
Der ist natürlich Blödsinn da das Licht ja auch eingeschaltet wird wenn einer der beiden NICHT zutrifft.

Um eine Abfrage in einem if kommst du nicht herum.
Du kannst die beiden Abfragen aber mit && verknüpfen.

define opencontact notify (Tor|Dunkelheit):(Open|on) { if ((Value("Tor") eq "Open") && (Value("Dunkelheit") eq "on")) {fhem("set Licht_Carport on;set Antikleuchte on-for-timer 320") } } }

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.

satprofi

hallo.
danke für deine tipps. sieht ja interessant aus, aber wenn mein jetziger eintrag klappt lass ich es wie es ist.


(Tor|Dunkelheit):(Open|on) { if (Value("Tor") eq "Open") { if (Value("Dunkelheit") eq "on") {fhem("set Licht_Carport on;set Antikleuchte:FILTER=STATE!=on on-for-timer 320") } } }


Den filter habe ich jetzt zusätzlich, da sonst der timer das licht vor 23:00 löscht. die lampe brennt wird per twilight bis 23:00 auf on gesetzt.

gruss.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram