Gibt’s mit dem RPi-Monitor schon „langzeiterfahrungen“?
Nimmt durch die Statistik der Speicherverbrauch merklich zu?
Oder schluckt das Teil einiges an Performance?
Habt ihr mal die Werte des Frontends mit den Werten im json verglichen?
Bei mir stimmt nichts überein :eek:, die Werte ändern sich, die „localtime“ auch, aber im json stehen völlig andere Werte wie im Frontend.
Update:
Nach Update auf die Beta von Xavier sind die Werte identisch. Da einige Werte als String zurückgegeben werden, obwohl sie kein String sein müssen, ist wohl noch manueller Aufwand notwendig. Statistik könnten wir ja selber.
Eigentlich ist das eh’ mit Kanonen auf Spatzen …, die Daten liegen relativ einfach auf Shellebene vor und der Webserver müstte nicht sein. Naja, mal sehen …
Hallo,
bei den Stringwerten muss man in den RPi Konfigdatei den Wert einfach noch einmal mit 1 Multiplizieren.
Dann werden diese Werte als Zahlen erkannt.
Schöne Grüße
Thomas
Wo/wie genau?
Z.B. in der cpu.conf
...
dynamic.3.name=load1,load5,load15
dynamic.3.source=/proc/loadavg
dynamic.3.regexp=^(\S+)\s(\S+)\s(\S+)
dynamic.3.postprocess=$1*1
...
führt trotzdem zu Strings.
Update:
Ich nehme die Rohwerte und wandel sie entsprechend um, dann kann ich auch das Logging vom IPS nutzen.
Vielleicht darf ich’s wagen und an Paresy’s Skript noch ein bisschen Hand anlegen, dann klappt’s auch mit den floats :). Auch ein Abbruch bei Nicht-Erreichbarkeit des PI inkludiert (vermeidet lästige Logging-Fehler).
Danke übrigends für den Hinweis an PeterChrisben - nützliche Sache.
<?
$ip = 'X.X.X.X';
$port = '8888';
$ping = Sys_Ping($ip, 1000);
if ($ping == false) goto NoPing;
$data = file_get_contents("http://".$ip.":".$port."/dynamic.json");
$data = json_decode($data);
//print_r($data);
foreach($data as $key => $value) {
if(is_array($value))
continue;
$type = 2;
if(is_string($value))
if (strpos($value,".") !== false)
$type = 2;
else if (preg_match('/^[0-9]*$/', $value))
$type = 2;
else
$type = 3;
if ($type == 2) $value = (float) $value;
SetValue(CreateVariableByIdent($_IPS['SELF'], $key, $key, $type), $value);
}
function CreateVariableByIdent($id, $ident, $name, $type)
{
$vid = @IPS_GetObjectIDByIdent($ident, $id);
if($vid === false)
{
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
IPS_SetIdent($vid, $ident);
}
return $vid;
}
NoPing:
?>
Gruß
hoep
Kann man zum Teil bestimmt selbst in PHP lösen.
Beispiel für den Pi2:
<?
$id1 = CreateVariableByName($_IPS['SELF'], "Temperatur", 2);
$id2 = CreateVariableByName($_IPS['SELF'], "Volts", 2);
$id3 = CreateVariableByName($_IPS['SELF'], "Clock", 2);
SetValue($id1 ,(exec("cat /sys/class/thermal/thermal_zone0/temp "))/1000);
SetValue($id2 ,(float)(substr(exec("vcgencmd measure_volts"),5)));
SetValue($id3 ,(int)((exec("cat /sys/devices/system/cpu/cpu0//cpufreq/scaling_cur_freq")) / 1000));
function CreateVariableByName($id, $name, $type)
{
$vid = @IPS_GetVariableIDByName($name, $id);
if($vid===false) {
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
}
return $vid;
}
function CreateEventIDByName($id, $name, $type)
{
$eid = @IPS_GetEventIDByName($name, $id);
if($eid===false) {
$eid = IPS_CreateEvent($type);
IPS_SetParent($eid, $id);
IPS_SetName($eid, $name);
}
return $eid;
}
?>
Hallo,
wie das genau geht ist weiter vorne beschrieben.
https://www.symcon.de/forum/threads/25387-RPi-Monitor?p=232998#post232998
Die CPU ist etwas spezieller, da es 3 Werte sind, ist aber auch weiter vorne beschrieben.
Schöne Grüßen
Thomas
Danke für die Tipps.
Ich lege mir die Variablen jetzt im Script mit den gewünschten Typen direkt an, berechne die Werte, wie ich sie sehen möchte und lese auch stündlich gleich die static.json mit.
Die letzten 10 Stunden mit Graphen sehen schon mal ganz gut aus :).
Aber eigentlich sollte das alles in der V4 mit eigenem Script und „exec“ auch lösbar sein. Mal sehen was sich als nächstes Modul ergibt, das wäre dann leider etwas OS abhängig.
Hallo zusammen,
vielen Dank für den Tipp mit dem RPI-Monitor und für die Scripte.
Funktioniert auf Anhieb.
Hallo.
Gibt er bei euch auch für die CPU-Frequenz bei dem Pi2 immer nur 600 Mhz an!?
Nein, der Wert wechselt dynamisch je nach Lastbedarf.
Hatten wir nicht erst das Thema, dass die nie kaputt gehen. [emoji6]
Gesendet von iPhone mit Tapatalk
Im Zuge der Umstellung auf Symcon 4.4 habe ich festgestellt, daß es für Stretch eine neue Version des Monitors gibt. Die Installation von S.1 funktioniert nicht mehr.
Hinweise hier:
Gruß
Bruno
Hallo,
der verwendete Speicher wird in der Variablen nicht komplett übernommen.
Webapplikation meldet z.b 330 MB verwendet, bei mir werden nur 33 MB angezeigt. Raspi 3B+
Wie kriege ich das hin?
Gruß
Oliver
Hi Martin,
kannst du dein Script zur Verfügung stellen, mit dem du die ganzen Werte ausliest.
Ich wäre daran auch sehr interessiert…falls hier noch jemand helfen kann.
Hallo Zusammen,
könnte mir jemand einmal erklären wie ich die Datenpunkte in IPS bekomme?
Ich hab zwar das Script aber ich bekomme die Daten nirgends angezeigt.
Muss ich für jeden Datenpunkt eine Instanz anlegen oder wie macht ihr das?
Vielen Dank schon mal im Voraus.
Würd mich auch interessieren, da die json nicht mehr ausspuckt oder kann man das über ne conf anpassen.
Hey @DeejayT ,
kannst Du dein Script mal hier zur Verfügung stellen - wäre super.
Danke & Gruß
Stephan
Hi Stephan,
Ich habe seit einiger Zeit eine Symbox und deshalb keinen Raspi mehr in Betrieb.
Leider habe ich die Scripte nicht mehr.