Event archivieren // Auslöser identifizieren

Begonnen von Jogi, 11 Juli 2017, 09:01:37

Vorheriges Thema - Nächstes Thema

Jogi

Hallo,
das ist wahrscheinlich eine echte Anfängerfrage:
Wenn man ein Gerät hat, dass mit vielen Auslösern verknüpft ist, dann kann es schon mal unübersichtlich werden und man weiß nicht ganz genau, welcher Auslöser, das Gerät geschaltet hat.
Dazu habe ich zwei Fragen:
- Über den Event Monitor kann man live sehen, was passiert, aber werden die Events auch irgendwo archiviert, oder kann man einstellen, dass sie archiviert werden, so dass man das auch rückwirkend nachvollziehen kann?
- Gibt es einen Befehl, mit dem man sich anzeigen lassen kann, welche Auslöser ein Geräte gerade z.B. "eingeschaltet" lassen.

Vielen Dank für Infos.   

amenomade

Zitat- Über den Event Monitor kann man live sehen, was passiert, aber werden die Events auch irgendwo archiviert, oder kann man einstellen, dass sie archiviert werden, so dass man das auch rückwirkend nachvollziehen kann?
Einfach eine zusätzliche FileLog mit den Events von allen Auslösern definieren.

Zitat- Gibt es einen Befehl, mit dem man sich anzeigen lassen kann, welche Auslöser ein Geräte gerade z.B. "eingeschaltet" lassen.
Bei DOIFs kann man sehen, welche Bedingungen ausgelöst haben. Aber sonst würde ich es über ein Userreading machen: bei jedem Auslöser nicht nur schalten, sondern auch ein "ich war es" userReading auf dem geschalteten Device setzen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

nils_

https://fhem.de/commandref_DE.html#notify

Zitat$NAME und $TYPE enthalten den Namen bzw. Typ des Ereignis auslösenden Gerätes
viele Wege in FHEM es gibt!

amenomade

Ja, der Name des auslösender Geräts des Notifys. Wenn Du aber 10 unterschiedliche Notifys oder DOIFs oder Watchdogs hast, die die selbe Lampe schalten, kannst Du damit nicht wissen welches Notify die Lampe geschaltet hat.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

nils_

Zitat von: amenomade am 11 Juli 2017, 09:34:19
Ja, der Name des auslösender Geräts des Notifys. Wenn Du aber 10 unterschiedliche Notifys oder DOIFs oder Watchdogs hast, die die selbe Lampe schalten, kannst Du damit nicht wissen welches Notify die Lampe geschaltet hat.

das stimmt.
da hab ich die frage falsch verstanden gehabt... ich hatte es so verstanden das er wissen wollte wer den Event/ das notify ausgelöst hat.

viele Wege in FHEM es gibt!

pc1246

#5
Zitat von: amenomade am 11 Juli 2017, 09:34:19
Ja, der Name des auslösender Geräts des Notifys. Wenn Du aber 10 unterschiedliche Notifys oder DOIFs oder Watchdogs hast, die die selbe Lampe schalten, kannst Du damit nicht wissen welches Notify die Lampe geschaltet hat.
Und dann hast Du etwas falsch gemacht!
Es soll nur einen geben! Und so wie ich den TE verstanden habe, ist das auch so, nur wusste er nicht, wie er den Ausloeser erkennen kann!
Gruss Christoph

P.S.: Sorry, dass ich da so rigoros antworte. Aber das birgt so viele Fehler, wenn man mit mehreren "notifies", "ats" oder "DOIFs" ein Element schaltet, dass ich da einfach was zu sagen muss! Ich versuche das immer mit einem Rolladen der von zwei Stellen in zwei Richtungen bedient wird zu erklaeren. Da geht dann der Motor kaputt, das leuchtet jedem ein!
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

Jogi

Zitat von: nils_ am 11 Juli 2017, 09:43:08
das stimmt.
da hab ich die frage falsch verstanden gehabt... ich hatte es so verstanden das er wissen wollte wer den Event/ das notify ausgelöst hat.
genau so ist es, ich habe unterschiedlichste notify´s, DOIF´s und möchte wissen, welches ausgelöst hat.

Jogi

Zitat von: amenomade am 11 Juli 2017, 09:18:07
Einfach eine zusätzliche FileLog mit den Events von allen Auslösern definieren.
Das ist ein guter Tipp, ABER wie geht das? (Ich bin Anfänger!)

Danke für Tipps!

dev0

Zitat von: Jogi am 11 Juli 2017, 12:13:09
Das ist ein guter Tipp, ABER wie geht das? (Ich bin Anfänger!)

Auch Anfänger dürfen die commandref lesen. Wenn es konkrete Fragen dazu gibt, dann werden sie mit Sicherheit hier gerne beantwortet. Aber "wie geht das" ist kein guter Einstieg, um mit FHEM und den Helfenden im Forum "warm" zu werden.

nils_

mmmh nochmal kurz drüber gegrübelt  :o

erstmal bitte auch das berücksichtigen...
Zitat von: pc1246 am 11 Juli 2017, 11:54:25
Und dann hast Du etwas falsch gemacht!
Es soll nur einen geben! Und so wie ich den TE verstanden habe, ist das auch so, nur wusste er nicht, wie er den Ausloeser erkennen kann!
Gruss Christoph

P.S.: Sorry, dass ich da so rigoros antworte. Aber das birgt so viele Fehler, wenn man mit mehreren "notifies", "ats" oder "DOIFs" ein Element schaltet, dass ich da einfach was zu sagen muss! Ich versuche das immer mit einem Rolladen der von zwei Stellen in zwei Richtungen bedient wird zu erklaeren. Da geht dann der Motor kaputt, das leuchtet jedem ein!

Funktioniert ansonsten erstmal, aber die Seiteneffekte sind dann nicht mehr überschaubar, wenn du mehrere "Schaltstellen" hast!



aaaaaaaaaaaber,
Zitat von: amenomade am 11 Juli 2017, 09:34:19
Ja, der Name des auslösender Geräts des Notifys. Wenn Du aber 10 unterschiedliche Notifys oder DOIFs oder Watchdogs hast, die die selbe Lampe schalten, kannst Du damit nicht wissen welches Notify die Lampe geschaltet hat.

nur als idee:
define ntfy_XYZ notify Lampe123:(on|off) DoSomething($NAME, $TYPE)
viele Wege in FHEM es gibt!

amenomade

Zitatnur als idee:
define ntfy_XYZ notify Lampe123:(on|off) DoSomething($NAME, $TYPE)

Damit hast Du dann $NAME="Lampe123", da Lampe123 das notify triggert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

nils_

Zitat von: amenomade am 11 Juli 2017, 13:32:20
Damit hast Du dann $NAME="Lampe123", da Lampe123 das notify triggert.

aye caramba..... ich leg mich jetzt einfach ins bett..... oder trinke noch 20 kaffee  :o ;D


ich sehs ein, er muss es selbst irgendwo ablegen wer wie wo was geschaltet hat.
viele Wege in FHEM es gibt!

Ellert

#12
Der Zugriff auf den Eigennamen bei DOIF und notify erfolgt mit $SELF.

Man könnte an jeden Befehl einen Log-Befehl anhängen,

für DOIF:
{Log 1, "$SELF: $DEVICE, $EVENTS"}
für notify
{Log 1, "$SELF: $NAME, $EVENT"}

Jogi

Vielen Dank für die Tipps,
ich werde mal damit experimentieren und schaun, was ich davon umsetzen kann!