99_Rpiutils

Begonnen von kutschi, 30 März 2013, 16:52:33

Vorheriges Thema - Nächstes Thema

kutschi

Hallo,

ich versuche gerade das Modul 99_RpiUtils aus der Contrib zum laufen zum bekommen.
Ich bekomme aber immer folgende fehlermeldung :

Undefined subroutine &main::ShowRPiValues called at (eval 20) line 1

In der fhem.cfg habe ich folgendes eingetragen:

define Raspberry_Status weblink htmlCode {ShowRPiValues()}
attr Raspberry_Status group Raspberry PI
attr Raspberry_Status room System

Aber den den vielen 99_RpiUtils erwische ich wohl keine die klappt, oder ich sehe was anderes nicht.

Gruß
Kutschi

Prof. Dr. Peter Henning

Vielleicht mal die angehängte Datei ausprobieren - enthält ein paar Korrekturen.

Und in der cfg eintragen:


#-- Server values
define SrvValues weblink htmlCode {ShowRpiValues()}
attr SrvValues room Server

LG

pah

P.S.: Leider keine weitere Supportmöglichkeit - habe zu viele Baustellen.

Smooth

Hi pha...


ZitatVielleicht mal die angehängte Datei ausprobieren - enthält ein paar Korrekturen.


wird bei mir mit einem:


 Illegal division by zero at ./FHEM/99_RpiUtils.pm line 165.

quittiert..

Viele Grüße


Prof. Dr. Peter Henning

Evtl. keine Swap-Partition eingerichtet ? Dann ist deren Größe natürlich NULL, und es wird durch NULL dividiert.

LG

pah

RoBue

Hi,

habs gerade installiert (neue Version)
und funktioniert tadellos. Super!
Habe Swap-Part.

Gruß und Danke,
RoBue

kiwi77

hallo zusammen,

ich habe mal die 99_RpiUtils.pm aus dem aktuellem fhem genommen und versucht das ganze zum laufen zu bringen, bin aber leider gescheitert, jedenfalls halb, die werte werden in die logs geschrieben und der graph wird auch erstellt, nur die readings sind lehr, also ich könnte keine aktionen bei bestimmten werden machen, was mache ich da falsch ?

vielen dank im vorraus schonmal,

michael


mein code:

####################
define RpiValues weblink htmlCode {ShowRpiValues()}
attr RpiValues room RaspBerry

define RpiTemp dummy
attr RpiTemp comment RaspberryPi Device Sensor
attr RpiTemp room RaspBerry

define FileLog_RpiTemp FileLog ./log/rpi_temp-%Y-%m.log RpiTemp
attr FileLog_RpiTemp logtype fht:Temp,text
attr FileLog_RpiTemp room RaspBerry

define at_RpiTemp at +*00:01 { fhem("trigger RpiTemp ".RpiTemp(" ")) }
attr at_RpiTemp room RaspBerry

define weblink_RpiTemp weblink fileplot FileLog_RpiTemp:temp4:CURRENT
attr weblink_RpiTemp label "RaspberryPi Temperatur: Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_RpiTemp room RaspBerry

################
#RAM loggen:
define RpiRam dummy
attr RpiRam comment RaspberryPi Device Sensor
attr RpiRam room RaspBerry
attr RpiRam event-on-update-reading

define FileLog_RpiRam FileLog ./log/rpi_ram-%Y-%m.log RpiRam
attr FileLog_RpiRam logtype text
attr FileLog_RpiRam room RaspBerry

define at_RpiRam at +*00:01 { fhem("trigger RpiRam ".RpiRamSwap("R")) }
attr at_RpiRam room RaspBerry

#################
#SWAP loggen:
define RpiSwap dummy
attr RpiSwap comment RaspberryPi Device Sensor
attr RpiSwap room RaspBerry
attr RpiSwap event-on-update-reading

define FileLog_RpiSwap FileLog ./log/rpi_swap-%Y-%m.log RpiSwap
attr FileLog_RpiSwap logtype text
attr FileLog_RpiSwap room RaspBerry

define at_RpiSwap at +*00:01 { fhem("trigger RpiSwap ".RpiRamSwap("S")) }
attr at_RpiSwap room RaspBerry

#############
#Filesystemspeicher loggen:
define RpiFS dummy
attr RpiFS comment RaspberryPi Device Sensor
attr RpiFS room RaspBerry
attr RpiFS event-on-update-reading

