RPI 2 Modell B zu langsam für anständige Darstellung?

Begonnen von Thomas_SH, 17 Juli 2015, 16:32:25

Vorheriges Thema - Nächstes Thema

Thomas_SH

Ahoi!

Ich habe den Raspberry 2 Modell B laufen. Zur Zeit nur mit FHEM und 9 DS18B20. Die Darstellung der Meßwerte erfolgt am Browser, es gibt vier SVG-Plots. In FEHM ist nichts weiter am laufen, keine Bedingungen, nur die Meßwerteanzeige. Laut Monitor am Pi ist der Pi zu 0-5% ausgelastet. Trotzdem werden die Plots im Browserfenster (Mac) ca. alle 5 Sekunden neu aufgebaut, aber mit bis zu 10 Sekunden langen Pausen, fast wie Lauflicht - also Plot eins wird gezeigt, Plot 2 und 3 sind leer (weisse Fläche), Plot 4 ist da. Dann wird "gnädigerweise" Plot 2 gezeigt, dafür fehlt dann #1, einige Momente später dann gibt es #1 und #3, #2 und #4 fehlen. Und so geht es ständig /unregelmäßig und ohne System weiter. Ist irgendwie nervig. Ist der Pi nun zu langsam oder läßt sich irgendwie einstellen, das die Meßwerte nur alle 30s ausgelesen / aktualisiert / angezeigt werden sollen?

Thomas

AitschPi

Ich sehe das Problem weniger im Raspberry selbst sondern bei der Datenflut, die per FileLog eingelesen werden muss. Zudem liefern die Sensoren sicher viele Daten... Hast Du das schon mal mit einer Datenbank z.B via SQLite und DbLog probiert?


Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Echte Männer essen keinen Honig, sie kauen Bienen.

marvin78

Das wird nicht unbedingt schneller sein. Die Kunst ist, die geloggten Events auf das Nötige zu minimieren (event-on-(change|update)-reading, event-min-intervall, FileLog besser definieren).

Thomas_SH

Zitat von: marvin78 am 17 Juli 2015, 17:52:46
Das wird nicht unbedingt schneller sein. Die Kunst ist, die geloggten Events auf das Nötige zu minimieren (event-on-(change|update)-reading, event-min-intervall, FileLog besser definieren).

Okay, hört sich gut an. Wo kann ich nachlesen, wie das geht?

Thomas

marvin78

Wie bei allem, in der commandref.

Diese Grundlagen setze ich voraus.

Thomas_SH

Zitat von: marvin78 am 17 Juli 2015, 18:03:17
Wie bei allem, in der commandref.

Diese Grundlagen setze ich voraus.

Das, was online im FHEM-Fenster zu finden ist ist keine Anleitung. Und Engländer bin ich auch nicht, das ich sowas auf engl. lesen könnte. Ich suche immer noch eine vernünftige Anleitung, die zum lernen UND verstehen geeignet ist. Bisher habe ich mich in FHEM-Programm nur durch ausprobieren durchhangeln können und daher sicher die besten Eigenschaften noch nicht gefunden.

Es reicht nicht aus, nur ein paar Befehle in alphabetischer Reihe zu erklären, bei dem meisten Kram aber auf eine englische Referenz zu verweisen.
Ausserdem vermisse ich in der "commandsref" einen Struktur wie FHEM aufgebaut ist (z.B. welches Kommando was bewirkt, aber noch x und y beeinflußt oder voraussetzt)... Die Darstellung als Hypertext mag zwar einfach sein, aber nur eine Einrückungsebene reicht nicht für eine Übersicht aus.

Thomas

marvin78

Die commandref ist eine Commandref und keine Anleitung.  Die commandref beschreibt die Funktionsweise der Module und Kommandos.
Zu meinen Stichworten findest du dort alles, was du wissen möchtest (und das auch in deutsch). Besser kann ich es nicht noch einmal beschreiben. Ich wüsste auch nicht wieso man das tun sollte.

Außerdem gibt es noch das FHEM-Wiki und vor allem das Anfänger PDF (das ich dir wärmstens empfehle) als "Anleitung" für Anfänger. Ich kenne kaum Tools, die besser dokumentiert sind, als FHEM. Und falls es dir nicht reicht, bist du sicher eingeladen, das zu ändern.

Wenn dir das wirklich zu hoch sein sollte, was ich nicht glaube, muss ich dir sagen: FHEM ist nichts für dich.

