Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

hasenhirn

ich denke der VR31 ist ein Slave-Gerät und kann wie ein VR60 oder VR90 ohne Probleme an eine Steuerung angeschlossen werden.
Mit der Auromatic kann man damit z.B. ein Heizgerät einschalten. Das Teil nennt sich zwar Buskoppler, schaltet aber im Prinzip nur per Bus ein Relais.

http://diplotop.de/314.php?k=e01614d56fdacc7630b2b6ddea2a4507&ID=3353008&q=VAILLANT%20VR%2031

Gruß

Thomas


cs-online

Zitat von: amunra am 17 Februar 2016, 10:33:13
versuche es mal mit:
r,,flowrate,Durchfluss,,,,FB00,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Viele Grüße
Arthur

Hi Arthur,

das funktioniert prima !!! Hab vielen Dank !

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

hasenhirn

ich bekomme keine 2te Instanz zum laufen  :(
Den ebusd habe ich als ebusd1 und ebusd2 kopiert und dann damit gestartet:

sudo /usr/bin/ebusd1 --scanconfig -d /dev/ttyUSB1 -p 7777 -l /var/log/ebusd1.log
sudo /usr/bin/ebusd2 --scanconfig -d /dev/ttyUSB2 -p 8888 -l /var/log/ebusd2.log


das Ergebnis in  /var/log/ebusd2.log ist

2016-02-17 19:13:18.708 [main error] can't open pidfile: /var/run/ebusd.pid


hat da jemand eine Idee wie man das pid-File auf ebusd1 usw. umbiegen kann?

Gruß
Thomas

Pierce

#1518
Hallo Thomas,

lt. Vaillaint ist der VR32-Buskoppler immer dann einzubauen, wenn man mehr als ein Gerät an den Bus anschliessen möchte - wenn also nicht nur die Heizung sondern z.B. auch die Lüftung am Bus laufen sollen. Die Heizung wird direkt auf den Bus geklemmt - ohne ein VR32. In der Lüftung und jedem weiteren zu steuernden Gerät wird dann ein VR32 eingebaut. Bei mir steht in der Installationsanleitung sogar drin, auf was ich den VR32 einzustellen habe. Die Steuerung (bei mir eine VRC700) wird ebenfalls einfach direkt auf den Bus geklemmt.
Schau einfach ins Kleingedruckte des Gerätes welches du zusätzlich zur Heizung an den Bus anschliessen möchtest, ob du ein VR31 oder ein VR32 benötigst. Die recoVAIR 260|360/4(E) benötigt zb den VR32.

Einen dedizierten Kommandozeilenparameter zur Übergabe des pid-Files habe ich in der aktuellen ebusd Version nicht gefunden. Früher gab es das mal ;-)
Da kann John ggf. etwas zu sagen.

Thomas

Sven77

Zitat von: hasenhirn am 17 Februar 2016, 19:22:08
ich bekomme keine 2te Instanz zum laufen  :(
Den ebusd habe ich als ebusd1 und ebusd2 kopiert und dann damit gestartet:

sudo /usr/bin/ebusd1 --scanconfig -d /dev/ttyUSB1 -p 7777 -l /var/log/ebusd1.log
sudo /usr/bin/ebusd2 --scanconfig -d /dev/ttyUSB2 -p 8888 -l /var/log/ebusd2.log
Also das Binary musst Du gar nicht kopieren! Wenn überhaupt, rate ich dringend zu einem Symlink - sonst geht bei einem Update alles durcheinander. Aber wie gesagt: muss gar nicht!

Ich würde es anfangs einfach mit "-f" und statt "-l" die Ausgabe umleiten mit " > /var/log/ebusd1.log" und halt mit "&" am Ende im Hintergrund ausführen.

Ich habe in die Quellen gesehen und es ist tatsächlich so, dass im Hintergrundmodus starr das PIDFILE gesetzt wird. Nicht konfigurierbar. Und es wird eben auch während der Ausführung gelockt, was einen erneuten Start verhindert...
Mich würde an dieser Stelle in der Tat auch interessieren, wie John mehrere Instanzen startet? Oder gönnt man sich dann auch 3 Raspis? :)
VG, Sven

