FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: kutschi am 30 März 2013, 16:52:33

Titel: 99_Rpiutils
Beitrag von: kutschi am 30 März 2013, 16:52:33
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
Titel: Aw: 99_Rpiutils
Beitrag von: Prof. Dr. Peter Henning am 01 April 2013, 11:44:40
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.
Titel: Aw: 99_Rpiutils
Beitrag von: Smooth am 01 April 2013, 14:40:03
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

Titel: Aw: 99_Rpiutils
Beitrag von: Prof. Dr. Peter Henning am 02 April 2013, 15:51:37
Evtl. keine Swap-Partition eingerichtet ? Dann ist deren Größe natürlich NULL, und es wird durch NULL dividiert.

LG

pah
Titel: Aw: 99_Rpiutils
Beitrag von: RoBue am 25 April 2013, 11:25:08
Hi,

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

Gruß und Danke,
RoBue
Titel: Aw: 99_Rpiutils
Beitrag von: kiwi77 am 07 Mai 2013, 15:06:18
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
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 13:09:33
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 (//de.wikipedia.org/wiki/BogoMips) ergab den Unterschied (leider ist der Umrechnungsfaktor für ARM Prozessoren noch nicht bekannt).
Zwei andere andere Links 1 (//blog.joergboesche.de/raspberry-pi-sensors-fuer-temperatur-taktfrequenz-spannung-munin-graph-plugin) und 2 (//kenntwas.de/2012/linux/raspberry-pi/raspberry-pi-turbo-mode-und-firmware-abfragen-mit-vcgencmd/) ergaben nette Tools für die Taktfrequenz, die aber vermutlich nicht standardmäßig installiert sind.
Hier (//www.rechenkraft.net/wiki/index.php?title=Raspberry_) 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
Titel: Aw: 99_Rpiutils
Beitrag von: kiwi77 am 09 Mai 2013, 13:56:56
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.
Titel: Aw: 99_Rpiutils
Beitrag von: kiwi77 am 09 Mai 2013, 13:58:45
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.
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 09 Mai 2013, 14:19:25
wenn load, filesystem und temperatur reichen ist vielleicht auch das sysstat modul eine alternative. das geht übrigens auch remote.

gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 14:23:46
... 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
Titel: Aw: 99_Rpiutils
Beitrag von: kiwi77 am 09 Mai 2013, 14:39:04
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*
Titel: Aw: 99_Rpiutils
Beitrag von: Prof. Dr. Peter Henning am 09 Mai 2013, 14:53:45
Es ist mir nicht so ganz klar, welche Information man aus einer fest eingestellten Taktfrequenz ziehen sollte.

LG

pah
Titel: Aw: 99_Rpiutils
Beitrag von: kiwi77 am 09 Mai 2013, 15:06:33
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 :-)
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 16:28:49
hier (//www.gtkdb.de/index_7_2189.html) 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 ...
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 18:17:00
... und noch ein paar kleinere kosmetische Korrekturen.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: cerberus am 09 Mai 2013, 20:25:58
Hallo, danke funktioniert super. Wie kann ich noch meinen USB Stick, den ich für die Logs verwende, mit anzeigen lassen?

Gruß
cerberus
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 20:57:35
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
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 21:04:19
... sorry, habe beim Umsortieren die else Schleife vergessen (oben auch entsprechend anpassen) ...

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: cerberus am 09 Mai 2013, 21:35:47
Super PeMue, funktioniert.

Danke
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 09 Mai 2013, 21:51:39
... 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 ...
Titel: Aw: 99_Rpiutils
Beitrag von: cerberus am 10 Mai 2013, 17:20:03
Brauchst es nicht testen, funktioniert.

Gruß
cerberus


(siehe Anhang / see attachement)
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 11 Mai 2013, 13:31:42
... jetzt in der richtigen Reihenfolge (free/used/total) bei allen Geräten :-)

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 18 Mai 2013, 20:20:04
... 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
Titel: Aw: 99_Rpiutils
Beitrag von: C64Emulator am 23 Mai 2013, 23:28:50
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
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 25 Mai 2013, 18:18:12
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
Titel: Aw: 99_Rpiutils
Beitrag von: samsungruth am 25 Mai 2013, 21:28:59
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.
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 25 Mai 2013, 22:42:46
... muss ich mir noch mal anschauen. Wie Variablen in Perl übergeben werden ist eine der (noch) ungeklärten Dinge für mich.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 27 Mai 2013, 19:53:01
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
Titel: Aw: 99_Rpiutils
Beitrag von: samsungruth am 28 Mai 2013, 22:57:18
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.
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 30 Mai 2013, 16:44:56
Hallo zusammen,

jetzt sollten (eigentlich) alle Fehler draußen sein. Im Kopf ist auch die Info, über den Aufruf in fhem (Anzeige bzw. Loggen). Bei mir funktioniert es, hier der Auszug aus meiner fhem.cfg:
#-----------------------------------------------------------------------------
# Status für Raspberry Pi
define RPiStatus weblink htmlCode {ShowRPiValues()}
attr RPiStatus room Status

#-----------------------------------------------------------------------------
# RPi Temperatur loggen
define RPiTemp dummy
attr RPiTemp room Status
define RPiTemp_log FileLog ./log/rpi_temp-%Y-%m.log RPiTemp
attr RPiTemp_log room Status
define RPiTemp_at at +*00:01 { fhem("trigger RPiTemp ".RPiTemp(" ")) }
attr RPiTemp_at room Status
define RPiTemp_wl weblink fileplot RPiTemp_log:temp4:CURRENT
attr RPiTemp_wl label "Raspberry Pi Temperatur: Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr RPiTemp_wl room Status

# RPi RAM loggen
define RPiRAM dummy
attr RPiRAM room Status
define RPiRAM_log FileLog ./log/rpi_ram-%Y-%m.log RPiRAM
attr RPiRAM_log room Status
define RPiRAM_at at +*00:01 { fhem("trigger RPiRAM ".RPiRamSwap("R")) }
attr RPiRAM room Status

# RPi swap loggen
define RPiswap dummy
attr RPiswap room Status
define RPiswap_log FileLog ./log/rpi_swap-%Y-%m.log RPiswap
attr RPiswap_log room Status
define RPiswap_at at +*00:01 { fhem("trigger RPiswap ".RPiRamSwap("S")) }
attr RPiswap room Status

# Filesystem loggen
define RPiFS dummy
attr RPiFS room Status
define RPiFS_log FileLog ./log/rpi_fs-%Y-%m.log RPiFS
attr RPiFS_log room Status
define RPiFS_at at +*00:01 { fhem("trigger RPiFS ".RPiFileSystem("", "/dev/root")) }
attr RPiFS_at room Status

# Netzwerktraffic loggen:
define RPiWLAN dummy
attr RPiWLAN room Status
define RPiWLAN_log FileLog ./log/rpi_wlan-%Y-%m.log RPiWLAN
attr RPiWLAN_log room Status
define RPiWLAN_at at +*00:01 { fhem("trigger RPiWLAN ".RPiNetwork("", "wlan0")) }
attr RPiWLAN_at room Status
#-----------------------------------------------------------------------------

Netzwerk geht mit dem Parameter "eth0", USB Stick mit "/dev/sda1".

Bitte beachten: Ich habe den Namen angepasst: RPiUtils (und die Funktionen sind auch angepasst), Unix ist da ziemlich korrekt, was Groß- und kleinschreibung angeht.

Bitte um Info, falls noch irgendwo Fehlermeldungen auftreten sollten.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: ejdv am 30 Mai 2013, 18:26:46
Hi,

Möchte mich für das Utility bedanken.
Funktioniert einwandfrei (nutze aber WLAN und USB nicht).

MfG,

ejdv
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 30 Mai 2013, 18:31:30
Hallo,

wäre es möglich sowas ins Wiki zu stellen?
Mit einer schicken Anleitung zum "installieren"?

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: C64Emulator am 30 Mai 2013, 19:35:49
Hallo zusammen,

warum tun sich eigentlich die Entwickler von 99_Rpiutils (http://forum.fhem.de/index.php?t=msg&th=11996&start=0&rid=578) (http://forum.fhem.de/index.php?topic=10573.0) und 32_SYSSTAT (http://forum.fhem.de/index.php?t=msg&th=10573&start=0&rid=578) (http://forum.fhem.de/index.php?topic=10573.0) nicht zusammen?

Beide haben ihre Vor- und Nachteile, so dass ich momentan beide Module nutze.

Cheers,
Helmut.
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 30 Mai 2013, 19:45:31
Hallo Puschel,

warum Konjunktiv, siehe fhem Wiki (//www.fhemwiki.de/wiki/Raspberry_Pi:_99_RPiutils.pm)? Ich finde es ganz hübsch für meine erste Wiki Seite ...

Jetzt braucht es nur noch jemand, der den Code ins SVN einstellt (habe noch ein paar Kommentare angepasst, siehe Anhang).

@Helmut: das 99_RPiutils.pm war für mich zum Perl Üben. Ich habe das Modul 32_SYSSTAT.pm nicht zum Laufen gebracht (schäm), aber ich werde es mir mal anschauen.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 30 Mai 2013, 19:48:28
Hallo,

Zitatwarum Konjunktiv, siehe fhem Wiki? Ich finde es ganz hübsch für meine erste Wiki Seite ...

Konjunktiv deshalb weil ich mal vorher wieder nicht geschaut habe *duckundwech*

Danke für den Link.
Sieht wirklich gut aus dafür das es deine erste Wiki-Seite ist ;-)

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 30 Mai 2013, 19:50:16
... um ehrlich zu sein: ich hab die Seite nach Deinem Post eingestellt ;-)

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 30 Mai 2013, 19:57:59
Hallo,

Zitat von: PeMue schrieb am Do, 30 Mai 2013 19:50... um ehrlich zu sein: ich hab die Seite nach Deinem Post eingestellt ;-)

Gruß PeMue

Du bist mir einer ;-)
Und ich dachte schon ich war mit dem schreiben mal wieder schneller als mit dem denken und schauen ^^

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 30 Mai 2013, 21:37:21
Hallo,

ich hab jetzt, wie im Wiki beschrieben, einen Dummy angelegt:

define RPi_DB_Temp dummy
Und das at definiert:
define RPi_DB_Temp_at at +*00:01 { fhem("trigger RPi_DB_Temp ".RPiTemp(" ")) }
Leider stehen immer noch ??? im Dummy.

Was mach ich nun schon wieder falsch?

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 31 Mai 2013, 07:35:30
Hallo Puschel,

habe im Wiki einen Hinweis eingefügt. Bei mir ist das auch so, aber vielleicht kann man der Variablen mittels attrib einen gültigen Status zuweisen, dann sollten die ??? weg sein.

(siehe Anhang / see attachement)


Nachtrag:
Mit z.B.
attr RPiTemp stateFormat <irgendetwas>
können die Fragezeichen geändert werden, bei mir ist <irgendetwas> via_at. Was da aber passiert, weiß ich nicht so recht.

Weiterhin sollten vermutlich die verschiedenen at mit z.B.
attr RPiTemp event-on-update-reading
zusammengefasst werden. Aber auch da weiß ich nicht wirklich, was ich tue ;-)

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 08:28:00
Hallo,

ich dachte das in die Dummys die Werte geschrieben werden?

Daher sollten die ??? spätestens nach dem ersten Durchlauf des at verschwinden und durch die z.B.: Temperatur ersetzt werden.
Das ich selbst alles mögliche in die Dummys schreiben kann ist mir schon klar ;-)

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 31 Mai 2013, 09:16:23
Hallo Puschel,

das ist der Punkt, wo mir die Sache unklar wird (-> Gelbe Seiten: Vielleicht sollten Sie jemanden fragen, der sich damit auskennt :-)). U.u. muss die Routine RPIutils.pm diesen Status zurückgeben, was sie derzeit garantiert nicht tut. Werde mal die CUL_EM.pm anschauen, ob ich da etwas "guttenbergen" kann ...

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 09:20:36
Hallo,

ich hab mir auch grad den Wiki-Artikel GANZ durch gelesen.
Am Schluss steht ja das es bei den ??? bleibt - die Daten aber im Logfile landen.

Wenn die Daten im Dummy landen würden könnte ich diese in die Datenbank mitschreiben.
Von daher möchte ich gerne auf das Logfile verzichten.
Doppelt gemoppelt mag ich nicht so gerne.

Grüße

Edith: Nicht schön aber funktioniert erstmal.
Ich hab mir einfach mal erlaubt aus
define RPi_DB_Temp_at at +*00:01 { fhem("trigger RPi_DB_Temp ".RPiTemp(" ")) }
das zu machen
define RPi_DB_Temp_at at +*00:01 { fhem("set RPi_DB_Temp ".RPiTemp(" ")) }
und bekomme jetzt das

(siehe Anhang / see attachement)
Titel: Aw: 99_Rpiutils
Beitrag von: samsungruth am 31 Mai 2013, 11:05:09
Hallo,
ich habe seid dem letzten updeate der RPiUtils immer noch das Problem das keine Werte mehr angezeigt werden,
wenn ich den set RPi_DB_Temp ".RPiTemp(" ")) aufrufe bekomme ich folgende Fehlermeldung:
Undefined subroutine &main::RPiTemp called at (eval 30035) line 1.
was mache ich da wieder falsch?
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 31 Mai 2013, 11:06:01
hallo zusammen,

wenn man stat set oder trigger ein readingsSingleUpdate() verwendet kann man mehr als ein reading in ein dumm stecken. mehr dazu hier http://forum.fhem.de/index.php?t=msg&goto=78936&rid=430#msg_78936 (//forum.fhem.de/index.php?t=msg&goto=78936&rid=430#msg_78936). es gibt dann auch das problem mit den ??? nicht mehr.

der saubere weg ist aber ein richtiges fhem modul zu verwenden und nicht ein oder mehrere dummys zu verwenden.

vielleicht ist es sinnvoll die rpiutils und das sysstat modul zusammen zu führen?  wie wäre es ideen/wünsche/unterschiede sowie vor- und nachteile mal zusammenzusuchen? sie auch hier Link (http://forum.fhem.de/index.php?topic=10573.msg79894#msg79894) und folgende.

gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 11:09:41
Hallo,

Zitat von: samsungruth schrieb am Fr, 31 Mai 2013 11:05Hallo,
ich habe seid dem letzten updeate der RPiUtils immer noch das Problem das keine Werte mehr angezeigt werden,
wenn ich den set RPi_DB_Temp ".RPiTemp(" ")) aufrufe bekomme ich folgende Fehlermeldung:
Undefined subroutine &main::RPiTemp called at (eval 30035) line 1.
was mache ich da wieder falsch?

das kommt drauf an wie der gesamte Aufruf aussieht.
Das
set RPi_DB_Temp ".RPiTemp(" "))
ist mit Sicherheit falsch.

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 11:19:42
Hallo,

@andre
Damit hast du sicher recht.
Aber das ist dann eine Stufe zu tief in der Programmierung für mich.

Über die linke Schulter von hinten durchs rechte Auge habe ich zumindest mal für die Temperatur des RasPi Werte die auch die
Datenbank "versteht" und mir brav anzeigt.
Ich habe dafür bei meinem I2C-Sensoren geguttenbergt ;-)

Ich habe den Dummy:
define RPi_DB_Temp
Dann das at:
define RPi_DB_Temp_at at +*00:01 { fhem("trigger RPi_DB_Temp_pruef ") }
Und dann das notify:
define RPi_DB_Temp_pruef notify RPi_DB_Temp_pruef {
my $temp = RPiTemp(" ");
my ($zeichen, $sensor_temp) = split /\ /, "$temp", 2;
fhem("set RPi_DB_Temp ".$sensor_temp);
}

Nun sieht das ganze bei mir so aus (erstmal nur die Temperatur):

(siehe Anhang / see attachement)

Und so sieht es im Chart-Frontend aus:

(siehe Anhang / see attachement)