ujaudio

Das ist zwar nun OT, aber: zu knapp 100% gebe ich "marvin78" recht. "knapp" deswegen, weil ich manchmal im Wiki mir "ein wenig mehr" wünsche. Sobald ich sattelfester bin, werde ich da aber auch mal ergänzen. Mein Tipp an andere Anfänger wie ich: auf einem 2. System einfach probieren - Versuch macht kluch. Und hier im Forum wird einem doch wirklich prima geholfen. Ich lese auch immer wieder mal andere Artikel, die mich eigentlich weniger betreffen, aber dort kann man sich dann auch den einen oder anderen Tipp abholen.
Einen lieben Gruß
Jürgen

Thomas_SH

Zitat von: marvin78 am 17 Juli 2015, 18:31:04
Die commandref ist eine Commandref und keine Anleitung.  Die commandref beschreibt die Funktionsweise der Module und Kommandos.
Zu meinen Stichworten findest du dort alles, was du wissen möchtest (und das auch in deutsch). Besser kann ich es nicht noch einmal beschreiben. Ich wüsste auch nicht wieso man das tun sollte.

Ich habe mir "FileLog" und den Unterpunkt "Define" angesehen. Das ist noch einigermaßen verständlich.  Dann den Unterpunkt "Attribute". Dort suche ich dann eine Möglichkeit das nur alle x Sekunden was passiert. Fehlanzeige...

Dann finde ich dort:
Zitatfht
Zeichnet die Ist-Temperatur/Soll-temperatur/Aktor Kurven. Die passende FileLog-Definition (für das FHT-Gerät mit Namen fht1)sieht wie folgt aus:
define fhtlog1 FileLog log/fht1-%Y-%U.log fht1:.*(temp|actuator).*

Temperaturen will ich sehen. Schön. Nur was soll mir fht sagen? Was ist fht wenn man keine Struktur hat? Also für einen Anfänger NULL Informationen. Bisschen weiter unten: "...Zeichnet eine Kurve aus der Feuchtigkeit und der Windgeschwindigkeit eines ks300" Was ist "ks300"? Keine Übersicht.

Das nenne ich eine schlechte Beschreibung. Denn sie hilft mir nichts.

Zitat von: marvin78 am 17 Juli 2015, 18:31:04


Außerdem gibt es noch das FHEM-Wiki und vor allem das Anfänger PDF (das ich dir wärmstens empfehle) als "Anleitung" für Anfänger. Ich kenne kaum Tools, die besser dokumentiert sind, als FHEM. Und falls es dir nicht reicht, bist du sicher eingeladen, das zu ändern.

Wenn dir das wirklich zu hoch sein sollte, was ich nicht glaube, muss ich dir sagen: FHEM ist nichts für dich.

Um im Wiki was zu finden muß man wissen was man sucht. Zumindest ungefähr. Zum nachschlagen also gut geeignet, aber nicht zum lernen.

Okay, anderer Versuch. Meine Steuerdatei enthält diese Einträge:

define Rpi GPIO4 BUSMASTER
define GPIO4_DS18B20_000006372441 GPIO4 28-000006372441
attr GPIO4_DS18B20_000006372441 model DS18B20
attr GPIO4_DS18B20_000006372441 room GPIO4
define FileLog_GPIO4_DS18B20_000006372441 FileLog ./log/GPIO4_DS18B20_000006372441-%Y.log GPIO4_DS18B20_000006372441
attr FileLog_GPIO4_DS18B20_000006372441 logtype text
attr FileLog_GPIO4_DS18B20_000006372441 room GPIO4



Was muß ich wo ändern oder zufügen, damit

- nur Änderungen von mehr als 0,5 Grad C ausgewertet werden

- das die Plot-Daten nur alle 30 Sekunden ausgewertet oder neu gezeichnet werden

- Das Plotergebnis nicht so mickrig klein ist sondern 3 oder 5 mal größer (Höhe) ausgegeben wird?


Zu hoch ist mir der Umgang sicher nicht, nur gelingt mir der Einstieg nicht, weil offensichtlich die Commandref nur für "Wissende" geschrieben wurde, nicht für Einsteiger. Immerhin habe ich schon vor rund 25 Jahren ein Warenwirtschaftssystem geschrieben (in GfA-Basic), für mein eigenes Unternehmen, Jahresumsatz (damals) über 125000 DM / Jahr (1 Mitarbeiter). Auch in Assembler, Pascal, Modula-2, USCD-Pascal habe ich mit Anleitungen Programme geschrieben. Ein Teil der Anleitungen war in Englisch. Aber eben so klar strukturiert, das ich dam alles verstehen und nachvollziehen konnte.

