Hauptmenü

Sysmon USB-Stick voll

Begonnen von accessburn, 08 Mai 2017, 09:35:02

Vorheriges Thema - Nächstes Thema

accessburn

Hallo,
mein Sysmon gibt mir folgenden Status über den USB-Stick aus:
ZitatUSB-Stick:    Total: 3700 MB, Used: 3171 MB, 91 %, Available: 323 MB at /media/usbstick

Wie müsste ein DOIF aussehen das auf die 91% anspricht?
Ich würde gerne ein Push setzen auf >90

Der Sysmon-Teil sieht so aus:
attr wl_sysmon_fs_usb1 group RPi
attr wl_sysmon_fs_usb1 label "USB1 Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_fs_usb1 room Raspberry



So weit bin ich aktuell, aber wie komm ich genau an die %-Zahl heran?

define stick_voll DOIF ([usb-stick] < 90) (set Telegram message Der scheiss USB-Stick ist voll *g*)



Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Per

Zitat von: accessburn am 08 Mai 2017, 09:35:02
Hallo,
mein Sysmon gibt mir folgenden Status über den USB-Stick aus:
ZitatUSB-Stick:    Total: 3700 MB, Used: 3171 MB, 91 %, Available: 323 MB at /media/usbstick
Ist das der Text, der im Eventlog auftaucht oder nur, wenn du Sysmon aktiv aufrufst?

accessburn

Das ist direkt die Ausgabe.
In der cfg hab ich das Label so definiert:
define wl_sysmon_fs_usb1 SVG FileLog_sysmon:SM_FS_usb1:CURRENT
attr wl_sysmon_fs_usb1 group RPi
attr wl_sysmon_fs_usb1 label "USB1 Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Ellert

Zitat von: accessburn am 08 Mai 2017, 09:35:02
Hallo,
mein Sysmon gibt mir folgenden Status über den USB-Stick aus:
Wie müsste ein DOIF aussehen das auf die 91% anspricht?
Ich würde gerne ein Push setzen auf >90

Der Sysmon-Teil sieht so aus:
attr wl_sysmon_fs_usb1 group RPi
attr wl_sysmon_fs_usb1 label "USB1 Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_fs_usb1 room Raspberry



So weit bin ich aktuell, aber wie komm ich genau an die %-Zahl heran?

define stick_voll DOIF ([usb-stick] < 90) (set Telegram message Der scheiss USB-Stick ist voll *g*)


Der Filter könnte so aussehen "(\d+) %"

Die genaue Syntax ist hier beschrieben: https://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen


accessburn

define stick_voll DOIF ([sysmon:fs_usb1:"(\d+) %"] < 90) (set Telegram message Der scheiss USB-Stick ist voll *g*)
attr stick_voll wait 86400


Macht das sinn? Auch das wait?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

gloob

#5
Wenn du die Nachricht erst 24 Stunden später bekommen möchte, dann macht es Sinn.


define stick_voll DOIF ([sysmon:fs_usb1:"(\d+) %"] > 90) (set Telegram message Der scheiss USB-Stick ist voll *g*)
attr stick_voll cmdpause 86400
attr stick_voll do always


Würde allerdings mehr Sinn machen, wenn man die Nachricht sofort haben möchte, jedoch frühstens 24 Stunden später noch einmal und auch nur wenn der Stick voller ist als 90%.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

accessburn

Achso, wait führt nicht erst das nächste mal in x Sekunden aus, sondern das ganze erst x Sekunden nach Zutreffen der Bedingung.
Okay, das wäre doof. Dann mach ich das lieber so wie du das sagst :-)

Danke für die Hilfe, wieder was gelernt.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

gloob

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

accessburn

