ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???

Begonnen von tagedieb, 19 Dezember 2013, 13:04:36

Vorheriges Thema - Nächstes Thema

tagedieb

Hallo zusammen

ich habe mal eine Frage zur "Machbarkeit"

ich habe ein notify um mit einem Anruf zwei Tore zu öffen und das erste anschliessend wieder zu schliessen (zweite schliesst original von selbst)

dazu habe ich eine Grundsatzfrage: kann man mit FHEM diesen Befehl mit "einer Bedingung" präzisieren?


define Einffrei notify CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {if ("%" ne "open") { fhem("set Schalter03_Garage on-for-timer 1 (jedoch nur, wenn das Tor geschlossen ist) ;; set Schalter02_Einfahrt on-for-timer 1 ;; sleep 180 ;; set Schalter03_Garage on-for-timer 1")}}


folgende Ergänzug
ich habe meinen Code nun wie folgt umgeschrieben:
CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {if ("%" ne "open") {if (Value("unterer_Anschl") eq "geschlossen" && "%" ne "offen") { fhem("set Schalter03_Garage on-for-timer 1 ; set Schalter02_Einfahrt on-for-timer 1 ; sleep 180") ; {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") { fhem("set Schalter03_Garage on-for-timer 1") }}}}}


und erhalte ganz eigenartige Logeinträge
2013.12.19 15:45:15 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.19 15:45:16 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
2013.12.19 15:48:23 1: FBDECT: unknown message type 00
2013.12.19 15:48:23 1: FBAHA: resetting buffer as we are out of sync (0)
2013.12.19 15:48:34 1: FBAHA: resetting buffer as we are out of sync (0)
2013.12.19 15:48:38 3: Tor_open return value: -1
2013.12.19 15:48:40 2: CUL_HM set Schalter03_Garage off
2013.12.19 15:48:40 1: FBDECT: unknown message type 00
2013.12.19 15:48:50 2: CUL_HM set Schalter02_Einfahrt off


Der HM-LC-SW4-PCB schaltet sofort - die Befehlsausführung erfolgt jedoch erst 3 Minuten später
und dann auch nur das öffnen der Tore bzw zum schliessen des einen Tores benötige ich keinen FHEM befehl, da dieses eine Zeitschaltung von sich aus mitbringt - jedoch der letzte Befehl in meinem Code wird weder ausgeführt noch finde ich ihn in der Logdatei

Wo liegt die Fehlerquelle?
eine Info wäre nett

Gruss




FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

rudolfkoenig

Die FBDECT Fehlermeldung hat mit den anderen Problemen vermutlich nichts zu tun. Man hat das zwar mir auch sonst gemeldet, ich kann es aber nicht erklaeren, vermutlich hat es keine Konsequenzen.

Falls das notify regexp ...:closed ist, dann muss das Event closed sein, und damit "%" immer "closed". Ist also nicht noetig, es nochmal in Perl abzufragen.

Bei folgenden musste ich schmunzeln. Scheint keine Fehlermeldung zu verursachen.
set ... on-for-timer 1 (jedoch nur, wenn das Tor geschlossen ist)


Ein FHEM-sleep, was von keinem Befehl gefolgt wird, blockiert fhem einfach (ist equivalent mit dem perl sleep). Ich empfehle es nicht. Die Verzoegerung haengt vermutlich damit zusammen.

tagedieb

Hallo
ersteinmal vielen Dank für die Rückinfo`s, das entfernen vom  Befehl hab ich gleich mit folgendem Teilerfolg ausprobiert:
es erscheinen keine FBDECT Fehlermeldungen mehr und die Ausführung
erfolgt sehr zügig - ich freu mich immer wieder über diese tolle Hilfe hier im Forum

das Tor wieder zu schliessen, erkennt FHEM leider in diesem Code nicht
wie kann ich den zwar vorhandenen, jedoch nicht ausgeführten Teil des Codes einbinden, das FHEM es als Gesamtbefehl erkennt und ihn 3 min später ausführt?

.......; "sleep 180"
sollte bewirken, das der Rest des Codes
sleep 180") ; {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen")  { fhem("set Schalter03_Garage on-for-timer 1") }}}}}

3 min verzögert ausgeführt werden soll, um ein Fzg aus der Garage zu fahren, jedoch wird dieser Teil des Codes gar nicht ausgeführt

ich habe im Wiki mal gelesen, das man die ;; verdoppeln muss, um einen weiteren Befehl anzuhängen, doch das funktioniert leider auch nicht

Gibt es auch hier bitte noch so einen helfenden Hinweis?
danke im voraus

Gruss



FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

rudolfkoenig

Falls die Pruefung erst in 3 Minuten Sinn macht, dann sollte man ein zusaetzliches at dafuer definieren.
Falls man die Pruefung sofort durchfuehren kann, dann verlegt man den sleep vor dem set Befehl: damit wird das (FHEM-)sleep direkt von einem (FHEM-) Befehl gefolgt, und blockiert nicht mehr.

Das ;; muss nur gedoppelt werden, falls man fhem.cfg direkt editiert, davon rate ich aber ab. Lieber verwendet man die Detail-Ansicht in FHEMWEB, und man drueckt da auf "DEF". Dieser Editor erledigt das ;; und das Schuetzen der Zeilenenden per \ automatisch.

tagedieb

Hallo rudolfkoenig

vielen Dank für die Antwort
da die DEF Bearbeitung wesentlich einfacher ist, nutze ich diese Annehmlichkeit schon ein Weilchen
ich finde es jedoch immer wieder schön, das auf diese Vereinfachungen hingewiesen wird, damit man gerade als Anfänger so viele Fehler wie möglich vermeiden kann

das mit dem doppelten Semikolon habe ich bereits in DEF eingegeben und erhalte beim Versuch des Ausführens folgende Fehlermeldung
2013.12.20 17:04:00 3: Einffrei2 return value: syntax error at (eval 11947) line 1, at EOF


und das ist zur Zeit der Fehlermeldung der Eintrag im DEF
CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {if ("%" ne "open") {if (Value("unterer_Anschl") eq "geschlossen" && "%" ne "offen") { fhem("set Schalter03_Garage on-for-timer 1 ; set Schalter02_Einfahrt on-for-timer 1") ;; {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") { fhem("sleep 10" ; "set Schalter03_Garage on-for-timer 1") }}}}}


(die "sleep 10" sind nur zu Probezwecken)

ich habe auch eine Version geprüft, an der ich zwischen sleep und set ;; gesetzt habe
das Ergebnis:
2013.12.20 17:14:32 3: Einffrei2 return value: syntax error at (eval 12213) line 1, at EOF
syntax error at (eval 12213) line 1, near ""set Schalter03_Garage on-for-timer 1") "



nehme ich ein Semokolon raus - kommt keine Fehlermeldung und der Rest des Codes wird nicht ausgeführt

habe ich einen anderen Fehler übersehen?
Über weitere Hilfe würdeich mich freuen
Vielen Dank im voraus





FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

hatte ich schonmal erwähnt das ich Einzeiler nicht blicke  :o

Ich hab mir erlaubt das mal für mich verständlicher aufzuschreiben:

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
  if ("%" ne "open") {
    if (Value("unterer_Anschl") eq "geschlossen" && "%" ne "offen") {
      fhem("set Schalter03_Garage on-for-timer 1; set Schalter02_Einfahrt on-for-timer 1");
  {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") {
    fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage on-for-timer 1") if (Value("Schalter03_Garage_set") eq "");
  }
}
  }
}
}

Ganz klar ist mir nur nicht warum du erst auf "open" prüfst und dann auf offen und/oder geschlossen.
% solltest du eigentlich auch gegen $EVENT tauschen können.

Da ich kein Freund von sleep bin (da ich mich damit nur vertun kann) hab ich dir mal ein define ... at eingebaut.

Grüße

Edith: Grad erst gesehen. Wenn das regexp auf closed steht löst das notify auch nur bei closed aus.
Da macht eine Prüfung auf "%" ne "open" nicht viel Sinn da diese Bedingung sicher zutrifft - closed != open also ist das if immer wahr.
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.

tagedieb

Hallo Puschel74
Danke für die schnelle Antwort
da ich kein Freund vom einfachen abschreiben bin, sondern auch verstehen möchte, was ich hier "zusammenbastel" würde ich gern noch ein paar Fragen stellen:

1.CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
  if ("%" ne "open")

ich bin davon ausgegangen das sich diese Abfrage auf den CUL_HM_HM_SCI_3_FM_205C89_Sw_01 bezieht?
denn, dieser Kontakt wird nur durch einen "Anruf geschlossen" und soll die Abfrage der anderen Kontakte zur Abfrage des Torzustandes veranlassen und es dann gegebenfalls öffen  bzw nur wieder schliessen, wenn nicht vorher das Tor per mechanischem Schalter (welcher nicht im FHEM eingebunden) geschlossen wurde

2. was bedeutet oder veranlasst dieser Codes ?
if (Value("Schalter03_Garage_set") eq "")

teilt er FHEM den erneuten Torzustand mit?

3. ich habe bisher in DEF immer alles hinter einander geschrieben, also kann ich zum Beispiel nach jedem Teilbefehl einfach mit "enter" eine neue Zeile beginnen?
und durch die geschweiften Klammern erkennt DEF das es mit dem Befehlin der nächsten Zeile weitergeht?

Vielen dank im Voraus
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

tagedieb

Hallo Puschel 74

ich habe mal den Code 1:1 in die DEF kopiert, aber auch hier erfolgt leider keine Ausführung dieses Abschnittes  :(

  fhem("set Schalter03_Garage on-for-timer 1; set Schalter02_Einfahrt on-for-timer 1");
  {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") {
    fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage .....


(auch mit 2;; vor "if" keine Ausführung des 2.Teil des codes)

2013.12.20 19:11:06 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.20 19:11:06 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
2013.12.20 19:11:14 3: Tor_open return value: -1
2013.12.20 19:11:16 2: CUL_HM set Schalter03_Garage off
2013.12.20 19:11:16 2: CUL_HM set Schalter02_Einfahrt off

erst nach Betätigen des Dummy
2013.12.20 19:13:20 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.20 19:13:23 2: CUL_HM set Schalter03_Garage off
2013.12.20 19:13:43 3: Tor_closed return value: -1


da ich einfach mal voraussetzte das der gänderte code richtig ist, stellt sich mir die Frage: woran liegt es dann?


Gruss

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

sorry für die etwas verspätete Antwort aber nun legen wir mal los  8)

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
  if ("%" ne "open") {
    if (Value("unterer_Anschl") eq "geschlossen" && "%" ne "offen") {
      fhem("set Schalter03_Garage on-for-timer 1");
      fhem("set Schalter02_Einfahrt on-for-timer 1");
  {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") {
    fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage on-for-timer 1") if (Value("Schalter03_Garage_set") eq "");
  }
}
  }
}
}


Dieses notify wird nur ausgeführt wenn der CUL_HM_HM_SCI_3_FM_205C89_Sw_01 auf den Status closed springt.
Und zwar nur dann. Dieser Schalter schaltet also um auf closed und dann wird das notify ausgeführt (ich geh mal davon aus das der Schalter den Status nicht regelmäßig sendet).

if ("%" ne "open") { beszieht sich auf den Status des Schalters - % ist die alte Schreibweise für $EVENT.
Da der Schalter soeben closed gemeldet hat, sonst würde das notify nicht aufgerufen, muss dieses if wahr sein.
Der Schalter kann ja nicht open UND closed zugleich sein.

if (Value("unterer_Anschl") ...
Da ich nicht weiß welchen STATE "unterer_Anschl" hat kann ich jetzt nur raten das dieser NICHT auf "geschlossen" steht den
&& "%" ne "offen" ist aus demselben Grund richtig wie oben ("%" ne "open").
Der Status kann aber nur offen oder open sein - beides würde mich wundern.
Daher wird nun auch der Rest nicht ausgeführt da diese if-Bedinugung nicht erfüllt ist - und zwar der erste Teil nicht erfüllt ist.

Da ich immer noch mit ; in einer FHEM-Anweisung so meine Probleme habe habe ich die beiden mal untereinander geschrieben.

Zitatda ich einfach mal voraussetzte das der gänderte code richtig ist,
DAS würde ich keinesfalls voraus setzen. Meine Codes können immer noch vor Fehler strotzen.
Wenn sich FHEM bei der Abarbeitung des notify aber nicht beschwert hat sollte der Code tatsächlich richtig sein.

Dieser Teil:
if (Value("Schalter03_Garage_set") eq "")
legt das at nur an wenn es noch nicht existiert.
Ist nicht wichtig aber vermeidet eine Fehlermeldung im LogFile.

Mach mir mal einen gefallen und probier mal diesen Code und poste die Logfileeinträge - Danke.

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
Log(3,"Name: $NAME Event: $EVENT");
Log(3,"unterer Anschl: ".(Value("unterer_Anschl")));
}

Es kann auch sein das die letzte Zeile falsch ist - dann bitte so versuchen:
CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
Log(3,"Name: $NAME Event: $EVENT");
Log(3,"unterer Anschl: (Value("unterer_Anschl"))");
}

Wenn beide das selbe ergeben dann umso besser  ;D

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.

tagedieb

Guten morgen Puschel74

hab vielen Dank für die ausführliche Antwort
Gern werde ich dir den Gefallen erfüllen
Ich werde es nachher in Ruhe für mich "durcharbeiten" und berichten

Grüsse
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

tagedieb

Hallo Puschel74

nochmals Danke für die reichlichen Erklärungen.Nach und nach lichtet sich das Dunkle :D

nachdem ich die Codes aus deiner Antwort übernommen und wie folgt zusammengestellt habe:

CUL_HM_HM_SCI_3_FM_205C89_Sw_02:closed {
Log(3,"Name: $NAME Event: $EVENT");
Log(3,"unterer Anschl: ".(Value("unterer_Anschl")));
} {
    if (Value("unterer_Anschl") eq "geschlossen" && "%" ne "offen") {
      fhem("set Schalter03_Garage on-for-timer 1"); {
      fhem("set Schalter02_Einfahrt on-for-timer 1");
  {if (Value("unterer_Anschl") eq "offen" && "%" ne "geschlossen") {
    fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage on-for-timer 1") if (Value("Schalter03_Garage_set") eq "");
  }
}
  }
}
}


gab es Logmeldung 1
2013.12.21 13:41:37 3: Name: CUL_HM_HM_SCI_3_FM_205C89_Sw_02 Event: closed
2013.12.21 13:41:37 3: unterer Anschl: geschlossen
2013.12.21 13:41:38 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.21 13:41:38 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
2013.12.21 13:41:42 2: CUL_HM set Schalter03_Garage off
2013.12.21 13:41:44 3: Tor_open return value: -1
2013.12.21 13:41:47 2: CUL_HM set Schalter02_Einfahrt off
2013.12.21 13:45:28 2: CUL_HM set Schalter03_Garage on-for-timer 1


die zweite Version

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
Log(3,"Name: $NAME Event: $EVENT");
Log(3,"unterer Anschl: (Value("unterer_Anschl"))");
}


erzeugte diesen log Eintrag
2013.12.21 13:50:42 3: Einffarei4 return value: syntax error at (eval 5638) line 3, near ""unterer Anschl: (Value("unterer_Anschl"


wenn ich deine Ausführungen richtig interpretiert habe, wird der zweite Teil nur dann ausgeführt, wenn die Bedingung am Anfang des Codes erfüllt ist?
bitte korrigiere mich, wenn ich es nicht richtig verstanden habe


dann kann meines Erachtens der zweite Teil gar nicht funktionieren, denn der setzt eine ganz andere Bedingung voraus
1.Bedingung Tor geschlossen: FHEM soll öffnen (Überprüfung des Kontaktes2 ob geschlossen)
2.Bedingung Tor offen: FHEM soll schliessen( Überprüfung des Kontaktes 2 ob offen)
zumal sich die Überprüfung im code auf den Kontakt1 bezieht


if (Value("unterer_Anschl") ...
Da ich nicht weiß welchen STATE "unterer_Anschl" hat kann ich jetzt nur raten das dieser NICHT auf "geschlossen" steht den
&& "%" ne "offen" ist aus demselben Grund richtig wie oben ("%" ne "open").
Der Status kann aber nur offen oder open sein - beides würde mich wundern.
Daher wird nun auch der Rest nicht ausgeführt da diese if-Bedinugung nicht erfüllt ist - und zwar der erste Teil nicht erfüllt ist.


hier habe ich mit meinem Unwissen die Zustandsabfrage eines weiteren Kontaktes (SEC-SC-2) zu Grunde gelegt, und dieser sollte damit das geschlossene Tor an FHEM melden und vor dem Schliessen des Tores FHEM "sagen" das es auch offen ist ,falls es vorher bereits mit normalen Schalter geschlossen wurde,  denn dann würde es ansonst beim zweiten Aufruf des Schalter03_Garage diese wieder öffnen  :(

daher dann auch der Eintrag Syntaxerror von zweiten Code?


Anfangs war mein Gedanke:
wieder ein Code zum schmunzeln
define notify xy notify schliesserkontakt :geschlossen , {if ("%" ne "open") {  fhem("set [i]notify act_tor_auf [/i]; "set Schalter02_Einfahrt on-for-timer 1" ; 3min später ; set [i]notify act_tor_zu[/i]")


doch notifys im notify, dazu konnte ich FHEM nicht überreden

jetzt wo ich erkannt habe, das mein Vorhaben SO nicht funktionieren wird, was gibt es für Alternativen?

Gruss Annette

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

die Fehlermeldung bei diesem Code

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:closed {
Log(3,"Name: $NAME Event: $EVENT");
Log(3,"unterer Anschl: (Value("unterer_Anschl"))");
}


kommt daher weil mein Codeteil einfach nur falsch war  ;D

Das hier
Zitat2013.12.21 13:41:37 3: Name: CUL_HM_HM_SCI_3_FM_205C89_Sw_02 Event: closed
2013.12.21 13:41:37 3: unterer Anschl: geschlossen
aus dem FHEM-Logfile ist interessant.

Zitatjetzt wo ich erkannt habe, das mein Vorhaben SO nicht funktionieren wird, was gibt es für Alternativen?
Wie wärs damit?

CUL_HM_HM_SCI_3_FM_205C89_Sw_01:(closed|open) {
  if (Value("unterer_Anschl") eq "geschlossen" && $EVENT ne "open") {
    fhem("set Schalter03_Garage on-for-timer 1");
    fhem("set Schalter02_Einfahrt on-for-timer 1");
if (Value("unterer_Anschl") eq "offen" && $EVENT ne "closed") {
  fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage on-for-timer 1") if (Value("Schalter03_Garage_set") eq "");
}
  }
}


CUL_HM_HM_SCI_3_FM_205C89_Sw_01:(closed|open) {
sendet entweder closed oder open.

if (Value("unterer_Anschl") eq "geschlossen" && $EVENT ne "open") {
Wenn "unterer_Anschl" geschlossen ist und kein open gesendet wurde

fhem("set Schalter03_Garage on-for-timer 1");
fhem("set Schalter02_Einfahrt on-for-timer 1");

bekommen die zwei ein on-for-timer geschickt.

if (Value("unterer_Anschl") eq "offen" && $EVENT ne "closed") {
Wenn "unterer_Anschl" offen ist und kein closed gesendet wurde

fhem("define Schalter03_Garage_set at +00:00:10 set Schalter03_Garage on-for-timer 1") if (Value("Schalter03_Garage_set") eq "");
wird ein at erstellt das in 10 Sekunden an Schalter03_Garage ein on-for-timer schickt wenn das at noch nicht existiert.

Zitatdoch notifys im notify, dazu konnte ich FHEM nicht überreden
notifys in notifys werden gleich erstellt wie at in notifys  ;)

Grüße

P.S.: Fehlermeldungen bitte hier posten  8)

Edith: Obwohl mich die Abfragen auf ne "open" und ne "closed" doch etwas verwundern beim nochmaligen durchlesen.
Wenn unten geschlossen ist kann das Tor ja nur noch auffahren - sollte da nicht eher auf eq "open" geprüft werden?
Oder zumindest auf ne "closed" ?
Und beim zweiten if dann auf ne "open" ?
Denn wenn unterer_Anschl offen meldet kann das Tor ja nur noch zufahren - wo soll es auch sonst noch hin??   ;D
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.

tagedieb

Hallo

erst einmal vielen, vielen Dank für die schnelle Antwort, so schnell habe ich  damit nicht gerechnet
Dankeschön  :)
doch werde das alles ersteinmal in Ruhe Punkt für Punkt durcharbeiten und wenn es recht ist würde ich mich dann gern noch einmal melden?

viele Grüsse
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

tagedieb

Hallo

und wieder Ich  :-[

ich habe jetzt dieses "Objekt" mal mit anderen Komponeneten versehen, damit meine Nachbarschaft nicht in`s grübeln kommt  ;D

der Code sieht jetzt so aus:

CUL_HM_HM_SCI_3_FM_205C89_Sw_02:(closed|open) {
  if (Value("oberer_AnschlFK") eq "geschlossen" && $EVENT ne "open") {
    fhem("set CUL_HM_HM_LC_Sw1PBU_FM_209C5D on"); {
    fhem("set RODFSchalter_04 on");;
if (Value("oberer_AnschlFK") eq "offen" && $EVENT ne "closed") {
  fhem("define CUL_HM_HM_LC_Sw1PBU_FM_209C5D_set at +00:00:50 set CUL_HM_HM_LC_Sw1PBU_FM_209C5D off") if (Value("CUL_HM_HM_LC_Sw1PBU_FM_209C5D_set") eq "");
}
  }
}
}


und arbeitet wieder bis zur "Hälfte"

2013.12.21 17:58:44 2: CUL_HM set CUL_HM_HM_LC_Sw1PBU_FM_209C5D on
2013.12.21 17:58:45 2: CUL_HM set RODFSchalter_04 on


jedoch mit der tollen Hilfestellung von vorhin
konnte ich folgendes erkennen:

2013.12.21 18:06:23 3: Name: CUL_HM_HM_SCI_3_FM_205C89_Sw_02 Event: closed
2013.12.21 18:06:23 3: unterer Anschl: geschlossen
2013.12.21 18:06:24 2: CUL_HM set CUL_HM_HM_LC_Sw1PBU_FM_209C5D on
2013.12.21 18:06:24 2: CUL_HM set RODFSchalter_04 on
2013.12.21 18:06:25 3: Name: CUL_HM_HM_SCI_3_FM_205C89_Sw_02 Event: open
2013.12.21 18:06:25 3: unterer Anschl: geschlossen


demnach wird der Kontakt SOFORT für beide Aufgaben abgefragt, denn ich habe fast gleichzeitig mit dem
Schliessen des CUL_HM_HM_SCI_3_FM_205C89_Sw_02 den geschlossenen "unterer Anschl" Fensterkontakt geöffnet

hm.... das eine Problem gelöst und ein neues tritt auf ?
wenn man im ersten Teil, dem 2.Schalter auch etwas Zeit gibt, ehe er schaltet - wird dann der Kontaktzustand für den 2 Teil dadurch auch später abgefragt?

Vielen Dank auch für den Hinweis mit den notifys im notify

da habe ich jetzt erst einmal einen Ansatzpunkt um einiges von meinen Gedanken auszuprobieren
Fragen treten da garantiert auch auf
doch zur Zeit "wurmt" mich der obere "Fall"


Gruss



FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

Zitatdenn ich habe fast gleichzeitig
Was aber sicher keine realistische Testsituation ist.

Aber egal.

Zitatdemnach wird der Kontakt SOFORT für beide Aufgaben abgefragt, denn ich habe fast gleichzeitig mit dem
Schliessen des CUL_HM_HM_SCI_3_FM_205C89_Sw_02 den geschlossenen "unterer Anschl" Fensterkontakt geöffnet
Äh. Nein.
Das notify triggert wenn der CUL_HM_HM_... (fragte ich dich schon ob der nicht einen "normaleren" Namen bekommen könnte?) ein closed ODER ein open sendet.
Beides zugleich geht schlecht aber kurz hintereinander ist das sicher möglich.

Zitatden geschlossenen "unterer Anschl" Fensterkontakt geöffnet
Naja. Das braucht schon ein bischen Zeit bis sich
a) beim Tor die Mechanik mal in Bewegungs setzt und
b) bis der Fensterkontakt seinen Status übermittelt.
Fast gleichzeitig was machen ist hier eher kontraproduktiv.

Wobei ich immer noch grüble warum du bei einem offenen Tor auf ein event von (von was überhaupt? einer Fernbedienung oder was ist CUL_HM_HM_SCI_3_FM_205C89_Sw_02 überhaupt??) das alles andere als "schliessen" heisst prüfst.
Wenn ein Tor offen ist würde ich immer auf ein closed prüfen bzw. auf alles andere als "öffnen".

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.