cs-online

#1520
Hi,

ich hatte ein ganz ähnliches Problem mit der Calormatic 560 parallel zu meiner 470er und John schrieb dazu im Mikrokontroller-Forum:

ZitatEinfach zwei Konfigurationsverzeichnisse anlegen, jeweils die passenden
CSVs reinlegen, ein Mal ebusd mit dem einen Verzeichnis starten und ein
Mal mit dem anderen, z.B.:

ebusd -c /etc/ebusd -d /dev/ttyUSB0
ebusd -c /etc/ebusd2 -d /dev/ttyUSB1

Nicht wirklich kompliziert, oder?

also nur 1x EBUSD installieren, zwei Verzeichnisse (/etc/ebusd und /etc/ebusd2) mit den jeweiligen CSVs und dann über den Start von oben nacheinander starten. Der Pfad zu den CSVs zu der jeweiligen Instanz wird über -c /etc/ebusd... übergeben und  die EBUS-Adapter werden dann alle an einen Raspi angeschlossen.

Weil nur 1x EBUSD existiert, braucht man auch keine zwei PID-Dateien ;-)

Hab ich aber selber noch nicht getestet  ;D

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

hasenhirn

#1521
Hallo Thomas,

ich finde es immer wieder lustig, dass man sich als Laie überall einlesen muss.
Wenn man sich im Internet etwas informiert weiß man oft mehr als die "Profis" die eine Menge Geld dafür bekommen dass sie es wissen sollten  >:(
Der Installateur hatte alle 3 Heizkreise an die Auromatic angeklemmt und die Wärmepumpe regelte die Speichertemperatur wohl nach dem aktuellen Wasserstand der Mosel  ::)
Der Außenfühler lag hinter der Heizung usw.
Da ich kein Heizungsbauer bin musste ich mich erst mal mit dem ganzen Krempel beschäftigen.
Zwischenzeitlich habe ich das Ganze so wie ich denke dass es gut ist umgeklemmt ( so wie oben beschrieben )
Der VR31 Buskoppler ist bei der Aktion raus geflogen und darf nicht mehr mitspielen  ;D

@cs-online
weißt du zufällig ob das mit der aktuellen Version funktioniert oder ist das eventuell eine ältere?

Gruß

Thomas

PS: zZt. bastele ich an der init-Datei und versuche das Problem zu lösen. Wenn ich was finde, poste ich es hier ;-)

Prof. Dr. Peter Henning

ZitatWenn man sich im Internet etwas informiert weiß man oft mehr als die "Profis" die eine Menge Geld dafür bekommen dass sie es wissen sollte