Wie gesagt: Über die linke Schulter von hinten durchs rechte Auge.
Aber ich bin ja lernfähig (hoffentlich) und auch lernwillig ;-)

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: samsungruth am 31 Mai 2013, 11:33:57
Hallo Puschel74,
ich habe mich da sicher nicht richtig ausgedrückt, der komplette Aufruft ist folgender:
define RPiTemp_at at +*00:01 { fhem("set RPiTemp ".RPiTemp(" ")) }
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 31 Mai 2013, 11:34:52
also wenn es dir nur um die temperatur geht... nimm das sysstat  modul, ohne augen oder schulter zu verletzen uns ganz einfach von vorne das attribut raspberrytemperature auf 1 oder 2 setzen, das reading wie jedes andere auch in die db loggen und freuen. (wobei ich alle sysstat werte als einzige nicht in die db sondern in ein file logge und nur einen monat aufhebe. das geht mit dblog leider noch nicht)


(siehe Anhang / see attachement)


gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 12:02:18
Hallo,

Zitat von: samsungruth schrieb am Fr, 31 Mai 2013 11:33Hallo Puschel74,
ich habe mich da sicher nicht richtig ausgedrückt, der komplette Aufruft ist folgender:
define RPiTemp_at at +*00:01 { fhem("set RPiTemp ".RPiTemp(" ")) }


reload 99_RPiUtils.pm durchgeführt?

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 12:05:00
Hallo,

@andre

Ich hab mich erstmal nur an die Temperatur gewagt da dies als einziges nur einen Wert zurück liefert ;-)

Dank dem tollen Wetter und meinem Krankenstand werde ich mich jetzt mal an das FileSystem machen.
Ich werd noch probieren ob es auch ohne das notify geht indem ich den Code des notify in das at quetsche.

@AlleProgrammierer
Bitte nicht mitlesen. Ich weiß das einem schnell schlecht werden kann bei dem was ich mache ;-)

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 31 Mai 2013, 12:14:04
systat kann natürlich auch die filesysteme überwachen und loggen. nur ein oder zwei attribute setzen. aber das verrate ich dir jetzt nicht :p sonst bin ich noch schuld wenn dir vor lauter regen und langeweile ein finger abricht. :)

gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 31 Mai 2013, 12:15:48
Hallo,

danke für dein Verständnis andre ;-)

Grüße

Edith: Kleine Schritte aber es wird.
Es genügt ein Dummy wie oben beschrieben und das at sieht bei mir so aus:
define RPi_DB_Temp_at at +*00:01 {
my $temp = RPiTemp(" ");
my ($zeichen, $sensor_temp) = split /\ /, "$temp", 2;
fhem("set RPi_DB_Temp ".$sensor_temp." °C");
}

Nun sieht die Anzeige am Dummy so aus:

(siehe Anhang / see attachement)


Edith2: Und nun noch für Swap, Ram und Filesystem (hier interessiert mich! erstmal nur der freie Speicher)
define RPi_DB_Swap_at at +*02:00 {
my $value = RPiRamSwap("S");
my ($zeichen, $prozent, $zeichen1, $free, $zeichen2, $used, $zeichen3, $total) = split /\ /, "$value", 9;
fhem("set RPi_DB_Swap ".$free." MB");
}

define RPi_DB_Ram_at at+*02:00 {
my $value = RPiRamSwap("R");
my ($zeichen, $prozent, $zeichen1, $free, $zeichen2, $used, $zeichen3, $total) = split /\ /, "$value", 9;
fhem("set RPi_DB_Ram ".$free." MB");
}

define RPi_DB_FS_at at+*02:00 {
my $value = RPiFileSystem("", "/dev/root");
my ($zeichen, $free, $Zeichen1, $used, $zeichen2, $total) = split /\ /, "$value", 6;
fhem("set RPi_DB_FS ".$free." MB");
}

Damit die Werte für FS richtig übergeben werden muss in der 99_RPiUtils.pm in Zeile 252
Zitat$out = " A: ".sprintf ("%.2f", (($avail)/1024))." U: ".sprintf ("%.2f", (($used)/1024))." T: ".sprintf ("%.2f", (($all)/1024));
Das Leereichen vor " A: " gelöscht werden - also so "A: ".sprintf
(Sorry für den Eingriff in deinen Code aber sonst steht in $free A: und nicht der Wert des freien Speichers)

So, und nun das ganze schön in ein Modul gepackt damit jeder Wert als Reading an fhem übergeben wird.
Ich werd mir mal die IO.pm ansehen - vielleicht komme ich ja dahinter wie das gehen könnte.

Edith3: Puh, das ist wohl noch 5 Nummern zu hoch für mich :-(
Titel: Aw: 99_Rpiutils
Beitrag von: m.o.d am 01 Juni 2013, 03:14:53
das sagt meine logfile

Use of uninitialized value $dataThroughput in substitution (s///) at ./FHEM/99_RPiUtils.pm line 292.
Use of uninitialized value $dataThroughput in substitution (s///) at ./FHEM/99_RPiUtils.pm line 293.
Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 64.
Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 65.
Use of uninitialized value $dataThroughput in split at ./FHEM/99_RPiUtils.pm line 296.
Use of uninitialized value $dataThroughput[0] in division (/) at ./FHEM/99_RPiUtils.pm line 298.
Use of uninitialized value $dataThroughput[4] in division (/) at ./FHEM/99_RPiUtils.pm line 299.
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 01 Juni 2013, 09:00:16
Hallo,

hast du auch die letzte, hier angehängte 99_RPiUtils.pm genommen?

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 01 Juni 2013, 13:35:13
Hallo Puschel,

in der Diskussion geht es ja ganz schön ab ;-) Das mit at ist noch eines der ungelüfteten Geheimnisse von Perl, daher kann ich da nichts dazu sagen, sondern nur probleren.

Habe bei mir das Leerzeichen schon entfernt. Falls noch ein paar Kleinigkeiten auffallen, bitte um Info, dann korrigiere ich diese und poste eine neue Version.

@m.o.d. (master of desaster?): Ich habe es bei mir getestet und die Definitionen waren da (my <variable>), d.h. keine Fehlermeldungen auf der Konsole (auch keine wg. fehlenden Filesystemen, da habe ich extra meine verschollenen Unix Kenntnisse ausgegraben). Also noch mal das oben gepostete nehmen und testen.
reload 99_RPiutils.pm auf der Konsole nicht vergessen.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Prof. Dr. Peter Henning am 01 Juni 2013, 20:06:33
Sorry, wenn ich so quer einsteige - aber bitte was ist ein ungelüftetes Geheimnis in Perl ? Vielleicht kann ich zum Lüften ja etwas beitragen.

LG

pah
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 01 Juni 2013, 22:55:25
Hallo pah,

mir ist klar, dass z.B. die Funktion RPitemp() einen Wert zurückgibt. Wie dieser aber mit at in fhem kommt, ist mir nicht so ganz klar. Mit meinem Aufruf
define RPiTemp_at at +*00:01 { fhem("trigger RPiTemp ".RPiTemp(" ")) }
geht die Sache in die vorher definierte Datei, der Status aber wird nicht aktualisiert. Die Variante von Puschel aktualisiert den Status und die Variable geht in die Datenbank.
Das ist gerade bei mir das, was ich nicht verstehe. Ich habe aber auch diesbezüglich noch nicht nachgelesen ...
Ich gehe mal davon aus, dass ich noch die "alte" Version zum plotten nehme und Puschel schon dBlog (wovon ich aber bezweifle, dass dies auf meiner Fritz Box 7170 überhaupt läuft).
Ich hoffe, dass mein Code einigermaßen akzeptabel und fehlerfrei ist, es war jedenfalls eine lehrreiche Übung für mich.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 02 Juni 2013, 08:29:50
Hallo,

wenn du anstelle von trigger set nimmst wird der Wert auch in den Dummy geschrieben ;-)
(Habe ich aber auch weiter oben gepostet).

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 02 Juni 2013, 14:41:23
Hallo Puschel,

klar habe ich das gelesen, aber verstanden warum das so ist habe ich trotzdem nicht ;-)

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 02 Juni 2013, 15:04:53
Hallo,

