Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

pc1246

Hut ab Sven
Besser haette man den ersten Absatz nicht schreiben koennen.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Peter1984

Zitat von: Sven77 am 26 September 2018, 07:47:47
Also so ganz simpel mit "jetzt sagt mir doch bitte endlich jemand den Befehl" wirst du hier wohl nicht weiter kommen...
Die Nachricht "CirPump" ist in der 08.ehp.csv nur als Read und Update definiert. Beim Update werden darüber hinaus 2 Bytes ignoriert - und so wie ich das sehe kann ebusd Update-Nachrichten ohnehin nur lesen, also nicht als Write absetzen.

Du müsstest also entweder am Bus mitlesen, was deine Steuerung (ich gehe blind mal davon aus, dass du eine hast) als Nachricht schickt, um die Pumpe aus-/anzuschalten und dann könntest du diese Hex-Nachricht nachbilden. Alternativ könntest du in der CSV aus "r;u,,CirPump,..." einfach mal "r;u;w,,CirPump,..." machen und es mit "ebusctl w -c ehp CirPump on" versuchen, da mache ich dir aber keine große Hoffnung...

Das alles geht aber wahrscheinlich ohnehin nicht, WENN du eine externe Steuerung am Bus hast - bei mir schickt diese dann regelmäßig den von ihr gewünschten Zustand - dir bleibt also nur, der Steuerung einzuhämmern dass die Zirkulation an oder aus sein soll - wäre also ganz nett, wenn du hier etwas mehr zum Umfeld und den weiteren Komponenten schreiben könntest.

Hallo Sven,

ich habe auch nicht erwartet, die Lösung hier auf dem Silbertablett serviert zu bekommen und bin bereit, selbst zu testen. Ich bin halt Anfänger und bei weitem nicht so tief in der Materie drin wie andere und werde wohl auch nie so tief reinkommen.
Ich hatte nur gehofft, dass jemand das schon umgesetzt hat, sofern möglich - man muss ja nicht jedes Mal das Rad neu erfinden. Über die Suche habe ich leider nichts gefunden.

Dann mal zu meiner Umgebung:

- Vaillant VWL 61/3
- esera EBUS-Koppler, der an der Vaillant Anlage und am Raspberry angeschlossen ist
- IP-Symcon auf Raspberry Pi, dort lese ich über die Skripte die Stati der Wärmepumpe aus und kann die Warmwasser-Bereitung starten (per hex-Befehl, hier aus dem Forum)

Die Steuerung ist also nicht extern, sondern in der Vaillant eingebaut. Wie kann ich hier den Bus mitlesen wenn ich die Zirkulationspumpe von "aus" auf "an" stelle?
Wäre super, wenn du mir hier weiterhelfen könntest.

pc1246

Moin
Ich wuerde mal vermuten, dass das nicht geht! Normalerweise legst Du irgendwo fest, wann die Zirkulationspumpe laufen soll. Das ist eigentlich im Regler hinterlegt! Dieser wird das also froehlich auf den Bus legen, ob an oder aus ist egal.
Jetzt kann ich Dir aber einen Workaround geben, der bei mir laeuft.
Nimm die Pumpe von der Heizung weg, und steuere die ueber einen x-beliebigen Aktor!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

Sven77

Okay, was ich auf die schnelle über die VWL 61/3 gefunden habe, ist dort kein Standard-(Ebus)-Regler verbaut, ob der die Nachrichten dann überhaupt über den Bus schickt, ist fraglich. Poste bitte mal die Ausgabe von 'ebusctl info', am besten einige Minuten nach einem 'ebusctl scan full'.
EDIT: Habe ich hier gefunden

Interessant wäre noch, mit welchem Hex-Kommando du die WW-Bereitung startest!

Insgesamt müsste man jedenfalls wohl eher Steuerung verklickern, dass die Zirkulation an sein (und bleiben) soll... da wird es schwierig, weil sonst niemand auf dem Bus mit der Steuerung spricht...
Schau doch einfach mal mit 'tail -f /var/log/ebusd.log' in die Logdatei, während du über die Steuerung die Zirkulation an- oder ausschaltest. Dort sollten dann entweder irgendwelche "update" messages auftauchen, oder aber "unknown MS" - auch die wären dann interessant zu erfahren.


