Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

Reinhart

#555
@heikoh81

betreffend des Logfiles kannst du ja in der /etc/logrotate.d/ebusd das Logrotate nach deinen Bedürfnissen anpassen.


/var/log/ebusd.log {
rotate 7
copytruncate
compress
missingok
notifempty
daily
}


rotate 7 bedeutet hier 7 Files ablegen, täglich eines (daily). Sind die 7 Files da, wird das älteste gelöscht, daher der Name Logrotate!
So hast du nie mehr als 7 komprimierte alte Logs + das aktuelle. Natürlich kannst auf weniger verkürzen, nur wenn du gezielt einen Fehler suchst, dann kannst schlechter was finden.

John hat auch die Möglichkeit gegeben nach Loglevel zu loggen, dann müsstest du die Start-Options in /etc/default/ebusd ändern.
Bei mir ist es so eingestellt:
EBUSD_OPTS="-l /var/log/ebusd -d /dev/ttyUSB0 -p 8888"

Ich persönlich finde jedoch die Logrotate als die bessere Wahl, weil es alle Möglichkeiten erlaubt (loggen + archivieren + nach X Tagen löschen)

Du musst jedoch auf die letzte Version updaten, in den älteren Versionen gabs da Bugs mit dem Log und dem Logrotate!

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

heikoh81

#556
Danke für deine Antwort.
Logrotate kenne ich schon, allerdings läuft der Raspi dediziert für den ebusd-Adapter neben der Therme.
Mir geht es um die Langlebigkeit der SD-Karte im 24/7-Betrieb, deshalb möchte ich den Log ganz abschalten.

Bei mir gibt es keine /et/default/ebusd - gab's die bei Version 0.5 noch nicht?
Wie wäre denn der Standard-Inhalt - nur die von dir gepostete Zeile mit meiner benötigten Option:

EBUSD_OPTS="-l ERR"

Prof. Dr. Peter Henning

Der bessere Weg ist, das Logging auf eine Ramdisk zu leiten.

LG

pah

Reinhart

#558
Ramdisk wäre sicher auch eine gute Lösung, aber auch nur wenn auf "error" beschränkt wurde, sonst reicht das Ram unter Umständen nicht aus.

Aber auf die Frage von dir zurück zu kommen wie die richtige Syntax lautet bzw. wo man die Config Files bekommt.

Wenn du den ebusd ausgecheckt und compiliert hats, dann befindet sich auf dem Raspi das Verzeichnis /home/pi/ebusd-master/contrib/etc/ und hier sind alle Files die du für eine ordentliche Konfiguration des eBus Dämons benötigst. Wenn die Installationsrotine dies noch nicht erledigt hat, dann kopiere diese Files nach /etc/Unterverzeichnisname/Filename (zB: /etc/default/ebusd). Die Originalfiles heißen. xxxx.debian, diese sind natürlich umzubenennen.

Ich benutze davon:
default
EBUSD_OPTS="--logfile /var/log/ebusd --loglevel error -d /dev/ttyUSB0 -p 8888"
so wird nur der Eintrag "error" nach /var/log/ebusd geloggt

ebusd
hier liegen die csv

init.d
Standart Dämon Startrotine

logrotate.d
/var/log/ebusd.log {
rotate 7
copytruncate
compress
missingok
notifempty
daily
}


Aber bitte die letzte Version von John seinem GIT nehmen, sonst funktionieren wie bereits erwähnt einige Dinge nicht richtig.
Bei den Preisen der SD Karten ist es mir egal ob die nach einem Jahr hin ist, aber das muss jeder selbst entscheiden wie er das möchte, da möchte ich dir nichts dreinreden. Eine aktuelle Sicherung (Image) habe ich immer am Pc gespeichert.

LG
Reinhart


FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Pardon, aber das ist Unsinn. Selbst wenn das Logging auf "All" steht, passt das in den RAM meines Raspberry bestens hinein.

Außerdem muss natürlich der Watchdog nicht nur die Präsenz des ebusd überwachen und diesen ggf. neu starten, sondern auch nach verfügbarem Speicher schauen.

LG

pah

Reinhart

@pah
Natürlich hast du recht, wenn alles ok ist kann es keine Probleme geben, nur wenn Fehler auftreten kann man das anwachsen der Logs nicht voraussehen, aber dann ist eh die SD auch zugemüllt. Heikoh hatte ja erwähnt, er habe schon über 400Mb Log, das wäre dann allerdings etwas knapp. Nur hat er das Logrotate nicht aktiviert gehabt. Darum habe ich ihm ja empfohlen das Logrotate auf jeden Fall zu aktivieren und zusätzlich soll er noch die Ramdisk aktivieren und einhängen. Dann kann eigentlich nichts mehr schiefgehen und der Raspi (SD) möge lange leben!

Ich habe mir jetzt spaßeshalber am Raspi B+ (512Mb Ram) auch eine Ramdisk mit 100 Mb erstellt und die ganze /var/log ausgelagert. Ich werde in den nächsten Wochen das Verhalten beobachten. Welche Größe hast du auf deinem Raspi eingestellt? 300 Mb sollten ja in etwa frei zur Verfügung stehen.

@heikoh81
Die Anleitung zur Einrichtung der Ramdisk findest du  hier: http://www.lexxi.at/2013/11/29/so-lebt-mein-raspberry-langer/
Die Befehle alle mit "sudo" ausführen.

pi@raspberry2 ~ $ df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
rootfs          5,7G    2,4G  3,1G   44% /
/dev/root       5,7G    2,4G  3,1G   44% /
devtmpfs        214M       0  214M    0% /dev
tmpfs            44M    236K   44M    1% /run
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs            88M       0   88M    0% /run/shm
/dev/mmcblk0p5   60M     15M   45M   25% /boot
/dev/root       5,7G    2,4G  3,1G   44% /var/log.hdd
ramlog-tmpfs    100M    5,7M   95M    6% /var/log

wenn alles passt, sollte die ramlog-tmpfs (hier ganz unten) auftauchen und die /var/log eingehängt sein.

Mär 12 11:48:46 Enabling ramlog... [ OK ]
Mär 12 11:54:20 Enabling ramlog... [ OK ]
Mar 12 11:55:22 Stopping ramlog: Error: ramlog is not running [fail]
Mar 12 11:55:25 Starting ramlog-tmpfs 2.0.0: [ OK ]

nach dem ersten Reboot solltest du die Logdatei ramlog kontrollieren  ob die Ramdisk auch gestartet wurde.

LG
Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Eine Woche "All" -> ca. 100 MB.

LG

pah

Reinhart

Danke, habe ich auch so eingestellt.

Schöne Grüße
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

heikoh81

Vielen Dank für eure vielen Hinweise zum Logging, und danke an Reinhart für die Schritt-für-Schritt-Anleitung.
Ramdisk ist definitiv auf der ToDo-Liste, das Tool Ramlog werde ich auf dem ebusd-Raspi vermutlich nicht verwenden, da reicht mir tempfs, weil ich auch bei Stromausfall eigentlich keine Sicherung brauche.
Anders sieht es für mein Produktiv-FHEM-System aus, da ist Ramlog ein Thema.

Das kopieren der contrib-Datei nach /etc/default/ebusd, Rechte 0644, Owner root, war übrigens die Lösung:

EBUSD_OPTS="--logfile /var/log/ebusd --loglevel error"

Jetzt wächst mein Log nicht mehr - Ziel erreicht.

Sobald ich Zeit finde, werde ich meinen Ebusd-Raspi auf Version 1.0 tagesaktuell aus dem GIT hochziehen - vorher natürlich ein SD-Image anfertigen, man weiß ja nie...

Viele Grüße,
Heiko

john30

Zitat von: texel am 11 März 2015, 15:09:36
Write -h 08 b5 09 05 0e 04 00 a0 03
(Soll heißen, setze WW Temp auf a0 03 = 58.00 Grad...)
Es kommt ein 00 zurück.
Laut MDB is "0400" nur lesbar, also bringt es nichts, den Wert zu schreiben.
Ich nehme an, am Controller muss das eingestellt werden, nicht am "Brenner". Und der wird dann entsprechende B504/B505 Kommandos produzieren und die Solltemperatur dann wieder ins eigene "0400" Register ablegen.
author of ebusd

john30

Ein Ramlog kommt für mich definitiv nicht in Frage, denn bei einem potentiellen Stromausfall oder einem anderen Problem inkl. Verlust des RAM Inhalts ist dann zwangsweise auch das Log weg, was mich in so einem Fall sicher interessieren würde...
author of ebusd

