Ein Modul zur Erfassen von diversen RPi/Linux-Statistiken (SYSMON)

Begonnen von hexenmeister, 06 Dezember 2013, 17:44:38

Vorheriges Thema - Nächstes Thema

volschin

Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

volschin

Ich hatte den Code, den ich Dir geschickt habe, bei mir schon produktiv getestet. Der Login macht mir noch Sorgen. Da muss ich jetzt jedes mal die Zeile umkommentieren, damit es wieder läuft.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Habe ich noch nicht geschrieben? Ich habe zwei neue Attribute hinzugefügt:
Zitattelnet-prompt-regx, telnet-login-prompt-regx
RegExp zur Erkennung von Login- und Kommandozeile-Prompt. (Nur für Zugriffe über Telnet relevant.)

Probiere mal mit Original-Settings:
attr <name> telnet-prompt-regx # $
attr <name> telnet-login-prompt-regx # $|Login failed.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

volschin

Uups. Bei mir funktioniert der Telnet-Login mit der neuen Datei ohne Anpassung. Ich brauche also die Attribute nicht.  :)
Hast Du da nochmal was umgestellt?
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Zitat von: volschin am 08 Februar 2015, 21:11:31
Uups. Bei mir funktioniert der Telnet-Login mit der neuen Datei ohne Anpassung. Ich brauche also die Attribute nicht.  :)
Hast Du da nochmal was umgestellt?
Nö, das wohl der Fall einer wundersamen Selbstheilung ;)

Um so besser :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Kuzl

Hab mal getestet (Hab auch eine Zbox)

user-fn sensorCPU:1:cpu0_temp:cpu1_temp:cpu2_temp:cpu3_temp
und dann in der myUtils:

## CPU-Temperatur

sub sensorCPU()
{
  my ($hash) = @_;
  my $val;
  my @val_txt;
  for(my $i = 2; $i < 6; $i++){
$val = SYSMON_execute($hash, "cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/device/temp" . $i ."_input 2>&1");
$val = int($val);
    push( @val_txt, sprintf("%.2f", $val/1000) . "°C");
  }
   return @val_txt;
}


scheint zu funktionieren. Was ist denn user-fn2?

hexenmeister

user-fn2 ist die alte Methode (mit der Map). Habe noch nicht ausgebaut, mache ich aber noch.

Ich hätte da einen Vorschlag: Wenn noch mehr solche Funktionen hier zusammengetragen werden (getestet, sinvoll benannt und mit einer kurzen Doku versehen), dann erstelle ich eine Extra-Erweiterungsdatei für SYSMON und checke sie ein (Doku nhme ich in die SYSMON-Doku auf). Dann habe mehr Leute was davon ;)

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

volschin

Könntest Du dafür noch etwas einbauen, dass der Fehler abgefangen wird.

2015.02.08 21:08:31 1: PERL WARNING: Use of uninitialized value $ds_crc in string ne at ./FHEM/42_SYSMON.pm line 2731.
2015.02.08 21:08:31 1: PERL WARNING: Use of uninitialized value $ds_fec in string ne at ./FHEM/42_SYSMON.pm line 2735.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

franky08

Hallo, nachdem ich gerade wieder zu hause bin, habe ich es auch gleich mal getestet. Leider funktioniert es auf dem Zbox nano bei mir nicht.

1: PERL WARNING: Use of uninitialized value $mode in string eq at ./FHEM/42_SYSMON.pm line 3475.
2015.02.08 23:36:00 1: PERL WARNING: Argument "cat: /sys/devices/platform/coretemp.0/hwmon/hwmon0/devic..." isn't numeric in int at ./FHEM/99_myUtils.pm line 190.
2015.02.08 23:37:00 1: PERL WARNING: Use of uninitialized value $mode in string eq at ./FHEM/42_SYSMON.pm line 3475.
2015.02.08 23:37:00 1: PERL WARNING: Argument "cat: /sys/devices/platform/coretemp.0/hwmon/hwmon0/devic..." isn't numeric in int at ./FHEM/99_myUtils.pm line 190.
2015.02.08 23:38:00 1: PERL WARNING: Use of uninitialized value $mode in string eq at ./FHEM/42_SYSMON.pm line 3475.


Zeile 190 wäre:
$val = int($val);


P.S. die sub ist die hier aus dem Thread:
## CPU-Temperatur

sub sensorCPU()
{
  my ($hash) = @_;
  my $val;
  my @val_txt;
  for(my $i = 2; $i < 6; $i++){
$val = SYSMON_execute($hash, "cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/device/temp" . $i ."_input 2>&1");
$val = int($val);
    push( @val_txt, sprintf("%.2f", $val/1000) . "°C");
  }
   return @val_txt;
}



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...

hexenmeister

#776
Gegen Warnungen in Zeile 3475 sollte angehängte (Test-)Version helfen. Auch wenn ich nicht gfanz verstehe, warum das so bei Dir kommt.

Das andere Problem kommt vermutlich davon, dass lm-sensors nicht installiert ist.


Edit: Mist, Anhang vergessen... Morgen, heute schalte ich mei Laptop nicht mehr ein...
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

franky08

Mein Fehler, der Pfad ist bei mir anders  :o

NICHT:
cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/device/temp" . $i ."_input 2>&1"

Bei mir:
cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp" . $i ."_input 2>&1

Hatte ich übersehen, funtioniert problemlos.
Nur eine Perl Warnung gibt es noch:
2015.02.09 00:35:57 1: PERL WARNING: Use of uninitialized value $val in concatenation (.) or string at ./FHEM/42_SYSMON.pm line 1620.

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...

Kuzl


franky08

Hallo Kuzl,
habe gerade mal nachgesehen ...hwmon/hwmon/device ist bei mir ein Symlink zurück auf ...coretemp.0

Seltsam

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...