Weiter könnte man sozusagen die Konfig der Steuerung (Adresse 15) auslesen, 2-3 Mal ohne eine Änderung um zu erkennen, welche Werte sich selbständig ändern - um dann die Zirkulation umzuschalten und zu suchen, was sich dadurch alles geändert hat.
Dazu ist Johns Script allregisters.sh hilfreich!


PS: Ansonsten wäre natürlich Christophs Lösung einfacher - nimmt dann aber die Kontrolle komplett von Vaillant weg ;-)
PPS: Wenn du mir einen SSH-Zugang von außen öffnen kannst+willst, schreib mir eine PM, dann kann ich mir das nebenbei auch mal ansehen.
VG, Sven

Peter1984

Zitat von: Sven77 am 26 September 2018, 15:02:54
Interessant wäre noch, mit welchem Hex-Kommando du die WW-Bereitung startest!

Hi Sven,

die WW-Bereitung startet über ebusctl --port=8889 hex 08b505020601.
Den Port muss ich mitgeben, weil auf dem Standard-Port 8888 ein anderer Dienst läuft.

Ansonsten ist glaube ich Christophs Vorschlag das einfachste, da ich gut an die Zirkulationspumpe ran komme...

Danke!

Sven77

Zitat von: Peter1984 am 26 September 2018, 15:45:52
Ansonsten ist glaube ich Christophs Vorschlag das einfachste, da ich gut an die Zirkulationspumpe ran komme...

Man kann ja sogar beides kombinieren:
VWL (bzw. Regler) steuert die Zirkulation nach Zeit und ein externer (Umschalt-)Aktor trennt die Zirkulationspumpe ab, wenn niemand zu Hause ist.
Damit könnte man nachts die normale Timerprogrammierung von Vaillant nutzen, ohne tagsüber bzw. bei Abwesenheit unnötig zu zirkulieren.

[Offtopic]
Womit machst du die Anwesenheitserkennung?
Ich habe meine Ideen bisher alle wieder verworfen - Handys werden zu Hause vergessen oder bis zur kompletten Abschaltung entladen, Autoschlüssel werden eh nicht immer mitgenommen - allein (intelligente) Bewegungsmelder wären etwas sicherer, aber die wollte ich bisher nicht installieren oder gar überhaupt kaufen...
[/Offtopic]
VG, Sven

Peter1984

Die Anwesenheitserkennung mache ich innerhalb IP-Symcon mit dem FritzBox-Project.
Dort erhalte ich zuverlässig den Online-Status unserer iPhones - die wir immer dabei haben wenn wir das Haus verlassen. :-)

Alle anderen Varianten waren für mich bis lang auch nicht zufriedenstellend, aber so läuft das bis jetzt ganz gut.
Aktuell nutze und logge ich das aber nur mit, ohne eine Funktion hinterlegt zu haben - was sich jetzt ja ändern soll.

Ich werde die Idee mit dem zwischengeschalteten Aktor auch weiterverfolgen, ansonsten über die per PN geschriebenen Förderleistung der Zirkulationspumpe, den ich in der Wärmepumpe setzen kann (0% ist aus, bei Anwesenheit wird der Wert auf > 0% gesetzt). Jetzt muss ich nur noch rausfinden, wie der Wert gesetzt werden kann falls möglich.

Danke euch für die Hilfe!

Prof. Dr. Peter Henning

Das läuft bei mir seit 4 Jahren: Ein externer Aktor kann sowohl (trotz Ansteuerung durch die Heizung) die Pumpe abstellen, etwa, wenn die Rücklauftemperatur im WW-Kreislauf hoch genug ist. Als auch diese anstellen, wenn die Heizung sie nicht anschaltet (etwa, wenn Nachts sofort warmes Wasser gewünscht wird).


Schaltplan und einfacher Zustandsautomat hier: https://wiki.fhem.de/wiki/1W-WPump
Umfangreichere Doku in den SmartHome Hacks.

Sparpotenzial ca. 100 €/Jahr

LG

pah

Peter1984

Hallo zusammen,

mit Hilfe von Sven77 habe ich meine Anforderung mit den vorhandenen Mitteln gelöst.

Der Befehl ebusctl r CirPumpED liefert mir den in der Wärmepumpe gesetzten Leistungswert der Zirkulationspumpe - bei mir aktuell 15%.

Übergebe ich den Befehl ebusctl w -c cc CirPumpED 0 wird der Wert auf 0% gesetzt und damit die Zirkulationspumpe ausgeschaltet.

Sven kam über eine Zeile in den Config-Files drauf:

ZitatEs gibt in der 23.ehp.cc.csv folgende Zeile:
r;w,,CirPumpED,CirculationPumpED,,,,"E601",,,UCH,,,defines the percentage of a 10 minutes period to power the pump

Über die Anwesenheitserkennung ist nun realisiert, das die Pumpe ausgeschaltet wird, wenn niemand (kein WLAN-Handy) in der Gegend ist - ansonsten läuft die Pumpe auf 15% Leistung (was bei Vaillant heißt in 10 Minuten 1,5 Minuten Laufzeit).

Danke Sven. Ich denke das hilft einigen anderen auch noch weiter.

Kostenpunkt: 0 €  ;D
Zufriedenheit der Ehefrau: 100% da jetzt immer sofort warmes Wasser da ist  8)
Zufriedenheit des Ehemanns: 100% da nur warmes Wasser da ist, wenn die Ehefrau auch da ist  :P

Fantom

Zitat von: Fantom am 17 Februar 2018, 10:40:31
Hi
I'm newbie in topic.
I connect ebus connector 1.6 to Vaillant ecoTec + VRC430F + V61

I installed ebusd (on RPi):


pi@raspberrypi:/usr/bin $ sudo ebusd -f -d /dev/ttyUSB2 --scanconfig
2018-02-15 18:13:27.033 [main notice] ebusd 3.1.v3.1-22-gdaf771e started with auto scan
2018-02-15 18:13:27.054 [bus notice] bus started with own address 31/36
2018-02-15 18:13:27.104 [bus notice] signal acquired
2018-02-15 18:13:37.962 [bus notice] new master 03, master count 2
2018-02-15 18:13:46.982 [bus notice] scan 08: ;Vaillant;BAI00;0518;7401
2018-02-15 18:13:46.983 [update notice] store 08 ident: done
2018-02-15 18:13:46.984 [update notice] sent scan.08 QQ=31: Vaillant;BAI00;0518;7401
2018-02-15 18:13:46.985 [bus notice] scan 08: ;Vaillant;BAI00;0518;7401
2018-02-15 18:13:47.014 [main notice] read common config file /etc/ebusd/vaillant/general.csv
2018-02-15 18:13:47.016 [main notice] read common config file /etc/ebusd/vaillant/scan.csv
2018-02-15 18:13:47.021 [main notice] read common config file /etc/ebusd/vaillant/broadcast.csv
2018-02-15 18:13:47.029 [main notice] read scan config file /etc/ebusd/vaillant/08.bai.csv for ID "bai00", SW0518, HW7401
2018-02-15 18:13:47.114 [bus error] send to 08: ERR: read timeout, retry
2018-02-15 18:13:47.713 [update notice] sent scan.08 id QQ=31:
2018-02-15 18:13:47.949 [update notice] sent scan.08 id QQ=31:
2018-02-15 18:13:48.120 [update notice] sent scan.08 id QQ=31:
2018-02-15 18:13:48.295 [update notice] sent scan.08 id QQ=31: 21;10;40;0010003869;3100;005327;N7
2018-02-15 18:13:48.383 [main notice] found messages: 200 (0 conditional on 23 conditions, 0 poll, 9 update)
2018-02-15 18:13:48.516 [update notice] sent scan.08 id QQ=31: 21;10;40;0010003869;3100;005327;N7
2018-02-15 18:13:49.426 [update notice] sent scan.08 id QQ=31: 21;10;40;0010003869;3100;005327;N7
2018-02-15 18:15:47.814 [main notice] update check: revision v3.1-1-g60a18d1 available, broadcast.csv: different version available, memory.csv: different version available, vaillant/bai.0010003857.inc: different version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: different version available, vaillant/general.csv: different version available, vaillant/hcmode.inc: different version available



pi@raspberrypi:~ $ ebusctl info
version: ebusd 3.1.v3.1-22-gdaf771e
update check: revision v3.1-1-g60a18d1 available, broadcast.csv: different version available, memory.csv: different version available, vaillant/bai.0010003857.inc: different version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: different version available, vaillant/general.csv: different version available, vaillant/hcmode.inc: different version available
signal: acquired
symbol rate: 22
max symbol rate: 110
min arbitration micros: 780
max arbitration micros: 916
min symbol latency: 5
max symbol latency: 6
reconnects: 0
masters: 3
messages: 201
conditional: 0
poll: 0
update: 9
address 00: master #1
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010003857.inc" ([PROD='0010003869']), "vaillant/08.bai.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd


regards
Fantom

Any idea Why I see only one master (vaillant) ?
Why ebusd don't find VRC430F and VR61 ?
How can I try find solution (looking into raw data etc)

Fantom

john30

Zitat von: Fantom am 29 September 2018, 17:54:12
Any idea Why I see only one master (vaillant) ?
Why ebusd don't find VRC430F and VR61 ?
first of all, the scanconfig option takes some time to finish as only those devices are being queried, that are part of a communication seen on the bus. so if you VR61 never receives or sends any message, it won't be scanned at all. you can force the scan of everything by issuing "ebusctl scan full" in a separate terminal while ebusd is running (either in another terminal in foreground or as daemon in background).
afaik the VRC430F imposes additional latency, so you might need to increase the default latency by using --latency=... as additional argument to the start of ebusd.
author of ebusd

Fantom

#2771
Zitat von: john30 am 30 September 2018, 10:57:28
first of all, the scanconfig option takes some time to finish as only those devices are being queried, that are part of a communication seen on the bus. so if you VR61 never receives or sends any message, it won't be scanned at all. you can force the scan of everything by issuing "ebusctl scan full" in a separate terminal while ebusd is running (either in another terminal in foreground or as daemon in background).
afaik the VRC430F imposes additional latency, so you might need to increase the default latency by using --latency=... as additional argument to the start of ebusd.

Hi. I installed today board 2.0 (instead 1.6) and ebusd see all masters :)
Thanks

Fantom
ps. I have problem with esp8266 with software 2018 (but i wrote on github).
ps2. I connect board+extension to Rpi 2 (use converter usb->uart) and all time i have reset. Converter or RPI gives too litle power i think. When I take out esp8266 - ebusd work properly (but extension board not used).

cs-online

Zitat von: piuser1 am 30 September 2018, 17:55:54
Hallo,

habe vor 2 Jahren den ebus-Adapter aufgebaut und die Version "ebusd 2.1.e408c94" auf einem separatem RaspberryPi installiert.
Jetzt sehe ich, dass es die ebusd-Version 3.2 sowie eine neue Platine gibt.

Funktioniert mittlerweile ebusd und fhem auf EINEM Raspi stabil (RPi 3B+) ? oder ist es immer noch erforderlich, fhem auf einem extra Rechner laufen zu lassen ?

Hintergrund ist, dass ich auf "Strech" umsteigen möchte und somit eine Neuinstallation ansteht.

Bei mir läuft schon seit Jahren EBUSD auf dem selben Raspi (2B) wie FHEM. Ich habe für alle meine Devices nur einen Raspi. Muss nur ausreichend USB-Ports haben, nicht alle Devices laufen am Hub...

Grüße

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

piuser1

@cs-online: DANKE für Deine Rückmeldung !  *top* Werde das mal in Angriff nehmen ...

TiPpFeHlEr

Zitat von: piuser1 am 30 September 2018, 17:55:54

Funktioniert mittlerweile ebusd und fhem auf EINEM Raspi stabil (RPi 3B+) ? oder ist es immer noch erforderlich, fhem auf einem extra Rechner laufen zu lassen ?

Hintergrund ist, dass ich auf "Strech" umsteigen möchte und somit eine Neuinstallation ansteht.

Jupp läuft auf Rpi 3B+ und stretch!

Bei mir seid einigen Monaten.

Mfg Maik