define FileLog_RpiFS FileLog ./log/rpi_fs-%Y-%m.log RpiFS
attr FileLog_RpiFS logtype text
attr FileLog_RpiFS room RaspBerry

define at_RpiFS at +*00:01 { fhem("trigger RpiFS ".RpiFileSystem(" ")) }
attr at_RpiFS room RaspBerry

#############
#Netzwerktraffik loggen:
define RpiNetwork dummy
attr RpiNetwork comment RaspberryPi Device Sensor
attr RpiNetwork room RaspBerry

define FileLog_RpiNetwork FileLog ./log/rpi_lan-%Y-%m.log RpiNetwork
attr FileLog_RpiNetwork logtype text
attr FileLog_RpiNetwork room RaspBerry

define at_RpiNetwork at +*00:01 { fhem("trigger RpiNetwork ".RpiNetwork(" ")) }
attr at_RpiNetwork room RaspBerry

PeMue

Hallo zusammen,

habe mittlerweile auch die 99_RpiUtils.pm installiert. Funktioniert soweit.
Allerdings bin ich mit der Android App RasPi Check bezüglich Prozessorfrequenz auf 700,01 MHz gekommen und mit fhem auf 464,84 MHz. Ein cat /proc/cpuinfo ergab die BogoMIPs von 464,84 MHz. Ein Blick in Wikipedia ergab den Unterschied (leider ist der Umrechnungsfaktor für ARM Prozessoren noch nicht bekannt).
Zwei andere andere Links 1 und 2 ergaben nette Tools für die Taktfrequenz, die aber vermutlich nicht standardmäßig installiert sind.
Hier wird erähnt, dass die Taktfrequenz in /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq steht.
Macht es Sinn, die Funktion auf die "richtige" Taktfrequenz umzuschreiben?
Mein RaspberryPi läuft mit WLAN, daher sollte die Funktion RpiNetwork doch leicht auf WLAN anpassbar sein? Werde mal probieren ...

@Michael: Habe noch keine Logdateien erstellt, so dass ich leider nicht helfen kann.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

kiwi77

hallo PeMue,

stimmt mit der mhz zahl, ist mir garnicht aufgefallen,
aber das ist ja einfach zu ändern, wobei für "alle" na ja, es scheint fast unmöglich zu sein sich da am fhem mit zu beteiligen.

kiwi77

kurzer nachtrag,
das munun hatte ich hier bereits viele jahre am laufen, echt genial, da es auch verteilt über viele server daten einsammeln und anzeigen kann...
kann ich nur emfehlen, ist aber halt ein vollkommen anderer anwendungsfall.

justme1968

wenn load, filesystem und temperatur reichen ist vielleicht auch das sysstat modul eine alternative. das geht übrigens auch remote.

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

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

PeMue

... denn sie wissen nicht, was sie tun! Anbei geändertes Perl Skript (bei mir tut's).
Wenn mir ein Unix Crack bei Gelegenheit beibringen würde, wie ich in qx(cat ...) mit Hilfe von sed die letzten drei Zeichen löschen kann, wäre das toll (siehe auch die Kommentare davor im Skript), auf der Konsole funktioniert es, im Skript nicht ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

kiwi77

hallo PeMue,
das war nicht so schwer,

my $CPUSpeed = qx(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq |  sed 's/...\$//');

durch die übergabe von perl an die shell, müssen zeichen die auch für perl relevant sind ein \ davor bekommen.
mein problem mit der verwertbarkeit der daten löst es aber leider noch immer nicht *g*

Prof. Dr. Peter Henning

Es ist mir nicht so ganz klar, welche Information man aus einer fest eingestellten Taktfrequenz ziehen sollte.

LG

pah

kiwi77

es geht ja um "current" und nicht die feste, das heißt, wenn man das dynamische takten aktiv hat, kann der wert mal höher und nidriger sein.
habe soeben mal einen kühler auf den fhem raspberry bei mir geklebt, temperatur direkt von 53 auf 41 gesunken :-) jetzt kann ich den auch auf dynamisch bis 1,1 ghz stellen :-)

PeMue

hier gibt es noch eine Erklärung dazu, es ist wirklich die current Taktfrequenz ...

Gruß PeMue

PS: Irgendwann brauche ich mal jemand, der mir erklärt, wann welches Zeichen vorangestellt wird (" oder ' in der shell oder / für Perl relevante Zeichen), bin derzeit damit überfordert bzw. von Windows reichlich "verdorben" worden ...
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser