Filter (a la notify pattern) für den event-monitor

Begonnen von Rohan, 19 April 2013, 09:51:57

Vorheriges Thema - Nächstes Thema

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

RoBra81

Meinen Onkel  ;D

Nein, zurück zum Thema: Ich habe eine zweite Installation auf der es geht - ein Vergleich hat ergeben, dass console.js verschieden sind (u.A. irgendwas von Filter)...
Wie kann es sein, dass die Dateien verschieden sind, aber keine neue Version über's Update kommt?

Markus Bloch

Was man machen kann ist ein "update console.js" um nur diese eine Datie neu herunterzuladen, oder ein "update force" um alles nochmal neu zu laden und alle Dateien neu herunterzuladen.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Ab morgen gibt es im Update ein neues Feature, mit dem man im event-Monitor eine Filter-Regexp setzen kann. Damit kommen dann nur die Events, die auf den Filter passen.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Intruder1956

guten morgen,
habe das update eingespielt  ;D
meine frage ist dazu, wenn ich Events (Filter:present.*): eingebe, dann zeigt der Filter nur noch alle Events"present" an.
Geht das auch umgekehrt ? also wenn ich present und temperatur nicht haben möchte, aber alles andere.
evtl. mit Events (Filter:$temperatur,$present.*):
vielleicht geht es ja, habe noch nicht wirklich alles gelesen, ist ja noch früh.
aber es ging mir gerade so durch den kopf beim Kaffee trinken

Gruß
Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Markus Bloch

Hallo Werner,

der Filter ist ein regulärer Ausdruck in Perl, der auf die gesamte Zeile, so wie du sie im Event-Monitor siehst, angewandt wird. Das heißt der Filter wird immer gegen eine Zeile geprüft um festzustellen, ob diese Zeile auf den Filter passt, oder nicht.

Hier mal ein Auszug aus meinem Event-Monitor mit Filter ".*" (alle):

2015-03-27 10:46:09.908 S0COUNTER Herd power: 2021.26676583387
2015-03-27 10:46:11.260 CUL_HM Steckdose_Waschmaschine_Sensor power: 0
2015-03-27 10:46:13.821 SWAP Drucksensor 0C.0-Temperature: 02BA
2015-03-27 10:46:13.821 SWAP Drucksensor 0C.1-Pressure: 000187CC
2015-03-27 10:46:13.841 SWAP Drucksensor 0B-Voltage: 0CCA
2015-03-27 10:46:13.841 SWAP Drucksensor voltage: 3.274
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor desired-temp: 11.5
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor humidity: 60
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor measured-temp: 15.5
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor dewpoint: 7.8
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer humidity: 60
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer T: 15.5 H: 60
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer temperature: 15.5
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer dewpoint: 7.8


Jetzt gibt es folgende Möglichkeiten zu filtern:

1. einzelnes Stichwort: Das ist die einfachste Methode.

  Filter: Drucksensor

ergibt:

2015-03-27 10:46:13.821 SWAP Drucksensor 0C.0-Temperature: 02BA
2015-03-27 10:46:13.821 SWAP Drucksensor 0C.1-Pressure: 000187CC
2015-03-27 10:46:13.841 SWAP Drucksensor 0B-Voltage: 0CCA
2015-03-27 10:46:13.841 SWAP Drucksensor voltage: 3.274


2. mehrere Stichwörter:

  Filter: (Drucksensor|Herd)

ergibt:


2015-03-27 10:46:09.908 S0COUNTER Herd power: 2021.26676583387
2015-03-27 10:46:13.821 SWAP Drucksensor 0C.0-Temperature: 02BA
2015-03-27 10:46:13.821 SWAP Drucksensor 0C.1-Pressure: 000187CC
2015-03-27 10:46:13.841 SWAP Drucksensor 0B-Voltage: 0CCA
2015-03-27 10:46:13.841 SWAP Drucksensor voltage: 3.274


Die umgekehrte Richtung ist jedoch bedeutend schwieriger, da man in seinem Filterausdruck erstmal ausdrücken muss, dass ein bestimmtest Wort auf der gesamten Zeile nicht vorkommen darf. Es gibt in Perl den Negationsausdruck (?!foo) um zu sagen, das ein Ausdruck (hier "foo") an dieser Stelle nicht vorkommen darf. Jetzt kann man aber nicht einfach als Filter diesen Ausdruck setzen, da der ja nur sagt, dass etwas anderes als "foo" in der Event-Zeile auftauchen muss und das ist ja auch der Fall (Zeitstempel, Modulname,...) von daher bringt dieser Ausdruck nichts und wirkt genauso wie ".*".

Um deinen genannten Wunsch auszudrücken muss folgender Ausdruck verwendet werden: ^(?:(?!foo).)*$

Dieser Ausdruck matcht auf alle Zeilen in denen auf der gesamten Zeile "foo" nicht vorkommt.

Wenn man nun mehrere Wörter auf diese weise negieren will, geht das so: ^(?:(?!foo)(?!bar).)*$

Das bedeutet alle Zeilen in denen "foo" und "bar" nicht vorkommt.

Beispielfilter: ^(?:(?!Drucksensor)(?!Herd).)*$

ergibt:

