This is my csv file for the Ariston Nuos Split. The first block are values that are frequently broadcasted so I do not need to poll for them. The values in the second block are broadcasted infrequently therefore I poll them. the third block are values queried from the slave. The fourth block are broadcasted values to be ignored. The last lines are so I can query for incidental values and can send a command that is not foreseen in the csv.
# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment,field2,part (m/s),datatypes/templates,divider/values,unit,comment,field3,part (m/s),datatypes/templates,divider/values,unit,comment,field4,part (m/s),datatypes/templates,divider/values,unit,comment,field5,part (m/s),datatypes/templates,divider/values,unit,comment
b,dhw,date_time,DateTime,,fe,2070,,time,,VTM,,,,date,,HDA
b,dhw,heating,Heating Mode,,fe,2010,d69a,on_off,,SIN,1,,,code,,IGN:2,,,,mode,,BCD,0=off;1=heatpump;2=element;3=both
b,dhw,setting,setting,,fe,2010,6147,required_temp,,SIN,10,°C,,code,,IGN:3,,,,normal_reduced,,BCD,0=off;1=reduced;2=normal
r2,dhw,power,On/Off,,fe,2001,0220
b,dhw,power,On/Off,,fe,200e,0220,value,s,BCD,0=off;1=on
w,dhw,power,On/Off,,fe,200e,0220,value,s,BCD,0=off;1=on
r2,dhw,mode,Program/Manual,,fe,2001,c028
b,dhw,mode,Program-Manual,,fe,200e,c028,value,s,BCD,0=off;1=program;2=manual
w,dhw,mode,Program-Manual,,fe,200e,c028,value,s,BCD,0=off;1=program;2=manual
r2,dhw,normal_temp,Normal temperature,,fe,2001,6126
b,dhw,normal,normal_temp,,fe,200e,6126,temp,s,SIN,10,°C,,min,s,SIN,10,°C,,max,s,SIN,10,°C,,
w,dhw,normal,normal_temp,,fe,200e,6126,temp,s,SIN,10,°C
r2,dhw,reduced_temp,reduced_temp,,fe,2001,6226
b,dhw,reduced,reduced_temp,,fe,200e,6226,temp,s,SIN,10,°C,,min,s,SIN,10,°C,,max,s,SIN,10,°C,,
w,dhw,reduced,reduced_temp,,fe,200e,6226,temp,s,SIN,10,°C
r2,dhw,anti_legionella_switch,anti_legionella,,fe,2001,0b20
b,dhw,anti_legionella,anti_legionella,,fe,200e,0b20,value,s,BCD,0=off;1=on
w,dhw,anti_legionella,anti_legionella,,fe,200e,0b20,value,s,BCD,0=off;1=on
r2,dhw,legionella_temp,legionella_temp,,fe,2001,7d26
b,dhw,legionella,legionella_temp,,fe,200e,7d26,temp,s,SIN,10,°C,,min,s,SIN,10,°C,,max,s,SIN,10,°C,,
w,dhw,legionella,legionella_temp,,fe,200e,7d26,temp,s,SIN,10,°C
r2,dhw,actual,Actual temp,,7c,2000,6713,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,outside,Outside temp,,7c,2000,6513,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,tank_high,Tank high temp,,7c,2000,6313,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,tank_low,Tank low temp,,7c,2000,6413,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,suction,Suction temp,,7c,2000,6c13,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,evaporation,Evaporation temp,,7c,2000,6613,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,hot_gas,Hot gas temp,,7c,2000,7bfa,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,condensor,Condensor temp,,7c,2000,7cfa,,s,IGN:1,,,,temp,s,SIN,10,°C
r2,dhw,preset,Preset,,7c,2000,de89,,s,IGN:1,,,,value,s,BCD,0=green;1=comfort;2=fast
w,dhw,preset,Preset,,7c,2020,de89,value,m,BCD,0=green;1=comfort;2=fast
r2,dhw,preheat,Preheat,,7c,2000,0c88,,s,IGN:1,,,,value,s,BCD,0=off;1=on
w,dhw,preheat,Preheat,,7c,2020,0c88,value,m,BCD,0=off;1=on
r2,dhw,boost,Boost,,7c,2000,1a21,,s,IGN:1,,,,value,s,BCD,0=off;1=on
w,dhw,boost,Boost,,7c,2020,1a21,value,m,BCD,0=off;1=on
b,dhw,c_2010_da46,2010 da46,,fe,2010,da46,c_da46,,IGN:*
b,dhw,c_2038_00,2038 00,,fe,2038,00,c_2038_00,,IGN:*
b,dhw,c_2038_01,2038 00,,fe,2038,01,c_2038_01,,IGN:*
b,dhw,c_2038_02,2038 00,,fe,2038,02,c_2038_02,,IGN:*
b,dhw,c_2020_7d26,2020 7d26,,fe,2020,7d26,c_7d26,,IGN:*
b,dhw,ign2050,ign2050,,fe,2050,,data,,IGN:*
b,dhw,ign2051,ign2051,,fe,2051,,data,,IGN:*
b,dhw,ign2071,ign2071,,fe,2071,,data,,IGN:*
b,dhw,error,Error,,fe,2004,,reply,,IGN:*
b,dhw,reply,Reply,,fe,200f,,value,,HEX:*
w,dhw,command,Command,,fe,2020,,data,,HEX:*
w,dhw,slave_command,Slave command,,7c,2020,,data,,HEX:*
w,dhw,query,Query,,fe,2000,,address,,HEX:*