Nochmal: Mir fehlt eine Übersicht, wie FHEM aufgebaut ist: Ein Programmablaufplan z.B., eine Ablaufdarstellung was wann wo ausgewertet wird oder bei den Beispielen zum Plot eine Ausgabe und Parameter und Ergebnis zu vergleichen.

Das Anfänger-PDF:

Ist damit "HOWTO_DE.html für eine kurze Installation/Konfiguration." gemeint? Da ist überwiegend von Funk oder FS20 geschrieben. Sowas habe ich nicht, also habe ich de Absätze übersprungen.

Im Absatz "Inhalte von Logdateien plotten (zeichnen)" sind Beispiele geschrieben, aber nicht was sie machen, wie sich die Parameter auswirken. Also nicht hilfreich.

Thomas

krikan

ZitatDas Anfänger-PDF:
Das ist das, was auf http://www.fhemwiki.de/wiki/Hauptseite als
ZitatFHEM-Übersicht für AnfängerInfo
DER Startpunkt. Pflichtlektüre!
angepriesen wird,
oder
im Anfängerforum in den angepinnten Beiträgen unzählige Male aufgeführt wird
oder
auf http://fhem.de/fhem.html#Documentation als erstes genannt wird.

Verbesserungsvorschläge und Mitarbeit sind immer willkommen ;-)

Wuppi68

naja, ein wenig Logik ...

log macht nur das was Du ihm sagst, also alle Dinge die Aufkommen in eine Datei zu schreiben
also solltest Du an der Wurzel des "Übels" anpacken --> bei den Devices --> Attribut event-on-change-reading (zu finden in der GUI) machst Du dort ein .* rein, dann hast Du keine aufeinanderfolgenden doppelten Zeilen
FHEM unter Proxmox als VM

Thomas_SH

- Das Plotergebnis nicht so mickrig klein ist sondern 3 oder 5 mal größer (Höhe) ausgegeben wird?


... habe ich inzwischen gefunden und "eingebaut".

Thomas

jensb

Hallo,

noch einen kleinen Turbo für SVG-Plots kann das FHEMWEB-Attribut plotfork = 1 aktivieren. Auch das FHEMWEB-Attribut SVGcache = 1 kann zumindest beim 2. Aufruf des gleichen Plots helfen. Beide Atrribute sind in der Modulhilfe beschrieben, einfach mal ausprobieren.

Eine Reduktion von redundanten Daten sollte aber im Vordergrund stehen.

LG, jensb
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

Thomas_SH

Zitat von: jensb am 22 Juli 2015, 20:21:20

Eine Reduktion von redundanten Daten sollte aber im Vordergrund stehen.



Das stimmt. Leider konnte mir weder die Commandref noch das Forum mitteilen, wie ich was einstellen muß, damit die Meßwerte von den DS18x20-Tempsensoren nur alle 2 (oder 5) Minuten ausgewertet / geschrieben werden UND wie eine Änderungf nur bei mehr als 0,5 Grad geschriebenwerden soll.

Thomas

Hollo

Zitat von: Thomas_SH am 23 Juli 2015, 06:29:57
...Leider konnte mir weder die Commandref noch das Forum mitteilen, wie ich was einstellen muß, damit die Meßwerte von den DS18x20-Tempsensoren nur alle 2 (oder 5) Minuten ausgewertet / geschrieben werden...
Dazu ist etwas Eigenarbeit und Probieren erforderlich; es gibt da mehrere Beiträge, die sich mit der "Reduzierung von LOG-Daten" beschäftigen; das ist relativ unabhängig vom verwendeten Sensor.

Hier http://forum.fhem.de/index.php/topic,14786.msg314173.html#msg314173 , hier http://forum.fhem.de/index.php?topic=14479.0 , hier http://www.meintechblog.de/2013/11/fhem-logfiles-und-graphen-datenlast-reduzieren-und-werte-ordentlich-visualisieren/ und hier https://blog.chanoa.de/fhem-performance zum Beispiel hattest Du ja sicher schon mal geguckt.  :-[

FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"