#8
Also trotz reboot, keine aktion. Kann ich mir anzeigen lassen was der Filter erkennt zur Kontrolle?
Zitatnternals:
   DEF        ([sysmon:fs_usb1:"(\d+) %"] > 90) (set Telegram message Der scheiss USB-Stick ist voll *g*)
   NAME       stick_voll
   NR         464
   NTFY_ORDER 50-stick_voll
   STATE      initialize
   TYPE       DOIF
   Readings:
     2017-05-08 14:11:42   Device          sysmon
     2017-05-08 14:11:42   e_sysmon_fs_usb1 Total: 3700 MB, Used: 3171 MB, 91 %, Available: 323 MB at /media/usbstick
     2017-05-08 14:07:49   mode            enable
     2017-05-08 14:06:02   state           initialize
   Condition:
     0          ReadingValDoIf($hash,'sysmon','fs_usb1','','(\d+) %') > 90
   Devices:
     0           sysmon
     all         sysmon
   Do:
     0:
       0          set Telegram message Der scheiss USB-Stick ist voll *g*
     1:
   Helper:
     event      cpu_temp_avg: 47.0,cpu_temp: 46.54,ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB,eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB,loadavg: 0.10 0.15 0.14
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   sysmon
     timerevent cpu_temp_avg: 47.0,cpu_temp: 46.54,ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB,eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB,loadavg: 0.10 0.15 0.14
     triggerDev sysmon
     timerevents:
       cpu_temp_avg: 47.0
       cpu_temp: 46.54
       ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB
       eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB
       loadavg: 0.10 0.15 0.14
     timereventsState:
       cpu_temp_avg: 47.0
       cpu_temp: 46.54
       ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB
       eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB
       loadavg: 0.10 0.15 0.14
     triggerEvents:
       cpu_temp_avg: 47.0
       cpu_temp: 46.54
       ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB
       eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB
       loadavg: 0.10 0.15 0.14
     triggerEventsState:
       cpu_temp_avg: 47.0
       cpu_temp: 46.54
       ram: Total: 862.50 MB, Used: 199.28 MB, 23.11 %, Free: 663.22 MB
       eth0_diff: RX: 0.05 MB, TX: 0.08 MB, Total: 0.13 MB
       loadavg: 0.10 0.15 0.14
   Internals:
   Itimer:
   Readings:
     0           sysmon:fs_usb1
     all         sysmon:fs_usb1
   Regexp:
     0:
     All:
   State:
     State:
   Trigger:
Attributes:
   cmdpause   86400
   do         always


EDIT:
Habe versucht in den Text das Reading in telegram ausgeben zu lassen. Ohne den Filter kommt es an, mit dem Filter wird der rohe Text ausgegeben: [sysmon:fs_usb1:"(\d+) %"]
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Ellert

#9
Für die Befehlszeile
{ReadingsVal("sysmon","fs_usb1",0) =~ '(\d+) %';;return $1}

"" Anführungszeichen funktionieren bei mir in der Befehlszeile nicht, eigentlich sollten sie.

Damian

ZitatAlso trotz reboot, keine aktion. Kann ich mir anzeigen lassen was der Filter erkennt zur Kontrolle?

Arbeitest du denn mit der aktuellen Version von DOIF?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

accessburn

Zitat von: Damian am 08 Mai 2017, 18:46:27
Arbeitest du denn mit der aktuellen Version von DOIF?

Aber sowas von  :P
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Damian

Iternals:
   DEF        ([test_d:state:"(\d+) %"] > 90) (set bla [test_d:state:"(\d+) %"])
   NAME       di_bla
   NR         497
   NTFY_ORDER 50-di_bla
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-05-08 21:48:38   Device          test_d
     2017-05-08 21:48:38   cmd             1
     2017-05-08 21:48:38   cmd_event       test_d
     2017-05-08 21:48:38   cmd_nr          1
     2017-05-08 21:48:38   e_test_d_state  Total: 3700 MB, Used: 3171 MB, 91 %, Available: 323 MB at /media/usbstick
     2017-05-08 21:48:38   error           set bla 91: Please define bla first
     2017-05-08 21:48:38   state           cmd_1
 


und

Internals:
   NAME       test_d
   NR         480
   STATE      Total: 3700 MB, Used: 3171 MB, 91 %, Available: 323 MB at /media/usbstick
   TYPE       dummy



ausgelöst mit trigger test_d

funktioniert wie definiert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

accessburn

Jedoch die eigentliche Funktion überhaupt nicht, er spricht nicht an und löst keine Message aus :'(
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Damian

Zitat von: accessburn am 09 Mai 2017, 12:47:02
Jedoch die eigentliche Funktion überhaupt nicht, er spricht nicht an und löst keine Message aus :'(
Dann gibt es keine Events dazu.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF