Autor Thema: SYSMON auf Intel NUC DN2820FYKH0  (Gelesen 11931 mal)

Offline StefanD

  • Full Member
  • ***
  • Beiträge: 170
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #15 am: 09 Februar 2015, 17:00:02 »
Hier noch ein Screenshot des daraus resultierenden Plots
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4699
    • tech_LogBuch
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #16 am: 09 Februar 2015, 18:17:29 »
Ich habe mir mit einer eigenen Funktion in der 99_myUtils.pm selbst beholfen. Folgende Parameter waren Basis für meine Umsetzung:
  • keine Manipulation der 42_SYSMON.pm um bei Updates des fhem nicht nachbessern zu müssen, sofern sich hier etwas ändert
  • keinen separates Dummy Device, somit auch kein seperates LogFile
  • Readings des Sysmon Device ergänzen und bestehende nicht verändern/überschreiben
  • Temperatur der Cores und jeweilige Frequenz sollen zeitgleich protokolliert werden
[...]

Ab morgen kannst Du das eleganter lösen. SYSMON unterstützt jetzt das EInbinden von benutzerdefinierten Perl-Funktionen.

Zitat
user-fn <fn_name>:<Interval_Minutes>:<reading_name1>:<reading_name2>...[:<reading_nameX>],...
Liste der benutzerdefinierten Perlfunktionen.
Als <fn_name> können entweder Name einer Perlfunktion oder ein Perlausdruck verwendet werden. Die Perlfunktion bekommt den Device-Hash als Übergabeparameter und muss ein Array mit Werte liefern. Diese Werte werden entsprechend den Parameter <reading_nameX> in Readings übernommen.
Ein Perlausdruck muss in geschweifte Klammer eingeschlossen werden und kann folgende Paramter verwenden: $HASH (Device-Hash) und $NAME (Device-Name). Rückgabe wird analog einer Perlfunktion erwartet.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1282
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #17 am: 23 Februar 2015, 12:41:37 »
Hallo Hexenmeister, da ich jetzt die Funktion von StefanD zu laufen bekommen habe, könntest du mir kurz erklären oder ein Beispiel nennen, wie ich das jetzt mit der neuen Funktion bzw. mit dem einbinden für Sysmon hinbekomme.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4699
    • tech_LogBuch
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #18 am: 23 Februar 2015, 18:12:16 »
Zitat
user-fn <fn_name>:<Interval_Minutes>:<reading_name1>:<reading_name2>...[:<reading_nameX>],...
Liste der benutzerdefinierten Perlfunktionen.
Als <fn_name> können entweder Name einer Perlfunktion oder ein Perlausdruck verwendet werden. Die Perlfunktion bekommt den Device-Hash als Übergabeparameter und muss ein Array mit Werte liefern. Diese Werte werden entsprechend den Parameter <reading_nameX> in Readings übernommen.
Ein Perlausdruck muss in geschweifte Klammer eingeschlossen werden und kann folgende Paramter verwenden: $HASH (Device-Hash) und $NAME (Device-Name). Rückgabe wird analog einer Perlfunktion erwartet.

attr <sysmon> user-fn myPrettyFunction:1:myValue1:myValue2:myValueN
sub myPrettyFunction() {
 my value1="some";
 my value2="values";
 my valueN="here";

 return (value1,value2,valueN);
}
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Offline Ma_Bo

  • Hero Member
  • *****
  • Beiträge: 1282
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #19 am: 25 Februar 2015, 16:34:44 »
Danke
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Offline uwete

  • Newbie
  • Beiträge: 1
Antw:SYSMON auf Intel NUC DN2820FYKH0
« Antwort #20 am: 26 November 2021, 18:21:01 »
Danke StefanD!

Habe dein myutils übernommen.
Nur sehen bei mir mit Debian 11 auf Brix N3000 (Celeron Zweikern) die Pfade so aus:
my $CpuInfo;
sub CpuInfo ()
{
 my $mDevice = "sysmon";
 my $Cpu0Freq = sprintf("%d",(qx "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 2>&1")/1000);
 my $Cpu1Freq = sprintf("%d",(qx "cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq 2>&1")/1000);
 my $Cpu0Temp = sprintf("%0.1f",(qx "cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input")/1000);
 my $Cpu1Temp = sprintf("%0.1f",(qx "cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input")/1000);
 my $CpuMaxTemp = $Cpu0Temp;
 if($Cpu0Temp < $Cpu1Temp) { $CpuMaxTemp = $Cpu1Temp };
 fhem ("setreading $mDevice xCPU0_Freq $Cpu0Freq; setreading $mDevice xCPU1_Freq $Cpu1Freq; setreading $mDevice xCPU_0_Temp $Cpu0Temp; setreading $mDevice xCPU_1_Temp $Cpu1Temp; setreading $mDevice xCPU_Max_Temp $CpuMaxTemp; ");
}

Ich lasse mir auch beide Kerntemperaturen anzeigen.