2015-03-27 10:46:11.260 CUL_HM Steckdose_Waschmaschine_Sensor power: 0
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor desired-temp: 11.5
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor humidity: 60
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor measured-temp: 15.5
2015-03-27 10:46:32.654 CUL_HM Wandthermostat_Schlafzimmer_Sensor dewpoint: 7.8
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer humidity: 60
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer T: 15.5 H: 60
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer temperature: 15.5
2015-03-27 10:46:52.654 CUL_HM Wandthermostat_Schlafzimmer dewpoint: 7.8


Ich hoffe das hilft.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Intruder1956

hallo Markus,
danke für deine ausführliche Erklärung  ;)
genau so habe ich es mir gedacht und klappt, so Filtere ich mir das Temperatur, present und Batterie aus.
bzw. Temperatur und Batterie = LaCrosse

Danke, hat mich geholfen ;D

Gruß Werner

Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

franky08

#22
Hallo, muss den Thread mal hochholen  ;) Leider funktioniert das mit dem Filter bei mir nicht. Softwarestand von fhem ist:
# $Id: fhem.pl 8805 2015-06-22 19:31:44Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 8806 2015-06-22 20:10:21Z martinp876 $
# $Id: 57_Calendar.pm 8687 2015-06-04 13:29:42Z borisneubert $
# $Id: 93_DbLog.pm 8779 2015-06-19 16:43:37Z tobiasfaust $
# $Id: 66_ECMD.pm 7510 2015-01-10 20:20:34Z borisneubert $
# $Id: 67_ECMDDevice.pm 7698 2015-01-24 19:02:54Z borisneubert $
# $Id: 70_ENIGMA2.pm 8297 2015-03-27 14:31:15Z loredo $
# $Id: 72_FB_CALLMONITOR.pm 8791 2015-06-21 11:23:23Z markusbloch $
# $Id: 93_FHEM2FHEM.pm 8416 2015-04-11 10:46:08Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 8788 2015-06-21 06:27:02Z rudolfkoenig $
# $Id: 95_FLOORPLAN.pm 8752 2015-06-15 17:10:54Z ulimaass $
# $Id: 92_FileLog.pm 8738 2015-06-13 14:02:11Z rudolfkoenig $
# $Id: 00_HMLAN.pm 8796 2015-06-21 17:35:22Z martinp876 $
# $Id: 98_HMinfo.pm 8766 2015-06-17 18:38:36Z martinp876 $
# $Id: 70_PIONEERAVR.pm 8612 2015-05-20 22:13:38Z hofrichter $
# $Id: 71_PIONEERAVRZONE.pm 7365 2014-12-30 15:42:43Z hofrichter $
# $Id: 73_PRESENCE.pm 8638 2015-05-26 19:34:04Z markusbloch $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 8575 2015-05-14 08:41:10Z rudolfkoenig $
# $Id: 42_SYSMON.pm 8708 2015-06-07 12:44:53Z hexenmeister $
# $Id: 98_Text2Speech.pm 8591 2015-05-17 11:37:00Z tobiasfaust $
# $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
# $Id: 70_VIERA.pm 6347 2014-08-02 16:25:27Z teevau $
# $Id: 59_Weather.pm 8688 2015-06-04 13:37:22Z borisneubert $
# $Id: 90_at.pm 8326 2015-03-29 13:30:57Z rudolfkoenig $
# $Id: 98_autocreate.pm 8758 2015-06-16 17:12:39Z rudolfkoenig $
# $Id: 98_average.pm 5443 2014-04-05 06:37:49Z rudolfkoenig $
# $Id: 98_dewpoint.pm 6757 2014-10-12 18:58:57Z joachim09876 $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 99_myUtilsTelefon.pm 1932 2012-10-06 20:15:33Z ulimaass $
# $Id: 91_notify.pm 8800 2015-06-22 18:24:59Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 7406 2015-01-02 15:02:11Z justme1968 $
# $Id: 98_statistics.pm 8783 2015-06-20 12:55:28Z tpoitzsch $
# $Id: 98_telnet.pm 8229 2015-03-17 09:00:27Z rudolfkoenig $
# $Id: 91_watchdog.pm 7108 2014-12-01 08:11:34Z rudolfkoenig $
./FHEM/95_webViewControl.pm: No such file or directory
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $


Bekomme keine Dialogbox mit OK, siehe Screenshot
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

RoBra81


franky08

Na klar, sonst hätte ich ja das Fenster, oben links nicht zu sehen bekommen  ;)

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

justme1968

schau mal in deine java script console. ich tippe auf einen fehler den du dort sehen solltest.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

franky08

#26
Stimmt die Fehlerconsole zeigt:

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Markus Bloch

Hmm, so wie das aussieht, scheint bei dir jquery.min.js geladen zu sein, aber jquery-ui.min.js offenbar nicht.

Hast du evtl. eine Art Ad-Blocker oder No-Script, welche das aussführen von Javascript unterbinden?
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

franky08

Nein, habe das mal mit Safari und mit dem IE getestet, ist bei beiden Browsern gleich. Blockiert habe ich m.W. nichts.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Markus Bloch

Keine Probleme bei mir mit Firefox/IE/Chrome.

Bist du dir da sicher, das da nichts blockt? Kein Ad-Aware, Avira, Avast und Konsorten?

Da sich sonst noch nirgends einer gemeldet hat, gehe ich von einem lokalen Problem an deiner Umgebung aus.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)