FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: tagedieb am 19 Dezember 2013, 13:04:36

Titel: ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 19 Dezember 2013, 13:04:36
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




Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: rudolfkoenig am 19 Dezember 2013, 20:39:16
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.
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 19 Dezember 2013, 21:49:51
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



Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: rudolfkoenig am 20 Dezember 2013, 09:02:33
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.
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 20 Dezember 2013, 17:25:49
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





Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 20 Dezember 2013, 17:34:00
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.
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 20 Dezember 2013, 18:02:45
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 20 Dezember 2013, 19:33:49
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

Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 21 Dezember 2013, 08:25:25
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 09:01:49
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 14:58:02
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

Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 21 Dezember 2013, 15:42:16
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 15:54:36
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 18:50:37
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



Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 21 Dezember 2013, 19:18:13
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
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 20:04:17
Hallo

danke für die schnelle Reaktion in die reichliche Information,

ich hatte in der Zwischenzeit mit rename von alias
CUL_HM_HM_SCI_3_FM_205C89_Sw_02  auf Schliesserkontakt02
geändert


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".


wenn ich das jetzt lese, habe ich für mich doch einiges falsch interpretiert
die Überprüfung sollte auf den Fensterkontakt, in diesem Beispiel
"oberer_AnschlFK"

im Original, der
"unterer_Anschl" oder "oberer_Anschl"l

geprüft werden, der Schliesserkontakt wird nur kurz durch einen Anruf geschlossen und soll den gesamten "Befehl" in Gang bringen,  danach sollte er nicht mehr agieren

da das Tor bei jedem "Stromstoss" loslegt, würde es nach zwischenzeitlichen schliessen durch den physikalischen Schalter, beim zweiten Teil des codes wieder aufgehen, daher der Gedanke einer Prüfung, des des "unterer_Anschl"(ages) oder des "oberen_Anschl"(ages)

bei meinen Fragen vergesse ich immer wieder, das nur ICH die Gegebenheiten hier sehe und kenne
ich bitte um Entschuldigung

Gruss


Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 21 Dezember 2013, 22:54:55
Guten abend zusammmen

Hallo Puschel 74
ich würde gern noch einmal auf das notify im notify zurückkommen:
wenn das bestehendes notify eine Statusabfrage durchführt, führt es diese Statusabfrage auch dann noch ab, wenn es in weiteres notify eingebaut wird und durch dieses dann aufgerufen wird?

Danke im voraus

Grüsse
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 22 Dezember 2013, 08:24:53
Hallo,

define schalter1_pruef notify schalter1:on.* {
  fhem("define schalter2_pruef notify schalter2:on.* set Licht1 off") if(Value("schalter2_pruef") eq "");
}


Das notify schalter1_pruef wird sofort angelegt (logisch).
Wenn schalter2 nun ein on(irgendwas) sendet passiert nichts.
Das notify schalter2_pruef wird erst angelegt wenn schalter1 ein on(irgendwas) sendet und das notify schalter2_pruef nicht schon existiert.
Wenn nun schalter2 ein on(irgendwas) sendet wird Licht1 ausgeschaltet

Ja. ein kontruiertes Beispiel - mir ist nichts besseres eingefallen  8)

Zu deinem Problem mit dem Tor - ich bin noch immer nicht dahinter gekommen warum es nicht funktioniert.
Ich werd mir mal nach dem Kaffee den ganzen Beitrag nochmal durchlesen.

Grüße
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 22 Dezember 2013, 09:01:46
Hallo und guten morgen Puschel74

danke für die tolle notify Erklärung - das werde ich nachherin Angriff nehmen und versuchen es "nachbasteln" .denn meine Zusammenstellung ist im Vergleich eine Vorschulversion (eben Anfänger  ;D)
mit trigger Befehl und und hat in meiner Variante nämlich nicht geprüft  :(   (laut code wurde das fhem ja auch nicht mitgeteilt)

das du dir noch einmal Zeit für meine Torgeschichte nehmem möchtest, finde ich grossartig
Dankeschön

Gruss Annette



Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 22 Dezember 2013, 11:25:55
Hallo noch einmal

ich habe jetzt jeweils ein "auf und zu" notify nach dem Beispiel erstellt, wenn ich diese in der Befehlszeile triggere, erledigen die auch ihre Aufgabe

unterer_Anschl:offen.* {
fhem("define schalter2_pruef notify oberer_Anschl:geschlossen.* set Tor_West Zu") if(Value("schalter2_pruef") eq "");
}


sind jetzt meine Gedanken falsch, oder würde dieser Code
Schliesserkontakt_01:closed {
if ("%" ne "open") {
fhem("trigger Tor_West Auf ; set Schalter02_Einfahrt on-for-timer 1 ; sleep 120 ; trigger Tor_West Zu ")
}
}

meine Wünsche ausführen?
das Tor öffnet und schliesst wunschgemäss - ist hier die Prüfung des Zustandes mit inbegriffen?

(mit dem sleep - ich arbeite daran  ;) )


Gruss

Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 22 Dezember 2013, 11:40:56
Hallo,

Zitatmeine Wünsche ausführen?

Schliesserkontakt_01:closed {
if ($EVENT ne "open") {
fhem("trigger Tor_West Auf ; set Schalter02_Einfahrt on-for-timer 1 ; sleep 120 ; trigger Tor_West Zu ")
}
}


Das if kannst du dir sparen - das wird mit Sicherheit wahr sein da das notify auf closed anspricht und closed ne open ist.

Ein trigger Tor_West Auf gehe ich mal davon aus wird dir nichts bringen - du willst das Tor ja öffnen (vermute ich mal).
Also ein "set Tor_West Auf".
Ich vermute das das sleep so korrekt sein dürfte und fhem nicht lahm legt.
Da ich aber kein Freund von sleep-Experimenten bin das selbe mit einem at.

Hier mal der komplette Code:
Schliesserkontakt_01:closed {
fhem("set Tor_West Auf ; set Schalter02_Einfahrt on-for-timer 1 ;");
fhem("define Tor_West_schliessen at +00:02:00 set Tor_West Zu ")
}

Sobald der Schliesserkontakt_01 ein closed meldet wird an Tor_West ein Auf gesendet und Schalter02_Einfahrt bekommt einen on-for-timer 1 geschickt.
Zeitgleich wird ein at angelegt das in 2 Minuten an Tor_West ein Zu sendet.

Wenn du etwas schalten willst musst du ein set verwenden.
Wenn du ein anderes notify starten (triggern) möchtest kansnt du trigger verwenden.

Grüße
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 22 Dezember 2013, 11:52:10
Hallo

2013.12.22 11:43:12 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.22 11:43:13 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
2013.12.22 11:43:16 2: CUL_HM set Schalter03_Garage off
2013.12.22 11:43:18 3: Tor_open return value: -1
2013.12.22 11:43:22 2: CUL_HM set Schalter02_Einfahrt off
2013.12.22 11:43:25 3: Tor_open return value: -1
2013.12.22 11:45:14 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.22 11:45:16 2: CUL_HM set Schalter03_Garage off
2013.12.22 11:45:36 3: Tor_closed return value: -1



hm..... ?die Logdaten sind doch aber ok?

Gruss
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: Puschel74 am 22 Dezember 2013, 11:55:55
Hallo,

so wie ich das aus der Logdatei sehe wird genau das gemacht was das notify beinhaltet.

Zitat2013.12.22 11:43:12 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.22 11:43:13 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
Hier wird beiden Geräten jeweils ein on-for-timer 1 gesendet und
Zitat2013.12.22 11:45:14 2: CUL_HM set Schalter03_Garage on-for-timer 1
2 Minuten später an Schalter03_Garage nochmal ein on-for-timer 1

Das at wurde also angelegt und 2 Minuten später auch ausgeführt.

Das notify klappt würde ich mal behaupten.

Grüße
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 22 Dezember 2013, 12:02:31
hallo
das war die logdeitevon meiner trigger Version  :D

das ist die der set Version
2013.12.22 11:56:32 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.22 11:56:33 2: CUL_HM set Schalter02_Einfahrt on-for-timer 1
2013.12.22 11:56:36 3: Tor_open return value: -1
2013.12.22 11:56:37 2: CUL_HM set Schalter03_Garage off
2013.12.22 11:56:46 2: CUL_HM set Schalter02_Einfahrt off
2013.12.22 11:58:33 2: CUL_HM set Schalter03_Garage on-for-timer 1
2013.12.22 11:58:41 2: CUL_HM set Schalter03_Garage off
2013.12.22 11:58:50 2: CUL_HM set Schalter03_Garage off


also beide mit dem gleichen Ergebnis

Gruss
Titel: Antw:ausführung von notify plötzlich unabhängige fehlermeldung von FBDECT: ???
Beitrag von: tagedieb am 22 Dezember 2013, 12:13:34
Hallo

die "set device" gefällt mir aber besser und ich habe sie jetzt integriert
Dankeschön!!!

damit ist mein Anliegen auf einem ganz anderen Weg geklärt worden und ich konnte obendrein noch eine ganze Menge neues Wissen für mich mitnehmen
Ich freu mich sehr über diese Hilfe

(ich werde mich aber weiter mit dem ersten Problem beschäftigen)

ich wünsche einen schönen 4.Advent
Gruss