mit trigger <Device> onwird fhem dazu veranlasst alle Befehle abzuarbeiten die als regexp <device>:on beeinhalten.
Am Zustand von <device> wird nichts geändert.

mit set <Device> onwird der Zustand des <device> auf on gesetzt und fhem arbeitet dann alle Befehle ab
auf die <device>:on zutrifft

Sorry für die mehr als laienhafte Erklärung :-(
Aber was besseres fällt mir dazu nicht ein.

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Achim am 02 Juni 2013, 18:11:07
Hallo,

ich habe gerade die Version vom 30.05. 19:45 eingebunden (eine neuere habe ich im Thread nicht gefunden oder übersehen). Seitdem bekomme ich im Logfile die Fehlermeldungen:


Use of uninitialized value $dataThroughput in substitution (s///) at /usr/share/fhem/FHEM/99_RpiUtils.pm line 292.
Use of uninitialized value $dataThroughput in substitution (s///) at /usr/share/fhem/FHEM/99_RpiUtils.pm line 293.
Use of uninitialized value $string in substitution (s///) at /usr/share/fhem/FHEM/99_Utils.pm line 64.
Use of uninitialized value $string in substitution (s///) at /usr/share/fhem/FHEM/99_Utils.pm line 65.
Use of uninitialized value $dataThroughput in split at /usr/share/fhem/FHEM/99_RpiUtils.pm line 296.
Use of uninitialized value $dataThroughput[0] in division (/) at /usr/share/fhem/FHEM/99_RpiUtils.pm line 298.
Use of uninitialized value $dataThroughput[4] in division (/) at /usr/share/fhem/FHEM/99_RpiUtils.pm line 299.

in der fhem.cfg habe ich nur

define SrvValues weblink htmlCode {ShowRpiValues()}
attr SrvValues room System

definiert, keine Einträge fürs Loging.

Die Anzeige ist dabei:

0. Date :        02.06.2013 17.55.13
1. CPU temperature : 56.76 °C
2. CPU frequency : 700 MHz
3. Up time :        27 days
                        50 minutes
                        51 seconds
4. RAM :                RAM: 28.73%
                        Free: 134.57 MB
                        Used: 54.24 MB
                        Total: 188.80 MB
5. Swap :        Swap: 0.00%
                        Free: 102.40 MB
                        Used: 0.00 MB
                        Total: 102.40 MB
6. File system : Free: 5243.74 MB
                        Used: 1781.90 MB
                        Total: 7401.47 MB
7. USB stick :        n/a
8. Ethernet :        Received: 46.94 MB
                        Sent: 37.73 MB
                        Total: 84.67 MB
9. WLAN :        n/a

habe ich da noch ein Konfigurationsproblem oder ist das so "normal"?

Achim

Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 02 Juni 2013, 18:20:58
Hallo,

diese Fehlermeldung ist mir ein Rätsel.

Ich habe auf meinem RasPi dieselbe Version und keine derartige Meldung im Log.

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Achim am 02 Juni 2013, 18:34:40
Hallo,

wo und wie kann ich in der 99_Rpiutils.pm Einträge hinzufügen, um ein erweitertes Loging hinzubekommen?

Achim
Titel: Aw: 99_Rpiutils
Beitrag von: m.o.d am 02 Juni 2013, 20:50:29
Hallo an alle,
Ich stoße mal dazu. Hab das gleiche probl.

also...
 das ist einer der übeltäter...glaub ich.
    @dataThroughput = split(/ /, $dataThroughput); # return of split is array

    my $rxRaw = $dataThroughput[0] / 1024 / 1024;
    my $txRaw = $dataThroughput[4] / 1024 / 1024;

 verursacht die meldung in der logfile[/code] Use of uninitialized value $dataThroughput in split at ./FHEM/99_RPiUtils.pm line 296.
Use of uninitialized value $dataThroughput[0] in division (/) at ./FHEM/99_RPiUtils.pm line 298.
Use of uninitialized value $dataThroughput[4] in division (/) at ./FHEM/99_RPiUtils.pm line 299.

 
aber anfangen kann ich damit gar nix!!!
 
und wegen der... null ahnung
Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 64.
Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 65.


 in den zeilen steht ein # am anfang. also werden die ja ausgeblendet...
# gets the RAM and SWAP values
#------------------------------------------------------------------------------

 zeile 64 65
 zählt notepad++ und fhem die zeilen unterschiedlich? warscheinlich zählt fhem die # zeilen nicht mit?!

Titel: Aw: 99_Rpiutils
Beitrag von: Achim am 02 Juni 2013, 23:25:54
Hallo,

ich habe mich mal in Perl versucht. Gar nicht so einfach, wenn das Programmieren (in VB) schon einige Jahre her ist....

Der Fehler liegt wahrscheinlich in der Zeile

if (not grep(/Fehler/, @dataThroughput))  # check if network available
Die Ausgabe der "ifconfig" Abfragen ergibt bei mir sowohl bei eth0 und wlan0 keinen "Fehler"

pi@raspberry-prod ~ $ ifconfig eth0                                             eth0      Link encap:Ethernet  HWaddr b8:27:eb:c6:ba:ef
          inet addr:192.168.178.43  Bcast:192.168.178.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:369825 errors:0 dropped:0 overruns:0 frame:0
          TX packets:91708 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:50380785 (48.0 MiB)  TX bytes:40721240 (38.8 MiB)

pi@raspberry-prod ~ $ ifconfig wlan0
wlan0: error fetching interface information: Device not found

Da "error" in beiden Ausgaben vorhanden ist, sollte vielleicht auf "Device not found" gesucht werden. Was dort allerdings bei deutscher Ausgabe steht kann ich nicht sagen.

Mit der Zeile
 if (not grep(/Device not found/, @dataThroughput))  # check if network available
funktioniert bei mir jeden Fall die Ausgabe ohne Fehlermeldung im Logfile

Achim
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 03 Juni 2013, 09:28:25
Hallo zusammen,

ok, habe es verstanden. Im Fehlerfall (device nicht vorhanden) gibt es (je nach Spracheinstellung beim RPi) deutschen oder englischen Text zurück. Werde mich darum kümmern, kann aber ein paar Tage dauern ...

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 03 Juni 2013, 09:59:24
auch wenn es das konkurenzmodul ist :) darf ich vielleicht trotzdem was dazu sagen:

in solchen fällen ist es sinnvoll das man vor der anfrage die sprache auf einen festen wert stellt. dann weiss man genau was man parsen muss und funktioniert es auch wenn noch mehr sprachen dazu kommen. das geht z.b. in dem du die LANG envirtonment variable beim system aufruf setzt. am besten nicht auf eine sprache sonder auf C. dann werden die systemmeldungen garnicht erst übersetzt. schau dir mal die manualpage zu locale an.

gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 03 Juni 2013, 10:03:36
Hallo,

als Schnellabhilfe könnten die beiden User mit der Fehlermeldung ihren RasPi aber mal auf Deutsch umstellen ;-)

Das sollte ja vorerst mal helfen bis alles weitere erledigt ist.

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: m.o.d am 06 Juni 2013, 02:56:42
Zitat von: justme1968 schrieb am Fr, 31 Mai 2013 11:34also wenn es dir nur um die temperatur geht... nimm das sysstat  modul, ohne augen oder schulter zu verletzen uns ganz einfach von vorne das attribut raspberrytemperature auf 1 oder 2 setzen, das reading wie jedes andere auch in die db loggen und freuen. (wobei ich alle sysstat werte als einzige nicht in die db sondern in ein file logge und nur einen monat aufhebe. das geht mit dblog leider noch nicht)


(siehe Anhang / see attachement)


gruss
  andre

---------------------------------------------------------
@andre
Hallo,
Ich hätte gerne genau so eine anzeige mit CPU load und Temp.
Leider hab ich keine Ahnung wie. Könntest Du mir dabei helfen???
MfG

------------
@alle
der tip von Achim mit den Device hat scheinbar geholfen... jedenfalls hab ich keine Fehlermeldungen in der log! Danke, Achim!  :-)

if (not grep(/Device not found/, @dataThroughput))  # check if network available

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Edit: Komando zurück, heute Morgen macht mein Raspi/FHEM mucken... hab mal zur kontrolle den TV angemacht, und siehe da, da sind unsere Fehlermeldungen!!!
zwar nicht mehr in der Logfile, aber immer noch sehr Lebendig... :-(
wie kommt das??? Da ich mich erst seit zwei wochen mit Raspi linux und fhem beschäftige... ???
Schaut mal bei euch nach!!! Aus den Augen, aus dem Sinn!? nicht gut...

Ich denke ja immer noch, das es mit diesen zeilen etwas zu tun hat...
 # remove RX bytes or TX bytes from string
    $dataThroughput =~ s/RX bytes://;
    $dataThroughput =~ s/TX bytes://;
    $dataThroughput = trim($dataThroughput);

    @dataThroughput = split(/ /, $dataThroughput); # return of split is array

    my $rxRaw = $dataThroughput[0] / 1024 / 1024;
    my $txRaw = $dataThroughput[4] / 1024 / 1024;


Bitte schau sich das mal jm an der davon Ahnung hat.
Vieleicht liegt´s ja auch (mal wieder) an mir?!

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 06 Juni 2013, 08:48:42
Hallo,

werde mir das mal anschauen, allerdings bin ich die ganze Woche unterwegs. Vor dem Wochenende wird das nix und wenn das Wetter gut ist, würde ich auch mal rausgehen ;-))

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 06 Juni 2013, 09:12:49
Hallo,

Zitatund wenn das Wetter gut ist, würde ich auch mal rausgehen ;-))

Raus gehen??? Wozu das den?? ;-)

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: justme1968 am 06 Juni 2013, 09:18:44
meine device configuration schaut so aus:
define pistat SYSSTAT 60 3600 10.0.1.44
attr pistat raspberrytemperature 2
attr pistat room System
attr pistat ssh_user pi

define pistatlog FileLog /usr/local/FHEM/var/log/pistatlog-%Y-%m.log pistat
attr pistatlog nrarchive 1

define wl_pistat weblink fileplot pistatlog:sysstat2:CURRENT
attr wl_pistat label "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_pistat room System
und das plotfile so:set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
 
set ylabel "Load"
set y2label "&#xb0;C"
 
#FileLog 4:load:0:
#FileLog 4:temperature:0:
 
plot \
  1:2 ls l0 axes x1y1 title 'Load' with lines
  1:2 ls l2 axes x1y2 title 'Temperature (&#xb0;C)' with lines

wenn dein fhem direkt auf dem raspberry pi läuft musst du das ssh_user attribut weg lassen.

gruss
  andre
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 06 Juni 2013, 13:51:14
Hey Puschel,

ich habe mir schwer überlegt, ob ich Dir für diese Bemerkung eine -1 gebe, habe es aber dann doch gelassen ;-))

Gruß Peter
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 06 Juni 2013, 14:04:09
Hallo Peter,

dafür hab ich dir jetzt eine +1 gegeben ;-)

Ich find es genial auf der Terrasse sitzen - lecker Eistee schlürfen und mit fhem "spielen".
Leider nur noch bis Sonntag da ich ab Montag wieder arbeiten gehen "darf" ^^

Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 16 Juni 2013, 15:30:05
Hallo zusammen,

habe das mit der Sprachumstellung probiert, bin aber leider nicht weitergekommen.
Ich hätte eigentlich gedacht, dass man das in
sub RPiUtils_Initialize($$)erledigt, aber es funktioniert nicht. Auf der Konsole scheint es aber zu tun *kopfschüttel*

Anbei mal mein aktuelle Version. Werde weiter probieren, bin aber bei dem schönen Wetter doch eher geneigt draußen zu sitzen ...

Btw, das Modul zeigt mit {RPiload <parameter>} (<parameter> siehe Modul) auch die CPU Last an (oder das, was halt so bei uptime dabei ist).

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 16 Juni 2013, 17:32:03
Hallo,

Zitatbin aber bei dem schönen Wetter doch eher geneigt draußen zu sitzen ...

Aussentemperatur auf der überdachten Terrasse momentan

(siehe Anhang / see attachement)


Temperaturverlauf diese Woche

(siehe Anhang / see attachement)


Aber dank W-Lan und Laptop (und kranker Frau im Bett) macht FHEM auch hier Spaß ;-)

Grüße

P.S.: Wobei mir logischerweise lieber wäre das mein Schatz gesund wäre - aber das kann ich ja nur bedingt beeinflussen.
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 16 Juni 2013, 18:26:14
Hallo Puschel,

na dann mal Deiner besseren Hälfte gute Besserung. Bei uns hat es ca. 25 Grad (gemessen mit der Wetterstation WS500, die noch nicht in fhem ist und mit der Heizung ;-))

(siehe Anhang / see attachement)


Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: Puschel74 am 17 Juni 2013, 01:08:11
Hallo,

Besserungswünsche wurden weiter geleitet - Danke dafür (maul,mecker,mir tut alles weh, Eisgel, Ventilator, mach mal das Fenster zu ^^)
Man(n) hört, es geht ihr schon besser :-)

Hier mal die Aussentemperatur vom Terrassensensor - war genial heute (darf man das sagen? Das Bierchen war lecker)


(siehe Anhang / see attachement)


Grüße
Titel: Aw: 99_Rpiutils
Beitrag von: Trebor5 am 17 August 2013, 14:05:38
Hallo alle zusammen,

ich wollte nur die ansprechen die immer denn Fehler :

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

bekommen.

Denn habe ich auch gehabt.

Dieser Fehler kommt wenn man sich an die Wiki hält und das macht .

" Zur Installation wird diese vom Verzeichnis .\contrib\RaspberryPi\ in das Verzeichnis .\FHEM kopiert (./ bezeichnet hier das fhem Installationsverzeichnis, beim Raspberry Pi üblicherweise /opt/fhem). "

man muss auf dem Raspberry die Datei in das Verzeichnis /opt/fhem/FHEM/ kopieren und nicht nur in /opt/fhem

Hoffe ich konnte auch mal helfen.
Titel: Aw: 99_Rpiutils
Beitrag von: mele am 28 August 2013, 17:50:34
Ich bekomme leider weiterhin die Fehlermeldung (Beispiel: Undefined subroutine &main::ShowRpiValues called at (eval 129) line 1)

Trotz:

(siehe Anhang / see attachement)


Hat noch jemand eine Idee?
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 28 August 2013, 17:57:32
... dumme Frage: Willst Du die 99_RPiUtils.pm auf der FritzBox einsetzen? Ansonsten mal auf der fhem Konsole
reload 99_RpiUtils.pmeingeben.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: mele am 28 August 2013, 18:06:40
ne, läuft schon auf dem RaspBerry!

reload hat leider nichts gebracht. Müssen der Datei irgendwelche Rechte gegeben werden?

VG und Danke!
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 28 August 2013, 19:28:46
... dieselben, wie die anderen Dateien, bei mir ist das:
pi@raspberrypi /opt/fhem/FHEM $ ls -lga 99_*
-rw-r--r-- 1 dialout 13484 Jun 16 15:19 99_RPiUtils.pm
-rw-r--r-- 1 dialout 12932 Jul 26 17:36 99_SUNRISE_EL.pm
-rw-r--r-- 1 dialout  4514 Jul 26 17:36 99_Utils.pm
(owner fhem, group pi)
Welche Version hast Du denn von der 99_RPiUtils.pm? Ich meine, diese (//forum.fhem.de/index.php?t=getfile&id=3962&rid=309) müsste die Neueste sein. Ich kann leider noch nicht einchecken, werde das aber mal beantragen ...

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: mele am 28 August 2013, 19:42:53
leider hat es nichts gebracht.

Meine Version (Wiki) war vom 30.05.2013. Habe Sie durch die von Dir erwähnte ersetzt (Reload/Neustart).


root@raspberrypi:/opt/fhem/FHEM# ls -lga 99_*
-rw-r--r-- 1 dialout  5025 Aug 28 17:40 99_myUtils.pm
-rw-r--r-- 1 root    13484 Aug 28 19:35 99_RPiUtils.pm
-rw-rw-rw- 1 root    12940 Aug 27 17:21 99_SUNRISE_EL.pm
-rw-rw-rw- 1 root     6764 Aug 27 17:21 99_Utils.pm
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 28 August 2013, 19:52:21
Hallo mele,

arbeitest Du als root auf dem RaspberryPi?

Ich würde mal mit
sudo chown fhem:dialout 99_*und
sudo chmod 755 99_*
die Rechte anpassen und nochmal probieren.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: mele am 28 August 2013, 19:55:09
Immer noch gleiches Verhalten nach Neustart (Bsp: Undefined subroutine &main::ShowRpiValues called at (eval 17) line 1.).

Rechte nun:

root@raspberrypi:/opt/fhem/FHEM# ls -lga 99_*
-rwxr-xr-x 1 dialout  5025 Aug 28 17:40 99_myUtils.pm
-rwxr-xr-x 1 dialout 13484 Aug 28 19:35 99_RPiUtils.pm
-rwxr-xr-x 1 dialout 12940 Aug 27 17:21 99_SUNRISE_EL.pm
-rwxr-xr-x 1 dialout  6764 Aug 27 17:21 99_Utils.pm
Titel: Aw: 99_Rpiutils
Beitrag von: PeMue am 28 August 2013, 20:02:23
sorry, das hätte
sudo chmod 644 99_*heißen sollen. Das hilft aber dann auch nicht weiter.
Wie rufst Du die Funktion auf? Ich vermute mal, Du hast diesen Fehler:
{ShowRPiValues()}
Unix unterscheidet zwischen Groß- und kleinschreibung.

Gruß PeMue
Titel: Aw: 99_Rpiutils
Beitrag von: mele am 28 August 2013, 20:21:28
Es war das "p" <> "P".

Die Werte sind jetzt da. Jetzt gebe ich mich mal an die Dummies.

Vielen DANK!!!!!
Titel: Aw: 99_Rpiutils
Beitrag von: Harald am 09 Oktober 2013, 10:29:28
Hallo PeMue,

ich habe eine kleine Änderung in Deinem Modul ausprobiert.  return $network;
}

# my $Datum = `date "+%d.%m.20%.%y %H:%M.%S"`;

