[GELÖST] - Sporadisch passiert etwas / Licht an/aus ohne erkennbaren Grund

Begonnen von 87insane, 07 Februar 2019, 12:55:17

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Aber verbose 5 hilft dir hier vermutlich nicht...

Mach doch einfach bei den Schaltbefehlen Logausgaben. Dann weisst du (ohne verbose5 "Spam") dass es das Notify ist oder eben nicht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

87insane

Ohne es nun groß nach zu googlen, hast du ein Example?

MadMax-FHEM

Ausnahmsweise ;)

Log3(undef, 3, "Subname/Kennung Ausgabe Variablen: EVTPART1: $EVTPART1 Ausgeführter Befehl")

Log3 ist (soweit ich das jetzt verfolgt habe) die aktuell zu nutzende Logfunktion (ältere/andere gehen wohl auch [noch])...
Die '3' ist (glaube ich) der "verbose-Level"...
Alles innerhalb von den Anführungszeichen kannst du nat. frei anpassen.
Ich gebe meist/immer aus "wo ich bin" bzw. wo die Logausgabe herstammt (Sub-Name, Notify-Name, ...) und dann die Variablen, mit denen ich "arbeite" (manchmal auch mehr, z.B. statt "nur" $EVTPART1 vielleicht auch den gesamten $EVENT etc.) und dann gegebenenfalls noch WAS ich getan habe ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

87insane

Danke - Ich weiß, normal soll man selber googlen. Aber so geht es ausnahmsweise schneller und ich kann weiter basteln an den ganzen Dingen die noch ausstehen.
Riesen Dank!

MadMax-FHEM

Sachen die ich aus dem Kopf weiß sind kein Ding...
...wenn ich selber suchen muss/müsste, dann "sag" ich das schon: bitte selber suchen ;)

Viel Erfolg!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

87insane

Also ich scheine zu dumm zu sein. Hab im Comandref, bei google usw geschaut nach Beispielen. Ich schaffe es nicht ohne Syntax Error oder anderen Fehlern das LOG3 in mein Konstrukt einzubauen.

define az_Stehlampe_ESP notify (ESPEasy_az_licht_strom_rechts:strom_rechts:.*) {\
if ($EVTPART1 eq "on" && ReadingsVal("az_stehlampe", "state", "0") eq "off") {\
  fhem("set az_stehlampe on");;;;\
}\
elsif ($EVTPART1 eq "off" && ReadingsVal("az_stehlampe", "state", "0") eq "on") {\
  fhem("set az_stehlampe off");;;;\
}\
}


Wenn ich dort
Log3(undef, 3, "Subname/Kennung Ausgabe Variablen: EVTPART1: $EVTPART1 Ausgeführter Befehl")

einbauen will, egal wie...immer wieder Fehler.

z.B.
define az_Stehlampe_ESP notify (ESPEasy_az_licht_strom_rechts:strom_rechts:.*) {\
if ($EVTPART1 eq "on" && ReadingsVal("az_stehlampe", "state", "0") eq "off") {\
  fhem("set az_stehlampe on");;;;\
  Log3(undef, 3, "ON-Teil EVTPART1: $EVTPART1 und etwas anderes...");;;;\
}\
elsif ($EVTPART1 eq "off" && ReadingsVal("az_stehlampe", "state", "0") eq "on") {\
  fhem("set az_stehlampe off");;;;\
  Log3(undef, 3, "OFF-Teil EVTPART1: $EVTPART1 und etwas anderes...");;;;\
}\
}


Hab durch verbose 5 im notify zumindest festgestellt, dass der "Fehler", des selbstständigem an/aus immer 2-3 mal am Tag passiert. Die Uhrzeiten sind aber immer anders. Und ich weiß, wie schon gesagt es ist die Stehlampe (rechter Knopf am Schalter). Mit LOG3 bin ich leider nicht weiter gekommen :(

Wernieman

Anstatt in der cfg rumzueditieren, solltest Du probieren, es in FHEM selber zu machen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

87insane

Vermute mal du meinst den DEF in dem notify? Wenn ja, das habe ich natürlich auch getan.
Ich habe leider kein Lösung gefunden die mir keinen Error oder Syntax Error rauß geschoben hat.

Die LOG 3 Methode habe ich versucht mit zusätzlichen {} oder ; usw versucht einzubinden. Aus einem mir einfach nicht begreiflichem Grund, bekomme ich das nicht hin.

Aktuell bin ich wieder auf Verbose 5 aber dort werden mir leider die Variablen nicht aufgelöst und die Idee mit LOG scheint ja genau das zu sein, was ich brauche...

Wernieman

Ich komm mit den ganzen ";" nicht mit. Könntest Du mir bitte das geben, was Du um def des Notivy schreibst?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

#24
Wenn man jetzt nur wüsste wie genau der Worlaut dieses Errors ist. Ja dann...
Und ich gebe Werniemann Recht. Damit wir Dir besser helfen können solltest Du ein list vom notify geben und versuchen alles in der FHEMWEB zu konfigurieren. Dafür ist sie da.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Byte09

Nur überflogen, denke aber das hier:

Log3(undef, 3, "OFF-Teil EVTPART1...

wird schonmal nicht gehen ohne das undef in ' zu setzen .... aber gerade nicht probiert da mobil.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk


CoolTux

Das passt schon. undef wird immer ohne '' oder "" gesetzt.
undef ist eigentlich eine Funktion.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

87insane

Hallo nochmal,

das steht nun drin:

(ESPEasy_az_licht_strom_rechts:strom_rechts:.(on|off)) {
if ($EVTPART1 eq "on" && ReadingsVal("az_stehlampe", "state", "0") eq "off") {
  fhem("set az_stehlampe on");;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;
}
elsif ($EVTPART1 eq "off" && ReadingsVal("az_stehlampe", "state", "0") eq "on") {
  fhem("set az_stehlampe off");;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;
}
}



und dies ergibt im log, das hier (das hier ist einmal on und off):
2019.02.12 12:55:12 4: az_Stehlampe_ESP exec {
if ($EVTPART1 eq "on" && ReadingsVal("az_stehlampe", "state", "0") eq "off") {
  fhem("set az_stehlampe on");;;;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;;;
}
elsif ($EVTPART1 eq "off" && ReadingsVal("az_stehlampe", "state", "0") eq "on") {
  fhem("set az_stehlampe off");;;;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;;;
}
}
2019.02.12 12:55:12 3: CUL_443MHz IT_set: az_stehlampe on
2019.02.12 12:55:12 2: AttrTemplates: got 53 entries
2019.02.12 12:55:12 5: CUL_443MHz IT_set: Type=CUL Protocol=V1
2019.02.12 12:55:13 5: IT_Set: GetFn(raw): message = is00000FFF0F0F Antwort =   raw => is00000FFF0F0F
2019.02.12 12:55:15 5: Triggering az_Stehlampe_ESP
2019.02.12 12:55:15 4: az_Stehlampe_ESP exec {
if ($EVTPART1 eq "on" && ReadingsVal("az_stehlampe", "state", "0") eq "off") {
  fhem("set az_stehlampe on");;;;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;;;
}
elsif ($EVTPART1 eq "off" && ReadingsVal("az_stehlampe", "state", "0") eq "on") {
  fhem("set az_stehlampe off");;;;
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");;;;
}
}
2019.02.12 12:55:15 3: CUL_443MHz IT_set: az_stehlampe off
2019.02.12 12:55:15 5: CUL_443MHz IT_set: Type=CUL Protocol=V1
2019.02.12 12:55:15 5: IT_Set: GetFn(raw): message = is00000FFF0FF0 Antwort =   raw => is00000FFF0FF0


Vielleicht verstehe ich das nicht ABER es wird im Log auch nichts zu den Variablen gesagt. Was nun genau drin steht, weiß ich nicht. Warum (vermutlich) das modify einfach mal auslöst, weiß ich auch nicht. Für mich sieht das notify super aus. Aber das kann ja nicht sein.....

CoolTux


(ESPEasy_az_licht_strom_rechts:strom_rechts:.(on|off)) {
  fhem("set az_stehlampe $EVTPART1") if ( ReadingsVal('az_stehlampe', 'state', 0) ne $EVTPART1);
  Log3(undef, 3, "EVENT: $EVENT, EVTPART1: $EVTPART1");
}


Schau mal ob es so nicht einfacher und übersichtlicher wäre.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

87insane

Der ist natürlich schöner als meiner.
Würde nur gerne wissen, warum es ab und an auslöst. Dein neuer Code ist super, versteh mich nicht falsch.

Aber wenn ich wieder und wieder auf sowas stoße, möchte ich euch nicht immer nerven müssen. Werde deinen Code sicher übernehmen, zuerst aber möchte ich gerne verstehen :)

Hab aktuell mehrere Baustellen und versuche die alle nach und nach abzuarbeiten. Nur für die, die sich wundern, warum ich verschiedene Threads aktuell offen habe...