99_Rpiutils

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

Vorheriges Thema - Nächstes Thema

PeMue

... und noch ein paar kleinere kosmetische Korrekturen.

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

cerberus

Hallo, danke funktioniert super. Wie kann ich noch meinen USB Stick, den ich für die Logs verwende, mit anzeigen lassen?

Gruß
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

PeMue

Hallo cerberus,

jetzt komme ich mit copy + paste etwas an meine Grenzen ;-)

Ich gehe mal davon aus, dass der USB Stick unter /dev/sda1 erkannt wird.

Dann sollte folgender Code funktionieren:
sub RpiUSBStick
{

my $Para = shift;
my $out;
my @filesystems = qx(df /dev/sda1);

shift @filesystems;
my ($fs_desc, $all, $used, $avail, $fused) = split(/\s+/, $filesystems[0]);

if($Para eq "I") {
  $out = "Used: ".sprintf ("%.2f", (($used)/1024))." MB <br>"."Free: ".sprintf ("%.2f", (($avail)/1024))." MB <br>"."Total: ".sprintf ("%.2f", (($all)/1024))." MB";
} else {
  $out = "G: ".sprintf ("%.2f", (($all)/1024))." B: ".sprintf ("%.2f", (($used)/1024))." V: ".sprintf ("%.2f", (($avail)/1024));
}

return $out;
}

Und oben natürlich noch mit einfügen ...

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

PeMue

... sorry, habe beim Umsortieren die else Schleife vergessen (oben auch entsprechend anpassen) ...

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

cerberus

Super PeMue, funktioniert.

Danke
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

PeMue

... dann müsste die aktuelle Version so aussehen:

Gruß PeMue

PS: Ich latsche aber jetzt nicht in den Keller und schließe einen USB Stick an, um zu testen ...
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

cerberus

Brauchst es nicht testen, funktioniert.

Gruß
cerberus


(siehe Anhang / see attachement)
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

PeMue

... jetzt in der richtigen Reihenfolge (free/used/total) bei allen Geräten :-)

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

PeMue

... noch etwas "aufgehübscht" und mit einigen zusätzlichen Abfragen versehen. Sollte dann mittlerweile (vom Inhalt, nicht unbedingt vom Programmierstil) ausgereift sein.

Funktion wurde getestet mit webfrontend, aber nicht mit filelog.

Vielleicht kann einer der Moderatoren das Modul gelegentlich ins SVN einchecken.

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

C64Emulator

Hallo,
habe auch das Modul mal runtergeladen. Es funktioniert soweit, d.h. ich bekomme auf der Weboberfläche die Werte (ohne irgendeine Fehlermeldung) angezeigt. Leider bekomme ich noch einige Fehlermeldungen auf die ssh-session, von der ich FHEM gestartet habe:

df: ,,/dev/sda1": Datei oder Verzeichnis nicht gefunden
df: keine Dateisysteme bearbeitet
Use of uninitialized value in split at ./FHEM/99_RpiUtils.pm line 249.
Use of uninitialized value $avail in division (/) at ./FHEM/99_RpiUtils.pm line 252.
Use of uninitialized value $used in division (/) at ./FHEM/99_RpiUtils.pm line 252.
Use of uninitialized value $all in division (/) at ./FHEM/99_RpiUtils.pm line 252.
wlan0: Fehler beim Auslesen der Schnittstelleninformation: Gerät nicht gefunden
Use of uninitialized value $dataThroughput[0] in division (/) at ./FHEM/99_RpiUtils.pm line 151.
Use of uninitialized value $dataThroughput[4] in division (/) at ./FHEM/99_RpiUtils.pm line 152.

Das liegt wohl daran, dass ich kein WLAN und auch keinen USB-Stick habe. Kann ich natürlich für mich aus dem Source-Code rausnehmen. Aber ist das wirklich so gedacht? Können die Fehler nicht abgefangen werden?

Gruß
Helmut

PeMue

Hallo Helmut,

die Fehler
Zitatdf: ,,/dev/sda1": Datei oder Verzeichnis nicht gefunden
df: keine Dateisysteme bearbeitet
und
Zitatwlan0: Fehler beim Auslesen der Schnittstelleninformation: Gerät nicht gefunden
bekomme ich nicht weg (ich muss ja irgendwie schauen, ob das Gerät da ist), aber die anderen sollten jetzt weg sein.

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

samsungruth

Hallo,
vielen Dank für das super Modul,
habe heute auf die neue .pm upgedatet und es funktioniert soweit alles bis auf folgende Fehlermeldung
beim starten von FHEM:
"my" variable $disk masks earlier declaration in same scope at /opt/fhem/FHEM/99_RpiUtils.pm line 188, <$fh> line 3.
Die Meldung kommt auf der Konsole.
Im FHEM Log kommen folgende Fehlermeldungen:
2013.05.25 21:23:23 3: Not enough arguments for main::RpiFileSystem at (eval 457) line 1, near "" ")"

2013.05.25 21:23:24 3: Not enough arguments for main::RpiNetwork at (eval 458) line 1, near "" ")"
Die Fehler im log wiederhilen sich jede Minute.
Release  : 5.5
RASPI
CUL_HM/EM  FS20 IT AVR MAX WEBIO

PeMue

... muss ich mir noch mal anschauen. Wie Variablen in Perl übergeben werden ist eine der (noch) ungeklärten Dinge für mich.

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

PeMue

Hallo,

kaum macht man mal einen Fehler, ist schon die ganze Reputation weg ;-)

Habe einen Schreibfehler (1xmy zuviel) und die Struktur (aufgerufenee Funktion vor Aufruf) geändert. Bei mir gibt es jetzt keine Fehlermeldungen (ich hatte aber auch noch nie welche auf der Konsole).

Bitte mal kurz testen und Info, ob die Fehlermeldungen weg sind.

Nachtrag1: Ich hatte welche, habe sie aber nie gesehen wg. automatischem Start. Die meinsten sind weg bis auf den Zugriff auf das nicht vorhandene Dateisystem und die damit verbundene nicht initialisierte Variable.

Nachtrag2: stderr auf stdin umleiten hilft, es fehlt jetzt noch das Abfangen bei wlan0.

Danke + 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

samsungruth

Hallo PeMue,
danke für die schnelle Hilfe, habe Deine geänderte Datei eingespielt mit folgendem Ergebnis:
nach dem Neustart kam folgende Fehlermeldung:
pi@raspberrypi /opt/fhem/FHEM $ Semicolon seems to be missing at /opt/fhem/FHEM/99_RpiUtils.pm line 198, <$fh> line 3.
habe das ; in Zeile 198 eingefügt, danach keine Fehlermeldung beim Neustart aber leider in fhem auch keine Anzeige der Raspidaten, nur folgende Meldung:
Undefined subroutine &main::ShowRpiValues called at (eval 35) line 1.
Im Log kommt folgende Meldung:
2013.05.28 22:43:49 3: Not enough arguments for main::RpiFileSystem at (eval 250) line 1, near "" ")"
Werde mal mit einem WLAN Stick den Raspi neu starten und schauen ob es was bringt, wenn ja melde ich mich noch einmal.
Release  : 5.5
RASPI
CUL_HM/EM  FS20 IT AVR MAX WEBIO