#------------------------------------------------------------------------------
# shows the values on the screen
#------------------------------------------------------------------------------
sub ShowRPiValues ()
{
  my $Datum = `date "+%d.%m.20%y / %H:%M:%S"`;
  my @RamValues = RPiRamSwap("I");
  my %RPiValues =
Damit scheint die Uhrzeit zustimmen und wird auch aktualisiert. Ich hoffe, das hat keine anderen negativen Effekte.

Viele Grüße

Harald

Nachtrag 10.10.: Ich habe den Verdacht, dass die hier (http://forum.fhem.de/index.php?topic=15147.msg98622#msg98622) erwähnten Meldungen mit der Bearbeitung und Formatierung von $dataThroughput zusammen hängen.
Nachtrag 11.10.: Obwohl ich keine Änderung durchgführt habe, sind die Meldungen weg!?? -> Also weiter beobachten
Titel: Aw: 99_Rpiutils
Beitrag von: moonsorrox am 10 Oktober 2013, 17:01:51
mein Frage wäre wo ist die aktuelle Rpiutils, im ersten oder in dem letzten Post (wo sie zuletzt auftaucht)
Titel: Aw: 99_Rpiutils
Beitrag von: Harald am 10 Oktober 2013, 17:59:47
Hallo moonsorrox,

ich verwende derzeit diese (http://forum.fhem.de/index.php?topic=11996.msg82556#msg82556) Version. Das scheint (glaube ich) die letzte zu sein. Sie stammt wohl vom 16.6.2013. Da ist aber die Änderung bez. Datum noch nicht drin. Die habe ich bei mir eingefügt und es klappt prima.

Viele Grüße

Harald
Titel: Aw: 99_Rpiutils
Beitrag von: moonsorrox am 10 Oktober 2013, 19:06:34
OK diese habe ich auch erst einmal genommen..!
Das mit dem Datum habe ich bisher überlesen, weiß gar nicht um was es da geht, war das dies mit den Fragezeichen..?
Titel: Aw: 99_Rpiutils
Beitrag von: Harald am 10 Oktober 2013, 19:41:34
Mit dem Original wird bei der Auflistung der div. Parameter des RasPi das Datum nicht richtig angezeigt und auch nicht aktualisiert. Weiter oben habe ich beschrieben, welche Änderungen ich durchgeführt habe. Damit funktioniert das bei mir problemlos.

Viele Grüße

Harald
Titel: Aw: 99_Rpiutils
Beitrag von: Harald am 11 Oktober 2013, 18:08:03
Hallo PeMue,

ich bin ein Stück weiter. Diese (http://forum.fhem.de/index.php?topic=15147.msg98622#msg98622) Fehlermeldungen entstehen, wenn kein Netzwerk gefunden wird. Bei mir gibt es z.B. kein WLan. Dann ist die Variable $dataThroughput bei der Prüfung auf WLan leer. Das führt zu den angegebenen Meldungen.
Ich habe die Zeile "9. WLAN" => RPiNetwork("I", "wlan0"), auskommentiert und die Meldungen sind weg.
Irgendwie müsste da eine Abfrage eingebaut werden, ob das entsprechende Netzwerk vorhanden ist. Wenn nicht, sollte die Auswertung des Strings übersprungen werden. Leider sind meine Perl-Kenntnisse nicht so, dass ich da einen guten Weg einbauen könnte.

Viele Grüße

Harald
Titel: Antw:99_Rpiutils
Beitrag von: Harald am 12 Oktober 2013, 15:25:40
Hallo PeMue,

ich hab' mich nochmal darangesetzt und vielleicht eine Lösung gefunden. Folgendes habe ich gemacht:

In der Sub RPiNetwork habe ich das ### #  if (not grep(/Fehler/, @dataThroughput)) # check if network available ###
   if (grep(/Fehler/, @dataThroughput)) # check if network available ###
   {$network = "n/a"; return $network;} ###
und das   my $dataThroughput = $dataThroughput[0]; ###
   if ($dataThroughput ne "") ###
{
   # remove RX bytes or TX bytes from string
geändert.

In der Sub ShowRPiValues  return $network;
}

# my $Datum = `date "+%d.%m.20%y %H.%M.%S"`; # auskommentiert 10.10.13 Harald

#------------------------------------------------------------------------------
# shows the values on the screen
#------------------------------------------------------------------------------
sub ShowRPiValues ()
{ my $Datum = `date "+%d.%m.20%y / %H:%M:%S"`; # eingefügt und geändert 10.10.13 Harald
  my @RamValues = RPiRamSwap("I");
  my %RPiValues =
habe ich $Datum verschoben.

Außerdem habe ich in derSub RPiUpTime die Formatierung nach meinen Wünschen angepasst.

Vielleicht kannst Du Dir ja mal die Änderungen ansehen, ob das alles so richtig und vernünftig ist. Bei mir gibt es keine Fehlermeldungen mehr und das Datum wird richtig angezeigt. Ich kann aber z.B. die Netzwerkabfrage nicht testen und WLan habe ich z.Z. auch nicht.

Viele Grüße

Harald
Titel: Antw:99_Rpiutils
Beitrag von: moonsorrox am 12 Oktober 2013, 17:37:31
vielen Dank ich habe diese jetzt auch mal genutzt und das Datum ist richtig...  :D

Was ich bisher noch nicht weiß warum bei die dummys alle ein Fragezeichen haben..
RPiFS  ???
RPiRAM  ???
RPiswap  ???
RPiTemp  ???
Titel: Antw:99_Rpiutils
Beitrag von: Harald am 12 Oktober 2013, 18:01:03
Hallo moonsorrox,

schön, dass das Modul bei Dir scheinbar auch klappt. Dummies habe ich keine eingerichtet. Da kann ich Dir nicht sagen, warum da ??? sind. Aber suche mal hier im Forum. Ich meine, ich hätte da irgendwo etwas drüber gelesen.

Hast Du auf Deinem RasPi WLan in Bertrieb? Wenn ja, was hast Du für eine Anzeige bei WLan?

Bei mir sieht das so aus:

0. Date :                     12.10.2013 / 17:48:06
1. CPU temperature : 46.5 °C
2. CPU frequency :     700 MHz
3. Up time :               18 Std : 33 min : 48 sec
4. RAM :                      RAM: 18.29%
                                  Free: 366.64 MB
                                  Used: 82.09 MB
                                  Total: 448.74 MB
5. Swap :                   Swap: 0.00%
                                  Free: 102.40 MB
                                  Used: 0.00 MB
                                  Total: 102.40 MB
6. File system :          Free: 12185.74 MB
                                  Used: 1983.45 MB
                                  Total: 14788.00 MB
7. USB stick :              Free: 211.04 MB
                                  Used: 0.00 MB
                                  Total: 211.04 MB
8. Ethernet :               Received: 4.00 MB
                                  Sent: 7.40 MB
                                  Total: 11.4 MB
9. WLAN :                  n/a

Viele Grüße

Harald
Titel: Antw:99_Rpiutils
Beitrag von: moonsorrox am 12 Oktober 2013, 18:17:54
Zitat von: Harald am 12 Oktober 2013, 18:01:03
Da kann ich Dir nicht sagen, warum da ??? sind. Aber suche mal hier im Forum. Ich meine, ich hätte da irgendwo etwas drüber gelesen.

Hast Du auf Deinem RasPi WLan in Bertrieb? Wenn ja, was hast Du für eine Anzeige bei WLan?

ja ich habe auch schon gesucht aber bisher noch nichts gefunden, aber habe auch wenig Zeit investiert.
WLAN habe ich nicht im Betrieb und bei mir sieht das so aus:

0. Date :    12.10.2013 / 18:16:55
1. CPU temperature :    50.3 °C
2. CPU frequency :    700 MHz
3. Up time :    2 Tage 4 Std : 20 min : 56 sec
4. RAM :    RAM: 7.71%
Free: 414.18 MB
Used: 34.59 MB
Total: 448.78 MB
5. Swap :    Swap: 0.00%
Free: 102.40 MB
Used: 0.00 MB
Total: 102.40 MB
6. File system :    Free: 12350.96 MB
Used: 1812.48 MB
Total: 14782.00 MB
7. USB stick :    n/a
8. Ethernet :    Received: 15.79 MB
Sent: 24.01 MB
Total: 39.8 MB
9. WLAN :    n/a
Titel: Antw:99_Rpiutils
Beitrag von: Harald am 13 Oktober 2013, 13:46:35
Hallo zusammen,

heute Vormittag hatte ich auf der RPi-Konsole noch eine Fehlermeldung "Use of uninitialized value $dataThroughput .....". Ich vermute, dass die Variable nicht leer, sondern undeffiniert ist, wenn LAN oder WLan nicht vorhanden sind. Deshalb habe ich diese Abfrage

"if ($dataThroughput ne "")"      geändert in       "if (defined ($dataThroughput))"

Ich hoffe, dass das so richtig ist. Jedenfalls funktioniert es bei mir.

Viele Grüße

Harald
Titel: Antw:99_Rpiutils
Beitrag von: moonsorrox am 13 Oktober 2013, 13:59:41
Hallo Harald, hast du diese Fragezeichen von weiter oben immer noch als ANzeige.
Ich habe deine Variante einmal probiert un dbin aber wieder zurück zu dieser:
Nach wie vor geht es nicht mit diesem Code
### RPi Temperatur loggen
define RPiTemp dummy
ttr RPiTemp room RaspberryPi
define RPiTemp_at at +*00:01 { fhem("trigger RPiTemp ".RPiTemp(" ")) }
attr RPiTemp_at room RaspberryPi

define RPiTemp_wl SVG RPiTemp_log:temp4:CURRENT
attr RPiTemp_wl label "RaspberryPi Temperatur: Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr RPiTemp_wl room RaspberryPi
attr RPiTemp_wl alias RasspberryPi Temperatur


### RPi RAM loggen
define RPiRAM dummy
define RPiRAM_at at +*00:01 { fhem("trigger RPiRAM ".RPiRamSwap("R")) }
attr RPiRAM room RaspberryPi

### RPi swap loggen
define RPiswap dummy
define RPiswap_at at +*00:01 { fhem("trigger RPiswap ".RPiRamSwap("S")) }
attr RPiswap room RaspberryPi

### Filesystem loggen
define RPiFS dummy
attr RPiFS room RaspberryPi
define RPiFS_at at +*00:01 { fhem("trigger RPiFS ".RPiFileSystem("", "/dev/root")) }
attr RPiFS_at room RaspberryPi


probiert hatte ich noch dieses von dir evtl. ist ein Fehler drin, kannst du mal kurz drüber schauen.
# Test
define RPi_DB_Temp
attr RPi_DB_Temp room RaspberryPi
define RPi_DB_Temp_at at +*00:01 {
my $temp = RPiTemp(" ");
my ($zeichen, $sensor_temp) = split /\ /, "$temp", 2;
fhem("set RPi_DB_Temp ".$sensor_temp." °C");
}
attr RPi_DB_Temp_at room RaspberryPi
Titel: Antw:99_Rpiutils
Beitrag von: Harald am 13 Oktober 2013, 16:54:15
Hm, tut mir leid, aber ich habe keine Fragezeichen irgendwo. Im übrigen fehlt in Deiner Cofig in der 3. Zeile am Anfang ein "a". Ob das eine Ursache ist, weiß ich nicht.

Bei mr funktioniert die Ausgabe mit diesen Einträgen in meiner fhem.cfg, wie Du ja oben sehen kannst: ###############################################################
#
# Raspberry Pi
#
define Pi weblink htmlCode {ShowRPiValues()}
attr Pi room RasPi
#
define RPi_Temp dummy
attr RPi_Temp room RasPi
define RPi_Temp_at at +*00:10 { fhem("set RPi_Temp ".RPiTemp(" ")) }
#
define FileLog_RPi_Temp FileLog ./log/RPi_Temp-%Y-%m.log RPi_Temp
attr FileLog_RPi_Temp logtype fht:Temp,text
attr FileLog_RPi_Temp nrarchive 2
attr FileLog_RPi_Temp room Diagramm.log
#
# RasPi Temperatur plotten
#
define RPi_Temp_link weblink fileplot FileLog_RPi_Temp:mytemp4:CURRENT
attr RPi_Temp_link alias RasPi_Temp
attr RPi_Temp_link plotsize 500,120
attr RPi_Temp_link label "RPI Temperatur: Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr RPi_Temp_link room RasPi
#
###############################################################

Viel kann ich Dir nicht helfen. Ich bin auch blutiger Anfänger und muss mir jeden Schritt hart erarbeiten. Meine Perl-Kenntnisse sind auch ziemlich mager.

Falls Du nicht weiter kommst, musst Du schon PeMue warten. der kennt sich mit dem Modul viel besser aus. Er hat es ja, soviel ich weis, auch entwickelt oder so.

Viele Grüße

Harald
Titel: Antw:99_Rpiutils
Beitrag von: PeMue am 13 Oktober 2013, 19:21:51
Hallo zusammen,

ZitatEr hat es ja, soviel ich weiß, auch entwickelt oder so.
Ich habe nur das Modul von Jörg zusammengefasst und etwas weiter programmiert. Das mit dem Datum habe ich genauso gemacht. Der andere Fehler ist eine Abfrage, die "ins Leere" geht, wenn die Spracheinstellungen nicht so sind, wie ich es erwarte (also auch ich bin noch nicht so firm in Perl :-)). Ich werde leider die nächsten beiden Wochenende auch nicht dazu kommen, da ich unterwegs sein werde ...

Gruß PeMue
Titel: Antw:99_Rpiutils
Beitrag von: Harald am 13 Oktober 2013, 20:35:54
Trotzdem herzlichen Dank, PeMue (und natürlich auch an Jörg) für Deine Arbeit. Wenn Du möchtest und das sinnvoll findest, kannst Du meine Änderungen gerne einfließen lassen.

Ich werde das jedenfalls so verwenden. Gefällt mir prima.

Viele Grüße und schönen Sonntag Abend noch

Harald
Titel: Antw:99_Rpiutils
Beitrag von: moonsorrox am 13 Oktober 2013, 21:02:33
@Harald
OK ich werde mich nachher nochmal ran setzen und schauen was ich mit meinem bescheidenen Wissen machen kann. Werde den Code von dir mal 1:1 übernehmen.
das a habe ich schon gesehen und auch ersetzt ist bei copy & paste entstanden...

@PeMue
Also es ist jetzt nichts weltbewegendes was mich riesig stört... wenn es dauert ich kann damit erst mal leben, ist ja nicht so wichtig... wenn du wieder dazu kommst reicht das allemal
Vielen Dank erst mal für die Infos
Titel: Antw:99_Rpiutils
Beitrag von: RoqueNublo am 24 Oktober 2013, 18:49:21
Hallo Zusammen,

auf der Suche nach Möglichkeiten meinen RasberryPi besser unter Kontrolle (Temperatur, etc) zu bekommen, bin ich auf Eure Beiträge gestoßen. Euren Erkenntnissen folgend machte ich mich daran, die 99_RPiUtils.pm in mein fhem-Projekt einzubinden. Was auch zunächst kein Problem darstellte. Die Werte werden ausgelesen und (zum Teil) angezeigt

Cannot read ./www/gplot/mytemp4.gplot


RasPi  Temp
0. Date :       24.10.2013 / 17:43:26
1. CPU temperature :    55.1 °C
2. CPU frequency :    700 MHz
3. Up time :       22 Std : 5 min : 10 sec
4. RAM :       
RAM:       19.27%
Free:       362.22 MB
Used:       86.48 MB
Total:       448.70 MB
5. Swap :       
Swap:       0.00%
Free:       102.40 MB
Used:       0.00 MB
Total:       102.40 MB
6. File system :       
Free:       12439.25 MB
Used:       1766.39 MB
Total:       14965.88 MB
7. USB stick :       
Free:       211.03 MB
Used:       0.00 MB
Total:       211.03 MB
8. Ethernet :       
Received:    17.41 MB
Sent:       0.93 MB
Total:       18.34 MB
9. WLAN :    n/a


Nachfolgend aufgeführte Fehler zeigt die Console bei Aufruf von RasPi aus dem Fhem-Menü an:

Use of uninitialized value $pTemp in substitution (s///) at ./FHEM/98_SVG.pm line 828
Use of uninitialized value $pTemp in substitution (s///) at ./FHEM/98_SVG.pm line 829
Use of uninitialized value $pTemp in substitution (s///) at ./FHEM/98_SVG.pm line 830
Use of uninitialized value $pTemp in substitution (s///) at ./FHEM/98_SVG.pm line 831
Use of uninitialized value $pTemp in substitution (s///) at ./FHEM/98_SVG.pm line 832

Consol-Meldungen nach Wechsel von RasPi zu Floorplan im Fhem-Menü.
Aber auch bei einem Refresh (F5) bzw. einer Status-Änderungen (Lampe on/off) im Floorplan.

Use of uninitialized value in string ne at ./FHEM/95_FLOORPLAN.pm line 606
Use of uninitialized value in string ne at ./FHEM/95_FLOORPLAN.pm line 403
Use of uninitialized value in string ne at ./FHEM/95_FLOORPLAN.pm line 606
Use of uninitialized value $type in pattern match (m//) at ./FHEM/95_FLOORPLAN.pm line 629
Use of uninitialized value $type in concatenation (.) or string at ./FHEM/95_FLOORPLAN.pm line 631

Wenn ich die Verknüpfungen zur 99_RPiUtils.pm in der fhem.cfg auskommentiere gibt es auf der Console keine Fehlermeldungen mehr.


Meine Fragen:
- wo liegt das Problem, dass ich kein Plot angezeigt bekomme.
- was könnte die Consol-Fehlermeldung verursachen.

Gruß von der Insel
RoqueNublo
Titel: Antw:99_Rpiutils
Beitrag von: PeMue am 24 Oktober 2013, 19:37:59
Hallo RoqueNublo,

ZitatCannot read ./www/gplot/mytemp4.gplot
klingt für mich nach einem Rechteproblem, das sollte in etwa so aussehen:
-rw-r--r-- 1 dialout  684 Aug 10 08:30 press4.gplot
Bei meiner aktuellen Version gibt es (bis auf eine) keine Konsolenmeldungen mehr, aber ich schaue es mir noch einmal an, kann aber noch ein paar Tage dauern, da ich gerade beruflich unterwegs bin ...

Gruß PeMue
Titel: Antw:99_Rpiutils
Beitrag von: RoqueNublo am 25 Oktober 2013, 17:39:20
Hallo PeMue,

ich habe gefunden warum die Meldung  ,,Cannot read ./www/gplot/mytemp4.gplot" kommt. Es handelte sich nicht um fehlende Rechte wie vermutet, sondern der Name der Plot-Steuerdatei ,,mytemp4.gplot" lautet bei mir ,,temp4.gplot".

Die RasPi-Anzeige inklusive Plot ist nunmehr OK und die Fehlermeldungen die bisher beim Aufruf von RasPi auf der Console erschienen gehören der Vergangenheit an.

Nicht erledigt sind die Konsol-Meldungen nach Wechsel von RasPi zu Floorplan sowie bei einem Floorplan-Refresh per F5-Taste.

Nach wie vor bzw. wie schon berichtet, wenn ich die Verknüpfungen zur 99_RPiUtils.pm in der fhem.cfg auskommentiere gibt es auf der Konsole keinerlei Fehlermeldungen mehr.

Gruß Roque
Titel: Antw:Aw: 99_Rpiutils
Beitrag von: teran42 am 02 November 2013, 18:39:30
Hallo,
den hier hatte ich auch:
Zitat von: mele am 28 August 2013, 17:50:34
Ich bekomme leider weiterhin die Fehlermeldung (Beispiel: Undefined subroutine &main::ShowRpiValues called at (eval 129) line 1)
das liegt am falschen ShowRPiValues  (kleines p ist hier oft in diesem Thread zu finden).
Hatte meins auch irgendwo hier herauskopiert und dann an bei der Rechte Problematik gesucht (war aber richtig). Kurzer Blick in den Quellcode konnte dann helfen :-).

also zum kopieren:

#
# RPI ----------------------------------------------------------------
define RPiValues weblink htmlCode {ShowRPiValues()}
attr RPiValues room RaspberryPi
Titel: Antw:99_Rpiutils
Beitrag von: Trebor5 am 03 November 2013, 17:16:12
Hallo,

habe mittlerweile meinen 2ten Raspberry.

Frage kann ich auf dem Raspberry wo Fhem drauf läuft, auch die Werte ( Temp,Online usw. ) vom 2ten Rasp ausgeben/ Anzeigen ?

Sind natürlich beide im Netzwerk.

Titel: Antw:99_Rpiutils
Beitrag von: PeMue am 03 November 2013, 19:15:29
Hallo Trebor,

dafür eignet sich das Modul SYSSTAT (siehe commandref (http://fhem.de/commandref#SYSSTAT)) ganz gut. Achtung: Du must erst ein Perl Modul nachinstallieren.

Gruß PeMue
Titel: Antw:99_Rpiutils
Beitrag von: Stephan am 07 November 2013, 16:25:00
Zitat von: Trebor5 am 03 November 2013, 17:16:12
Hallo,

habe mittlerweile meinen 2ten Raspberry.

Frage kann ich auf dem Raspberry wo Fhem drauf läuft, auch die Werte ( Temp,Online usw. ) vom 2ten Rasp ausgeben/ Anzeigen ?

Sind natürlich beide im Netzwerk.

Mit fhem2fhem geht das. Siehe commandref.

Gesendet von meinem Nexus 7 mit Tapatalk 4