texel

Zitat von: john30 am 12 März 2015, 21:54:35
Laut MDB is "0400" nur lesbar, also bringt es nichts, den Wert zu schreiben.
Ich nehme an, am Controller muss das eingestellt werden, nicht am "Brenner". Und der wird dann entsprechende B504/B505 Kommandos produzieren und die Solltemperatur dann wieder ins eigene "0400" Register ablegen.

Hallo zusammen,

Erstmal danke für die Tips!

Ich vermute auch, es liegt daran, dass ich keinen Controller habe und die Werte über B5 09 generell auf dem Brenner nicht geschrieben werden. Aber irgendwelche Befehle muss es ja geben, damit der "echte" Controller die Werte auf dem Brenner 08 setzen kann. ich hab es alternativ mit B5 10 probiert:

Write -h 08 B5 10 09 00 00 78 78 FF FF 00 FF 00

Rückmeldung 0101 (was auch immer 01 bedeutet).  ... Ergebnis: leider wieder keine Änderung am Brenner

gibt es andere B5 09 Befehle die ein direktes schreiben auf den Brenner zulassen (damit ich testen kann, ob der Brenner überhaupt etwas annimmt)? bzw. Gibt es noch andere Befehle neben B5 09 od. B5 10 die ein direktes Schreiben auf den Brenner 08 zulassen?

LG Texel

Reinhart

@texel

Ich habe es jetzt getestet und die VRC 430 ausgebaut, dann kann ich zwar alles was die Therme selbst betrifft (Fanspeed etc.) auslesen, aber zB. keine Heizkurve lesen oder schreiben. Diese Register sitzen in der VRC 430 und wenn die fehlt gibt es ja auch keine witterungsgeführte Steuerung. Das betrifft alles was bei mir in der vrc430.csv eingetragen ist, wenn das Steuergerät selbst fehlt funktionieren diese nicht.

EBUS: unexpected answer "ERR: read timeout\n\n" received (wrote "r mcHeatingCurve\n", expected \d+\.\d+\n\n)
Timeout bei fehlender VRC430 laut Log Fhem

2015-03-13 08:24:35.088 [main error] read: ERR: read timeout
und so schaut die Fehlermeldung direkt am Bus aus.

Ich habe meine Calormatic 430 auch gebraucht um 120.-gekauft weil ich unbedingt eine Außentemperatursteuerung haben wollte und bin sehr zufrieden damit, ist aber immer ein gewisses Restrisiko dabei.  Eine 470 wie du sie brauchst sind ja auch schon unter 200.- zu haben. zB: http://www.willhaben.at/iad/kaufen-und-verkaufen/moebel-wohnen-buero/vaillant-raumthermostat-calormatic-470-3-114573664?adId=114573664

So wie das aussieht wirst du ohne Controller wohl nicht auskommen.

LG
Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Aber warum denn nicht ? Man muss "nur" herausfinden, mit welchen Befehlen sich der externe Regler bei der Therme anmeldet.

Also: Therme laufen lassen. VRC430 ausschalten. Therme ausschalten. 10 Minuten warten. Therme einschalten. 10 Minuten warten. VRC430 einschalten - und mitloggen (Option "All"), was die VRC430 auf den Bus schreibt.

Auch bitte mal auslesen das Register 0400  (mit 08 B509 0400) => "Digitaler Regler erkannt"

LG

pah

Reinhart

Zitat von: john30 am 12 März 2015, 21:57:32
Ein Ramlog kommt für mich definitiv nicht in Frage, denn bei einem potentiellen Stromausfall oder einem anderen Problem inkl. Verlust des RAM Inhalts ist dann zwangsweise auch das Log weg, was mich in so einem Fall sicher interessieren würde...

für einen Entwickler ist das Ramlog aus diesem Grund nicht so ideal. Aber im Prinzip ist es für den Normaluser nicht schlecht, vor allem erstellt das Ramlog jeden Tag in der Früh eine Sicherung (habe ich auch nicht gewusst und ist mir heute Früh aufgefallen) des aktuellen Inhalts nach /var/log.hdd so hat man wenigstens was in zum Nachschauen. Wobei wenn es crasht, will man meist den letzten Eintrag des Logs sehen.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa