Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

Sven77

Mal eine Frage an die Vaillant-User hier:

Bei meiner multiMATIC VRC700 gibt es (genau wie bei der calorMATIC VRC470) die Möglichkeit, die Raumluftfeuchte und den daraus errechneten Taupunkt abzulesen. Ungeachtet meiner Bedenken, wie genau diese Anzeige ist - gibt es jemanden, der weiß ob/wie man diese Werte über eBus abfragen kann?

Ich habe bei der VRC700 schon einiges gefunden und in eine CSV gebaut - darunter leider auch noch viele unbekannte Werte, aber nichts was auch nur ansatzweise der Luftfeuchte entsprechen würde...

Sven
VG, Sven

john30

Zitat von: hasenhirn am 18 Februar 2016, 10:20:50
Gibt es schon einen Terminplan für die neue Version ( ohne Dich  festnageln zu wollen  ;) )
Dieses Wochenende komme ich mal wieder dazu, etwas an ebusd machen zu können. Muss mal auf meine todo Liste schauen, was in die nächste Version unbedingt rein sollte.
Ich gehe mal davon aus, dass es dieses WE noch kein neues Release geben wird.

Zitat von: hasenhirn am 18 Februar 2016, 10:20:50
Noch was anderes: Hast du eine CSV-DATEI für deine Lüftungsanlage? Dazu hat der ebusd in der Version 2.0 nichts gefunden.
Leider ist die recovair nicht in der Vaillant DB, deshalb gibt es auch kein CSV dafür. D.h. also Telegramme grabben, Struktur erkennen, daraus CSV generieren. Eher ein länger fristiges Projekt...
Kleiner Tipp am Rande: Falls Deine recovair Steuerung irgendwann keine Stromversorgung mehr über bekommt, dann bewirkt ein Tausch der beiden Kondensatoren auf der Reglerplatine in der Lüftung wahre Wunder. Die sind aufgrund Ihres Temperaturbereichs nämlich nur für einige Jahre Dauerbetrieb geeignet und geben einigermaßen pünktlich den Geist auf... Genial gemacht, was? :-)
author of ebusd

john30

Zitat von: alpha1974 am 18 Februar 2016, 17:37:00
Heizprogramm Auto setzen:
ebusctl w -h 3550230900742701005D010010
ERR: read timeout


Trotz ERR wird das Heizprogramm am BM-2 auf Auto gesetzt.
Bzgl. Timeout könntest Du mal mit den Timing-Paramters spielen (sprich erhöhen), siehe
https://github.com/john30/ebusd/wiki/2.-Run#ebus-options

Zitat von: alpha1974 am 18 Februar 2016, 17:37:00
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?
Hier wäre zunächst mal rauszufinden, was der Rest der Datenbytes für eine Bedeutung hat.
Am besten Du änderst mal über den regulären Weg den Modus an mehreren Tagen hintereinander und schaust, was in dem Telegramm dann so drin steht.
Vorher macht es eigentlich wenig Sinn, das in CSV zu packen.
author of ebusd

hasenhirn

Moin John,

danke für die Info. Leider komme ich im Moment auch immer nur sporadisch an meinen Rechner mit ebus / FHEM  :-\
Wenn ich das so halbwegs am laufen habe, werde ich mich mal mit der recoVair beschäftige.
Danke für den Tipp mit den Kondensatoren  :D
Zum Glück läuft das Gerät seit ca.7 Jahren ohne Probleme aber das kann sich ja schnell ändern  :o
An das Display der VWL musste ich schon mit dem Lötkolben ran, sonst hätte mich der Spaß bei Vaillant ca. 800€ gekostet  >:(
Mir tun die Leute Leid die sich da nicht selbst helfen können  :-\

Gruß

Thomas

alpha1974

Hallo John,

vielen Dank für die Antwort!

Zitat von: john30 am 19 Februar 2016, 06:53:03
Am besten Du änderst mal über den regulären Weg den Modus an mehreren Tagen hintereinander und schaust, was in dem Telegramm dann so drin steht.
Vorher macht es eigentlich wenig Sinn, das in CSV zu packen.
Das habe ich schon versucht, bin aber leider nicht weitergekommen. Noch nicht...

Ich vermute (und meine, es auch in einem alten Thread im mikrokontroller.net gelesen zu haben), dass das Heizprogramm nur im Bedienmodul (BM-2) eingestellt wird und dass von dort aus die Therme gesteuert wird, ohne dass ihr mitgeteilt wird, welches Heizprogramm eingestellt ist. Wenn ich am BM-2 das Heizprogramm ändere, geht kein eindeutig zuzuordnendes Telegramm raus (habe das schon einmal einen halben Tag lang ausprobiert und mir jeweils die Telegramme angesehen). Jedenfalls konnte ich kein Muster in dem Sinne erkennen, dass nach einer manuellen Änderung des Heizprogramms am BM-2 eines oder mehrere jeweils gleichlautende (oder zumindest ähnliche) Telegramme rausgehen. Es gibt zwar regelmäßige Broadcasts, in denen wohl auch das Heizprogramm als Status enthalten ist (ändert sich, wenn man manuell das Heizprogramm ändert). Aber diese Telegramme laufen dauernd über den Ebus und nicht nur, wenn man das Heizprogramm umstellt.

Dabei ist meine Konfiguration so ziemlich das simpelste, was es gibt: Nur die Gas-Therme, an ihr ein Anzeigemodul (AM) und im Wohnzimmer das Bedienmodul (BM-2). Nur raumtemperaturgesteuerte Heizung, kein Außenfühler, keine Warmwasserversorgung, kein Solar, kein Garnichts.... Es gibt allerdings noch zahlreiche Telegramme vom BM-2, die ich noch nicht entschlüsseln konnte (im Grunde "quatscht" das Ding im Sekundentakt).

Naja, die grundlegende Funktion, über FHEM die Heizung in Standby zu schalten, wenn z.B. ein Fenster geöffnet wird, und danach wieder in Auto, könnte ich ja schon mit meinen o.g. Erkenntnissen auch ohne CSV umsetzen. Schöner wäre es natürlich mit passenden CSV-Einträgen.
FHEM/Z-Wave USB-Dongle + div. Devices

hasenhirn

da habe ich mich wohl zu früh gefreut  :-\

bei FHEM kommen keine Werte an und wenn ich mich per telnet verbinde kommen bei allen 3 Ports :

r -f outsidetemp
ERR: invalid position in decode


ich bin mir nicht sicher ob der Fehler bei mir / meinem System liegt, oder ob es so nicht funktioniert.
Was mir noch aufgefallen ist, die Logfiles werden auch nicht geschrieben.
Ich werde das System wohl einfach mal neu aufsetzen  :-[

Gruß

Thomas

Pierce

Zitat von: hasenhirn am 19 Februar 2016, 15:20:06
da habe ich mich wohl zu früh gefreut  :-\
bei FHEM kommen keine Werte an und wenn ich mich per telnet verbinde kommen bei allen 3 Ports :
r -f outsidetemp
ERR: invalid position in decode

Nur Systeme mit einem externen Temperatursensor sollten da etwas liefern. Und da käme es dann darauf an, was du für eine CSV geladen hast. was sagt denn jeweils

info

?

Und hat der User als der du den ebusd startest Schreibrechte im /var/log?

Gruß
Thomas

hasenhirn

Hallo Thomas,

danke für den Tipp.
Die CSV-Datei passt, der Außenfühler ist angeschlossen und das Abfragen hat auch die ganze Zeit funktioniert.
Das Ganz hat ja auch schon mehr oder weniger funktioniert, aber ich konnte mich halt immer nur mit der Heizung der Solaranlage oder der Lüftung verbinden.
In FHEM sollen alle Werte zusammengefasst werden und da ist im Moment die Herausforderung  ;)
Ich bin da aber sehr optimistisch  :D

Gruß

Thomas

Sven77

Ich hatte das auch anfangs... bzw. dann irgendwann. Ich vermute mal, dass für irgendeinen Circuit in dessen CSV eine "outsidetemp" definiert wurde, die eben aus welchen Gründen auch immer nicht passt.
Da mir dann auffiel, dass meine multiMATIC ohnehin sehr gesprächig ist, was Außentemperatur und Datum/Uhrzeit angeht, lese ich jetzt explizit nur die Broadcast-Daten aus.

Im ebusd.log steht immer wieder:
[update notice] update broadcast outsidetemp QQ=10: 1.062
Also lese ich explizit:
ebusctl r -c broadcast outsidetemp
VG, Sven

john30

Zitat von: hasenhirn am 19 Februar 2016, 15:20:06
bei FHEM kommen keine Werte an und wenn ich mich per telnet verbinde kommen bei allen 3 Ports :

r -f outsidetemp
ERR: invalid position in decode

Dann scheint die Antwort nicht dem erwarteten Format zu entsprechen.
Mach mal die Abfrage in hex und poste das Ergebnis, also:
ebusctl w -h 08b509030d0600
034f0000

Die Zieladresse "08" musst halt durch die richtige ersetzen (falls nötig).

EDIT: In lesbarer Form seht das so aus:
ebusctl r -f outsidetemp
4.94;ok


VG John
author of ebusd

hasenhirn

Zu spät  ;D
Ich habe gestern Abend alles platt gemacht und neu aufgesetzt.
Jetzt habe ich es der Einfachheit halber alle 3 Instanzen separat gestartet.
Heute Abend geht es weiter.

Gruß Thomas

john30

Also PID file kann man mit dem aktuellen git Stand z.B. mit "--pidfile /var/run/ebusd1.pid" umlenken.
author of ebusd

hasenhirn


john30

Zitat von: RobertG am 12 Januar 2016, 22:31:25
Also in meiner HW7401 sind d.14, d.15, d.17, d.18, d.19, d.20 vorhanden. Siehe Anhang.
Zitat von: john30 am 16 Januar 2016, 08:34:07
Das ist ein sehr wertvoller Hinweis! Danke dafür!
Jetzt kann ich das mal konkret mit vrdialog über ebusd austesten :-)
So langsam kommt Licht ins Dunkel der BAIs!
Das unerfreuliche: Mit einer BAI ist alles wieder gaaanz anders :(
Hier hängt die CSV nicht nur von ID, HW und SW aus dem Ident Telegramm ab, sondern zusätzlich auch noch von der Produktnummer sowie einer zweiten Softwareversion.
Das macht die Angelegenheit sehr eklig und ich überlege noch, wie ich das am besten in die CSVs einkippen kann.

Andererseits gibt es noch eine erfreuliche Nachricht: aus der MDB lassen sich mit dieser Erkenntnis 12 verschiedene CSVs für jeweils unterschiedliche BAIs extrahieren :)

So ganz 100%ig sicher bin ich aber noch nicht, ob das alles stimmt. Es ist z.B. unklar, ob wirklich nur die 12 unterstützt werden, oder alle mit gleicher zweiter Softwareversion. Dazu wird es evtl. mal eine Versuchsreihe geben müssen.

I'll keep you posted!

VG John
author of ebusd

Prof. Dr. Peter Henning

Hallo John,

nach langer Abstinenz bin ich auch wieder an der Heizung, und zwar auch an der bai00.

Auf einem weiteren Raspberry mit Buskoppler ziehe ich meine Installation auf ebusd 2.0, fein, läuft soweit.
Allerdings finde ich in den Konfigurationsdateien aus dem Github ein paar Inkonsistenzen.

Beispiel: In der bai00 HW7401 steht überall als Datentyp temp, in der _templates hingegen temps
Beispiel: In der _templates selber wird mal temps, mal temp als Datentyp verwendet.

Das ist sicher eine Folge der bei den bai00 überbordenden Modellvielfalt. Wie bekommen wir es hin, ohne Doppelarbeit und gut abgestimmt solche Fehler zu beheben ? Es steht immer noch mein Angebot im Raum, dafür eine extern bedienbare Datenbank zur Verfügung zu stellen.

Außerdem sind die Namensgebungen der Kommandos manchmal etwas optimierbar - ist das jeweils Deine Formulierung, oder kommt das aus der Vaillant-DB ??

Beispiel: Die Solltemperatur wird immer als ...Desired... bezeichnet, die Solldrehzahl allerdings mit ...Target...
Beispiel: Bei IonisationVoltageLevel ist die Bezeichnung verdoppelt (Eine Spannung ist immer ein Wert, das "Level" ist überflüssig), hingegen sollte es z.B. statt CirPump besser CircPumpStatus heißen.

LG

pah