-
Notifications
You must be signed in to change notification settings - Fork 289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added VMS8/D "vmd01", SW0108, HW1703 (AuroStep Plus Drainback solar controller) #199
base: master
Are you sure you want to change the base?
Conversation
Based on the pms.csv file which looked the most close to the VMS I use (internally labelled "vmd") Only the temperature sensors, solar pump 1 flow rate and PowerOnCounter are currently supported. There are a lot more to find but that's difficult without any documentation and without any other Vaillant device talking on the bus : my boiler is installed autonomously. I someone having a good knowledge of Vaillant ebus messages wants to help I can provide various sets of registers values taken a different working phases. I certainly would like to be able to find the settemp (water temperature target).
Hi |
How strange ! In my understanding the c1/c2 contacts are used for non vaillant heaters. But I may be wrong.
|
To be honest not sure why they have connected in such way the boiler to the heater. Indeed from the Multimatic app i cannot control the boiler or check the water temperature. This is the reason why i was exploring other avenues by installing the ebusd in a Raspberry.
|
You might also simply connect them together. It’s plug and play asfaik. Keep us updated.
|
You meant connect the boiler temperature sensor to the heater and disconnect the C1/C2 otherwise i don't see other way to connect them. In this way i should at least get the water temperature on the thermostat but i would not get anyway the solar sensors values so maybe it is better just integrate the boiler with Home assistant via eBus and then fetch the other heating data via Vaillant Cloud API. At least i had this in mind and i found your ebusd VMS8 configuration.
|
I meant connecting the ebus to the rest of your installation (which is much more than a simple temperature sensor) and disconnecting the c1/c2. That way the vr921 gateway has access to all the parameters shared by the VMS. It's unclear how it would take advantage of it but we might learn a lot by spying on the ebus using ebusd. I'm especially interested to find out the address of the solar yield since my CSV is far from complete to say the least. |
I can run some tests, no issue but it might take time. Just installed the ebusd and I need to go through the documentation how decode the messages and make the ebusd working with the isolated VMS8 boiler.
Current implementation: Vr921 --ebus-> Heater EcoTec C1/C2 --- BoilerVMS8
Test implementation:
Vr921 ---> ebus ---Heater EcoTec---ebus-- >BoilerVMS8 ---> ebusd Raspberry ( keeping the C1/C2 connection or T7 shouldn't make big difference though).
|
Thanks for trying !
Might be. The c1/c2 instruct a heater to heat and run the circulator to warm the boiler, which could interfere with the informations exchanged on the ebus. I would try to remove it but you might get a cold shower of course 😊 |
# r;wi,,SolPumpRelay,Relais Solarpumpe,,,,"0F00",,,onoff,,,Solar pump relay: 0: OFF; 1: ON | ||
# r;wi,,SolPumpPower,Leistung Solarpumpe,,,,"9E00",,,power,,,Performance of solar pump: (7 - 100 %) | ||
r;wi,,FlowRate,Volumenstrom,,,,"9E00",,,SIN,10,l/min,chosen flow rate of the collector pump (to calculate solar gain) | ||
# r;wi,,BufferPumpPower,Leistung Pufferpumpe,,,,"1100",,,power,,,Performance of buffer pump: (15 - 100%) | ||
# r,,MonitorMatlabLast5minSolAverage,MonitorMatlab_Last5minSolarAverage,,,,"1700",,,SIN,,, | ||
# r,,CurrentVPMLoadingMode,Aktuelle Betriebsart,,,,"1900",,,UCH,,,1 = Warmwasser (autonom)2 = Heizung (autonom)3 = +10K (autonom)4 = Schwimmbad5 = Warmwasser6 = Heizung7 = +10K | ||
# r,,RunTimePump1Minutes,Laufzeit Pumpe 1,,,,"1A00",,,minutes0,,,Laufzeit der Solarpumpe (Minuten Anteil) | ||
# r,,RunTimePump1Hours,Laufzeit Pumpe 1,,,,"1B00",,,hoursum2,,,Laufzeit der Solarpumpe (Stunden Anteil) | ||
# r,,ExternalHwcRequest,Externe Warmwasseranforderung,,,,"1C00",,,onoff,,,0: No request; 1: Request | ||
# r,,ExternalHcRequest,Externe Heizungsanforderung,,,,"1D00",,,onoff,,,0: No request; 1: Request | ||
# r,,ExternalHwcTempDesired,Externer Warmwassersollwert,,,,"1E00",,,desiredtemp,,,Requested temperature for DHW | ||
# r,,ExternalHcTempDesired,Externer Heizungssollwert,,,,"1F00",,,desiredtemp,,,Requested temperature for CH | ||
# r,,CurrentASCStateforExternals,CurrentASCStateforExternals,,,,"2000",,,UCH,,,1:OFF 2: Proofing 3:DHWLoading 4:CHLoading 5:Overtemperature | ||
# r,,CurrentASCStateforASI,CurrentASCStateforASI,,,,"2100",,,UCH,,,1: Standby 2:Proofing 3:StorageLoading 4:Error_System_blocked | ||
# r,,DateAndTimeIsSet,DateAndTimeIsSet,,,,"2200",,,onoff,,,0: Date and Time is not set; 1: Date and Time is set | ||
# r;wi,,Time,Zeit,,,,"1900",,,time,,, | ||
# r;wi,,Date,Datum,,,,"1900",,,date,,, | ||
# r,,FlowSensorFrequency,FlowSensorFrequency,,,,"2D00",,,UIN,,, | ||
# r,,Runtime,Laufzeit Kollektorpumpe,,,,"1900",,,hoursum2,,,accumulated runtime of the collector pump |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
translation is missing on many lines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry @john30 I'm totally not fluent in German. Beside this, I personally believe that English is the vehicular language when it goes to technical things. I don't really see the added the value of translating to another language since those parameters will be used by a frontend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any other reason that this pull request is pending?
# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment
#,VMD01,VMS 8/D,0020071488 243,,,,,,,,,,
*r,,,,,,"B509","0D",,,,,,
*w,,,,,,"B509","0E",,,,,,
*wi,#install,,,,,"B509","0E",,,,,,
# ##### Generell #####,,,,,,,,,,,,,
r,,T5,T5 Sensor,,,,"0500",,,tempsensor,,,Solar-Kollektor-Temperatur
r,,T1,T1 Sensor,,,,"0700",,,tempsensor,,,Temperatur im Solarrücklauf (vom Solar-Kollektor)
r,,T7,T7 Sensor,,,,"0C00",,,tempsensor,,,Durchschnittstemperatur im Tank (berechnet aus T6 und Mitteltank-Sensorsignalen)
r,,PowerOnCounter,PowerOnCounter,,,,"1900",,,UIN,,, Einschaltzähler (in Stunden)
r,,T6,T6 Sensor,,,,"A100",,,tempsensor,,,Durchschnittstemperatur im Tank (berechnet aus T6 und Mitteltank-Sensorsignalen)
# r;wi,,SolPumpRelay,Relais Solarpumpe,,,,"0F00",,,onoff,,,Solarpumpen-Relais: 0: AUS; 1: EIN
# r;wi,,SolPumpPower,Leistung Solarpumpe,,,,"9E00",,,power,,,Leistung der Solarpumpe: (7 - 100 %)
r;wi,,FlowRate,Volumenstrom,,,,"9E00",,,SIN,10,l/min,Ausgewählte Durchflussrate der Kollektorpumpe (zur Berechnung der solaren Gewinne)
# r;wi,,BufferPumpPower,Leistung Pufferpumpe,,,,"1100",,,power,,,Leistung der Pufferpumpe: (15 - 100%)
# r,,MonitorMatlabLast5minSolAverage,MonitorMatlab_Last5minSolarAverage,,,,"1700",,,SIN,,,
# r,,CurrentVPMLoadingMode,Aktuelle Betriebsart,,,,"1900",,,UCH,,,1 = Warmwasser (autonom)2 = Heizung (autonom)3 = +10K (autonom)4 = Schwimmbad5 = Warmwasser6 = Heizung7 = +10K
# r,,RunTimePump1Minutes,Laufzeit Pumpe 1,,,,"1A00",,,minutes0,,,Laufzeit der Solarpumpe (Minuten Anteil)
# r,,RunTimePump1Hours,Laufzeit Pumpe 1,,,,"1B00",,,hoursum2,,,Laufzeit der Solarpumpe (Stunden Anteil)
# r,,ExternalHwcRequest,Externe Warmwasseranforderung,,,,"1C00",,,onoff,,,0: Keine Anforderung; 1: Anforderung
# r,,ExternalHcRequest,Externe Heizungsanforderung,,,,"1D00",,,onoff,,,0: Keine Anforderung; 1: Anforderung
# r,,ExternalHwcTempDesired,Externer Warmwassersollwert,,,,"1E00",,,desiredtemp,,,Angeforderte Temperatur für Warmwasser/Brauchwasser
# r,,ExternalHcTempDesired,Externer Heizungssollwert,,,,"1F00",,,desiredtemp,,,Angeforderte Temperatur für Heizung (CH)
# r,,CurrentASCStateforExternals,CurrentASCStateforExternals,,,,"2000",,,UCH,,,1: AUS 2: Prüfung 3: Warmwasserbeladung 4: Heizungsbeladung 5: Überhitzung
# r,,CurrentASCStateforASI,CurrentASCStateforASI,,,,"2100",,,UCH,,,1: Bereitschaft 2: Prüfung 3: Speicherbeladung 4: Fehler_System_blockiert
# r,,DateAndTimeIsSet,DateAndTimeIsSet,,,,"2200",,,onoff,,,0: Datum und Uhrzeit nicht eingestellt; 1: Datum und Uhrzeit eingestellt
# r;wi,,Time,Zeit,,,,"1900",,,time,,,
# r;wi,,Date,Datum,,,,"1900",,,date,,,
# r,,FlowSensorFrequency,FlowSensorFrequency,,,,"2D00",,,UIN,,,
# r,,Runtime,Laufzeit Kollektorpumpe,,,,"1900",,,hoursum2,,,Gesamtbetriebsdauer der Kollektorpumpe
`´`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
translation is missing / it is a great mixture of english in german and vice versa, not really nice
maybe you want to fix that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would personally insist on the missing registers that are still to be discovered instead of arguing about not translated strings in a backend-oriented software. What about the missing Farsi translation btw ? That’s not a good way to encourage people contributing.
Based on the file pms.csv which looked the most close to the VMS I use (internally labelled "vmd")
Only the temperature sensors, solar pump 1 flow rate and PowerOnCounter are currently supported. There are a lot more to find but that's difficult without any documentation and without any other Vaillant device talking on the bus : my boiler is installed autonomously.
If someone having a good knowledge of Vaillant ebus messages wants to help I can provide various sets of registers values taken a different working phases.
I certainly would like to be able to find the settemp (water temperature target).