Nana, mal verbal etwas abrüsten.  >:(

Ich habe vor drei Wochen in einem Vortrag vor Delegierten der süddeutschen Handwerkskammern

http://www.learntec.de/de/fachmesse_2/parallelveranstaltungen/itb_vh_veranstaltertreffen/itb_vh_veranstaltertreffen_1.jsp

auch über den Beruf des Heizungsbauers etwas erzählt. Der hat nämlich nur noch wenig mit dem zu tun, was die Herren vor 20 Jahren gelernt haben - und erst langsam setzt sich die Erkenntnis durch, dass auch das mittelständige Handwerk dringend Weiterbildungsprogramme braucht.

LG

pah

Reinhart

@hasenhirn

mit der 2.x geht es zumindest bei mir nicht, weil ebusd immer wieder versucht das Pidfile in /var/run/ebusd.pid anzulegen obwohl dort schon eines angelegt ist.
Ich habe auch die Startscripte schon alle doppelt angelegt, aber ebusd scheint mir die /etc/default/ebusd2 mit dem neuen Pfad der Pid zu ignorieren.
if test -f /etc/default/ebusd2; then
    . /etc/default/ebusd2
fi

. /lib/lsb/init-functions

DAEMON=/usr/bin/ebusd2
PIDFILE=/var/run/ebusd2.pid



[main error] can't open pidfile: /var/run/ebusd.pid
Fehlermeldung weil Pidfile schon angelegt ist.

ebusd meldet zwar brav er sei gestartet worden, läuft aber nur einmal. Es ist übrigens egal ob ich per Script starte oder die Binary direkt so wie oben empfohlen.

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

hasenhirn

hallo pah,

ich möchte hier niemanden angreifen und auch nicht verbal entgleisen.
Es ist nur die Erfahrung die ich gemacht habe. Unser Heizungsbauer ( der die Anlage auch nicht zusammen gebaut hat ) fühlte sich nicht sicher und hatte sich Verstärkung direkt von Vaillant besorgt.
Das finde ich schon mal gut, dass jemand zugibt sich nicht sicher zu sein und sich Unterstützung bei den Leuten holt die es wissen müssten. Leider hat das auch nicht funktioniert.
Ich behaupte einfach mal so wie ich es jetzt angeschlossen habe funktioniert es einwandfrei und das nur durch Umklemmen und ohne zusätzliche Komponenten. Auf die Idee ist aber niemand von den anwesenden gekommen. Ich habe vor über 30 Jahren mal Schlosser gelernt und mit einem Lochstreifen brauche ich heute auch an keine Maschine mehr zu gehen. Das man immer dazu lernen muss und die Entwicklungszyklen immer kürzer werden ist nichts neues.

Gruß

Thomas

hasenhirn

@Reinhart

das habe ich auch so ausprobiert und bin natürlich auch zum gleichen Ergebnis gekommen :(

Soweit ich das sehe, ist das im Programm fest "verdrahtet" und es ist keine Variable deklariert die auf der Kommandozeile manipuliert werden kann.

aus der  ebusd/src/ebusd/main.cpp :

/** the path and name of the PID file. */
#ifdef PACKAGE_PIDFILE
#define PID_FILE_NAME PACKAGE_PIDFILE
#else
#define PID_FILE_NAME "/var/run/ebusd.pid"
#endif


Leider kann ich nicht programmieren und komme da wohl nicht weiter  :-[
Vielleicht gibt es ja noch einen Trick aber ich habe im Moment keine Idee. Eventuell hat John ja noch was in der Hinterhand  ::)

Gruß

Thomas

john30

#1526
Meine Güte, man kommt ja mit dem Lesen kaum noch hinterher ;)

Zitat von: hasenhirn am 18 Februar 2016, 07:19:21
das habe ich auch so ausprobiert und bin natürlich auch zum gleichen Ergebnis gekommen :(

ja, das PID File ist in der Tat fest verdrahtet. Werde mit der nächsten Version einen Kommandozeilenparameter o.ä. dafür einbauen.
Dass ich mehrere ebusd starten kann, liegt schlicht daran, dass ich die in einem screen immer im Vordergrund laufen lasse, also nicht als Dienst im Hintergrund. Nur für den Dienst wird das PID File benötigt.
Das mit dem PID File lässt sich grundsätzlich auch anders regeln, nämlich über die init Scripts des Systems, die i.d.R. auch schon Support für PID des gestarteten Prozesses nehmen und in PID File schreiben haben.
Wahrscheinlich wird es darauf in der nächsten Version von ebusd hinauslaufen, denn dass der Prozess selbst das PID File schreibt war mir eh schon immer ein Dorn im Auge.

Wer also eine schnelle Lösung möchte, kommentiert in der src/ebusd/main.c die Zeilen 415 bis 430 aus und ist erstmal glücklich. Damit kann man aber bis zur Anpassung des init scripts nicht mehr sauber den entsprechenden ebusd Dienst beenden (weil ja dann kein PID File mehr angelegt wird).

EDIT: Lösung ist ganz banal:
Im contrib/debian/init.d/ebusd in zeile 26 noch "--make-pidfile" als weiteren Paramter eintragen und dann sollte es so funktionieren.
author of ebusd

hasenhirn

Hallo John,

danke für die Info und die Tipps.
Gibt es schon einen Terminplan für die neue Version ( ohne Dich  festnageln zu wollen  ;) )
Noch was anderes: Hast du eine CSV-DATEI für deine Lüftungsanlage? Dazu hat der ebusd in der Version 2.0 nichts gefunden.

Gruß

Thomas

alpha1974

#1528
Werte Profis,

durch trial-and-error (und dank fleißigen Lesens hier und im openhab-Source....) ist es mir inzwischen gelungen, zahlreiche Wolf-Telegramme auszuwerten, die über diverse Parameter der Therme (CGB-2 mit BM-2) Auskunft geben, z.B. Kesseltemperatur, Rücklauftemperatur, Abgas-Temperatur, Brennerleistung, Pumpenleistung etc. Meine bisherigen Erkenntnisse in Form einer CSV-Datei, die man vermutlich noch optimieren könnte, habe ich angehängt.

Nun gilt es, die nächste Evolutionsstufe zu erreichen, nämlich ein Heizprogramm auszuwählen. Das Heizprogramm kann man manuell am Bedienmodul BM-2 auswählen, das wohl dann auch die Regelung der Therme übernimmt.

Daher war meine Überlegung: Man muss dem BM-2 den passenden Befehl schicken, damit es in ein anderes Heizprogramm wechselt. Das BM-2 scheint Master 30 und Slave 35 zu sein.Wieder mit der Hilfe von openhab (siehe hier) - bin ich schon etwas weitergekommen und das geht schon:

Abfragen des eingestellten Heizprogramms am BM-2:
ebusctl w -h 35502203ff7427
020100

020100 für Auto, 02000 für Standby usw.

Heizprogramm Auto setzen:
ebusctl w -h 3550230900742701005D010010
ERR: read timeout


Trotz ERR wird das Heizprogramm am BM-2 auf Auto gesetzt.

Heizprogramm Standby:
ebusctl w -h 3550230900742700005D010010
(gibt ebenfalls den o.g. ERR, Heizprogramm am BM-2 geht aber auf Standby)

Umschalten auf Sparbetrieb, Dauerheizen, Partymodus etc. geht auch, wenn man das vierte Daten-Byte (3550230900742700005D010010) ändert.

Aber: Wie bekomme ich das in eine CSV-Zeile?

Besten Dank vorab für Denkanstöße,
alpha1974
FHEM/Z-Wave USB-Dongle + div. Devices

hasenhirn

Hallo John,

ich habe das nach deiner Anleitung gemacht und es hat funktioniert  :D

pi@raspberrypi:~/Downloads/ebusd-test/ebusd $ ebusd -p 6666 -d /dev/ttyUSB0 -l /var/log/ebusd0
pi@raspberrypi:~/Downloads/ebusd-test/ebusd $ ebusd -p 7777 -d /dev/ttyUSB1 -l /var/log/ebusd1
pi@raspberrypi:~/Downloads/ebusd-test/ebusd $ ebusd -p 8888 -d /dev/ttyUSB2 -l /var/log/ebusd2
pi@raspberrypi:~/Downloads/ebusd-test/ebusd $ sudo ps -A | grep ebus
30862 ?        00:00:00 ebusd
30867 ?        00:00:00 ebusd
30873 ?        00:00:00 ebusd


Das mit dem Startscript habe ich noch nicht hin bekommen.
Ich habe aber gestern beim probieren vermutliche etwas zerschossen und es kann sein dass es daran liegt   ::)

Gruß

Thomas