[SYSMON] Schwierigkeiten bei der Konfiguration, Modul wird nicht geladen

Begonnen von u302320, 01 November 2015, 10:20:23

Vorheriges Thema - Nächstes Thema

u302320

Ausgehend von der Beispiel-Konfiguration in der Doku habe ich SYSMON für meine 7390 wie folgt konfiguriert:

# Modul-Definition
define sysmon SYSMON 1 1 1 10
#attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,^~ /.*usb.*,~ /$
attr sysmon event-on-update-reading cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,fs_.*,stat_cpu_percent
attr sysmon filesystems fs_var:/:/var,fs_usb1:/var/media/ftp/SanDisk-CruzerContour-01:USB-Stick
#attr sysmon network-interfaces eth0:eth0:Ethernet,wlan0:wlan0:WiFi1
attr sysmon network-interfaces wlan0:wlan0:WiFi1,wlan1:wlan1:WiFi2
attr sysmon group FritzBox
attr sysmon room System

# Log
define FileLog_sysmon FileLog /var/media/ftp/SanDisk-CruzerContour-03/fhem/sysmon-%Y-%m.log sysmon
attr FileLog_sysmon group FritzBox
attr FileLog_sysmon logtype SM_CPUTemp:Plot,text
attr FileLog_sysmon room System

# Visualisierung: CPU-Temperatur
define wl_sysmon_temp SVG FileLog_sysmon:SM_CPUTemp:CURRENT
attr wl_sysmon_temp group FritzBox
attr wl_sysmon_temp label "CPU Temperatur: Min $data{min2}, Max $data{max2}, Last $data{currval2}"
attr wl_sysmon_temp room System

# Visualisierung: Netzwerk-Datenuebertragung fuer eth0
#define wl_sysmon_eth0 SVG FileLog_sysmon:SM_Network_eth0:CURRENT
#attr wl_sysmon_eth0 group FritzBox
#attr wl_sysmon_eth0 label "Netzwerk-Traffic eth0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
#attr wl_sysmon_eth0 room System

# Visualisierung: Netzwerk-Datenuebertragung fuer wlan0
define wl_sysmon_wlan0 SVG FileLog_sysmon:SM_Network_wlan0:CURRENT
attr wl_sysmon_wlan0 group FritzBox
attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_wlan0 room System

# Visualisierung: Netzwerk-Datenuebertragung fuer wlan1
define wl_sysmon_wlan1 SVG FileLog_sysmon:SM_Network_wlan1:CURRENT
attr wl_sysmon_wlan1 group FritzBox
attr wl_sysmon_wlan1 label "Netzwerk-Traffic wlan1: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_wlan1 room System

# Visualisierung: CPU-Auslastung (load average)
define wl_sysmon_load SVG FileLog_sysmon:SM_Load:CURRENT
attr wl_sysmon_load group FritzBox
attr wl_sysmon_load label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_load room System

# Visualisierung: RAM-Nutzung
define wl_sysmon_ram SVG FileLog_sysmon:SM_RAM:CURRENT
attr wl_sysmon_ram group FritzBox
attr wl_sysmon_ram label "RAM-Nutzung Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_ram room System

# Visualisierung: Dateisystem: Root-Partition
#define wl_sysmon_fs_root SVG FileLog_sysmon:SM_FS_root:CURRENT
#attr wl_sysmon_fs_root group FritzBox
#attr wl_sysmon_fs_root label "Root Partition Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{cu$
#attr wl_sysmon_fs_root room System

# Visualisierung: Dateisystem: /var
define wl_sysmon_fs_root SVG FileLog_sysmon:SM_FS_var:CURRENT
attr wl_sysmon_fs_var group FritzBox
attr wl_sysmon_fs_var label "var Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
attr wl_sysmon_fs_var room System


# Visualisierung: Dateisystem: USB-Stick
define wl_sysmon_fs_usb1 SVG FileLog_sysmon:SM_FS_usb1:CURRENT
attr wl_sysmon_fs_usb1 group FritzBox
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 System


# Anzeige der Readings zum Einbinden in ein 'Raum'.
define SysValues weblink htmlCode {SYSMON_ShowValuesHTML('sysmon')}
attr SysValues group FritzBox
attr SysValues room System

# Anzeige CPU Auslasung
define wl_sysmon_cpustat SVG FileLog_sysmon:SM_CPUStat:CURRENT
attr wl_sysmon_cpustat label "CPU(min/max): user:$data{min1}/$data{max1} nice:$data{min2}/$data{max2} sys:$data{min3}/$$
attr wl_sysmon_cpustat group FritzBox
attr wl_sysmon_cpustat room 9.99_Test
attr wl_sysmon_cpustat plotsize 840,420
define wl_sysmon_cpustat_s SVG FileLog_sysmon:SM_CPUStatSum:CURRENT
attr wl_sysmon_cpustat_s label "CPU(min/max): user:$data{min1}/$data{max1} nice:$data{min2}/$data{max2} sys:$data{min3}$
attr wl_sysmon_cpustat_s group FritzBox
attr wl_sysmon_cpustat_s room 9.99_Test
attr wl_sysmon_cpustat_s plotsize 840,420
define wl_sysmon_cpustatT SVG FileLog_sysmon:SM_CPUStatTotal:CURRENT
attr wl_sysmon_cpustatT label "CPU-Auslastung"
attr wl_sysmon_cpustatT group FritzBox
attr wl_sysmon_cpustatT plotsize 840,420
attr wl_sysmon_cpustatT room 9.99_Test


Leider weigert sich FHEM hartnäckig SYSMON auch nur zu laden:

2015.11.01 10:14:29 3: Opening cul device /dev/ttyACM0
2015.11.01 10:14:30 3: Setting cul serial parameters to 115200,8,N,1
2015.11.01 10:14:30 3: cul device opened
2015.11.01 10:14:30 3: cul: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2015.11.01 10:14:32 3: WEB: port xxxx opened
2015.11.01 10:14:34 2: eventTypes: loaded 372 events from xxx
Bareword found where operator expected at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4271, near "s/[^0-9]//gr"
Bareword found where operator expected at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4336, near "s/#TITLE#/$opt->{title}/r"
2015.11.01 10:14:37 1: reload: Error:Modul 42_SYSMON deactivated:
Can't modify time in substitution (s///) at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4271, near "s/[^0-9]//gr"
syntax error at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4271, near "s/[^0-9]//gr"
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4282, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4284, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4285, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4289, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4291, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4292, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4293, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4293, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4294, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4294, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4295, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4295, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4307, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4324, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4325, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4326, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4329, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4334, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4334, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4335, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4335, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4336, <$fh> line 226.
/var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm has too many errors.

2015.11.01 10:14:37 0: Can't modify time in substitution (s///) at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4271, near "s/[^0-9]//gr"
syntax error at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4271, near "s/[^0-9]//gr"
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4282, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4284, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4285, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4289, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4291, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4292, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4293, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4293, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4294, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4294, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4295, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4295, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4307, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4324, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4325, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4326, <$fh> line 226.
Global symbol "$dev" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4329, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4334, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4334, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4335, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4335, <$fh> line 226.
Global symbol "$opt" requires explicit package name at /var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm line 4336, <$fh> line 226.
/var/media/ftp/SanDisk-CruzerContour-01/fhem/FHEM/42_SYSMON.pm has too many errors.

2015.11.01 10:14:41 1: Including xxxx/fhem.save
2015.11.01 10:14:42 1: configfile: Cannot load module SYSMON
2015.11.01 10:14:42 2: Error messages while initializing FHEM: configfile: Cannot load module SYSMON
2015.11.01 10:14:42 0: Featurelevel: 5.6


Bestimmt nur ein trivialer Tippfehler meinerseits, allerdings sehe ich im Moment einfach nicht wo... Hat jemand einen Tipp für mich?

u302320

Das Problem scheint mir die Verwendung von Perl-Konstrukten zu sein, die von dem relativ alten Perl auf der FritzBox nicht unterstützt werden.

Damit nicht andere Leute ähnlich wie ich raten müssen, ob SYSMON (eigentlich) wie beschrieben auf Fritzbox eingesetzt werden kann oder die lokale Konfiguration Ursache des Problems ist, sollte die Dokumentation in dieser Hinsicht aktualisiert werden. SYSMON funktioniert nicht auf einer FritzBox 7390 bzw. mit Perl 5.12.2