Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
wie befüllt man denn die Widgets für die Uptime des Systems und den Memory verbauch des Smarthome Servers. Es gibt ja bereits eine Page, aber die Inhalte sind bei mir leer und ich weiß nicht wie man dieses füllt.
Hallo Jens,
die Uptime usw kommen vom smarthome eigentlich ist alles schon fertig das ist einfach ein ganz normales Basic Value Widget in dem u.a. folgende Items angegeben sind:
Systemstart: env.system.start
smarthome.py start: env.core.start
System Belastung: env.system.load
Threads: env.core.threads
Memory: env.core.memory
das ganze befindet sich im smarthome Verzeichnis unter: smarthome/lib/env dort stehen in dem conf Dateien alle möglichen Informationen die man in die VISU einbinden kann
Angaben nach bestem Wissen und Gewissen (Inhalt und Rechtschreibung)
Hallo Jens,
die Uptime usw kommen vom smarthome eigentlich ist alles schon fertig das ist einfach ein ganz normales Basic Value Widget in dem u.a. folgende Items angegeben sind:
Systemstart: env.system.start
smarthome.py start: env.core.start
System Belastung: env.system.load
Threads: env.core.threads
Memory: env.core.memory
das ganze befindet sich im smarthome Verzeichnis unter: smarthome/lib/env dort stehen in dem conf Dateien alle möglichen Informationen die man in die VISU einbinden kann
Hallo Erik ich nutze nicht den pi als visu und SH.py Server liegt es daran? Bei mir wird nichts angezeigt, außer in der cofnig Seite sehe etwas über den sh.py nur die Info Seite bleibt leer.
Gruß Jens
Hallo Jens,
ich bin jetzt nicht mknx. Aber ich gehe mal davon aus, da in der Standard SH.py Konfiguration die conf Datein vorhanden sind, man auf die System Informationen zugreifen kann.
Hallo Jens,
ich bin jetzt nicht mknx. Aber ich gehe mal davon aus, da in der Standard SH.py Konfiguration die conf Datein vorhanden sind, man auf die System Informationen zugreifen kann.
Hallo Jens,
das sind ja auch nicht die Daten sonder was in den Dateien drinsteht z.B. steht in core.conf:
Code:
[env]
[[core]]
[[[version]]]
type = str
[[[start]]]
type = foo
[[[memory]]]
type = num
sqlite = init
[[[threads]]]
type = num
sqlite = init
[[[garbage]]]
type = num
sqlite = init
Und dort stehen halt die Items wie env.core.threads, env.core.memory usw.
Vergleiche mal den Inhalt deiner Dateien mit der auf der Seite.
Angaben nach bestem Wissen und Gewissen (Inhalt und Rechtschreibung)
die Plots mit dem Speicherverbrauch gab es (glaube ich) hier im Forum.
Ich hab die Seiten bei mir funktionsfähig eingebunden (siehe Screenshots).
Für die Systemuptime und den Speicher musste noch ne Logic geschrieben werden (z.B. cycle=300) und ne items.conf
Alle anderen verwendeten Items in meinen Seiten lieferte Smarthome bereits mit.
system.conf
Code:
# items/system.conf
[smarthome]
name = SmartHome
[[runtime]]
name = Laufzeit
type = str
visu = yes
[system]
name = System
[[memory]]
type = num
name = Speicherverbrauch
sqlite = yes
[[uptime]]
name = Laufzeit
type = str
system.py
Code:
# logics/system.py
def td2str(td):
hours, seconds = divmod(td.seconds, 3600)
minutes, seconds = divmod(seconds, 60)
if td.days:
return "{0}d {1}h {2}m".format(td.days, hours, minutes)
else:
return "{0}h {1}m".format(hours, minutes)
# Runtime
runtime = sh.tools.runtime()
sh.smarthome.runtime(td2str(runtime))
# System Memory
statusfile = "/proc/meminfo"
units = {'kB': 1024, 'mB': 1048576}
with open(statusfile, 'r') as f:
data = f.read()
for line in data.splitlines():
key, sep, value = line.partition(':')
if key.startswith('Mem'):
size, unit = value.strip().split(' ')
mem = int(size) * units[unit]
if key == 'MemTotal':
total = mem
elif key == 'MemFree':
free = mem
sh.system.memory(100-int(free/(total/100)))
# System Uptime
statusfile = "/proc/uptime"
with open(statusfile, 'r') as f:
data = f.read()
uptime = int(float(data.split()[0]))
uptime = datetime.timedelta(seconds=uptime)
sh.system.uptime(td2str(uptime))
die Plots mit dem Speicherverbrauch gab es (glaube ich) hier im Forum.
Ich hab die Seiten bei mir funktionsfähig eingebunden (siehe Screenshots).
Für die Systemuptime und den Speicher musste noch ne Logic geschrieben werden (z.B. cycle=300) und ne items.conf
Alle anderen verwendeten Items in meinen Seiten lieferte Smarthome bereits mit.
system.conf
Code:
# items/system.conf
[smarthome]
name = SmartHome
[[runtime]]
name = Laufzeit
type = str
visu = yes
[system]
name = System
[[memory]]
type = num
name = Speicherverbrauch
sqlite = yes
[[uptime]]
name = Laufzeit
type = str
danke bereits jetzt klappt das mit dem Systemanzeigen, lediglich die Uptime zeigt noch nichts an. Du meintest doch mal sollte eine Logic anlegen Namens system.py. das habe ich auch gemacht. Aber die Uptime zeigt nichts an. Ich habe natürlich wegen den Änderungen Sh.py neugestartet liegt es daran?
hast du die Logik auch in der etc/logics.conf drin ;-)
Als Auslöser nutz ich dann cycle=300 (alle 5 Minuten)
etc/logics.conf
Code:
[System]
filename = system.py
cycle = 300
Gibt es Fehler im Log?
Grüße,
Lars
hi Lars, jetzt zeigt er mir zumindest was an Lasse es jetzt mal was laufen und werte heute Abend mal aus. Er wirft wegen was anderem noch Fehler, ich weiß nicht wo ich das 1 Wire ausschalten kann.
Code:
Init SmartHome.py 1.0-35-gf62db45+
2014-08-18 13:04:09 ERROR Main Plugin fritzbox exception: No module named 'lib.www'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 53, in __init__
plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
File "/usr/local/smarthome/lib/plugin.py", line 79, in __init__
exec("import {0}".format(classpath))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/fritzbox/__init__.py", line 16, in <module>
import lib.www
ImportError: No module named 'lib.www'
2014-08-18 13:04:10 WARNING system.datum_uhrzeit.sonne.position Item system.datum_uhrzeit.sonne.position: value (2.916560649871826, 0.9011772274971008) does not match type num. Via Init None
2014-08-18 13:04:11 ERROR Connections 1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Verbindungsaufbau abgelehnt
Das Plugin habe ich schon gegen das neueste von MKNX getauscht.
Die Uptime ist ja auch eher ein "langweiliger" Wert ;-)
Speicher und CPU Last sind vermutlich auch ziemlich statisch und halt einfach nice2have.
Der Fehler kommt scheinbar vom FritzBox Plugin. Sieht aus als ob da ein Modul nicht gefunden wird. "lib.www", sollte das nicht ein Standard Modul sein?
1-Wire wirst du wohl in der etc/plugin.conf ausschalten können wenn du es nicht brauchst.
Der Fehler kommt scheinbar vom FritzBox Plugin. Sieht aus als ob da ein Modul nicht gefunden wird. "lib.www", sollte das nicht ein Standard Modul sein?
Grüße Lars
Hi Lars,
was ist das denn für ein Modul? wie kann ich kontrollieren ob das integriert ist?
1 Wire wirft gerade keinen Fehler mehr.
Am besten fragst Du mal in dem FritzBox Plugin Thread nach.
Spontane Vermutung: Du nutzt das alte Plugin was wohl nicht mehr mit Python 3.2 kompatibel ist. Eventuell müsstest Du das aktualisieren. (siehe Smarthome.py Forum)
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar