├── archived ├── VERSION ├── de │ ├── vaillant │ │ ├── 05.vd2.csv │ │ ├── 05.vd3.csv │ │ ├── 05.vd6.csv │ │ ├── 05.vl8.csv │ │ ├── 05.vl9.csv │ │ ├── 15.140.csv │ │ ├── 15.360.csv │ │ ├── 15.36p.csv │ │ ├── 15.400.csv │ │ ├── 15.450.csv │ │ ├── 15.720.csv │ │ ├── 15.b7v.csv │ │ ├── 15.bass.csv │ │ ├── 15.basv.csv │ │ ├── 15.e7f_2.csv │ │ ├── 15.f35.csv │ │ ├── 15.f45.csv │ │ ├── 15.heb.csv │ │ ├── 15.hep.csv │ │ ├── 1c.rcc.4.csv │ │ ├── 1c.v81.4.csv │ │ ├── 35.rcc.1.csv │ │ ├── 35.v81.1.csv │ │ ├── 3c.rcc.5.csv │ │ ├── 3c.v81.5.csv │ │ ├── 7c.rcc.6.csv │ │ ├── 7c.v81.6.csv │ │ ├── e1.omu.1.csv │ │ ├── f5.rcc.3.csv │ │ ├── f5.v81.3.csv │ │ ├── fc.rcc.7.csv │ │ ├── fc.v81.7.csv │ │ ├── 15.350.HW7102.csv │ │ ├── ed.pms.sc.csv │ │ ├── 54.mc2.mc.6.csv │ │ ├── 55.mc2.mc.7.csv │ │ ├── roomtempoffset.inc │ │ ├── iotestact.inc │ │ ├── iotestbsol.inc │ │ ├── quick.inc │ │ ├── iotestbmc.inc │ │ ├── iotest620.inc │ │ ├── iotest630.inc │ │ ├── iotesthp.inc │ │ ├── 64.v65.csv │ │ ├── errors.inc │ │ ├── service.inc │ │ ├── 23.ehp.cc.csv │ │ ├── yield3d43.inc │ │ ├── yield3f40.inc │ │ ├── yield4445.inc │ │ ├── yield8485.inc │ │ ├── yield8485r.inc │ │ ├── timerhc.inc │ │ ├── broadcast.csv │ │ ├── general.csv │ │ ├── timercc.inc │ │ ├── timerhwc.inc │ │ ├── a1.sol.cc.csv │ │ ├── timertariff.inc │ │ ├── timercool.inc │ │ ├── 75.rcc.csv │ │ ├── tempsetpoints.inc │ │ ├── scan.csv │ │ ├── 25.zeo.hwc.csv │ │ ├── 23.solsy.cc.csv │ │ ├── 23.vr630.cc.csv │ │ ├── hwcmode.inc │ │ ├── 23.zeo.cc.csv │ │ ├── 15.160.csv │ │ ├── timer.inc │ │ ├── hcmode.inc │ │ ├── ec.zeo.sc.csv │ │ ├── 52.vr_70.csv │ │ ├── mcmode.inc │ │ ├── 50.zeo.mc.csv │ │ ├── 25.vr630.hwc.csv │ │ ├── 25.ehp.hwc.csv │ │ ├── 26.vr630.hc.csv │ │ ├── 26.vr_71.csv │ │ ├── 50.vr630.mc.csv │ │ ├── 51.vr630.mc.3.csv │ │ └── 75.v81.csv │ ├── memory.csv │ ├── encon │ │ └── _templates.csv │ ├── broadcast.csv │ └── _templates.csv ├── en │ ├── vaillant │ │ ├── 05.vd2.csv │ │ ├── 05.vd3.csv │ │ ├── 05.vd6.csv │ │ ├── 05.vl8.csv │ │ ├── 05.vl9.csv │ │ ├── 15.140.csv │ │ ├── 15.360.csv │ │ ├── 15.36p.csv │ │ ├── 15.400.csv │ │ ├── 15.450.csv │ │ ├── 15.720.csv │ │ ├── 15.b7v.csv │ │ ├── 15.bass.csv │ │ ├── 15.basv.csv │ │ ├── 15.e7f_2.csv │ │ ├── 15.f35.csv │ │ ├── 15.f45.csv │ │ ├── 15.heb.csv │ │ ├── 15.hep.csv │ │ ├── 1c.rcc.4.csv │ │ ├── 1c.v81.4.csv │ │ ├── 35.rcc.1.csv │ │ ├── 35.v81.1.csv │ │ ├── 3c.rcc.5.csv │ │ ├── 3c.v81.5.csv │ │ ├── 7c.rcc.6.csv │ │ ├── 7c.v81.6.csv │ │ ├── e1.omu.1.csv │ │ ├── f5.rcc.3.csv │ │ ├── f5.v81.3.csv │ │ ├── fc.rcc.7.csv │ │ ├── fc.v81.7.csv │ │ ├── 15.350.HW7102.csv │ │ ├── ed.pms.sc.csv │ │ ├── 54.mc2.mc.6.csv │ │ ├── 55.mc2.mc.7.csv │ │ ├── roomtempoffset.inc │ │ ├── iotestact.inc │ │ ├── iotestbsol.inc │ │ ├── quick.inc │ │ ├── iotestbmc.inc │ │ ├── iotest620.inc │ │ ├── iotest630.inc │ │ ├── iotesthp.inc │ │ ├── 64.v65.csv │ │ ├── errors.inc │ │ ├── service.inc │ │ ├── 23.ehp.cc.csv │ │ ├── yield3d43.inc │ │ ├── yield3f40.inc │ │ ├── yield4445.inc │ │ ├── yield8485.inc │ │ ├── yield8485r.inc │ │ ├── timercc.inc │ │ ├── timerhc.inc │ │ ├── timerhwc.inc │ │ ├── timertariff.inc │ │ ├── 08.v3x.csv │ │ ├── timercool.inc │ │ ├── general.csv │ │ ├── broadcast.csv │ │ ├── a1.sol.cc.csv │ │ ├── 75.rcc.csv │ │ ├── tempsetpoints.inc │ │ ├── scan.csv │ │ ├── 25.zeo.hwc.csv │ │ ├── 23.zeo.cc.csv │ │ ├── 23.solsy.cc.csv │ │ ├── 23.vr630.cc.csv │ │ ├── hwcmode.inc │ │ ├── timer.inc │ │ ├── 15.160.csv │ │ ├── 76.vwz.csv │ │ ├── hcmode.inc │ │ ├── ec.zeo.sc.csv │ │ ├── 52.vr_70.csv │ │ ├── 50.zeo.mc.csv │ │ ├── mcmode.inc │ │ ├── 25.ehp.hwc.csv │ │ ├── 25.vr630.hwc.csv │ │ ├── 26.vr630.hc.csv │ │ ├── 26.vr_71.csv │ │ ├── 50.vr630.mc.csv │ │ ├── 75.v81.csv │ │ └── 51.vr630.mc.3.csv │ ├── encon │ │ ├── 0a..co2.csv │ │ └── _templates.csv │ ├── memory.csv │ ├── broadcast.csv │ ├── _templates.csv │ └── tem │ │ └── _templates.csv ├── utils │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── README.md ├── package.json └── normalized │ ├── broadcast.tsp │ └── memory.tsp ├── src ├── kromschroeder ├── vaillant │ ├── 05.vd2.tsp │ ├── 05.vd3.tsp │ ├── 05.vd6.tsp │ ├── 05.vl8.tsp │ ├── 05.vl9.tsp │ ├── 15.140.tsp │ ├── 15.360.tsp │ ├── 15.36p.tsp │ ├── 15.400.tsp │ ├── 15.450.tsp │ ├── 15.720.tsp │ ├── 15.b7v.tsp │ ├── 15.f35.tsp │ ├── 15.f45.tsp │ ├── 15.bass.tsp │ ├── 15.basv.tsp │ ├── 15.ctls2.tsp │ ├── 15.ctlv3.tsp │ ├── 15.e7f_2.tsp │ ├── 15.heb.tsp │ ├── 15.hep.tsp │ ├── 1c.rcc.4.tsp │ ├── 1c.v81.4.tsp │ ├── 35.rcc.1.tsp │ ├── 35.v81.1.tsp │ ├── 3c.rcc.5.tsp │ ├── 3c.v81.5.tsp │ ├── 76.vwzio.tsp │ ├── 7c.rcc.6.tsp │ ├── 7c.v81.6.tsp │ ├── e1.omu.1.tsp │ ├── ed.pms.sc.tsp │ ├── f5.rcc.3.tsp │ ├── f5.v81.3.tsp │ ├── fc.rcc.7.tsp │ ├── fc.v81.7.tsp │ ├── 15.350.HW7102.tsp │ ├── 53.vr_70.5.tsp │ ├── 54.mc2.mc.6.tsp │ ├── 55.mc2.mc.7.tsp │ ├── roomtempoffset_inc.tsp │ ├── 64.v65.tsp │ ├── bai.0010043897_inc.tsp │ ├── quick_inc.tsp │ ├── general.tsp │ ├── iotestbsol_inc.tsp │ ├── iotestact_inc.tsp │ ├── 23.ehp.cc.tsp │ ├── scan.tsp │ ├── iotestbmc_inc.tsp │ ├── timerhc_inc.tsp │ ├── iotest620_inc.tsp │ ├── iotest630_inc.tsp │ ├── timerhwc_inc.tsp │ ├── timercc_inc.tsp │ ├── iotesthp_inc.tsp │ ├── a1.sol.cc.tsp │ ├── timertariff_inc.tsp │ ├── timercool_inc.tsp │ ├── 08.v3x.tsp │ ├── errors_inc.tsp │ ├── service_inc.tsp │ ├── broadcast.tsp │ ├── 75.rcc.tsp │ ├── 06.vmd.tsp │ ├── 25.zeo.hwc.tsp │ ├── 23.solsy.cc.tsp │ ├── 23.vr630.cc.tsp │ ├── 23.zeo.cc.tsp │ ├── yield3d43_inc.tsp │ ├── yield3f40_inc.tsp │ ├── yield4445_inc.tsp │ ├── yield8485_inc.tsp │ ├── yield8485r_inc.tsp │ ├── 76.vwz.tsp │ ├── 52.vr_70.tsp │ ├── 15.160.tsp │ ├── tempsetpoints_inc.tsp │ ├── ec.zeo.sc.tsp │ ├── hwcmode_inc.tsp │ ├── timer_inc.tsp │ ├── 25.ehp.hwc.tsp │ └── 50.zeo.mc.tsp ├── encon │ ├── 7c..excellent.tsp │ ├── broadcast.tsp │ └── 0a..co2.tsp ├── tem │ └── broadcast.tsp ├── ochsner │ ├── broadcast.tsp │ └── _templates.tsp ├── wolf │ ├── broadcast.tsp │ ├── _templates.tsp │ └── 50..mc.tsp ├── net_inc.tsp ├── broadcast.tsp └── memory.tsp ├── .gitignore ├── .vscode ├── extensions.json ├── settings.json └── i18n-ally-custom-framework.yml ├── utils ├── copylink.sh └── precheck.sh ├── .devcontainer └── devcontainer.json └── package.json /archived/VERSION: -------------------------------------------------------------------------------- 1 | 2.1 -------------------------------------------------------------------------------- /src/kromschroeder: -------------------------------------------------------------------------------- 1 | wolf -------------------------------------------------------------------------------- /src/vaillant/05.vd2.tsp: -------------------------------------------------------------------------------- 1 | 05.vd4.tsp -------------------------------------------------------------------------------- /src/vaillant/05.vd3.tsp: -------------------------------------------------------------------------------- 1 | 05.vd4.tsp -------------------------------------------------------------------------------- /src/vaillant/05.vd6.tsp: -------------------------------------------------------------------------------- 1 | 05.vd4.tsp -------------------------------------------------------------------------------- /src/vaillant/05.vl8.tsp: -------------------------------------------------------------------------------- 1 | 05.vd4.tsp -------------------------------------------------------------------------------- /src/vaillant/05.vl9.tsp: -------------------------------------------------------------------------------- 1 | 05.vd4.tsp -------------------------------------------------------------------------------- /src/vaillant/15.140.tsp: -------------------------------------------------------------------------------- 1 | 15.350.tsp -------------------------------------------------------------------------------- /src/vaillant/15.360.tsp: -------------------------------------------------------------------------------- 1 | 15.350.tsp -------------------------------------------------------------------------------- /src/vaillant/15.36p.tsp: -------------------------------------------------------------------------------- 1 | 15.350.tsp -------------------------------------------------------------------------------- /src/vaillant/15.400.tsp: -------------------------------------------------------------------------------- 1 | 15.350.tsp -------------------------------------------------------------------------------- /src/vaillant/15.450.tsp: -------------------------------------------------------------------------------- 1 | 15.470.tsp -------------------------------------------------------------------------------- /src/vaillant/15.720.tsp: -------------------------------------------------------------------------------- 1 | 15.700.tsp -------------------------------------------------------------------------------- /src/vaillant/15.b7v.tsp: -------------------------------------------------------------------------------- 1 | 15.700.tsp -------------------------------------------------------------------------------- /src/vaillant/15.f35.tsp: -------------------------------------------------------------------------------- 1 | 15.350.tsp -------------------------------------------------------------------------------- /src/vaillant/15.f45.tsp: -------------------------------------------------------------------------------- 1 | 15.f47.tsp -------------------------------------------------------------------------------- /src/vaillant/15.bass.tsp: -------------------------------------------------------------------------------- 1 | 15.700.tsp -------------------------------------------------------------------------------- /src/vaillant/15.basv.tsp: -------------------------------------------------------------------------------- 1 | 15.700.tsp -------------------------------------------------------------------------------- /src/vaillant/15.ctls2.tsp: -------------------------------------------------------------------------------- 1 | 15.ctlv2.tsp -------------------------------------------------------------------------------- /src/vaillant/15.ctlv3.tsp: -------------------------------------------------------------------------------- 1 | 15.ctlv2.tsp -------------------------------------------------------------------------------- /src/vaillant/15.e7f_2.tsp: -------------------------------------------------------------------------------- 1 | 15.e7c.tsp -------------------------------------------------------------------------------- /src/vaillant/15.heb.tsp: -------------------------------------------------------------------------------- 1 | 15.sdr_p.tsp -------------------------------------------------------------------------------- /src/vaillant/15.hep.tsp: -------------------------------------------------------------------------------- 1 | 15.sdr_p.tsp -------------------------------------------------------------------------------- /src/vaillant/1c.rcc.4.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/1c.v81.4.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /src/vaillant/35.rcc.1.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/35.v81.1.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /src/vaillant/3c.rcc.5.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/3c.v81.5.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /src/vaillant/76.vwzio.tsp: -------------------------------------------------------------------------------- 1 | 76.vwz.tsp -------------------------------------------------------------------------------- /src/vaillant/7c.rcc.6.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/7c.v81.6.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /src/vaillant/e1.omu.1.tsp: -------------------------------------------------------------------------------- 1 | e0.omu.tsp -------------------------------------------------------------------------------- /src/vaillant/ed.pms.sc.tsp: -------------------------------------------------------------------------------- 1 | 06.pms.tsp -------------------------------------------------------------------------------- /src/vaillant/f5.rcc.3.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/f5.v81.3.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /src/vaillant/fc.rcc.7.tsp: -------------------------------------------------------------------------------- 1 | 75.rcc.tsp -------------------------------------------------------------------------------- /src/vaillant/fc.v81.7.tsp: -------------------------------------------------------------------------------- 1 | 75.v81.tsp -------------------------------------------------------------------------------- /archived/de/vaillant/05.vd2.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/05.vd3.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/05.vd6.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/05.vl8.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/05.vl9.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.140.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.360.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.36p.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.400.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.450.csv: -------------------------------------------------------------------------------- 1 | 15.470.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.720.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.b7v.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.bass.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.basv.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.e7f_2.csv: -------------------------------------------------------------------------------- 1 | 15.e7c.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.f35.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.f45.csv: -------------------------------------------------------------------------------- 1 | 15.f47.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.heb.csv: -------------------------------------------------------------------------------- 1 | 15.sdr_p.csv -------------------------------------------------------------------------------- /archived/de/vaillant/15.hep.csv: -------------------------------------------------------------------------------- 1 | 15.sdr_p.csv -------------------------------------------------------------------------------- /archived/de/vaillant/1c.rcc.4.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/1c.v81.4.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/de/vaillant/35.rcc.1.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/35.v81.1.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/de/vaillant/3c.rcc.5.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/3c.v81.5.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/de/vaillant/7c.rcc.6.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/7c.v81.6.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/de/vaillant/e1.omu.1.csv: -------------------------------------------------------------------------------- 1 | e0.omu.csv -------------------------------------------------------------------------------- /archived/de/vaillant/f5.rcc.3.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/f5.v81.3.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/de/vaillant/fc.rcc.7.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/de/vaillant/fc.v81.7.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/05.vd2.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/05.vd3.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/05.vd6.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/05.vl8.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/05.vl9.csv: -------------------------------------------------------------------------------- 1 | 05.vd4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.140.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.360.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.36p.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.400.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.450.csv: -------------------------------------------------------------------------------- 1 | 15.470.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.720.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.b7v.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.bass.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.basv.csv: -------------------------------------------------------------------------------- 1 | 15.700.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.e7f_2.csv: -------------------------------------------------------------------------------- 1 | 15.e7c.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.f35.csv: -------------------------------------------------------------------------------- 1 | 15.350.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.f45.csv: -------------------------------------------------------------------------------- 1 | 15.f47.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.heb.csv: -------------------------------------------------------------------------------- 1 | 15.sdr_p.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.hep.csv: -------------------------------------------------------------------------------- 1 | 15.sdr_p.csv -------------------------------------------------------------------------------- /archived/en/vaillant/1c.rcc.4.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/1c.v81.4.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/35.rcc.1.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/35.v81.1.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/3c.rcc.5.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/3c.v81.5.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/7c.rcc.6.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/7c.v81.6.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/e1.omu.1.csv: -------------------------------------------------------------------------------- 1 | e0.omu.csv -------------------------------------------------------------------------------- /archived/en/vaillant/f5.rcc.3.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/f5.v81.3.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /archived/en/vaillant/fc.rcc.7.csv: -------------------------------------------------------------------------------- 1 | 75.rcc.csv -------------------------------------------------------------------------------- /archived/en/vaillant/fc.v81.7.csv: -------------------------------------------------------------------------------- 1 | 75.v81.csv -------------------------------------------------------------------------------- /src/vaillant/15.350.HW7102.tsp: -------------------------------------------------------------------------------- 1 | 15.370.tsp -------------------------------------------------------------------------------- /src/vaillant/53.vr_70.5.tsp: -------------------------------------------------------------------------------- 1 | 52.vr_70.tsp -------------------------------------------------------------------------------- /src/vaillant/54.mc2.mc.6.tsp: -------------------------------------------------------------------------------- 1 | 52.mc2.mc.4.tsp -------------------------------------------------------------------------------- /src/vaillant/55.mc2.mc.7.tsp: -------------------------------------------------------------------------------- 1 | 53.mc2.mc.5.tsp -------------------------------------------------------------------------------- /archived/de/vaillant/15.350.HW7102.csv: -------------------------------------------------------------------------------- 1 | 15.370.csv -------------------------------------------------------------------------------- /archived/de/vaillant/ed.pms.sc.csv: -------------------------------------------------------------------------------- 1 | 06.pms.csv -------------------------------------------------------------------------------- /archived/en/vaillant/15.350.HW7102.csv: -------------------------------------------------------------------------------- 1 | 15.370.csv -------------------------------------------------------------------------------- /archived/en/vaillant/ed.pms.sc.csv: -------------------------------------------------------------------------------- 1 | 06.pms.csv -------------------------------------------------------------------------------- /src/encon/7c..excellent.tsp: -------------------------------------------------------------------------------- 1 | 3c..excellent.tsp -------------------------------------------------------------------------------- /archived/de/vaillant/54.mc2.mc.6.csv: -------------------------------------------------------------------------------- 1 | 52.mc2.mc.4.csv -------------------------------------------------------------------------------- /archived/de/vaillant/55.mc2.mc.7.csv: -------------------------------------------------------------------------------- 1 | 53.mc2.mc.5.csv -------------------------------------------------------------------------------- /archived/en/vaillant/54.mc2.mc.6.csv: -------------------------------------------------------------------------------- 1 | 52.mc2.mc.4.csv -------------------------------------------------------------------------------- /archived/en/vaillant/55.mc2.mc.7.csv: -------------------------------------------------------------------------------- 1 | 53.mc2.mc.5.csv -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | node_modules/ 3 | out* 4 | dist/ 5 | -------------------------------------------------------------------------------- /archived/utils/src/index.ts: -------------------------------------------------------------------------------- 1 | import {csv2tsp} from "./csv2tsp"; 2 | 3 | csv2tsp(process.argv.slice(2)).then(() => console.log('done'), console.error); 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "mhutchie.git-graph", 4 | "typespec.typespec-vscode", 5 | "ebusd.ebus-notebook", 6 | "redhat.vscode-yaml", 7 | "lokalise.i18n-ally", 8 | ] 9 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "i18n-ally.enabledFrameworks": [ 3 | "custom" 4 | ], 5 | "i18n-ally.keystyle": "flat", 6 | "i18n-ally.localesPaths": [ 7 | "src" 8 | ], 9 | "i18n-ally.pathMatcher": "{locale}.yaml", 10 | "i18n-ally.sourceLanguage": "en" 11 | } -------------------------------------------------------------------------------- /archived/de/vaillant/roomtempoffset.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MK: Raumaufschaltung,,,,,,,,,,,,, 3 | *w,,,,,,"B505","2d",,,,,, 4 | w,,RoomTempOffset,Raumaufschaltung,,,,,,,temp,,, 5 | -------------------------------------------------------------------------------- /archived/en/vaillant/roomtempoffset.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MC: Room offset calculation,,,,,,,,,,,,, 3 | *w,,,,,,"B505","2d",,,,,, 4 | w,,RoomTempOffset,Room offset calculation,,,,,,,temp,,, 5 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotestact.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O test: Actostor,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0=off;1=cirpump;2=pump1;3=pump2;4=al,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotestact.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: Actostor,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0=off;1=cirpump;2=pump1;3=pump2;4=al,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/README.md: -------------------------------------------------------------------------------- 1 | # archived CSV ebusd-configuration 2 | 3 | This folder contains archived CSV configuration files for [ebusd](https://github.com/john30/ebusd) that are kept for convenience and are no longer maintained. 4 | 5 | It also contains utilities for converting CSV files to [TypeSpec](https://typespec.io/), see the [package.json](package.json) file. 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotestbsol.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: Solar,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0x01=off;0x02=col1pump;0x04=legiopump;0x08=ma,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotestbsol.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O test: solar,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0x01=off;0x02=col1pump;0x04=legiopump;0x08=ma,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/quick.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MK: quick commands,,,,,,,,,,,,, 3 | *w,,,,,,"B505",,,,,,, 4 | w,,party,Quick - Party,,,,05,,,onoff,,, 5 | w,,load,Quick - WW Speicherladung,,,,06,,,onoff,,, 6 | w,,save,Quick - Sparen bis,,,,07,,,TTH,,, 7 | -------------------------------------------------------------------------------- /archived/en/vaillant/quick.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MC: quick commands,,,,,,,,,,,,, 3 | *w,,,,,,"B505",,,,,,, 4 | w,,party,Quick - party,,,,05,,,onoff,,, 5 | w,,load,Quick - hot water tank filling,,,,06,,,onoff,,, 6 | w,,save,Quick - cleaning lady,,,,07,,,TTH,,, 7 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotestbmc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O test: mixer,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0x01=off/cirpump;0x02=hcpump;0x04=hc2mixeropen;0x08=hc2mixerclose;0x10=hc2pump,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotestbmc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: Mischer,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0x01=off/cirpump;0x02=hcpump;0x04=hc2mixeropen;0x08=hc2mixerclose;0x10=hc2pump,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "lib": ["ES2022"], 5 | "module": "NodeNext", 6 | "rootDir": ".", 7 | "moduleResolution": "NodeNext", 8 | // "declaration": true, 9 | "sourceMap": true, 10 | "outDir": "dist", 11 | "esModuleInterop": true, 12 | "strict": true, 13 | "types": ["node"] 14 | }, 15 | "include": ["src/*.ts"] 16 | } 17 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotest620.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: 620,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0=valve1;1=cirpump;2=pump1;3=hc2mixeropen;4=hc2mixerclose;5=hc2pump;6=col1pump;7=col2pump;8=valve2;9=valve3;10=legiopump;11=valve4;12=c1c2,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotest620.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O test: 620,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0=valve1;1=cirpump;2=pump1;3=hc2mixeropen;4=hc2mixerclose;5=hc2pump;6=col1pump;7=col2pump;8=valve2;9=valve3;10=legiopump;11=valve4;12=c1c2,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotest630.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O test: 630,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0=valve1;1=cirpump;2=pump1;3=hc2mixeropen;4=hc2mixerclose;5=hc2pump;6=hc3mixeropen;7=hc3mixerclose;8=hc3pump;9=level1;10=level2;11=av;12=c1c2,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotest630.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: 630,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0=valve1;1=cirpump;2=pump1;3=hc2mixeropen;4=hc2mixerclose;5=hc2pump;6=hc3mixeropen;7=hc3mixerclose;8=hc3pump;9=level1;10=level2;11=av;12=c1c2,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/iotesthp.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: heat pump,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O test,,,,02,,,UCH,0=off;1=coolvalve;2=sourcepump;3=hcpump;4=injector;5=caseheater;6=backup;7=hwchcvalve;8=cirpump;9=sc2pump;10=hc2pump;11=hc2mixeropen;12=hc2mixerclose,, 5 | wi,,ioteststop,stop I/O test,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/iotesthp.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # I/O Test: Wärmepumpe,,,,,,,,,,,,, 3 | *wi,#install,,,,,"B506",,,,,,, 4 | wi,,iotest,I/O Test,,,,02,,,UCH,0=off;1=coolvalve;2=sourcepump;3=hcpump;4=injector;5=caseheater;6=backup;7=hwchcvalve;8=cirpump;9=sc2pump;10=hc2pump;11=hc2mixeropen;12=hc2mixerclose,, 5 | wi,,ioteststop,I/O Test stoppen,,,,01,,,,,, 6 | -------------------------------------------------------------------------------- /src/tem/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "../opdata_inc.tsp"; 3 | using Ebus; 4 | 5 | namespace Tem; 6 | 7 | namespace Broadcast { 8 | /** default *b */ 9 | @passive 10 | @zz(BROADCAST) 11 | model b {} 12 | 13 | @inherit(b) 14 | model RcTarget is Opdata_inc.RcTarget; 15 | 16 | @inherit(b) 17 | model RcOperation is Opdata_inc.RcOperation; 18 | 19 | @inherit(b) 20 | model ControlCmd is Opdata_inc.ControlCmd; 21 | } 22 | -------------------------------------------------------------------------------- /src/encon/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "../opdata_inc.tsp"; 3 | using Ebus; 4 | 5 | namespace Encon; 6 | 7 | namespace Broadcast { 8 | /** default *b */ 9 | @passive 10 | @zz(BROADCAST) 11 | model b {} 12 | 13 | @inherit(b) 14 | model RcTarget is Opdata_inc.RcTarget; 15 | 16 | @inherit(b) 17 | model RcOperation is Opdata_inc.RcOperation; 18 | 19 | @inherit(b) 20 | model ControlCmd is Opdata_inc.ControlCmd; 21 | } 22 | -------------------------------------------------------------------------------- /src/ochsner/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "../opdata_inc.tsp"; 3 | using Ebus; 4 | 5 | namespace Ochsner; 6 | 7 | namespace Broadcast { 8 | /** default *b */ 9 | @passive 10 | @zz(BROADCAST) 11 | model b {} 12 | 13 | @inherit(b) 14 | model RcTarget is Opdata_inc.RcTarget; 15 | 16 | @inherit(b) 17 | model RcOperation is Opdata_inc.RcOperation; 18 | 19 | @inherit(b) 20 | model ControlCmd is Opdata_inc.ControlCmd; 21 | } 22 | -------------------------------------------------------------------------------- /src/vaillant/roomtempoffset_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Roomtempoffset_inc { 10 | // MC: Room offset calculation 11 | 12 | /** default *w */ 13 | @write 14 | @base(MF, 0x5, 0x2d) 15 | model w_1 {} 16 | 17 | /** Room offset calculation */ 18 | @inherit(w_1) 19 | @ext 20 | model RoomTempOffset { 21 | value: temp; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /utils/copylink.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # helper for copying symlinks in `$2` with base dir `$1` into `$3` and following 3 | link=$(realpath -s --relative-to="$1" "$2") 4 | target=$(realpath --relative-to="$1" "$2") 5 | link=$(echo "$link"|sed -e 's#\.tsp#.csv#') 6 | target=$(echo "$target"|sed -e 's#\.tsp#.csv#') 7 | shift 2 8 | while [[ -n "$1" ]]; do 9 | ( 10 | dir=$(dirname $target) 11 | cd "$1" 12 | rel=$(realpath --relative-to="$dir" "$target") 13 | ln -s "$rel" "$link" 14 | ) 15 | shift 16 | done 17 | -------------------------------------------------------------------------------- /archived/de/vaillant/64.v65.csv: -------------------------------------------------------------------------------- 1 | # 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 2 | #,V6500,VR 65,V65 199,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *u,,,,,,"B512","02",,,,,,,,,,,,,,,,,,,,,,,, 4 | u,,State,,,,,,setvalve,m,switchvalve2,,,,state,,switchvalve2,,,,dhwdemand,,yesno,,,,,,temp,,, -------------------------------------------------------------------------------- /archived/en/vaillant/64.v65.csv: -------------------------------------------------------------------------------- 1 | # 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 2 | #,V6500,VR 65,V65 199,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *u,,,,,,"B512","02",,,,,,,,,,,,,,,,,,,,,,,, 4 | u,,State,,,,,,setvalve,m,switchvalve2,,,,state,,switchvalve2,,,,dhwdemand,,yesno,,,,,,temp,,, -------------------------------------------------------------------------------- /src/wolf/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "../opdata_inc.tsp"; 3 | import "../net_inc.tsp"; 4 | using Ebus; 5 | 6 | namespace Wolf; 7 | 8 | namespace Broadcast { 9 | /** default *b */ 10 | @passive 11 | @zz(BROADCAST) 12 | model b {} 13 | 14 | @inherit(b) 15 | model RcTarget is Opdata_inc.RcTarget; 16 | 17 | @inherit(b) 18 | model RcOperation is Opdata_inc.RcOperation; 19 | 20 | @inherit(b) 21 | model ControlCmd is Opdata_inc.ControlCmd; 22 | 23 | union _includes { 24 | Net_inc, 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/vaillant/64.v65.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | // @zz(0x64) 10 | namespace V65 { 11 | // ,V6500,VR 65,V65 199 12 | 13 | /** default *u */ 14 | @passive 15 | @base(MF, 0x12, 0x2) 16 | model u_1 {} 17 | 18 | @inherit(u_1) 19 | @ext 20 | model State { 21 | @out 22 | setvalve: switchvalve2; 23 | 24 | state: switchvalve2; 25 | dhwdemand: yesno; 26 | temp: temp; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /archived/en/vaillant/errors.inc: -------------------------------------------------------------------------------- 1 | # 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 2 | # Current errors,,,,,,,,,,,,,,,, 3 | *r,,,,,,"B503","00",,,,,,,,, 4 | r,,currenterror,Current errors,,,,01,,,errors,,,,,, 5 | # Error history,,,,,,,,,,,,,,,, 6 | *r,,,,,,"B503","01",,,,,,,,, 7 | *wi,#install,,,,,"B503","02",,,,,,,,, 8 | r,,errorhistory,Error history,,,,01,index,m,UCH,,,,,,errorhistory 9 | wi,,clearerrorhistory,Clear error history,,,,01,cleared,s,yesno,,,,,, 10 | -------------------------------------------------------------------------------- /archived/en/vaillant/service.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Service message,,,,,,,,,,,,, 3 | *r,,,,,,"B503","00",,,,,, 4 | r,,currentservice,Current service message,,,,02,,,errors,,, 5 | # Service message history,,,,,,,,,,,,,,,, 6 | *r,,,,,,"B503","01",,,,,,,,, 7 | *wi,#install,,,,,"B503","02",,,,,,,,, 8 | r,,servicehistory,Service message history,,,,02,index,m,UCH,,,,,,errorhistory 9 | wi,,clearservicehistory,Clear service message history,,,,02,cleared,s,yesno,,,,,, 10 | -------------------------------------------------------------------------------- /archived/de/vaillant/errors.inc: -------------------------------------------------------------------------------- 1 | # 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 2 | # Aktuelle(r) Fehler,,,,,,,,,,,,,,,, 3 | *r,,,,,,"B503","00",,,,,,,,, 4 | r,,currenterror,Aktuelle Fehler,,,,01,,,errors,,,,,, 5 | # Fehlerhistorie,,,,,,,,,,,,,,,, 6 | *r,,,,,,"B503","01",,,,,,,,, 7 | *wi,#install,,,,,"B503","02",,,,,,,,, 8 | r,,errorhistory,Fehlerhistorie,,,,01,index,m,UCH,,,,,,errorhistory 9 | wi,,clearerrorhistory,Fehlerhistorie löschen,,,,01,cleared,s,yesno,,,,,, 10 | -------------------------------------------------------------------------------- /src/net_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | 8 | namespace Net_inc { 9 | /** default *b */ 10 | @passive 11 | @zz(BROADCAST) 12 | model b {} 13 | 14 | /** reset network state */ 15 | @inherit(b) 16 | @ext(0xff, 0) 17 | model Netresetstate {} 18 | 19 | /** reset network config */ 20 | @inherit(b) 21 | @ext(0xff, 1) 22 | model Netresetcfg {} 23 | 24 | /** network loss */ 25 | @inherit(b) 26 | @ext(0xff, 0x2) 27 | model Netloss {} 28 | } 29 | -------------------------------------------------------------------------------- /archived/de/vaillant/service.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Wartungsmeldungen,,,,,,,,,,,,, 3 | *r,,,,,,"B503","00",,,,,, 4 | r,,currentservice,Aktuelle Wartungsmeldungen,,,,02,,,errors,,, 5 | # Historie Wartungsmeldungen,,,,,,,,,,,,,,,, 6 | *r,,,,,,"B503","01",,,,,,,,, 7 | *wi,#install,,,,,"B503","02",,,,,,,,, 8 | r,,servicehistory,Historie Wartungsmeldungen,,,,02,index,m,UCH,,,,,,errorhistory 9 | wi,,clearservicehistory,Historie Wartungsmeldungen löschen,,,,02,cleared,s,yesno,,,,,, 10 | -------------------------------------------------------------------------------- /src/vaillant/bai.0010043897_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./bai.emm_inc.tsp"; 4 | import "./bai.308523_inc.tsp"; 5 | using Ebus; 6 | using Ebus.Num; 7 | using Ebus.Dtm; 8 | using Ebus.Str; 9 | namespace Vaillant; 10 | 11 | namespace Bai._0010043897_inc { 12 | // ,BAI00,ecoTEC plus 0010043897 VC 15CS/1-5 (HW 7603) combined with sensoDIRECT 0020274790 VRC710 ("EMM00") 13 | 14 | /** included parts */ 15 | union _includes { 16 | Bai._308523_inc, 17 | 18 | @conditionExt(Id.Id.id, 0x15, "='EMM00'") 19 | Bai.Emm_inc, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /archived/de/vaillant/23.ehp.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,EHP00,AMU Wärmepumpe,EHP00 172 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CC: Parameter und Informationen #####,,,,,,,,,,,,, 6 | r;w,,CirPumpED,CirculationPumpED,,,,"E601",,,UCH,,,defines the percentage of a 10 minutes period to power the pump 7 | !include,hwcmode.inc,,,,,,,,,,,, 8 | !include,timer.inc,,,,,,,,,,,, 9 | !include,iotesthp.inc,,,,,,,,,,,, 10 | !include,errors.inc,,,,,,,,,,,, 11 | -------------------------------------------------------------------------------- /archived/en/vaillant/23.ehp.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,EHP00,Heat pump AMU,EHP00 172 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CC: Parameters and information #####,,,,,,,,,,,,, 6 | r;w,,CirPumpED,CirculationPumpED,,,,"E601",,,UCH,,,defines the percentage of a 10 minutes period to power the pump 7 | !include,hwcmode.inc,,,,,,,,,,,, 8 | !include,timer.inc,,,,,,,,,,,, 9 | !include,iotesthp.inc,,,,,,,,,,,, 10 | !include,errors.inc,,,,,,,,,,,, 11 | -------------------------------------------------------------------------------- /archived/en/vaillant/yield3d43.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,yield this year,,,,"3d00:2;3d08:2;3d10:2;3d18:2;3d20:2;3d28:2;3d30:2;3d38:2;3d40:2;3d48:2;3d50:2;3d58:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,yield last year,,,,"4300:2;4308:2;4310:2;4318:2;4320:2;4328:2;4330:2;4338:2;4340:2;4348:2;4350:2;4358:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/yield3f40.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,yield this year,,,,"3f00:2;3f08:2;3f10:2;3f18:2;3f20:2;3f28:2;3f30:2;3f38:2;3f40:2;3f48:2;3f50:2;3f58:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,yield last year,,,,"4000:2;4008:2;4010:2;4018:2;4020:2;4028:2;4030:2;4038:2;4040:2;4048:2;4050:2;4058:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/yield4445.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,yield this year,,,,"4400:2;4408:2;4410:2;4418:2;4420:2;4428:2;4430:2;4438:2;4440:2;4448:2;4450:2;4458:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,yield last year,,,,"4500:2;4508:2;4510:2;4518:2;4520:2;4528:2;4530:2;4538:2;4540:2;4548:2;4550:2;4558:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/yield8485.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,yield this year,,,,"8400:2;8408:2;8410:2;8418:2;8420:2;8428:2;8430:2;8438:2;8440:2;8448:2;8450:2;8458:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,yield last year,,,,"8500:2;8508:2;8510:2;8518:2;8520:2;8528:2;8530:2;8538:2;8540:2;8548:2;8550:2;8558:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/yield3d43.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,Ertrag dieses Jahr,,,,"3d00:2;3d08:2;3d10:2;3d18:2;3d20:2;3d28:2;3d30:2;3d38:2;3d40:2;3d48:2;3d50:2;3d58:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,Ertrag letztes Jahr,,,,"4300:2;4308:2;4310:2;4318:2;4320:2;4328:2;4330:2;4338:2;4340:2;4348:2;4350:2;4358:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/yield3f40.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,Ertrag dieses Jahr,,,,"3f00:2;3f08:2;3f10:2;3f18:2;3f20:2;3f28:2;3f30:2;3f38:2;3f40:2;3f48:2;3f50:2;3f58:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,Ertrag letztes Jahr,,,,"4000:2;4008:2;4010:2;4018:2;4020:2;4028:2;4030:2;4038:2;4040:2;4048:2;4050:2;4058:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/yield4445.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,Ertrag dieses Jahr,,,,"4400:2;4408:2;4410:2;4418:2;4420:2;4428:2;4430:2;4438:2;4440:2;4448:2;4450:2;4458:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,Ertrag letztes Jahr,,,,"4500:2;4508:2;4510:2;4518:2;4520:2;4528:2;4530:2;4538:2;4540:2;4548:2;4550:2;4558:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/yield8485.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,Ertrag dieses Jahr,,,,"8400:2;8408:2;8410:2;8418:2;8420:2;8428:2;8430:2;8438:2;8440:2;8448:2;8450:2;8458:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 5 | r,,YieldLastYear,Ertrag letztes Jahr,,,,"8500:2;8508:2;8510:2;8518:2;8520:2;8528:2;8530:2;8538:2;8540:2;8548:2;8550:2;8558:2",,,energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy;energy,,, 6 | -------------------------------------------------------------------------------- /src/vaillant/quick_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Quick_inc { 10 | // MC: quick commands 11 | 12 | /** Quick - party */ 13 | @inherit(wm) 14 | @ext(0x5) 15 | model Party { 16 | value: onoff; 17 | } 18 | 19 | /** quick - hot water tank filling */ 20 | @inherit(wm) 21 | @ext(0x6) 22 | model Load { 23 | value: onoff; 24 | } 25 | 26 | /** Quick - cleaning lady */ 27 | @inherit(wm) 28 | @ext(0x7) 29 | model Save { 30 | value: TTH; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /archived/en/vaillant/yield8485r.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,yield this year,,,,"8400:2;8408:2;8410:2;8418:2;8420:2;8428:2;8430:2;8438:2;8440:2;8448:2;8450:2;8458:2",,,energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr,,, 5 | r,,YieldLastYear,yield last year,,,,"8500:2;8508:2;8510:2;8518:2;8520:2;8528:2;8530:2;8538:2;8540:2;8548:2;8550:2;8558:2",,,energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr,,, 6 | -------------------------------------------------------------------------------- /archived/de/vaillant/yield8485r.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # yield,,,,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | r9,,YieldThisYear,Ertrag dieses Jahr,,,,"8400:2;8408:2;8410:2;8418:2;8420:2;8428:2;8430:2;8438:2;8440:2;8448:2;8450:2;8458:2",,,energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr,,, 5 | r,,YieldLastYear,Ertrag letztes Jahr,,,,"8500:2;8508:2;8510:2;8518:2;8520:2;8528:2;8530:2;8538:2;8540:2;8548:2;8550:2;8558:2",,,energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr;energyr,,, 6 | -------------------------------------------------------------------------------- /archived/en/vaillant/timercc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # CC: Periods,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,ccTimer.Monday,Periods Monday,,,,0002,,,timer,,, 6 | r;w,,ccTimer.Tuesday,Periods Tuesday,,,,0102,,,timer,,, 7 | r;w,,ccTimer.Wednesday,Periods Wednesday,,,,0202,,,timer,,, 8 | r;w,,ccTimer.Thursday,Periods Thursday,,,,0302,,,timer,,, 9 | r;w,,ccTimer.Friday,Periods Friday,,,,0402,,,timer,,, 10 | r;w,,ccTimer.Saturday,Periods Saturday,,,,0502,,,timer,,, 11 | r;w,,ccTimer.Sunday,Periods Sunday,,,,0602,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/timerhc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # HC: Periods,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,hcTimer.Monday,Periods Monday,,,,0000,,,timer,,, 6 | r;w,,hcTimer.Tuesday,Periods Tuesday,,,,0100,,,timer,,, 7 | r;w,,hcTimer.Wednesday,Periods Wednesday,,,,0200,,,timer,,, 8 | r;w,,hcTimer.Thursday,Periods Thursday,,,,0300,,,timer,,, 9 | r;w,,hcTimer.Friday,Periods Friday,,,,0400,,,timer,,, 10 | r;w,,hcTimer.Saturday,Periods Saturday,,,,0500,,,timer,,, 11 | r;w,,hcTimer.Sunday,Periods Sunday,,,,0600,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/timerhwc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # DHW: Periods,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,hwcTimer.Monday,Periods Monday,,,,0001,,,timer,,, 6 | r;w,,hwcTimer.Tuesday,Periods Tuesday,,,,0101,,,timer,,, 7 | r;w,,hwcTimer.Wednesday,Periods Wednesday,,,,0201,,,timer,,, 8 | r;w,,hwcTimer.Thursday,Periods Thursday,,,,0301,,,timer,,, 9 | r;w,,hwcTimer.Friday,Periods Friday,,,,0401,,,timer,,, 10 | r;w,,hwcTimer.Saturday,Periods Saturday,,,,0501,,,timer,,, 11 | r;w,,hwcTimer.Sunday,Periods Sunday,,,,0601,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/de/vaillant/timerhc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Zeitprogramme HK,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,hcTimer.Monday,Zeitfenster Montag,,,,0000,,,timer,,, 6 | r;w,,hcTimer.Tuesday,Zeitfenster Dienstag,,,,0100,,,timer,,, 7 | r;w,,hcTimer.Wednesday,Zeitfenster Mittwoch,,,,0200,,,timer,,, 8 | r;w,,hcTimer.Thursday,Zeitfenster Donnerstag,,,,0300,,,timer,,, 9 | r;w,,hcTimer.Friday,Zeitfenster Freitag,,,,0400,,,timer,,, 10 | r;w,,hcTimer.Saturday,Zeitfenster Samstag,,,,0500,,,timer,,, 11 | r;w,,hcTimer.Sunday,Zeitfenster Sonntag,,,,0600,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/timertariff.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Periods high tariff,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,tariffTimer.Monday,Periods Monday,,,,0004,,,timer,,, 6 | r;w,,tariffTimer.Tuesday,Periods Tuesday,,,,0104,,,timer,,, 7 | r;w,,tariffTimer.Wednesday,Periods Wednesday,,,,0204,,,timer,,, 8 | r;w,,tariffTimer.Thursday,Periods Thursday,,,,0304,,,timer,,, 9 | r;w,,tariffTimer.Friday,Periods Friday,,,,0404,,,timer,,, 10 | r;w,,tariffTimer.Saturday,Periods Saturday,,,,0504,,,timer,,, 11 | r;w,,tariffTimer.Sunday,Periods Sunday,,,,0604,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/08.v3x.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,v3x00,VR39,0020139898,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *wi,#install,,,,,"B509","0E",,,,,, 6 | *ws,#service,,,,,"B509","0E",,,,,, 7 | # ##### dia level 1 #####,,,,,,,,,,,,, 8 | r,,CirPump,d.13 Circulation pump,,,,"7B00",,,onoff,,, 9 | # ##### dia level 2 #####,,,,,,,,,,,,, 10 | r;wi,,ReturnRegulation,d.17 Return regulation,,,,"0C04",,,onoff,,, 11 | r;wi,,HcPumpMode,d.18 CH pump mode,,,,"4904",,,UCH,0=post run;1=permanent;2=winter,, 12 | !include,errors.inc,,,,,,,,,,,, 13 | !include,service.inc,,,,,,,,,,,, 14 | -------------------------------------------------------------------------------- /archived/en/vaillant/timercool.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MC: Cooling periods,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,coolingTimer.Monday,Periods Monday,,,,0003,,,timer,,, 6 | r;w,,coolingTimer.Tuesday,Periods Tuesday,,,,0103,,,timer,,, 7 | r;w,,coolingTimer.Wednesday,Periods Wednesday,,,,0203,,,timer,,, 8 | r;w,,coolingTimer.Thursday,Periods Thursday,,,,0303,,,timer,,, 9 | r;w,,coolingTimer.Friday,Periods Friday,,,,0403,,,timer,,, 10 | r;w,,coolingTimer.Saturday,Periods Saturday,,,,0503,,,timer,,, 11 | r;w,,coolingTimer.Sunday,Periods Sunday,,,,0603,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/de/vaillant/broadcast.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment 2 | *b,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,, 3 | *wi,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,, 4 | b;wi,,vdatetime,Datum/Uhrzeit,,,,"00",time,,BTI,,,,date,,BDA,,,,,,,,, 5 | b,,outsidetemp,Außentemperatur,,,,"01",,,temp2,,,,,,,,,,,,,,, 6 | *b,broadcast,,,,"FE","B505",,,,,,,,,,,,,,,,,,, 7 | b,,hwcStatus,Status Warmwasser,,,,"27",,,onoff,,,,VF1,,temp0,,,,,,onoff,,, 8 | b,,load,Quick - WW Speicherladung,,,,"06",,,onoff,,,,,,,,,,,,,,, 9 | -------------------------------------------------------------------------------- /archived/de/vaillant/general.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment 2 | *r,general,,,,,"B513",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | r,,valuerange,Register Wertebereich,,,,"04",id,m,UIN,,,Registernummer,,,IGN:2,,,,cur,,UIN,,,aktueller Wert,min,,UIN,,,minimaler Wert,max,,UIN,,,maximaler Wert,def,,UIN,,,default Wert 4 | -------------------------------------------------------------------------------- /archived/de/vaillant/timercc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Zeitprogramm Zirkulationspumpe,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,ccTimer.Monday,Zeitfenster Montag,,,,0002,,,timer,,, 6 | r;w,,ccTimer.Tuesday,Zeitfenster Dienstag,,,,0102,,,timer,,, 7 | r;w,,ccTimer.Wednesday,Zeitfenster Mittwoch,,,,0202,,,timer,,, 8 | r;w,,ccTimer.Thursday,Zeitfenster Donnerstag,,,,0302,,,timer,,, 9 | r;w,,ccTimer.Friday,Zeitfenster Freitag,,,,0402,,,timer,,, 10 | r;w,,ccTimer.Saturday,Zeitfenster Samstag,,,,0502,,,timer,,, 11 | r;w,,ccTimer.Sunday,Zeitfenster Sonntag,,,,0602,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/de/vaillant/timerhwc.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Schaltzeiten Warmwasser,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,hwcTimer.Monday,Zeitfenster Montag,,,,0001,,,timer,,, 6 | r;w,,hwcTimer.Tuesday,Zeitfenster Dienstag,,,,0101,,,timer,,, 7 | r;w,,hwcTimer.Wednesday,Zeitfenster Mittwoch,,,,0201,,,timer,,, 8 | r;w,,hwcTimer.Thursday,Zeitfenster Donnerstag,,,,0301,,,timer,,, 9 | r;w,,hwcTimer.Friday,Zeitfenster Freitag,,,,0401,,,timer,,, 10 | r;w,,hwcTimer.Saturday,Zeitfenster Samstag,,,,0501,,,timer,,, 11 | r;w,,hwcTimer.Sunday,Zeitfenster Sonntag,,,,0601,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/general.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment 2 | *r,general,,,,,"B513",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | r,,valuerange,register value range,,,,"04",id,m,UIN,,,register number,,,IGN:2,,,,cur,,UIN,,,current value,min,,UIN,,,minimum value,max,,UIN,,,maximum value,def,,UIN,,,default value 4 | -------------------------------------------------------------------------------- /archived/en/vaillant/broadcast.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment 2 | *b,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,, 3 | *wi,broadcast,,,,"FE","B516",,,,,,,,,,,,,,,,,,, 4 | b;wi,,vdatetime,date/time,,,,"00",time,,BTI,,,,date,,BDA,,,,,,,,, 5 | b,,outsidetemp,outside temperature,,,,"01",,,temp2,,,,,,,,,,,,,,, 6 | *b,broadcast,,,,"FE","B505",,,,,,,,,,,,,,,,,,, 7 | b,,hwcStatus,state hot water,,,,"27",,,onoff,,,,VF1,,temp0,,,,,,onoff,,, 8 | b,,load,quick - hot water tank filling,,,,"06",,,onoff,,,,,,,,,,,,,,, 9 | -------------------------------------------------------------------------------- /src/vaillant/general.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace General { 10 | /** default *r */ 11 | @base(MF, 0x13) 12 | model r_1 {} 13 | 14 | /** register value range */ 15 | @inherit(r_1) 16 | @ext(0x4) 17 | model Valuerange { 18 | /** register number */ 19 | @out 20 | id: UIN; 21 | 22 | @maxLength(2) 23 | ign: IGN; 24 | 25 | /** current value */ 26 | cur: UIN; 27 | 28 | /** minimum value */ 29 | min: UIN; 30 | 31 | /** maximum value */ 32 | max: UIN; 33 | 34 | /** default value */ 35 | def: UIN; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /archived/en/encon/0a..co2.csv: -------------------------------------------------------------------------------- 1 | # 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/temp$ 2 | ### BRINK CO2 sensor 3 | ## 4 | ## This ebus config is based on information from https://gathering.tweakers.net/forum/list_messages/1979992 5 | ## It is untested and likely incomplete. 6 | 7 | ## Brink CO2 sensor 8 | *r,co2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 9 | *w,co2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 10 | 11 | #### SENSOR DATA #### 12 | r,,SensorValue,40a100,,,40a1,,,,UIR,,,Address,,,UIR,,,,,,UIR,,ppm,Value 13 | *w,,,,,,4080, 14 | w,,SensorUpperLimit,4080039103e8,,,,91,,,UIR,,ppm 15 | w,,SensorLowerLimit,4080039002bc,,,,90,,,UIR,,ppm 16 | -------------------------------------------------------------------------------- /archived/de/vaillant/a1.sol.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,sol00,VR 68,sol 210 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CP: Zirkulationspumpe #####,,,,,,,,,,,,, 6 | r,,CirPump,Zirkulationspumpe,,,,"0500",,,onoff,,,Zirkulationspumpe 7 | # ##### CP: CP #####,,,,,,,,,,,,, 8 | r,,OperatingMode,Betriebsart,,,,"0F00",,,mcmode,,,"Operating mode of CP circuit (1 = auto, 2 = manual, 3 = off, 4 = on)" 9 | !include,yield3f40.inc,,,,,,,,,,,, 10 | !include,hwcmode.inc,,,,,,,,,,,, 11 | !include,timer.inc,,,,,,,,,,,, 12 | !include,errors.inc,,,,,,,,,,,, 13 | !include,iotestbsol.inc,,,,,,,,,,,, 14 | -------------------------------------------------------------------------------- /archived/de/vaillant/timertariff.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Zeitprogramm Hochtarif,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,tariffTimer.Monday,Zeitfenster Montag,,,,0004,,,timer,,, 6 | r;w,,tariffTimer.Tuesday,Zeitfenster Dienstag,,,,0104,,,timer,,, 7 | r;w,,tariffTimer.Wednesday,Zeitfenster Mittwoch,,,,0204,,,timer,,, 8 | r;w,,tariffTimer.Thursday,Zeitfenster Donnerstag,,,,0304,,,timer,,, 9 | r;w,,tariffTimer.Friday,Zeitfenster Freitag,,,,0404,,,timer,,, 10 | r;w,,tariffTimer.Saturday,Zeitfenster Samstag,,,,0504,,,timer,,, 11 | r;w,,tariffTimer.Sunday,Zeitfenster Sonntag,,,,0604,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/vaillant/a1.sol.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,sol00,VR 68,sol 210 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CP: Circulation pump #####,,,,,,,,,,,,, 6 | r,,CirPump,CirculationPump,,,,"0500",,,onoff,,,Circulation Pump ZP 7 | # ##### CP: CP #####,,,,,,,,,,,,, 8 | r,,OperatingMode,OperatingMode,,,,"0F00",,,mcmode,,,"Operating mode of CP circuit (1 = auto, 2 = manual, 3 = off, 4 = on)" 9 | !include,yield3f40.inc,,,,,,,,,,,, 10 | !include,hwcmode.inc,,,,,,,,,,,, 11 | !include,timer.inc,,,,,,,,,,,, 12 | !include,errors.inc,,,,,,,,,,,, 13 | !include,iotestbsol.inc,,,,,,,,,,,, 14 | -------------------------------------------------------------------------------- /utils/precheck.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # helper for generating compiled output from `src` into `outcsv` (or the folder passed in as first argument) for checking before publishing 3 | targetdir="${1:-outcsv}" 4 | targetdir="$(realpath "$targetdir")" 5 | cd "$(dirname "$0")/.." 6 | rm -rf outcsv* 7 | npm run compile 8 | mv outcsv/@ebusd/ebus-typespec outcsv/en 9 | mv outcsv.de/@ebusd/ebus-typespec outcsv/de 10 | rm -rf outcsv/@ebusd outcsv.de 11 | find src -type l -exec ./utils/copylink.sh src \{\} outcsv/de outcsv/en \; 12 | if [[ "$(realpath outcsv)" != "$targetdir" ]]; then 13 | echo "moving folders to $targetdir" 14 | mkdir -p "$targetdir/" 15 | mv outcsv/en "$targetdir/" 16 | mv outcsv/de "$targetdir/" 17 | rm -rf outcsv 18 | fi 19 | -------------------------------------------------------------------------------- /archived/de/vaillant/timercool.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MK2: Zeitprogramm Kühlen,,,,,,,,,,,,, 3 | *r,,,,,,"B515",,,,IGN:1,,, 4 | *w,,,,,,"B515",,,,,,, 5 | r;w,,coolingTimer.Monday,Zeitfenster Montag,,,,0003,,,timer,,, 6 | r;w,,coolingTimer.Tuesday,Zeitfenster Dienstag,,,,0103,,,timer,,, 7 | r;w,,coolingTimer.Wednesday,Zeitfenster Mittwoch,,,,0203,,,timer,,, 8 | r;w,,coolingTimer.Thursday,Zeitfenster Donnerstag,,,,0303,,,timer,,, 9 | r;w,,coolingTimer.Friday,Zeitfenster Freitag,,,,0403,,,timer,,, 10 | r;w,,coolingTimer.Saturday,Zeitfenster Samstag,,,,0503,,,timer,,, 11 | r;w,,coolingTimer.Sunday,Zeitfenster Sonntag,,,,0603,,,timer,,, 12 | -------------------------------------------------------------------------------- /archived/en/memory.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment 2 | *r,memory,,,,,,,,,,,,,,,,,,,,,,,, 3 | *wi,memory#install,,,,,,,,,,,,,,,,,,,,,,,, 4 | r,,ram,read RAM data,,,0900,,address,m,UIN,,,start address,count,m,UCH,,,number of bytes,data,,HEX:*,,,data bytes 5 | wi,,ram,write RAM data,,,0901,,address,,UIN,,,start address,data,,HEX:*,,,data bytes,,,,,, 6 | r,,eeprom,read EEPROM data,,,0902,,address,m,UIN,,,start address,count,m,UCH,,,number of bytes,data,,HEX:*,,,data bytes 7 | wi,,eeprom,write EEPROM data,,,0903,,address,,UIN,,,start address,data,,HEX:*,,,data bytes,,,,,, 8 | -------------------------------------------------------------------------------- /src/vaillant/iotestbsol_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotestbsol_inc { 10 | // I/O test: solar 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | off: 0x01, 33 | col1pump: 0x02, 34 | legiopump: 0x04, 35 | ma: 0x08, 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/vaillant/iotestact_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotestact_inc { 10 | // I/O test: Actostor 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | off: 0, 33 | cirpump: 1, 34 | pump1: 2, 35 | pump2: 3, 36 | al: 4, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /archived/de/memory.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment 2 | *r,memory,,,,,,,,,,,,,,,,,,,,,,,, 3 | *wi,memory#install,,,,,,,,,,,,,,,,,,,,,,,, 4 | r,,ram,RAM Daten lesen,,,0900,,address,m,UIN,,,Startadresse,count,m,UCH,,,number of bytes,data,,HEX:*,,,Datenbytes 5 | wi,,ram,RAM Daten schreiben,,,0901,,address,,UIN,,,Startadresse,data,,HEX:*,,,Datenbytes,,,,,, 6 | r,,eeprom,EEPROM Daten lesen,,,0902,,address,m,UIN,,,Startadresse,count,m,UCH,,,number of bytes,data,,HEX:*,,,Datenbytes 7 | wi,,eeprom,EEPROM Daten schreiben,,,0903,,address,,UIN,,,Startadresse,data,,HEX:*,,,Datenbytes,,,,,, 8 | -------------------------------------------------------------------------------- /archived/de/vaillant/75.rcc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,RC C,VR 90/3,0020040079 162,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *wi,#install,,,,,"B509","0E",,,,,, 6 | # ##### remote control #####,,,,,,,,,,,,, 7 | r,,RoomTemp,Raumisttemp,,,,"0000",,,tempsensor,,,Raumtemperatur 8 | r;wi,,RoomTempOffset,Raumisttemp. Korrekturwert,,,,"1F00",,,temp,,, 9 | r,,RoomTempOffsetSelfWarming,Offset Eigenerwärmung,,,,"2000",,,temp,,, 10 | r;w,,HolidayPeriod,Ferienzeitraum,,,,"4300",,,hfrom;hto;hfrom;hto,,, 11 | r;w,,RoomTempHoliday,Raumsollwert im Ferienbetrieb,,,,"2200",,,temp,,, 12 | r;wi,,LcdContrastPwmValue,LCD Kontrast,,,,"3600",,,UCH,,,Displaykontrast 13 | -------------------------------------------------------------------------------- /src/vaillant/23.ehp.cc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./hwcmode_inc.tsp"; 4 | import "./timer_inc.tsp"; 5 | import "./iotesthp_inc.tsp"; 6 | import "./errors_inc.tsp"; 7 | using Ebus; 8 | using Ebus.Num; 9 | using Ebus.Dtm; 10 | using Ebus.Str; 11 | namespace Vaillant; 12 | 13 | // @zz(0x23) 14 | namespace Ehp.Cc { 15 | // ,EHP00,Heat pump AMU,EHP00 172 Circulation 16 | // ##### CC: Parameters and information ##### 17 | 18 | /** CirculationPumpED: defines the percentage of a 10 minutes period to power the pump */ 19 | @ext(0xe6, 1) 20 | model CirPumpED is Register; 21 | 22 | /** included parts */ 23 | union _includes { 24 | Hwcmode_inc, 25 | Timer_inc, 26 | Iotesthp_inc, 27 | Errors_inc, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/vaillant/scan.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Scan { 10 | /** default *r */ 11 | @base(MF, 0x9) 12 | model r_1 {} 13 | 14 | /** Scan ID */ 15 | @inherit(r_1) 16 | @ext(0x24) 17 | @chain(0, #[0x25], #[0x26], #[0x27]) 18 | model Id { 19 | ign: IGN; 20 | 21 | @maxLength(2) 22 | prefix: STR; 23 | 24 | @maxLength(2) 25 | year: STR; 26 | 27 | @maxLength(2) 28 | week: STR; 29 | 30 | @maxLength(10) 31 | product: STR; 32 | 33 | @maxLength(4) 34 | supplier: STR; 35 | 36 | @maxLength(6) 37 | counter: STR; 38 | 39 | @maxLength(2) 40 | suffix: STR; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /archived/en/vaillant/75.rcc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,RC C,VR 90/3,0020040079 162,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *wi,#install,,,,,"B509","0E",,,,,, 6 | # ##### remote control #####,,,,,,,,,,,,, 7 | r,,RoomTemp,RaumtemperaturIst,,,,"0000",,,tempsensor,,,room temperature 8 | r;wi,,RoomTempOffset,RaumtemperaturIstOffset,,,,"1F00",,,temp,,, 9 | r,,RoomTempOffsetSelfWarming,RaumTempOffsetEigenErwaerm,,,,"2000",,,temp,,, 10 | r;w,,HolidayPeriod,HolidayPeriod,,,,"4300",,,hfrom;hto;hfrom;hto,,, 11 | r;w,,RoomTempHoliday,RoomSetTempHoliday,,,,"2200",,,temp,,, 12 | r;wi,,LcdContrastPwmValue,LcdContrastPwmValue,,,,"3600",,,UCH,,,contrast for the display 13 | -------------------------------------------------------------------------------- /archived/en/vaillant/tempsetpoints.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Setpoints temperature 3 | *r,,,,,,"B504","19",,,IGN:1,,, 4 | *w,,,,,,"B505","2e",,,,,, 5 | r;w,,Setpoints.Monday,Temperatures Monday,,,,01,,,temp1;temp1;temp1,,, 6 | r;w,,Setpoints.Tuesday,Temperatures Tuesday,,,,02,,,temp1;temp1;temp1,,, 7 | r;w,,Setpoints.Wednesday,Temperatures Wednesday,,,,03,,,temp1;temp1;temp1,,, 8 | r;w,,Setpoints.Thursday,Temperatures Thursday,,,,04,,,temp1;temp1;temp1,,, 9 | r;w,,Setpoints.Friday,Temperatures Friday,,,,05,,,temp1;temp1;temp1,,, 10 | r;w,,Setpoints.Saturday,Temperatures Saturday,,,,06,,,temp1;temp1;temp1,,, 11 | r;w,,Setpoints.Sunday,Temperatures Sunday,,,,07,,,temp1;temp1;temp1,,, 12 | -------------------------------------------------------------------------------- /archived/de/vaillant/tempsetpoints.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # Zeitprogramme Temperatur 3 | *r,,,,,,"B504","19",,,IGN:1,,, 4 | *w,,,,,,"B505","2e",,,,,, 5 | r;w,,Setpoints.Monday,Temperaturen Montag,,,,01,,,temp1;temp1;temp1,,, 6 | r;w,,Setpoints.Tuesday,Temperaturen Dienstag,,,,02,,,temp1;temp1;temp1,,, 7 | r;w,,Setpoints.Wednesday,Temperaturen Mittwoch,,,,03,,,temp1;temp1;temp1,,, 8 | r;w,,Setpoints.Thursday,Temperaturen Donnerstag,,,,04,,,temp1;temp1;temp1,,, 9 | r;w,,Setpoints.Friday,Temperaturen Freitag,,,,05,,,temp1;temp1;temp1,,, 10 | r;w,,Setpoints.Saturday,Temperaturen Samstag,,,,06,,,temp1;temp1;temp1,,, 11 | r;w,,Setpoints.Sunday,Temperaturen Sonntag,,,,07,,,temp1;temp1;temp1,,, 12 | -------------------------------------------------------------------------------- /archived/de/vaillant/scan.csv: -------------------------------------------------------------------------------- 1 | # type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment 2 | *r,scan,,,,,B509,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | r,scan,id,Scan ID,,,,24;25;26;27,,,IGN,,,,prefix,,STR:2,,,,year,,STR:2,,,,week,,STR:2,,,,product,,STR:10,,,,supplier,,STR:4,,,,counter,,STR:6,,,,suffix,,STR:2,,, 4 | -------------------------------------------------------------------------------- /archived/en/vaillant/scan.csv: -------------------------------------------------------------------------------- 1 | # type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment 2 | *r,scan,,,,,B509,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | r,scan,id,Scan ID,,,,24;25;26;27,,,IGN,,,,prefix,,STR:2,,,,year,,STR:2,,,,week,,STR:2,,,,product,,STR:10,,,,supplier,,STR:4,,,,counter,,STR:6,,,,suffix,,STR:2,,, 4 | -------------------------------------------------------------------------------- /src/vaillant/iotestbmc_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotestbmc_inc { 10 | // I/O test: mixer 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | off_cirpump: 0x01, 33 | hcpump: 0x02, 34 | hc2mixeropen: 0x04, 35 | hc2mixerclose: 0x08, 36 | hc2pump: 0x10, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /archived/en/vaillant/25.zeo.hwc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 DHW,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### DHW: #####,,,,,,,,,,,,, 6 | r,,OperatingMode,OperatingMode,,,,"0600",,,mcmode,,,1=Ein 2=Aus 3=Auto 7 | r,,TempDesired,DesiredTemperature,,,,"0D00",,,temp1,,,1/2 °C resolution 8 | r,,CircuitDiaState,CircuitDiaState,,,,"1800",,,UCH,,, 9 | r,,CircuitsStates,CircuitsStates,,,,"1E00",,,UCH,,, 10 | r,,CleaningLady,CleaningLady,,,,"2300",,,UCH,,,"0,5h" 11 | r,,HwcLegioProtectionMaxTimer,DhwLegioProtectionMaxTimer,,,,"2D00",,,UCH,,, 12 | r,,ActualTempDesired,ActualDesiredTemp,,,,"3300",,,temp1,,,1/2°C Auflösung 13 | r,,HwcLegioTempOkTimer,DhwLegioTempOkTimer,,,,"3400",,,temp0,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | -------------------------------------------------------------------------------- /archived/de/vaillant/25.zeo.hwc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 DHW,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### DHW: #####,,,,,,,,,,,,, 6 | r,,OperatingMode,Betriebsart,,,,"0600",,,mcmode,,,1=Ein 2=Aus 3=Auto 7 | r,,TempDesired,Solltemperatur,,,,"0D00",,,temp1,,,1/2 °C resolution 8 | r,,CircuitDiaState,CircuitDiaState,,,,"1800",,,UCH,,, 9 | r,,CircuitsStates,Zustand Wärmeabnehmer,,,,"1E00",,,UCH,,, 10 | r,,CleaningLady,Sparfunktion,,,,"2300",,,UCH,,,"0,5h" 11 | r,,HwcLegioProtectionMaxTimer,Legionellenschutz max. Timer,,,,"2D00",,,UCH,,, 12 | r,,ActualTempDesired,Akt. Solltemperatur,,,,"3300",,,temp1,,,1/2°C Auflösung 13 | r,,HwcLegioTempOkTimer,Max. Rücklauftemperatur,,,,"3400",,,temp0,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | -------------------------------------------------------------------------------- /src/vaillant/timerhc_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Timerhc_inc { 10 | // HC: Periods 11 | 12 | /** Periods Monday */ 13 | @ext(0, 0) 14 | model HcTimer_Monday is Timer; 15 | 16 | /** Periods Tuesday */ 17 | @ext(1, 0) 18 | model HcTimer_Tuesday is Timer; 19 | 20 | /** Periods Wednesday */ 21 | @ext(0x2, 0) 22 | model HcTimer_Wednesday is Timer; 23 | 24 | /** Periods Thursday */ 25 | @ext(0x3, 0) 26 | model HcTimer_Thursday is Timer; 27 | 28 | /** Periods Friday */ 29 | @ext(0x4, 0) 30 | model HcTimer_Friday is Timer; 31 | 32 | /** Periods Saturday */ 33 | @ext(0x5, 0) 34 | model HcTimer_Saturday is Timer; 35 | 36 | /** Periods Sunday */ 37 | @ext(0x6, 0) 38 | model HcTimer_Sunday is Timer; 39 | } 40 | -------------------------------------------------------------------------------- /src/vaillant/iotest620_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotest620_inc { 10 | // I/O test: 620 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | valve1: 0, 33 | cirpump: 1, 34 | pump1: 2, 35 | hc2mixeropen: 3, 36 | hc2mixerclose: 4, 37 | hc2pump: 5, 38 | col1pump: 6, 39 | col2pump: 7, 40 | valve2: 8, 41 | valve3: 9, 42 | legiopump: 10, 43 | valve4: 11, 44 | c1c2: 12, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/vaillant/iotest630_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotest630_inc { 10 | // I/O test: 630 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | valve1: 0, 33 | cirpump: 1, 34 | pump1: 2, 35 | hc2mixeropen: 3, 36 | hc2mixerclose: 4, 37 | hc2pump: 5, 38 | hc3mixeropen: 6, 39 | hc3mixerclose: 7, 40 | hc3pump: 8, 41 | level1: 9, 42 | level2: 10, 43 | av: 11, 44 | c1c2: 12, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/vaillant/timerhwc_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Timerhwc_inc { 10 | // DHW: Periods 11 | 12 | /** Periods Monday */ 13 | @ext(0, 1) 14 | model HwcTimer_Monday is Timer; 15 | 16 | /** Periods Tuesday */ 17 | @ext(1, 1) 18 | model HwcTimer_Tuesday is Timer; 19 | 20 | /** Periods Wednesday */ 21 | @ext(0x2, 1) 22 | model HwcTimer_Wednesday is Timer; 23 | 24 | /** Periods Thursday */ 25 | @ext(0x3, 1) 26 | model HwcTimer_Thursday is Timer; 27 | 28 | /** Periods Friday */ 29 | @ext(0x4, 1) 30 | model HwcTimer_Friday is Timer; 31 | 32 | /** Periods Saturday */ 33 | @ext(0x5, 1) 34 | model HwcTimer_Saturday is Timer; 35 | 36 | /** Periods Sunday */ 37 | @ext(0x6, 1) 38 | model HwcTimer_Sunday is Timer; 39 | } 40 | -------------------------------------------------------------------------------- /src/vaillant/timercc_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Timercc_inc { 10 | // CC: Periods 11 | 12 | /** Periods Monday */ 13 | @ext(0, 0x2) 14 | model CcTimer_Monday is Timer; 15 | 16 | /** Periods Tuesday */ 17 | @ext(1, 0x2) 18 | model CcTimer_Tuesday is Timer; 19 | 20 | /** Periods Wednesday */ 21 | @ext(0x2, 0x2) 22 | model CcTimer_Wednesday is Timer; 23 | 24 | /** Periods Thursday */ 25 | @ext(0x3, 0x2) 26 | model CcTimer_Thursday is Timer; 27 | 28 | /** Periods Friday */ 29 | @ext(0x4, 0x2) 30 | model CcTimer_Friday is Timer; 31 | 32 | /** Periods Saturday */ 33 | @ext(0x5, 0x2) 34 | model CcTimer_Saturday is Timer; 35 | 36 | /** Periods Sunday */ 37 | @ext(0x6, 0x2) 38 | model CcTimer_Sunday is Timer; 39 | } 40 | -------------------------------------------------------------------------------- /archived/en/vaillant/23.zeo.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CC: #####,,,,,,,,,,,,, 6 | r,,OperatingMode,OperatingMode,,,,"0602",,,mcmode,,, 7 | r,,FlowTempMin,MinFlowTemp,,,,"0B02",,,temp0,,,1 °C resolution 8 | r,,FlowTempMax,MaxFlowTemp,,,,"0C02",,,temp0,,,1 °C resolution 9 | r,,TempDesired,DesiredTemperature,,,,"0D02",,,temp1,,,1/2 °C resolution 10 | r,,CircuitDiaState,CircuitDiaState,,,,"1802",,,UCH,,, 11 | r,,CircuitsStates,CircuitsStates,,,,"1E02",,,UCH,,, 12 | r,,FlowTempDesired,Flow setpoint,,,,"1F02",,,temp1,,,1/2 °C resolution 13 | r,,CleaningLady,CleaningLady,,,,"2302",,,UCH,,,"0,5h" 14 | r,,ActualTempDesired,ActualDesiredTemp,,,,"3302",,,temp1,,,1/2°C Auflösung 15 | !include,hwcmode.inc,,,,,,,,,,,, 16 | !include,timer.inc,,,,,,,,,,,, 17 | -------------------------------------------------------------------------------- /src/vaillant/iotesthp_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Iotesthp_inc { 10 | // I/O Test: heat pump 11 | 12 | /** default *wi for user level "install" */ 13 | @write 14 | @auth("install") 15 | @base(MF, 0x6) 16 | model wi_1 {} 17 | 18 | /** I/O test */ 19 | @inherit(wi_1) 20 | @ext(0x2) 21 | model Iotest { 22 | @values(Values_iotest) 23 | value: UCH; 24 | } 25 | 26 | /** stop I/O test */ 27 | @inherit(wi_1) 28 | @ext(1) 29 | model Ioteststop {} 30 | 31 | enum Values_iotest { 32 | off: 0, 33 | coolvalve: 1, 34 | sourcepump: 2, 35 | hcpump: 3, 36 | injector: 4, 37 | caseheater: 5, 38 | backup: 6, 39 | hwchcvalve: 7, 40 | cirpump: 8, 41 | sc2pump: 9, 42 | hc2pump: 10, 43 | hc2mixeropen: 11, 44 | hc2mixerclose: 12, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /archived/de/vaillant/23.solsy.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,SOLSY,auroMATIC 620/3,0020080463 163 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### Statistics #####,,,,,,,,,,,,, 6 | r,,StatPowerOn,StatPowerOn,,,,"CC00",,,UIN,,, 7 | r,,StatOperatingHours,StatOperatingHours,,,,"CD00",,,UIN,,, 8 | r,,StatMonthOfInstallation,StatMonthOfInstallation,,,,"CE00",,,UCH,,, 9 | r,,StatYearOfInstallation,StatYearOfInstallation,,,,"CF00",,,UCH,,, 10 | r,,Stat15MinBusTimeout,Stat15MinBusTimeout,,,,"D000",,,UCH,,, 11 | r,,StatRTOSErrorcode,StatRTOSErrorcode,,,,"D100",,,UIN,,, 12 | r,,StatRestarts,StatRestarts,,,,"D200",,,UIN,,, 13 | r,,StatRTOSErrorCounter,StatRTOSErrorCounter,,,,"D300",,,UIN,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | !include,iotest620.inc,,,,,,,,,,,, 17 | !include,errors.inc,,,,,,,,,,,, 18 | -------------------------------------------------------------------------------- /archived/de/vaillant/23.vr630.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,VR630,calorMATIC 630/3,0020092435 163 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### Statistics #####,,,,,,,,,,,,, 6 | r,,StatPowerOn,StatPowerOn,,,,"CC00",,,UIN,,, 7 | r,,StatOperatingHours,StatOperatingHours,,,,"CD00",,,UIN,,, 8 | r,,StatMonthOfInstallation,StatMonthOfInstallation,,,,"CE00",,,UCH,,, 9 | r,,StatYearOfInstallation,StatYearOfInstallation,,,,"CF00",,,UCH,,, 10 | r,,Stat15MinBusTimeout,Stat15MinBusTimeout,,,,"D000",,,UCH,,, 11 | r,,StatRTOSErrorcode,StatRTOSErrorcode,,,,"D100",,,UIN,,, 12 | r,,StatRestarts,StatRestarts,,,,"D200",,,UIN,,, 13 | r,,StatRTOSErrorCounter,StatRTOSErrorCounter,,,,"D300",,,UIN,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | !include,iotest630.inc,,,,,,,,,,,, 17 | !include,errors.inc,,,,,,,,,,,, 18 | -------------------------------------------------------------------------------- /archived/en/vaillant/23.solsy.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,SOLSY,auroMATIC 620/3,0020080463 163 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### Statistics #####,,,,,,,,,,,,, 6 | r,,StatPowerOn,StatPowerOn,,,,"CC00",,,UIN,,, 7 | r,,StatOperatingHours,StatOperatingHours,,,,"CD00",,,UIN,,, 8 | r,,StatMonthOfInstallation,StatMonthOfInstallation,,,,"CE00",,,UCH,,, 9 | r,,StatYearOfInstallation,StatYearOfInstallation,,,,"CF00",,,UCH,,, 10 | r,,Stat15MinBusTimeout,Stat15MinBusTimeout,,,,"D000",,,UCH,,, 11 | r,,StatRTOSErrorcode,StatRTOSErrorcode,,,,"D100",,,UIN,,, 12 | r,,StatRestarts,StatRestarts,,,,"D200",,,UIN,,, 13 | r,,StatRTOSErrorCounter,StatRTOSErrorCounter,,,,"D300",,,UIN,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | !include,iotest620.inc,,,,,,,,,,,, 17 | !include,errors.inc,,,,,,,,,,,, 18 | -------------------------------------------------------------------------------- /archived/en/vaillant/23.vr630.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,VR630,calorMATIC 630/3,0020092435 163 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### Statistics #####,,,,,,,,,,,,, 6 | r,,StatPowerOn,StatPowerOn,,,,"CC00",,,UIN,,, 7 | r,,StatOperatingHours,StatOperatingHours,,,,"CD00",,,UIN,,, 8 | r,,StatMonthOfInstallation,StatMonthOfInstallation,,,,"CE00",,,UCH,,, 9 | r,,StatYearOfInstallation,StatYearOfInstallation,,,,"CF00",,,UCH,,, 10 | r,,Stat15MinBusTimeout,Stat15MinBusTimeout,,,,"D000",,,UCH,,, 11 | r,,StatRTOSErrorcode,StatRTOSErrorcode,,,,"D100",,,UIN,,, 12 | r,,StatRestarts,StatRestarts,,,,"D200",,,UIN,,, 13 | r,,StatRTOSErrorCounter,StatRTOSErrorCounter,,,,"D300",,,UIN,,, 14 | !include,hwcmode.inc,,,,,,,,,,,, 15 | !include,timer.inc,,,,,,,,,,,, 16 | !include,iotest630.inc,,,,,,,,,,,, 17 | !include,errors.inc,,,,,,,,,,,, 18 | -------------------------------------------------------------------------------- /archived/de/vaillant/hwcmode.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # DHW/CC: Betriebsart,,,,,,,,,,,,, 3 | *r,,,,,,"B504",,,,,,, 4 | *w,,,,,,"B505",,,,,,, 5 | r,,DateTime,Datum Uhrzeit,,,,00,,,dcfstate;btime;bdate;temp2,,, 6 | r,,Mode,Betriebsart/Temperatur,,,,01,,,temp0;hwcmode;IGN:2;hwcmode;mctype7;HEX;daynight,,, 7 | w,,SetTempDesired,Solltemperatur setzen,,,,01,,,temp0,,, 8 | w,,SetMode,Betriebsart setzen,,,,02,,,hwcmode,,, 9 | w,,SetFlowTempMin,Minimalen Vorlaufsollwert setzen,,,,0e,,,temp0,,, 10 | w,,SetFlowTempMax,Maximalen Vorlaufsollwert setzen,,,,0f,,,temp0,,, 11 | r,,Params,Parameter,,,,09,,,temp0;IGN:3;mctype7;temps;IGN;temps;temps;IGN,,, 12 | r,,Status0a,Status Vorlauf Ist/Mixer/Pumpe/Vorlauf Soll,,,,0A,,,temp:flowtemp;mixer;onoff:pump;onoff;temp0:flowtempdesired 13 | r,,Status,Soll/Status/Ist/Soll,,,,0D,,,temp0;onoff;temp;temp0,,, 14 | r,,Status16,Aussentemperatur,,,,16,,,temp,,, 15 | -------------------------------------------------------------------------------- /archived/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "csv2tsp": "tsx ./utils/src/index.ts -i ^tem/ -I '^\\['", 4 | "csv2tsp-combine": "tsx ./utils/src/index.ts -b ./de -L de -m outtsp/i18n.yaml -p src/i18n.yaml -s outtsp -o outtsp.de -I '^\\['", 5 | "csv2tsp-extra": "tsx ./utils/src/index.ts -n -b ./en -m outtsp/i18n.yaml -s outtsp -o outtsp -I '^\\[' ./en/tem/*", 6 | "maintsp": "find outtsp/ -name '*.tsp' -not -type l|grep -Ev 'main.tsp|_templates.tsp'|sort|grep -v '_inc.'|sed -e 's#outtsp/##' -e 's#^#import \"./#' -e 's#$#\";#' > outtsp/main.tsp", 7 | "format": "npx tsp format outtsp/*.tsp outtsp/**/*.tsp outtsp.de/*.tsp outtsp.de/**/*.tsp", 8 | "lint": "npx tsp compile outtsp/main.tsp --import @typespec/library-linter --emit @ebusd/ebus-typespec --no-emit", 9 | "csvall": "./csvall.sh" 10 | }, 11 | "devDependencies": { 12 | "@types/js-yaml": "^4.0.9", 13 | "csv-parser": "^3.2.0", 14 | "js-yaml": "^4.1.0", 15 | "tsx": "^4.20.6" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /archived/de/vaillant/23.zeo.cc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Circulation,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | # ##### CC: #####,,,,,,,,,,,,, 6 | r,,OperatingMode,Betriebsart,,,,"0602",,,mcmode,,, 7 | r,,FlowTempMin,Min. Vorlauftemp.,,,,"0B02",,,temp0,,,1 °C resolution 8 | r,,FlowTempMax,Max. Vorlauftemp.,,,,"0C02",,,temp0,,,1 °C resolution 9 | r,,TempDesired,Solltemperatur,,,,"0D02",,,temp1,,,1/2 °C resolution 10 | r,,CircuitDiaState,CircuitDiaState,,,,"1802",,,UCH,,, 11 | r,,CircuitsStates,Zustand Wärmeabnehmer,,,,"1E02",,,UCH,,, 12 | r,,FlowTempDesired,Vorlaufsolltemperatur,,,,"1F02",,,temp1,,,1/2 °C resolution 13 | r,,CleaningLady,Sparfunktion,,,,"2302",,,UCH,,,"0,5h" 14 | r,,ActualTempDesired,Akt. Solltemperatur,,,,"3302",,,temp1,,,1/2°C Auflösung 15 | !include,hwcmode.inc,,,,,,,,,,,, 16 | !include,timer.inc,,,,,,,,,,,, 17 | -------------------------------------------------------------------------------- /src/vaillant/a1.sol.cc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./yield3f40_inc.tsp"; 4 | import "./hwcmode_inc.tsp"; 5 | import "./timer_inc.tsp"; 6 | import "./errors_inc.tsp"; 7 | import "./iotestbsol_inc.tsp"; 8 | using Ebus; 9 | using Ebus.Num; 10 | using Ebus.Dtm; 11 | using Ebus.Str; 12 | namespace Vaillant; 13 | 14 | // @zz(0xa1) 15 | namespace Sol.Cc { 16 | // ,sol00,VR 68,sol 210 Circulation 17 | // ##### CP: Circulation pump ##### 18 | 19 | /** CirculationPump: Circulation Pump ZP */ 20 | @ext(0x5, 0) 21 | model CirPump is ReadonlyRegister; 22 | // ##### CP: CP ##### 23 | 24 | /** OperatingMode: Operating mode of CP circuit (1 = auto, 2 = manual, 3 = off, 4 = on) */ 25 | @ext(0xf, 0) 26 | model OperatingMode is ReadonlyRegister; 27 | 28 | /** included parts */ 29 | union _includes { 30 | Yield3f40_inc, 31 | Hwcmode_inc, 32 | Timer_inc, 33 | Errors_inc, 34 | Iotestbsol_inc, 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | 8 | namespace Broadcast { 9 | /** default *b */ 10 | @passive 11 | @zz(BROADCAST) 12 | model b {} 13 | 14 | /** default *w */ 15 | @write 16 | @zz(BROADCAST) 17 | model w {} 18 | 19 | /** date/time */ 20 | @inherit(b) 21 | @ext(0x7, 0) 22 | model Datetime { 23 | outsidetemp: temp2; 24 | time: btime; 25 | date: bdate; 26 | } 27 | 28 | model Id is Ebus.Id.Id; 29 | model IdQuery is Ebus.Id.IdQuery; 30 | model IdAnswer is Ebus.Id.IdAnswer; 31 | 32 | /** Inquiry of existence */ 33 | @inherit(w) 34 | @ext(0x7, 0xfe) 35 | model Queryexistence {} 36 | 37 | /** sign of life */ 38 | @inherit(b) 39 | @ext(0x7, 0xff) 40 | model Signoflife {} 41 | 42 | /** error message */ 43 | @inherit(b) 44 | @ext(0xfe, 1) 45 | model Error { 46 | @maxLength(10) 47 | error: STR; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /archived/en/vaillant/hwcmode.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # HWC/CC: Operation mode,,,,,,,,,,,,, 3 | *r,,,,,,"B504",,,,,,, 4 | *w,,,,,,"B505",,,,,,, 5 | r,,DateTime,Date time,,,,00,,,dcfstate;btime;bdate;temp2,,, 6 | r,,Mode,Operation mode,,,,01,,,temp0;hwcmode;IGN:2;hwcmode;mctype7;HEX;daynight,,, 7 | w,,SetTempDesired,Set desired temperature,,,,01,,,temp0,,, 8 | w,,SetMode,Set operation mode,,,,02,,,hwcmode,,, 9 | w,,SetFlowTempMin,Set min flow temperature,,,,0e,,,temp0,,, 10 | w,,SetFlowTempMax,Set max flow temperature,,,,0f,,,temp0,,, 11 | r,,Params,Parameters,,,,09,,,temp0;IGN:3;mctype7;temps;IGN;temps;temps;IGN,,, 12 | r,,Status0a,Status flow temperature/mixer/pump/desired flow temperature,,,,0A,,,temp:flowtemp;mixer;onoff:pump;onoff;temp0:flowtempdesired 13 | r,,Status,Desired flow/status/flow/desired temperature,,,,0D,,,temp0;onoff;temp;temp0,,, 14 | r,,Status16,Outside temperature,,,,16,,,temp,,, 15 | -------------------------------------------------------------------------------- /archived/en/vaillant/timer.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # CC/DHW: Periods,,,,,,,,,,,,, 3 | *r,,,,,,"B504","02",,,,,, 4 | *w,,,,,,"B505","0901",,,,,, 5 | r;w,,Timer.Monday,Periods Monday,,,,,,,timer,,, 6 | *r,,,,,,"B504","03",,,,,, 7 | *w,,,,,,"B505","0902",,,,,, 8 | r;w,,Timer.Tuesday,Periods Tuesday,,,,,,,timer,,, 9 | *r,,,,,,"B504","04",,,,,, 10 | *w,,,,,,"B505","0903",,,,,, 11 | r;w,,Timer.Wednesday,Periods Wednesday,,,,,,,timer,,, 12 | *r,,,,,,"B504","05",,,,,, 13 | *w,,,,,,"B505","0904",,,,,, 14 | r;w,,Timer.Thursday,Periods Thursday,,,,,,,timer,,, 15 | *r,,,,,,"B504","06",,,,,, 16 | *w,,,,,,"B505","0905",,,,,, 17 | r;w,,Timer.Friday,Periods Friday,,,,,,,timer,,, 18 | *r,,,,,,"B504","07",,,,,, 19 | *w,,,,,,"B505","0906",,,,,, 20 | r;w,,Timer.Saturday,Periods Saturday,,,,,,,timer,,, 21 | *r,,,,,,"B504","08",,,,,, 22 | *w,,,,,,"B505","0907",,,,,, 23 | r;w,,Timer.Sunday,Periods Sunday,,,,,,,timer,,, 24 | -------------------------------------------------------------------------------- /src/vaillant/timertariff_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Timertariff_inc { 10 | // Periods high tariff 11 | 12 | /** Periods Monday */ 13 | @ext(0, 0x4) 14 | model TariffTimer_Monday is Timer; 15 | 16 | /** Periods Tuesday */ 17 | @ext(1, 0x4) 18 | model TariffTimer_Tuesday is Timer; 19 | 20 | /** Periods Wednesday */ 21 | @ext(0x2, 0x4) 22 | model TariffTimer_Wednesday is Timer; 23 | 24 | /** Periods Thursday */ 25 | @ext(0x3, 0x4) 26 | model TariffTimer_Thursday is Timer; 27 | 28 | /** Periods Friday */ 29 | @ext(0x4, 0x4) 30 | model TariffTimer_Friday is Timer; 31 | 32 | /** Periods Saturday */ 33 | @ext(0x5, 0x4) 34 | model TariffTimer_Saturday is Timer; 35 | 36 | /** Periods Sunday */ 37 | @ext(0x6, 0x4) 38 | model TariffTimer_Sunday is Timer; 39 | } 40 | -------------------------------------------------------------------------------- /src/vaillant/timercool_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Timercool_inc { 10 | // MC: Cooling periods 11 | 12 | /** Periods Monday */ 13 | @ext(0, 0x3) 14 | model CoolingTimer_Monday is Timer; 15 | 16 | /** Periods Tuesday */ 17 | @ext(1, 0x3) 18 | model CoolingTimer_Tuesday is Timer; 19 | 20 | /** Periods Wednesday */ 21 | @ext(0x2, 0x3) 22 | model CoolingTimer_Wednesday is Timer; 23 | 24 | /** Periods Thursday */ 25 | @ext(0x3, 0x3) 26 | model CoolingTimer_Thursday is Timer; 27 | 28 | /** Periods Friday */ 29 | @ext(0x4, 0x3) 30 | model CoolingTimer_Friday is Timer; 31 | 32 | /** Periods Saturday */ 33 | @ext(0x5, 0x3) 34 | model CoolingTimer_Saturday is Timer; 35 | 36 | /** Periods Sunday */ 37 | @ext(0x6, 0x3) 38 | model CoolingTimer_Sunday is Timer; 39 | } 40 | -------------------------------------------------------------------------------- /archived/en/vaillant/15.160.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,35000,VTS 160,173 173,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *wi,#install,,,,,"B509","0E",,,,,, 6 | *ws,#service,,,,,"B509","0E",,,,,, 7 | *[SW],scan,,,SW,,,,,,,,, 8 | r;w,,Date,System Date,,,,"6100",,,date,,,current date 9 | r;w,,Time,System Time,,,,"6000",,,time,,,current time 10 | r;w,,SystemOnOff,System OnOFF,,,,"0100",,,UCH,0=on;1=off,, 11 | r;w,,OperatingMode,Operation mode,,,,"2F00",,,UCH,2=Auto;3=Comfort,, 12 | r;w,,OverrideMode,Override mode,,,,"5D00",,,UCH,0=None;1=Party;4=Holiday,, 13 | r;w,,HolidayStartPeriod,HolidayStartPeriod,,,,"1100",,,date,,,start date of holiday 14 | r;w,,HolidayEndPeriod,HolidayEndPeriod,,,,"1200",,,date,,,end date of holiday 15 | r;w,,LcdContrastValue,LcdContrastValue,,,,"5A00",,,UCH,,,setting of the LCD contrast 16 | !include,timerhwc.inc,,,,,,,,,,,, 17 | !include,timerhc.inc,,,,,,,,,,,, -------------------------------------------------------------------------------- /archived/de/vaillant/15.160.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,35000,VTS 160,173 173,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *wi,#install,,,,,"B509","0E",,,,,, 6 | *ws,#service,,,,,"B509","0E",,,,,, 7 | *[SW],scan,,,SW,,,,,,,,, 8 | r;w,,Date,System Date,,,,"6100",,,date,,,Aktuelles Datum 9 | r;w,,Time,System Time,,,,"6000",,,time,,,Aktuelle Uhrzeit 10 | r;w,,SystemOnOff,System OnOFF,,,,"0100",,,UCH,0=on;1=off,, 11 | r;w,,OperatingMode,Betriebsmodus,,,,"2F00",,,UCH,2=Auto;3=Comfort,, 12 | r;w,,OverrideMode,Override-Modus,,,,"5D00",,,UCH,0=None;1=Party;4=Holiday,, 13 | r;w,,HolidayStartPeriod,Urlaub Startdatum,,,,"1100",,,date,,,Beginn des Urlaubs 14 | r;w,,HolidayEndPeriod,Urlaub Enddatum,,,,"1200",,,date,,,Enddatum des Urlaubs 15 | r;w,,LcdContrastValue,Display Kontrastwert,,,,"5A00",,,UCH,,,Einstellung des LCD-Kontrasts 16 | !include,timerhwc.inc,,,,,,,,,,,, 17 | !include,timerhc.inc,,,,,,,,,,,, -------------------------------------------------------------------------------- /archived/en/vaillant/76.vwz.csv: -------------------------------------------------------------------------------- 1 | # 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 2 | # additions from PR 330 for HMU;0901;5103 / VWZ;0522;5103 3 | # Test menus on VWZ. EnableTest message needs to be sent before each of the read messages work. 4 | *rs,#service,,,,,"B514",05,,,IGN:2,,,,,,,,,,,,,,,,,,,,, 5 | *ws,#service,,,,,"B514",05,ignore,,HEX:3,="03FFFF",,,,,,,,,,,,,,,,,,,, 6 | ws,,EnableTestThreeWayValve,enable test 3 way valve,,,,02 7 | rs,,TestThreeWayValve,3 way valve,,,,02,,,UCH,0=heating;1=dhw,, 8 | ws,,EnableTestHwcTemp,enable test hwc temperature,,,,2c 9 | rs,,TestHwcTemp,hwc temperature,,,,2C,,,temps2,10,°C, 10 | ws,,EnableTestOutdoorTemp,enable test outdoor temperature,,,, 11 | rs,,TestOutdoorTemp,outdoor temperature,,,,45,,,temps2,10,°C, 12 | -------------------------------------------------------------------------------- /src/vaillant/08.v3x.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./errors_inc.tsp"; 4 | import "./service_inc.tsp"; 5 | using Ebus; 6 | using Ebus.Num; 7 | using Ebus.Dtm; 8 | using Ebus.Str; 9 | namespace Vaillant; 10 | 11 | // @zz(0x08) 12 | namespace V3x { 13 | // ,v3x00,VR39,0020139898 14 | // ##### dia level 1 ##### 15 | 16 | /** d.13 Circulation pump */ 17 | @ext(0x7b, 0) 18 | model CirPump is ReadonlyRegister; 19 | // ##### dia level 2 ##### 20 | 21 | /** d.17 Return regulation */ 22 | @ext(0xc, 0x4) 23 | model ReturnRegulation is InstallRegister; 24 | 25 | /** d.18 CH pump mode */ 26 | @inherit(r, wi) 27 | @ext(0x49, 0x4) 28 | model HcPumpMode { 29 | @values(Values_HcPumpMode) 30 | value: UCH; 31 | } 32 | 33 | enum Values_HcPumpMode { 34 | post_run: 0, 35 | permanent: 1, 36 | winter: 2, 37 | } 38 | 39 | /** included parts */ 40 | union _includes { 41 | Errors_inc, 42 | Service_inc, 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/vaillant/errors_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Errors_inc { 10 | // Current errors 11 | 12 | /** default *r */ 13 | @base(MF, 0x3, 0) 14 | model r_1 {} 15 | 16 | /** Current errors */ 17 | @inherit(r_1) 18 | @ext(1) 19 | model Currenterror { 20 | value: errors; 21 | } 22 | // Error history 23 | 24 | /** default *r */ 25 | @base(MF, 0x3, 1) 26 | model r_2 {} 27 | 28 | /** default *wi for user level "install" */ 29 | @write 30 | @auth("install") 31 | @base(MF, 0x3, 0x2) 32 | model wi_1 {} 33 | 34 | /** Error_History */ 35 | @inherit(r_2) 36 | @ext(1) 37 | model Errorhistory { 38 | @out 39 | index: UCH; 40 | 41 | errorhistory: errorhistory; 42 | } 43 | 44 | /** Clear error history */ 45 | @inherit(wi_1) 46 | @ext(1) 47 | model Clearerrorhistory { 48 | @in 49 | cleared: yesno; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /archived/de/encon/_templates.csv: -------------------------------------------------------------------------------- 1 | # template name,type / templates,divider / values,unit,comment 2 | days,UIR,,days,Tage 3 | hours5,UIR,-5,h,Stunden 4 | onoff,UIR,0=off;1=on,, 5 | yesno,UIR,0=no;1=yes,, 6 | temp10,SIR,10,°C, 7 | volume,UIR,-1000,m³ 8 | speed,UIR,,m³/h 9 | sspeed,SIR,,m³/h 10 | percentr,UIR,,%, 11 | heaterstatus,UIR,0=Initializing;1=Off;2=On,, 12 | sensorstate,UIR,0=Error;1=NotInitialized;2=Idle;3=WarmingUp;4=Running;5=Calibrating;6=SelfTest 13 | position,UIR,0=0;1=1;2=2;3=3,, 14 | autocloseopen,UIR,0=Auto;1=Closed;2=Open, 15 | voltage,SIR,10,V, 16 | onoffbypass,UIR,0=off;1=on;2=on if bypass open condition satisfied;3=bypass control;4=Bedroom valve, 17 | fanmode,UIR,0=FanOff;1=Minimal flow 50m³/h;2=FanMode1;3=FanMode2;4=FanMode3;5=ManualSwitch;6=MaximalFlow;7=FanNotActive, 18 | inputmode,UIR,0=Normally Closed;1=0-10V input;2=Normally Open;3=12V Bypass Open/0V Bypass Closed;4=0V Bypass Open/12V Bypass Closed,, 19 | baud,UIR,0=1k2;1=2k4;2=4k8;3=9k6;4=19k2;5=38k4;6=56k;7=115k,baud, 20 | parity,UIR,0=None;1=Even;2=Odd;3=Unknown,, 21 | -------------------------------------------------------------------------------- /archived/de/vaillant/timer.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # DHW: Zeitprogramme DHW,,,,,,,,,,,,, 3 | *r,,,,,,"B504","02",,,,,, 4 | *w,,,,,,"B505","0901",,,,,, 5 | r;w,,Timer.Monday,Zeitfenster Montag,,,,,,,timer,,, 6 | *r,,,,,,"B504","03",,,,,, 7 | *w,,,,,,"B505","0902",,,,,, 8 | r;w,,Timer.Tuesday,Zeitfenster Dienstag,,,,,,,timer,,, 9 | *r,,,,,,"B504","04",,,,,, 10 | *w,,,,,,"B505","0903",,,,,, 11 | r;w,,Timer.Wednesday,Zeitfenster Mittwoch,,,,,,,timer,,, 12 | *r,,,,,,"B504","05",,,,,, 13 | *w,,,,,,"B505","0904",,,,,, 14 | r;w,,Timer.Thursday,Zeitfenster Donnerstag,,,,,,,timer,,, 15 | *r,,,,,,"B504","06",,,,,, 16 | *w,,,,,,"B505","0905",,,,,, 17 | r;w,,Timer.Friday,Zeitfenster Freitag,,,,,,,timer,,, 18 | *r,,,,,,"B504","07",,,,,, 19 | *w,,,,,,"B505","0906",,,,,, 20 | r;w,,Timer.Saturday,Zeitfenster Samstag,,,,,,,timer,,, 21 | *r,,,,,,"B504","08",,,,,, 22 | *w,,,,,,"B505","0907",,,,,, 23 | r;w,,Timer.Sunday,Zeitfenster Sonntag,,,,,,,timer,,, 24 | -------------------------------------------------------------------------------- /archived/en/encon/_templates.csv: -------------------------------------------------------------------------------- 1 | # template name,type / templates,divider / values,unit,comment 2 | days,UIR,,days,days 3 | hours5,UIR,-5,h,hours 4 | onoff,UIR,0=off;1=on,, 5 | yesno,UIR,0=no;1=yes,, 6 | temp10,SIR,10,°C, 7 | volume,UIR,-1000,m³ 8 | speed,UIR,,m³/h 9 | sspeed,SIR,,m³/h 10 | percentr,UIR,,%, 11 | heaterstatus,UIR,0=Initializing;1=Off;2=On,, 12 | sensorstate,UIR,0=Error;1=NotInitialized;2=Idle;3=WarmingUp;4=Running;5=Calibrating;6=SelfTest 13 | position,UIR,0=_0;1=_1;2=_2;3=_3,, 14 | autocloseopen,UIR,0=Auto;1=Closed;2=Open, 15 | voltage,SIR,10,V, 16 | onoffbypass,UIR,0=off;1=on;2=on if bypass open condition satisfied;3=bypass control;4=Bedroom valve, 17 | fanmode,UIR,0=FanOff;1=Minimal flow 50m³/h;2=FanMode1;3=FanMode2;4=FanMode3;5=ManualSwitch;6=MaximalFlow;7=FanNotActive, 18 | inputmode,UIR,0=Normally Closed;1=0-10V input;2=Normally Open;3=12V Bypass Open/0V Bypass Closed;4=0V Bypass Open/12V Bypass Closed,, 19 | baud,UIR,0=1k2;1=2k4;2=4k8;3=9k6;4=19k2;5=38k4;6=56k;7=115k,baud, 20 | parity,UIR,0=None;1=Even;2=Odd;3=Unknown,, 21 | -------------------------------------------------------------------------------- /archived/normalized/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | 8 | namespace Broadcast { 9 | /** default *r */ 10 | model r {} 11 | 12 | /** default *b */ 13 | @passive 14 | @zz(BROADCAST) 15 | model b {} 16 | 17 | /** default *w */ 18 | @write 19 | @zz(BROADCAST) 20 | model w {} 21 | 22 | /** date/time */ 23 | @inherit(b) 24 | @ext(0x7, 0) 25 | model Datetime { 26 | outsidetemp: temp2; 27 | time: btime; 28 | date: bdate; 29 | } 30 | 31 | model Id is Ebus.Id.Id; 32 | model IdQuery is Ebus.Id.IdQuery; 33 | model IdAnswer is Ebus.Id.IdAnswer; 34 | 35 | /** Inquiry of existence */ 36 | @inherit(w) 37 | @ext(0x7, 0xfe) 38 | model Queryexistence {} 39 | 40 | /** sign of life */ 41 | @inherit(b) 42 | @ext(0x7, 0xff) 43 | model Signoflife {} 44 | 45 | /** error message */ 46 | @inherit(b) 47 | @ext(0xfe, 1) 48 | model Error { 49 | @maxLength(10) 50 | error: STR; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | // For format details, see https://aka.ms/devcontainer.json. For config options, see the 2 | // README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu 3 | { 4 | // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile 5 | "image": "mcr.microsoft.com/devcontainers/universal:2", 6 | 7 | // Features to add to the dev container. More info: https://containers.dev/features. 8 | // "features": {}, 9 | 10 | // Use 'forwardPorts' to make a list of ports inside the container available locally. 11 | // "forwardPorts": [], 12 | 13 | // Use 'postCreateCommand' to run commands after the container is created. 14 | // "postCreateCommand": "uname -a", 15 | 16 | // Configure tool-specific properties. 17 | "customizations": { 18 | "vscode": { 19 | "extensions": [ 20 | "typespec.typespec-vscode", 21 | "ebusd.ebus-notebook" 22 | ] 23 | } 24 | } 25 | 26 | // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. 27 | // "remoteUser": "root" 28 | } 29 | -------------------------------------------------------------------------------- /src/vaillant/service_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Service_inc { 10 | // Service message 11 | 12 | /** default *r */ 13 | @base(MF, 0x3, 0) 14 | model r_1 {} 15 | 16 | /** Current service message */ 17 | @inherit(r_1) 18 | @ext(0x2) 19 | model Currentservice { 20 | value: errors; 21 | } 22 | // Service message history 23 | 24 | /** default *r */ 25 | @base(MF, 0x3, 1) 26 | model r_2 {} 27 | 28 | /** default *wi for user level "install" */ 29 | @write 30 | @auth("install") 31 | @base(MF, 0x3, 0x2) 32 | model wi_1 {} 33 | 34 | /** Service message history */ 35 | @inherit(r_2) 36 | @ext(0x2) 37 | model Servicehistory { 38 | @out 39 | index: UCH; 40 | 41 | errorhistory: errorhistory; 42 | } 43 | 44 | /** Clear service message history */ 45 | @inherit(wi_1) 46 | @ext(0x2) 47 | model Clearservicehistory { 48 | @in 49 | cleared: yesno; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/vaillant/broadcast.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Broadcast { 10 | /** default *b */ 11 | @passive 12 | @zz(BROADCAST) 13 | @base(MF, 0x16) 14 | model b {} 15 | 16 | /** default *wi */ 17 | @write 18 | @zz(BROADCAST) 19 | @base(MF, 0x16) 20 | model wi_1 {} 21 | 22 | /** date/time */ 23 | @inherit(b, wi_1) 24 | @ext(0) 25 | model Vdatetime { 26 | time: BTI; 27 | date: BDA; 28 | } 29 | 30 | /** outside temperature */ 31 | @inherit(b) 32 | @ext(1) 33 | model Outsidetemp { 34 | value: temp2; 35 | } 36 | 37 | /** default *b */ 38 | @passive 39 | @zz(BROADCAST) 40 | @base(MF, 0x5) 41 | model b_1 {} 42 | 43 | /** state hot water */ 44 | @inherit(b_1) 45 | @ext(0x27) 46 | model HwcStatus { 47 | onoff: onoff; 48 | vf1: temp0; 49 | onoff_1: onoff; 50 | } 51 | 52 | /** quick - hot water tank filling */ 53 | @inherit(b_1) 54 | @ext(0x6) 55 | model Load { 56 | value: onoff; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/vaillant/75.rcc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | // @zz(0x75) 10 | namespace Rcc { 11 | // ,RC C,VR 90/3,0020040079 162 12 | // ##### remote control ##### 13 | 14 | /** RaumtemperaturIst: room temperature */ 15 | @ext(0, 0) 16 | model RoomTemp is ReadonlyRegister; 17 | 18 | /** RaumtemperaturIstOffset */ 19 | @ext(0x1f, 0) 20 | model RoomTempOffset is InstallRegister; 21 | 22 | /** RaumTempOffsetEigenErwaerm */ 23 | @ext(0x20, 0) 24 | model RoomTempOffsetSelfWarming is ReadonlyRegister; 25 | 26 | /** HolidayPeriod */ 27 | @inherit(r, w) 28 | @ext(0x43, 0) 29 | model HolidayPeriod { 30 | hfrom: hfrom; 31 | hto: hto; 32 | hfrom_1: hfrom; 33 | hto_1: hto; 34 | } 35 | 36 | /** RoomSetTempHoliday */ 37 | @ext(0x22, 0) 38 | model RoomTempHoliday is Register; 39 | 40 | /** LcdContrastPwmValue: contrast for the display */ 41 | @ext(0x36, 0) 42 | model LcdContrastPwmValue is InstallRegister; 43 | } 44 | -------------------------------------------------------------------------------- /src/memory.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | 8 | namespace Memory { 9 | /** default *r */ 10 | @base(0x9, 0) 11 | model r {} 12 | 13 | /** default *wi for user level "install" */ 14 | @write 15 | @auth("install") 16 | @base(0x9, 1) 17 | model wi {} 18 | 19 | /** RAM data */ 20 | @inherit(r, wi) 21 | @ext 22 | model Ram { 23 | /** start address */ 24 | @out 25 | address: UIN; 26 | 27 | /** number of bytes */ 28 | @out 29 | count?: UCH; 30 | 31 | /** data bytes */ 32 | data: HEX; 33 | } 34 | 35 | /** default *r */ 36 | @base(0x9, 2) 37 | model r_1 {} 38 | 39 | /** default *wi for user level "install" */ 40 | @write 41 | @auth("install") 42 | @base(0x9, 3) 43 | model wi_1 {} 44 | 45 | /** EEPROM data */ 46 | @inherit(r_1, wi_1) 47 | @ext 48 | model Eeprom { 49 | /** start address */ 50 | @out 51 | address: UIN; 52 | 53 | /** number of bytes */ 54 | @out 55 | count?: UCH; 56 | 57 | /** data bytes */ 58 | data: HEX; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /archived/normalized/memory.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | 8 | namespace Memory { 9 | /** default *r */ 10 | @base(0x9, 0) 11 | model r {} 12 | 13 | /** default *wi for user level "install" */ 14 | @write 15 | @auth("install") 16 | @base(0x9, 1) 17 | model wi {} 18 | 19 | /** RAM data */ 20 | @inherit(r, wi) 21 | @ext 22 | model Ram { 23 | /** start address */ 24 | @out 25 | address: UIN; 26 | 27 | /** number of bytes */ 28 | @out 29 | count?: UCH; 30 | 31 | /** data bytes */ 32 | data: HEX; 33 | } 34 | 35 | /** default *r */ 36 | @base(0x9, 2) 37 | model r_1 {} 38 | 39 | /** default *wi for user level "install" */ 40 | @write 41 | @auth("install") 42 | @base(0x9, 3) 43 | model wi_1 {} 44 | 45 | /** EEPROM data */ 46 | @inherit(r_1, wi_1) 47 | @ext 48 | model Eeprom { 49 | /** start address */ 50 | @out 51 | address: UIN; 52 | 53 | /** number of bytes */ 54 | @out 55 | count?: UCH; 56 | 57 | /** data bytes */ 58 | data: HEX; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/encon/0a..co2.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Encon; 8 | 9 | // @zz(0x0a) 10 | namespace Co2 { 11 | // ## BRINK CO2 sensor 12 | // # 13 | // # This ebus config is based on information from https://gathering.tweakers.net/forum/list_messages/1979992 14 | // # It is untested and likely incomplete. 15 | // # Brink CO2 sensor 16 | 17 | /** default *r */ 18 | model r {} 19 | 20 | /** default *w */ 21 | @write 22 | model w {} 23 | // ### SENSOR DATA #### 24 | 25 | /** 40a100 */ 26 | @id(MF, 0xa1) 27 | model SensorValue { 28 | /** Address */ 29 | uir: UIR; 30 | 31 | uir_1: UIR; 32 | 33 | /** Value */ 34 | @unit("ppm") 35 | uir_2: UIR; 36 | } 37 | 38 | /** default *w */ 39 | @write 40 | @base(MF, 0x80) 41 | model w_1 {} 42 | 43 | /** 4080039103e8 */ 44 | @inherit(w_1) 45 | @ext(0x91) 46 | model SensorUpperLimit { 47 | @unit("ppm") 48 | value: UIR; 49 | } 50 | 51 | /** 4080039002bc */ 52 | @inherit(w_1) 53 | @ext(0x90) 54 | model SensorLowerLimit { 55 | @unit("ppm") 56 | value: UIR; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /archived/de/vaillant/hcmode.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # HC Betriebsart,,,,,,,,,,,,, 3 | *r,,,,,,"B504",,,,,,, 4 | r,,DateTime,Datum Uhrzeit,,,,00,,,dcfstate;btime;bdate;temp2,,, 5 | r,,Status16,Aussentemperatur,,,,16,,,temp,,, 6 | 7 | # HC Betriebsart2,,,,,,,,,,,,, 8 | *r,,,,,,"B511",,,,,,, 9 | *uw,,,,,,"B510",,,,,,, 10 | uw,,SetMode,Betriebsart,,,,00,,,hcmode,,,,flowtempdesired,,temp1,,,,hwctempdesired,,temp1,,,,hwcflowtempdesired,,temp0,,,,,,IGN:1,,,,disablehc,,BI0,,,,disablehwctapping,,BI1,,,,disablehwcload,,BI2,,,,,,IGN:1,,,,remoteControlHcPump,,BI0,,,,releaseBackup,,BI1,,,,releaseCooling,,BI2,,,, 11 | #potential last byte: currentmode,s,UCH,0=off;1=standby;2=heat;3=water,, 12 | r,,Status01,Vorlauftemperatur/Rücklauftemperatur/Aussentemperatur/WW Temperatur/Speichertemperatur/Pumpenstatus,,,,01,,,temp1;temp1;temp2;temp1;temp1;pumpstate,,, 13 | r,,Status02,Betriebsart/Maximaltemperatur/ReglerCurrentTEMP/Maximaltemperatur/ReglerCurrentTemp,,,,02,,,hwcmode;temp0;temp1;temp0;temp1,,, 14 | r,,Status,Status,,,,03,,,temp;press;press;hcmode2;HEX,,, 15 | 16 | *uw,,,,,,"B512",,,,,,, 17 | uw,,StatusCirPump,Status Zirkulationspumpe,,,,00,,,UCH,0=off;100=on,, 18 | -------------------------------------------------------------------------------- /src/vaillant/06.vmd.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | // @zz(0x06) 10 | namespace Vmd { 11 | // ,VMD01,VMS 8/D 12 | 13 | /** T5 Sensor: Solar collector Temperature */ 14 | @ext(0x5, 0) 15 | model T5 is ReadonlyRegister; 16 | 17 | /** T1 Sensor: Temperature in solar back flow (from solar collector) */ 18 | @ext(0x7, 0) 19 | model T1 is ReadonlyRegister; 20 | 21 | /** T7 Sensor: Average temperature in tank (computed from T6 and mid tank sensor values)) */ 22 | @ext(0xc, 0) 23 | model T7 is ReadonlyRegister; 24 | 25 | /** PowerOnCounter: Power On Counter (in hours) */ 26 | @ext(0x19, 0) 27 | model PowerOnCounter is ReadonlyRegister; 28 | 29 | /** T6 Sensor: Average temperature in tank (computed from T6 and mid tank sensor values)) */ 30 | @ext(0xa1, 0) 31 | model T6 is ReadonlyRegister; 32 | 33 | /** FlowRate */ 34 | @inherit(r, wi) 35 | @ext(0x9e, 0) 36 | model FlowRate { 37 | /** chosen flow rate of the collector pump (to calculate solar gain) */ 38 | @unit("l/min") 39 | @divisor(10) 40 | value: SIN; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /archived/de/broadcast.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment 2 | *r,broadcast,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *b,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,, 4 | *w,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,, 5 | b,,datetime,Datum/Uhrzeit,,,0700,,outsidetemp,,temp2,,,,time,,btime,,,,date,,bdate,,,,,,,,, 6 | r;b,,id,Identifikation,,,0704,,manufacturer,,UCH,0x06=Dungs;0x0f=FH Ostfalia;0x10=TEM;0x11=Lamberti;0x14=CEB;0x15=Landis-Staefa;0x16=FERRO;0x17=MONDIAL;0x18=Wikon;0x19=Wolf;0x20=RAWE;0x30=Satronic;0x40=ENCON;0x50=Kromschröder;0x60=Eberle;0x65=EBV;0x75=Grässlin;0x85=ebm-papst;0x95=SIG;0xa5=Theben;0xa7=Thermowatt;0xb5=Vaillant;0xc0=Toby;0xc5=Weishaupt;0xfd=ebusd.eu,,Geräte-Hersteller,,,id,,,Geräte-ID,software,,PIN,,,Software-Version,hardware,,PIN,,,Hardware-Version 7 | w,,id,Identifikation,,,0704,,,,,,,,,,,,,,,,,,,,,,,,, 8 | w,,queryexistence,Existenzanfrage,,,07FE,,,,,,,,,,,,,,,,,,,,,,,,, 9 | b,,signoflife,Lebenszeichen,,,07FF,,,,,,,,,,,,,,,,,,,,,,,,, 10 | b,,error,Fehlernachricht,,,FE01,,error,,STR:10,,,,,,,,,,,,,,,,,,,,, 11 | -------------------------------------------------------------------------------- /archived/en/broadcast.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment 2 | *r,broadcast,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *b,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,, 4 | *w,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,, 5 | b,,datetime,date/time,,,0700,,outsidetemp,,temp2,,,,time,,btime,,,,date,,bdate,,,,,,,,, 6 | r;b,,id,identification,,,0704,,manufacturer,,UCH,0x06=Dungs;0x0f=FH Ostfalia;0x10=TEM;0x11=Lamberti;0x14=CEB;0x15=Landis-Staefa;0x16=FERRO;0x17=MONDIAL;0x18=Wikon;0x19=Wolf;0x20=RAWE;0x30=Satronic;0x40=ENCON;0x50=Kromschröder;0x60=Eberle;0x65=EBV;0x75=Grässlin;0x85=ebm-papst;0x95=SIG;0xa5=Theben;0xa7=Thermowatt;0xb5=Vaillant;0xc0=Toby;0xc5=Weishaupt;0xfd=ebusd.eu,,device manufacturer,,,id,,,device id,software,,PIN,,,software version,hardware,,PIN,,,hardware version 7 | w,,id,identification,,,0704,,,,,,,,,,,,,,,,,,,,,,,,, 8 | w,,queryexistence,Inquiry of existence,,,07FE,,,,,,,,,,,,,,,,,,,,,,,,, 9 | b,,signoflife,sign of life,,,07FF,,,,,,,,,,,,,,,,,,,,,,,,, 10 | b,,error,error message,,,FE01,,error,,STR:10,,,,,,,,,,,,,,,,,,,,, 11 | -------------------------------------------------------------------------------- /archived/en/vaillant/hcmode.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # HC operation mode,,,,,,,,,,,,, 3 | *r,,,,,,"B504",,,,,,, 4 | r,,DateTime,Date Time,,,,00,,,dcfstate;btime;bdate;temp2,,, 5 | r,,Status16,Outside temperature,,,,16,,,temp,,, 6 | 7 | # HC operation mode2,,,,,,,,,,,,, 8 | *r,,,,,,"B511",,,,,,, 9 | *uw,,,,,,"B510",,,,,,, 10 | *wi,#install,,,,,"B510",,,,,,, 11 | uw;wi,,SetMode,Operation Mode,,,,00,,,hcmode,,,,flowtempdesired,,temp1,,,,hwctempdesired,,temp1,,,,hwcflowtempdesired,,temp0,,,,,,IGN:1,,,,disablehc,,BI0,,,,disablehwctapping,,BI1,,,,disablehwcload,,BI2,,,,,,IGN:1,,,,remoteControlHcPump,,BI0,,,,releaseBackup,,BI1,,,,releaseCooling,,BI2,,,, 12 | #potential last byte: currentmode,s,UCH,0=off;1=standby;2=heat;3=water,, 13 | r,,Status01,Vorlauftemperatur/Rücklauftemperatur/Aussentemperatur/WW Temperatur/Speichertemperatur/Pumpenstatus,,,,01,,,temp1;temp1;temp2;temp1;temp1;pumpstate,,, 14 | r,,Status02,Betriebsart/Maximaltemperatur/ReglerCurrentTEMP/Maximaltemperatur/ReglerCurrentTemp,,,,02,,,hwcmode;temp0;temp1;temp0;temp1,,, 15 | r,,Status,Status,,,,03,,,temp;press;press;hcmode2;HEX,,, 16 | 17 | *uw,,,,,,"B512",,,,,,, 18 | uw,,StatusCirPump,Status circulation pump,,,,00,,,UCH,0=off;100=on,, 19 | -------------------------------------------------------------------------------- /archived/en/vaillant/ec.zeo.sc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Solar,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *ws,#service,,,,,"B509","0E",,,,,, 6 | # ##### SOL: #####,,,,,,,,,,,,, 7 | r,,SolCollPumpDcIntegrator,SolarCollPumpDcIntegrator,,,,"CB00",,,SIN,,,-50..50 8 | r;ws,,SolEnableDiffTemp,SolEnableDiffTemp,,,,"CD00",,,temp0,,,5..12K / 1K Auflösung 9 | r;ws,,SolDisableDiffTemp,SolDisableDiffTemp,,,,"CE00",,,temp0,,,1..10K / 1K Auflösung 10 | r;ws,,SolHwcMaxLoadTemp,SolDhwMaxLoadTemp,,,,"CF00",,,temp0,,,35..80°C / 1°C 11 | r,,SolConfigFlags,SolarConfigFlags,,,,"D000",,,UCH,,, 12 | r,,SolCollPumpED,SolarCollectorPumpED,,,,"D100",,,UCH,,,0..100% 13 | r;ws,,CollPumpSRuntime,CollectorPumpSRuntime,,,,"D200",,,UIN,,,runtime in seconds base for runtime in hours 14 | r;ws,,CollPumpHRuntime,CollectorPumpHRuntime,,,,"D300",,,UIN,,,runtime in hours 15 | r;ws,,YieldMinute,SolarYieldMinute,,,,"D400",,,UIN,,,nur Summe von dT ohne Volumenstrom nur mit PWM 16 | r;ws,,Yield,SolarYieldKw,,,,"D500",,,UIN,,,um den Wert in KW zu bekommenmuß gerechnet werden:kW=x*SolarVolumnFlowUser*c 17 | r;ws,,SolFlowRate,SolarFlowRate,,,,"D600",,,UIN,,,0..20l/h Wert des Taco-Setters für Ertragsermittlung 18 | -------------------------------------------------------------------------------- /src/wolf/_templates.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "../_templates.tsp"; 3 | 4 | using Ebus; 5 | using Ebus.Num; 6 | using Ebus.Dtm; 7 | using Ebus.Str; 8 | 9 | namespace Wolf; 10 | alias MF = 0x50; // Ebus.Id.Values_manufacturers.Kromschröder 11 | 12 | /** temperature */ 13 | @unit("°C") 14 | @divisor(10) 15 | scalar temp10 extends UIN; 16 | 17 | /** percent */ 18 | @unit("%") 19 | scalar percent extends UIN; 20 | 21 | /** minutes */ 22 | @unit("min") 23 | scalar minutes extends UIN; 24 | 25 | /** hours */ 26 | @unit("h") 27 | scalar hours extends UIN; 28 | 29 | @unit("U/sec") 30 | scalar speed extends UIN; 31 | 32 | /** default *r for register */ 33 | @base(MF, 0x22, 0x00) // todo 0x00 should rather be crc8 of following bytes, see https://github.com/john30/ebusd/issues/167 34 | model regr {} 35 | 36 | /** default *w for register */ 37 | @write(true) 38 | @base(MF, 0x23, 0x00) 39 | model regw {} 40 | 41 | /** read/write register */ 42 | @inherit(regr, regw) //todo first byte of ext always 0x0 on write 43 | model Register { 44 | value: T; 45 | 46 | @maxLength(4) 47 | @out(true) 48 | @constValue(suffixValue) 49 | suffix: HEX; 50 | } 51 | 52 | /** read only register */ 53 | @inherit(regr) 54 | model ReadonlyRegister { 55 | value: T; 56 | } 57 | -------------------------------------------------------------------------------- /archived/de/_templates.csv: -------------------------------------------------------------------------------- 1 | # template name,type / templates,divider / values,unit,comment 2 | cntstarts,BCD:3,,,Anlaufzähler 3 | cntminutes,BCD,,min,Betriebsminuten 4 | cnthours,BCD:3,,h,Betriebsstunden 5 | cntfuel,BCD:4,,,Brennstoffmenge 6 | unit,UCH,0=all;1=l;2=m³,,Einheit 7 | fueltype,UCH,0=any;1=oil;2=gas,,Brennstoffart 8 | countertype,UCH,0=starts;1=hours1;2=hours2;3=hours3;4=hours4;5=modulating;16=fuelquantity,,Zählerart 9 | opdatacyclic,UCH,0x55=stop;0xaa=start,,zyklische Übertragung 10 | opdatatransfer,UCH,0=stop;1=cyclic;2=event;3=single;3=cyclicandevent,,Übertragung 11 | opdataheat,UCH,0x00=off;0x01=none;0x55=hotwater;0xaa=heating;0xcc=emissioncheck;0xdd=qualitycontrol;0xee=controlstop;0x66=hotwaterincontrolstop;0xbb=hotwaterinheating;0x44=controlstopinstage,,Wärmeanforderung 12 | opdataaction,UCH,0x00=none;0x01=stoppump;0x02=startpump;0x03=stopconsumer;0x04=startconsumer,, 13 | desiredtemp,UCH,,°C,Solltemperatur 14 | outsidetemp,SCH,,°C,Außentemperatur 15 | percent,D2C,,%, 16 | percent0,UCH,,%, 17 | percent1,D1C,,%, 18 | percent2,D2B,,%, 19 | percents,SCH,,%, 20 | temp,D2C,,°C,Temperatur 21 | temp0,UCH,,°C,Temperatur 22 | temp1,D1C,,°C,Temperatur 23 | temp2,D2B,,°C,Temperatur 24 | press,D2B,,bar,Druck 25 | btime,BTI,,,Uhrzeit 26 | bdate,BDA,,,Datum 27 | bday,BDY,,,Wochentag 28 | id,STR:5,,,Geräte-ID 29 | version,PIN,,,Version 30 | skip,IGN:1,,, 31 | -------------------------------------------------------------------------------- /archived/de/vaillant/ec.zeo.sc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Solar,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *ws,#service,,,,,"B509","0E",,,,,, 6 | # ##### SOL: #####,,,,,,,,,,,,, 7 | r,,SolCollPumpDcIntegrator,SolarCollPumpDcIntegrator,,,,"CB00",,,SIN,,,-50..50 8 | r;ws,,SolEnableDiffTemp,Einschaltdifferenz,,,,"CD00",,,temp0,,,5..12K / 1K Auflösung 9 | r;ws,,SolDisableDiffTemp,Ausschaltdifferenz,,,,"CE00",,,temp0,,,1..10K / 1K Auflösung 10 | r;ws,,SolHwcMaxLoadTemp,Max. Speicherladetemperatur,,,,"CF00",,,temp0,,,35..80°C / 1°C 11 | r,,SolConfigFlags,SolarConfigFlags,,,,"D000",,,UCH,,, 12 | r,,SolCollPumpED,ED Kollektorpumpe,,,,"D100",,,UCH,,,0..100% 13 | r;ws,,CollPumpSRuntime,Leufzeit Kollektorpumpe [s],,,,"D200",,,UIN,,,runtime in seconds base for runtime in hours 14 | r;ws,,CollPumpHRuntime,Laufzeit Kollektorpumpe [h],,,,"D300",,,UIN,,,Betriebsstunden 15 | r;ws,,YieldMinute,SolarYieldMinute,,,,"D400",,,UIN,,,nur Summe von dT ohne Volumenstrom nur mit PWM 16 | r;ws,,Yield,Solaretrag,,,,"D500",,,UIN,,,um den Wert in KW zu bekommenmuß gerechnet werden:kW=x*SolarVolumnFlowUser*c 17 | r;ws,,SolFlowRate,Volumenstrom Solarkreis,,,,"D600",,,UIN,,,0..20l/h Wert des Taco-Setters für Ertragsermittlung 18 | -------------------------------------------------------------------------------- /archived/en/_templates.csv: -------------------------------------------------------------------------------- 1 | # template name,type / templates,divider / values,unit,comment 2 | cntstarts,BCD:3,,,start counter 3 | cntminutes,BCD,,min,operation minutes 4 | cnthours,BCD:3,,h,operation hours 5 | cntfuel,BCD:4,,,fuel quantity 6 | unit,UCH,0=all;1=l;2=m³,,unit 7 | fueltype,UCH,0=any;1=oil;2=gas,,fuel type 8 | countertype,UCH,0=starts;1=hours1;2=hours2;3=hours3;4=hours4;5=modulating;16=fuelquantity,,type of meter 9 | opdatacyclic,UCH,0x55=stop;0xaa=start,,cyclic transmission 10 | opdatatransfer,UCH,0=stop;1=cyclic;2=event;3=single;3=cyclicandevent,,data transmission 11 | opdataheat,UCH,0x00=off;0x01=none;0x55=hotwater;0xaa=heating;0xcc=emissioncheck;0xdd=qualitycontrol;0xee=controlstop;0x66=hotwaterincontrolstop;0xbb=hotwaterinheating;0x44=controlstopinstage,,heat request 12 | opdataaction,UCH,0x00=none;0x01=stoppump;0x02=startpump;0x03=stopconsumer;0x04=startconsumer,, 13 | desiredtemp,UCH,,°C,desired temperature 14 | outsidetemp,SCH,,°C,outside temperature 15 | percent,D2C,,%, 16 | percent0,UCH,,%, 17 | percent1,D1C,,%, 18 | percent2,D2B,,%, 19 | percents,SCH,,%, 20 | temp,D2C,,°C,temperature 21 | temp0,UCH,,°C,temperature 22 | temp1,D1C,,°C,temperature 23 | temp2,D2B,,°C,temperature 24 | press,D2B,,bar,pressure 25 | btime,BTI,,,time 26 | bdate,BDA,,,date 27 | bday,BDY,,,weekday 28 | id,STR:5,,,device ID 29 | version,PIN,,,version 30 | skip,IGN:1,,, 31 | -------------------------------------------------------------------------------- /archived/de/vaillant/52.vr_70.csv: -------------------------------------------------------------------------------- 1 | # 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,field6,part (m/s),datatypes/templates,divider/values,unit,comment,field7,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,VR_70,VR 70,109 109,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *r,,,,,,"B523",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 4 | *w,,,,,,"B523",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 5 | w,,SetActorState,,,,,"01",R1,,UCH,0=off;20=on,,,R2,,UCH,0=off;20=on,,,R3,,UCH,0=off;20=on,,,R4,,UCH,0=off;20=on,,,R5,,UCH,0=off;20=on,,,R6,,UCH,0=off;20=on,,,S7,,UCH,0=off;20=on,, 6 | w,,Mc1FlowTempDesired,,,,,"0200",FTStatus,,onoff,,,,FTDesired,,temp1,,,,MixerStatus,s,onoff,,,,MixerMovement,s,percents,,,,,,,,,,,,,,,,,,,,, 7 | w,,Mc2FlowTempDesired,,,,,"0201",FTStatus,,onoff,,,,FTDesired,,temp1,,,,MixerStatus,s,onoff,,,,MixerMovement,s,percents,,,,,,,,,,,,,,,,,,,,, 8 | r,,SensorData,,,,,"03",S1,,temp,,,,S2,,temp,,,,S3,,temp,,,,S4,,temp,,,,S5,,temp,,,,S6,,temp,,,,ignore,,HEX:3,,, 9 | !include,errors.inc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 10 | -------------------------------------------------------------------------------- /archived/en/vaillant/52.vr_70.csv: -------------------------------------------------------------------------------- 1 | # 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,field6,part (m/s),datatypes/templates,divider/values,unit,comment,field7,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,VR_70,VR 70,109 109,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 3 | *r,,,,,,"B523",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 4 | *w,,,,,,"B523",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 5 | w,,SetActorState,,,,,"01",R1,,UCH,0=off;20=on,,,R2,,UCH,0=off;20=on,,,R3,,UCH,0=off;20=on,,,R4,,UCH,0=off;20=on,,,R5,,UCH,0=off;20=on,,,R6,,UCH,0=off;20=on,,,S7,,UCH,0=off;20=on,, 6 | w,,Mc1FlowTempDesired,,,,,"0200",FTStatus,,onoff,,,,FTDesired,,temp1,,,,MixerStatus,s,onoff,,,,MixerMovement,s,percents,,,,,,,,,,,,,,,,,,,,, 7 | w,,Mc2FlowTempDesired,,,,,"0201",FTStatus,,onoff,,,,FTDesired,,temp1,,,,MixerStatus,s,onoff,,,,MixerMovement,s,percents,,,,,,,,,,,,,,,,,,,,, 8 | r,,SensorData,,,,,"03",S1,,temp,,,,S2,,temp,,,,S3,,temp,,,,S4,,temp,,,,S5,,temp,,,,S6,,temp,,,,ignore,,HEX:3,,, 9 | !include,errors.inc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 10 | -------------------------------------------------------------------------------- /src/vaillant/25.zeo.hwc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./hwcmode_inc.tsp"; 4 | import "./timer_inc.tsp"; 5 | using Ebus; 6 | using Ebus.Num; 7 | using Ebus.Dtm; 8 | using Ebus.Str; 9 | namespace Vaillant; 10 | 11 | // @zz(0x25) 12 | namespace Zeo.Hwc { 13 | // ,ZEO00,Zeolite AMU,ZEO00 197 DHW 14 | // ##### DHW: ##### 15 | 16 | /** OperatingMode: 1=Ein 2=Aus 3=Auto */ 17 | @ext(0x6, 0) 18 | model OperatingMode is ReadonlyRegister; 19 | 20 | /** DesiredTemperature: 1/2 °C resolution */ 21 | @ext(0xd, 0) 22 | model TempDesired is ReadonlyRegister; 23 | 24 | /** CircuitDiaState */ 25 | @ext(0x18, 0) 26 | model CircuitDiaState is ReadonlyRegister; 27 | 28 | /** CircuitsStates */ 29 | @ext(0x1e, 0) 30 | model CircuitsStates is ReadonlyRegister; 31 | 32 | /** CleaningLady: 0,5h */ 33 | @ext(0x23, 0) 34 | model CleaningLady is ReadonlyRegister; 35 | 36 | /** DhwLegioProtectionMaxTimer */ 37 | @ext(0x2d, 0) 38 | model HwcLegioProtectionMaxTimer is ReadonlyRegister; 39 | 40 | /** ActualDesiredTemp: 1/2°C Auflösung */ 41 | @ext(0x33, 0) 42 | model ActualTempDesired is ReadonlyRegister; 43 | 44 | /** DhwLegioTempOkTimer */ 45 | @ext(0x34, 0) 46 | model HwcLegioTempOkTimer is ReadonlyRegister; 47 | 48 | /** included parts */ 49 | union _includes { 50 | Hwcmode_inc, 51 | Timer_inc, 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/wolf/50..mc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Wolf; 8 | 9 | namespace mc { 10 | /** default *uw */ 11 | @write 12 | @passive 13 | model uw {} 14 | 15 | /** Ertrag */ 16 | @inherit(uw) 17 | @ext(MF, 0x18) 18 | model Yields { 19 | /** Solarleistung */ 20 | power: D2B; 21 | 22 | /** Ertrag Tag */ 23 | yieldday: UIN; 24 | 25 | /** Summe Ertrag */ 26 | yieldsum: UIN; 27 | 28 | /** Summe Ertrag M */ 29 | yieldm: UCH; 30 | } 31 | 32 | /** Status */ 33 | @inherit(uw) 34 | @ext(MF, 0x17) 35 | model Status { 36 | /** Solar Pumpe */ 37 | @values(Values_onoff) 38 | pump: UCH; 39 | 40 | @maxLength(1) 41 | ign: IGN; 42 | 43 | /** Kollektortemperatur */ 44 | collectortemp: temp; 45 | 46 | /** Solartemperatur Warmwasser */ 47 | hwcsolartemp: temp; 48 | } 49 | 50 | /** Operation */ 51 | @inherit(uw) 52 | @ext(MF, 0x14) 53 | model Operation { 54 | /** Status Solar */ 55 | status: HEX; 56 | 57 | @maxLength(1) 58 | ign: IGN; 59 | 60 | /** Mischer Solltemperatur */ 61 | hctempdesired: temp2; 62 | 63 | /** Raumtemperatur */ 64 | roomtemp: temp1; 65 | 66 | /** Warmwasser Solltemperatur */ 67 | hwctempdesired: temp1; 68 | } 69 | 70 | enum Values_onoff { 71 | off: 0xbc, 72 | on: 0xbd, 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /archived/de/vaillant/mcmode.inc: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | # MK1: Betriebsart,,,,,,,,,,,,, 3 | *r,,,,,,"B504",,,,,,, 4 | *w,,,,,,"B505",,,,,,, 5 | r,,DateTime,Datum Uhrzeit,,,,00,,,dcfstate;btime;bdate;temp2,,, 6 | r,,Mode,Betriebsart/Temperatur,,,,01,,,temp0;mcmode;days;temp0;mcmode;mctype7;IGN;daynight,,, 7 | w,,SetTempDesired,Solltemperatur setzen,,,,01,,,temp0,,, 8 | w,,SetMode,Betriebsart setzen,,,,02,,,mcmode,,, 9 | w,,SetFloorPavingDryingDay,Estrichtrocknungstag setzen,,,,03,,,days,,, 10 | w,,SetFloorPavingDryingTemp,Estrichtrocknungstemperatur setzen,,,,04,,,temp0,,, 11 | w,,SetType,Kreis Typ setzen,,,,08,,,mctype,,, 12 | #r 2-7: timer 13 | #w 9: timer 14 | w,,SetTempDesiredLow,Absenksollwert setzen,,,,0a,,,temp0,,, 15 | w,,SetHeatingCurve,Heizkurve setzen,,,,0b,,,curve,,, 16 | w,,SetShutdownTemp,Aussentemp. Abschaltgrenze setzen,,,,0c,,,temp0,,, 17 | w,,SetPumpIdlePeriod,Pumpensperrzeit setzen,,,,0d,,,minutes0,,, 18 | w,,SetFlowTempMin,Minimalen Vorlaufsollwert setzen,,,,0e,,,temp0,,, 19 | w,,SetFlowTempMax,Maximalen Vorlaufsollwert setzen,,,,0f,,,temp0,,, 20 | w,,SetMaxPreHeating,Max. Voraufheizung setzen,,,,10,,,hours12,,, 21 | r,,Params,Parameter,,,,09,,,temp0;temps;curve;mctype7;temps;minutes0;temps;temps;hours12,,, 22 | r,,Status0a,Status Vorlauf Ist/Mixer/Pumpe/Vorlauf Soll,,,,0A,,,temp;mixer;onoff;onoff;temp0 23 | r,,Status,Status Vorlauf Soll/Ist,,,,0D,,,temp0;onoff;temp;temp0,,, 24 | r,,Status16,Aussentemperatur,,,,16,,,temp,,, 25 | -------------------------------------------------------------------------------- /src/vaillant/23.solsy.cc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./hwcmode_inc.tsp"; 4 | import "./timer_inc.tsp"; 5 | import "./iotest620_inc.tsp"; 6 | import "./errors_inc.tsp"; 7 | using Ebus; 8 | using Ebus.Num; 9 | using Ebus.Dtm; 10 | using Ebus.Str; 11 | namespace Vaillant; 12 | 13 | // @zz(0x23) 14 | namespace Solsy.Cc { 15 | // ,SOLSY,auroMATIC 620/3,0020080463 163 Circulation 16 | // ##### Statistics ##### 17 | 18 | /** StatPowerOn */ 19 | @ext(0xcc, 0) 20 | model StatPowerOn is ReadonlyRegister; 21 | 22 | /** StatOperatingHours */ 23 | @ext(0xcd, 0) 24 | model StatOperatingHours is ReadonlyRegister; 25 | 26 | /** StatMonthOfInstallation */ 27 | @ext(0xce, 0) 28 | model StatMonthOfInstallation is ReadonlyRegister; 29 | 30 | /** StatYearOfInstallation */ 31 | @ext(0xcf, 0) 32 | model StatYearOfInstallation is ReadonlyRegister; 33 | 34 | /** Stat15MinBusTimeout */ 35 | @ext(0xd0, 0) 36 | model Stat15MinBusTimeout is ReadonlyRegister; 37 | 38 | /** StatRTOSErrorcode */ 39 | @ext(0xd1, 0) 40 | model StatRTOSErrorcode is ReadonlyRegister; 41 | 42 | /** StatRestarts */ 43 | @ext(0xd2, 0) 44 | model StatRestarts is ReadonlyRegister; 45 | 46 | /** StatRTOSErrorCounter */ 47 | @ext(0xd3, 0) 48 | model StatRTOSErrorCounter is ReadonlyRegister; 49 | 50 | /** included parts */ 51 | union _includes { 52 | Hwcmode_inc, 53 | Timer_inc, 54 | Iotest620_inc, 55 | Errors_inc, 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/vaillant/23.vr630.cc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./hwcmode_inc.tsp"; 4 | import "./timer_inc.tsp"; 5 | import "./iotest630_inc.tsp"; 6 | import "./errors_inc.tsp"; 7 | using Ebus; 8 | using Ebus.Num; 9 | using Ebus.Dtm; 10 | using Ebus.Str; 11 | namespace Vaillant; 12 | 13 | // @zz(0x23) 14 | namespace Vr630.Cc { 15 | // ,VR630,calorMATIC 630/3,0020092435 163 Circulation 16 | // ##### Statistics ##### 17 | 18 | /** StatPowerOn */ 19 | @ext(0xcc, 0) 20 | model StatPowerOn is ReadonlyRegister; 21 | 22 | /** StatOperatingHours */ 23 | @ext(0xcd, 0) 24 | model StatOperatingHours is ReadonlyRegister; 25 | 26 | /** StatMonthOfInstallation */ 27 | @ext(0xce, 0) 28 | model StatMonthOfInstallation is ReadonlyRegister; 29 | 30 | /** StatYearOfInstallation */ 31 | @ext(0xcf, 0) 32 | model StatYearOfInstallation is ReadonlyRegister; 33 | 34 | /** Stat15MinBusTimeout */ 35 | @ext(0xd0, 0) 36 | model Stat15MinBusTimeout is ReadonlyRegister; 37 | 38 | /** StatRTOSErrorcode */ 39 | @ext(0xd1, 0) 40 | model StatRTOSErrorcode is ReadonlyRegister; 41 | 42 | /** StatRestarts */ 43 | @ext(0xd2, 0) 44 | model StatRestarts is ReadonlyRegister; 45 | 46 | /** StatRTOSErrorCounter */ 47 | @ext(0xd3, 0) 48 | model StatRTOSErrorCounter is ReadonlyRegister; 49 | 50 | /** included parts */ 51 | union _includes { 52 | Hwcmode_inc, 53 | Timer_inc, 54 | Iotest630_inc, 55 | Errors_inc, 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/vaillant/23.zeo.cc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./hwcmode_inc.tsp"; 4 | import "./timer_inc.tsp"; 5 | using Ebus; 6 | using Ebus.Num; 7 | using Ebus.Dtm; 8 | using Ebus.Str; 9 | namespace Vaillant; 10 | 11 | // @zz(0x23) 12 | namespace Zeo.Cc { 13 | // ,ZEO00,Zeolite AMU,ZEO00 197 Circulation 14 | // ##### CC: ##### 15 | 16 | /** OperatingMode */ 17 | @ext(0x6, 0x2) 18 | model OperatingMode is ReadonlyRegister; 19 | 20 | /** MinFlowTemp: 1 °C resolution */ 21 | @ext(0xb, 0x2) 22 | model FlowTempMin is ReadonlyRegister; 23 | 24 | /** MaxFlowTemp: 1 °C resolution */ 25 | @ext(0xc, 0x2) 26 | model FlowTempMax is ReadonlyRegister; 27 | 28 | /** DesiredTemperature: 1/2 °C resolution */ 29 | @ext(0xd, 0x2) 30 | model TempDesired is ReadonlyRegister; 31 | 32 | /** CircuitDiaState */ 33 | @ext(0x18, 0x2) 34 | model CircuitDiaState is ReadonlyRegister; 35 | 36 | /** CircuitsStates */ 37 | @ext(0x1e, 0x2) 38 | model CircuitsStates is ReadonlyRegister; 39 | 40 | /** Flow setpoint: 1/2 °C resolution */ 41 | @ext(0x1f, 0x2) 42 | model FlowTempDesired is ReadonlyRegister; 43 | 44 | /** CleaningLady: 0,5h */ 45 | @ext(0x23, 0x2) 46 | model CleaningLady is ReadonlyRegister; 47 | 48 | /** ActualDesiredTemp: 1/2°C Auflösung */ 49 | @ext(0x33, 0x2) 50 | model ActualTempDesired is ReadonlyRegister; 51 | 52 | /** included parts */ 53 | union _includes { 54 | Hwcmode_inc, 55 | Timer_inc, 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ebusd-configuration", 3 | "version": "0.1.0", 4 | "description": "utilities for converting ebusd-configuration files", 5 | "scripts": { 6 | "maintsp": "find src/ -name '*.tsp' -not -type l|grep -Ev 'main.tsp|_templates.tsp'|sort|grep -v '_inc.'|sed -e 's#src/##' -e 's#^#import \"./#' -e 's#$#\";#' > src/main.tsp", 7 | "format": "npx tsp format src/*.tsp src/**/*.tsp", 8 | "lint": "npx tsp compile src/main.tsp --import @typespec/library-linter --emit @ebusd/ebus-typespec --no-emit", 9 | "compile-en": "npx tsp compile --emit @ebusd/ebus-typespec src/main.tsp --output-dir outcsv", 10 | "compile-de": "npx tsp compile --emit @ebusd/ebus-typespec --option @ebusd/ebus-typespec.translations=src/de.yaml src/main.tsp --output-dir outcsv.de", 11 | "compile": "npm run compile-en && npm run compile-de", 12 | "preparepublish": "./utils/precheck.sh" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/john30/ebusd-configuration.git" 17 | }, 18 | "keywords": [ 19 | "ebusd", 20 | "configuration" 21 | ], 22 | "author": "John Baier", 23 | "license": "GPL-3.0-only", 24 | "bugs": { 25 | "url": "https://github.com/john30/ebusd-configuration/issues" 26 | }, 27 | "homepage": "https://github.com/john30/ebusd-configuration#readme", 28 | "devDependencies": { 29 | "@types/node": "^24.5.2", 30 | "@typespec/library-linter": "~0.74.0", 31 | "typescript": "^5.9.2" 32 | }, 33 | "dependencies": { 34 | "@ebusd/ebus-typespec": ">=0.25.0", 35 | "@typespec/compiler": "~1.4.0" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /.vscode/i18n-ally-custom-framework.yml: -------------------------------------------------------------------------------- 1 | # .vscode/i18n-ally-custom-framework.yml 2 | 3 | # An array of strings which contain Language Ids defined by VS Code 4 | # You can check available language ids here: https://code.visualstudio.com/docs/languages/identifiers 5 | languageIds: 6 | - yaml 7 | - typespec 8 | # - json 9 | 10 | # An array of RegExes to find the key usage. **The key should be captured in the first match group**. 11 | # You should unescape RegEx strings in order to fit in the YAML file 12 | # To help with this, you can use https://www.freeformatter.com/json-escape.html 13 | usageMatchRegex: 14 | # The following example shows how to detect `t("your.i18n.keys")` 15 | # the `{key}` will be placed by a proper keypath matching regex, 16 | # you can ignore it and use your own matching rules as well 17 | # - "[^\\w\\d]t\\(['\"`]({key})['\"`]" 18 | - "/\\*\\* ({key}) \\*/" 19 | 20 | # A RegEx to set a custom scope range. This scope will be used as a prefix when detecting keys 21 | # and works like how the i18next framework identifies the namespace scope from the 22 | # useTranslation() hook. 23 | # You should unescape RegEx strings in order to fit in the YAML file 24 | # To help with this, you can use https://www.freeformatter.com/json-escape.html 25 | # scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]" 26 | 27 | # An array of strings containing refactor templates. 28 | # The "$1" will be replaced by the keypath specified. 29 | # Optional: uncomment the following two lines to use 30 | 31 | # refactorTemplates: 32 | # - i18n.get("$1") 33 | 34 | 35 | # If set to true, only enables this custom framework (will disable all built-in frameworks) 36 | monopoly: true -------------------------------------------------------------------------------- /src/vaillant/yield3d43_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Yield3d43_inc { 10 | // yield 11 | 12 | /** yield this year */ 13 | @inherit(r) 14 | @poll(9) 15 | @ext(0x3d, 0) 16 | @chain( 17 | 2, 18 | #[0x3d, 0x8], 19 | #[0x3d, 0x10], 20 | #[0x3d, 0x18], 21 | #[0x3d, 0x20], 22 | #[0x3d, 0x28], 23 | #[0x3d, 0x30], 24 | #[0x3d, 0x38], 25 | #[0x3d, 0x40], 26 | #[0x3d, 0x48], 27 | #[0x3d, 0x50], 28 | #[0x3d, 0x58] 29 | ) 30 | model YieldThisYear { 31 | energy: energy; 32 | energy_1: energy; 33 | energy_2: energy; 34 | energy_3: energy; 35 | energy_4: energy; 36 | energy_5: energy; 37 | energy_6: energy; 38 | energy_7: energy; 39 | energy_8: energy; 40 | energy_9: energy; 41 | energy_10: energy; 42 | energy_11: energy; 43 | } 44 | 45 | /** yield last year */ 46 | @inherit(r) 47 | @ext(0x43, 0) 48 | @chain( 49 | 2, 50 | #[0x43, 0x8], 51 | #[0x43, 0x10], 52 | #[0x43, 0x18], 53 | #[0x43, 0x20], 54 | #[0x43, 0x28], 55 | #[0x43, 0x30], 56 | #[0x43, 0x38], 57 | #[0x43, 0x40], 58 | #[0x43, 0x48], 59 | #[0x43, 0x50], 60 | #[0x43, 0x58] 61 | ) 62 | model YieldLastYear { 63 | energy: energy; 64 | energy_1: energy; 65 | energy_2: energy; 66 | energy_3: energy; 67 | energy_4: energy; 68 | energy_5: energy; 69 | energy_6: energy; 70 | energy_7: energy; 71 | energy_8: energy; 72 | energy_9: energy; 73 | energy_10: energy; 74 | energy_11: energy; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vaillant/yield3f40_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Yield3f40_inc { 10 | // yield 11 | 12 | /** yield this year */ 13 | @inherit(r) 14 | @poll(9) 15 | @ext(0x3f, 0) 16 | @chain( 17 | 2, 18 | #[0x3f, 0x8], 19 | #[0x3f, 0x10], 20 | #[0x3f, 0x18], 21 | #[0x3f, 0x20], 22 | #[0x3f, 0x28], 23 | #[0x3f, 0x30], 24 | #[0x3f, 0x38], 25 | #[0x3f, 0x40], 26 | #[0x3f, 0x48], 27 | #[0x3f, 0x50], 28 | #[0x3f, 0x58] 29 | ) 30 | model YieldThisYear { 31 | energy: energy; 32 | energy_1: energy; 33 | energy_2: energy; 34 | energy_3: energy; 35 | energy_4: energy; 36 | energy_5: energy; 37 | energy_6: energy; 38 | energy_7: energy; 39 | energy_8: energy; 40 | energy_9: energy; 41 | energy_10: energy; 42 | energy_11: energy; 43 | } 44 | 45 | /** yield last year */ 46 | @inherit(r) 47 | @ext(0x40, 0) 48 | @chain( 49 | 2, 50 | #[0x40, 0x8], 51 | #[0x40, 0x10], 52 | #[0x40, 0x18], 53 | #[0x40, 0x20], 54 | #[0x40, 0x28], 55 | #[0x40, 0x30], 56 | #[0x40, 0x38], 57 | #[0x40, 0x40], 58 | #[0x40, 0x48], 59 | #[0x40, 0x50], 60 | #[0x40, 0x58] 61 | ) 62 | model YieldLastYear { 63 | energy: energy; 64 | energy_1: energy; 65 | energy_2: energy; 66 | energy_3: energy; 67 | energy_4: energy; 68 | energy_5: energy; 69 | energy_6: energy; 70 | energy_7: energy; 71 | energy_8: energy; 72 | energy_9: energy; 73 | energy_10: energy; 74 | energy_11: energy; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vaillant/yield4445_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Yield4445_inc { 10 | // yield 11 | 12 | /** yield this year */ 13 | @inherit(r) 14 | @poll(9) 15 | @ext(0x44, 0) 16 | @chain( 17 | 2, 18 | #[0x44, 0x8], 19 | #[0x44, 0x10], 20 | #[0x44, 0x18], 21 | #[0x44, 0x20], 22 | #[0x44, 0x28], 23 | #[0x44, 0x30], 24 | #[0x44, 0x38], 25 | #[0x44, 0x40], 26 | #[0x44, 0x48], 27 | #[0x44, 0x50], 28 | #[0x44, 0x58] 29 | ) 30 | model YieldThisYear { 31 | energy: energy; 32 | energy_1: energy; 33 | energy_2: energy; 34 | energy_3: energy; 35 | energy_4: energy; 36 | energy_5: energy; 37 | energy_6: energy; 38 | energy_7: energy; 39 | energy_8: energy; 40 | energy_9: energy; 41 | energy_10: energy; 42 | energy_11: energy; 43 | } 44 | 45 | /** yield last year */ 46 | @inherit(r) 47 | @ext(0x45, 0) 48 | @chain( 49 | 2, 50 | #[0x45, 0x8], 51 | #[0x45, 0x10], 52 | #[0x45, 0x18], 53 | #[0x45, 0x20], 54 | #[0x45, 0x28], 55 | #[0x45, 0x30], 56 | #[0x45, 0x38], 57 | #[0x45, 0x40], 58 | #[0x45, 0x48], 59 | #[0x45, 0x50], 60 | #[0x45, 0x58] 61 | ) 62 | model YieldLastYear { 63 | energy: energy; 64 | energy_1: energy; 65 | energy_2: energy; 66 | energy_3: energy; 67 | energy_4: energy; 68 | energy_5: energy; 69 | energy_6: energy; 70 | energy_7: energy; 71 | energy_8: energy; 72 | energy_9: energy; 73 | energy_10: energy; 74 | energy_11: energy; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vaillant/yield8485_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Yield8485_inc { 10 | // yield 11 | 12 | /** yield this year */ 13 | @inherit(r) 14 | @poll(9) 15 | @ext(0x84, 0) 16 | @chain( 17 | 2, 18 | #[0x84, 0x8], 19 | #[0x84, 0x10], 20 | #[0x84, 0x18], 21 | #[0x84, 0x20], 22 | #[0x84, 0x28], 23 | #[0x84, 0x30], 24 | #[0x84, 0x38], 25 | #[0x84, 0x40], 26 | #[0x84, 0x48], 27 | #[0x84, 0x50], 28 | #[0x84, 0x58] 29 | ) 30 | model YieldThisYear { 31 | energy: energy; 32 | energy_1: energy; 33 | energy_2: energy; 34 | energy_3: energy; 35 | energy_4: energy; 36 | energy_5: energy; 37 | energy_6: energy; 38 | energy_7: energy; 39 | energy_8: energy; 40 | energy_9: energy; 41 | energy_10: energy; 42 | energy_11: energy; 43 | } 44 | 45 | /** yield last year */ 46 | @inherit(r) 47 | @ext(0x85, 0) 48 | @chain( 49 | 2, 50 | #[0x85, 0x8], 51 | #[0x85, 0x10], 52 | #[0x85, 0x18], 53 | #[0x85, 0x20], 54 | #[0x85, 0x28], 55 | #[0x85, 0x30], 56 | #[0x85, 0x38], 57 | #[0x85, 0x40], 58 | #[0x85, 0x48], 59 | #[0x85, 0x50], 60 | #[0x85, 0x58] 61 | ) 62 | model YieldLastYear { 63 | energy: energy; 64 | energy_1: energy; 65 | energy_2: energy; 66 | energy_3: energy; 67 | energy_4: energy; 68 | energy_5: energy; 69 | energy_6: energy; 70 | energy_7: energy; 71 | energy_8: energy; 72 | energy_9: energy; 73 | energy_10: energy; 74 | energy_11: energy; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /archived/de/vaillant/50.zeo.mc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Mixer,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *ws,#service,,,,,"B509","0E",,,,,, 6 | # ##### MK: #####,,,,,,,,,,,,, 7 | r,,OperatingMode,Betriebsart,,,,"0604",,,mcmode,,,1=Heizen 2=Aus 3=Auto 4=Eco 5=Absenken 8 | r,,FlowTempMin,Min. Vorlauftemp.,,,,"0B04",,,temp0,,,1 °C resolution 9 | r,,FlowTempMax,Max. Vorlauftemp.,,,,"0C04",,,temp0,,,1 °C resolution 10 | r,,TempDesired,Solltemperatur,,,,"0D04",,,temp1,,,1/2 °C resolution 11 | r,,TempDesiredLow,Absenksollwert,,,,"0E00",,,temp1,,,1/2 °C resolution 12 | r,,HcMaxPreHeating,Max. Voraufheizung,,,,"1300",,,UCH,,,0..5h 13 | r,,FloorPavingDryingDay,Estrichtrocknung Tag,,,,"1600",,,UCH,,, 14 | r;ws,,Kreisart,Kreisart,,,,"1700",,,UCH,,,1=Brennerkreis 2=BrennerFestwert 15 | r,,CircuitDiaState,CircuitDiaState,,,,"1804",,,UCH,,, 16 | r,,CleaningLady,Sparfunktion,,,,"2304",,,UCH,,,"0,5h" 17 | r,,RemoteControlMode,Raumaufschaltung,,,,"2400",,,UCH,,, 18 | r,,RemoteControlRtOffset,Offset Fernbedienung,,,,"2500",,,SCH,,,"0,5°C" 19 | r,,ActualTempDesired,Akt. Solltemperatur,,,,"3304",,,temp1,,,1/2°C Auflösung 20 | r;ws,,Regelungsart,Regelungsart,,,,"3500",,,UCH,,,1 : Rücklaufregelung 2 : Vorlaufregelung 21 | r;ws,,Konfiguration,Konfiguration,,,,"C400",,,UCH,,, 22 | r,,HzTemp,T_Hz,,,,"D800",,,temp,,,Vorlauf- oder Rücklauftemperatur je nach gewählter Regelungsart 23 | r,,HTSoll,HT_Soll,,,,"D900",,,temp,,,°C 24 | !include,mcmode.inc,,,,,,,,,,,, 25 | !include,timer.inc,,,,,,,,,,,, 26 | !include,roomtempoffset.inc,,,,,,,,,,,, 27 | !include,quick.inc,,,,,,,,,,,, 28 | -------------------------------------------------------------------------------- /archived/en/vaillant/50.zeo.mc.csv: -------------------------------------------------------------------------------- 1 | # type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment 2 | #,ZEO00,Zeolite AMU,ZEO00 197 Mixer,,,,,,,,,, 3 | *r,,,,,,"B509","0D",,,,,, 4 | *w,,,,,,"B509","0E",,,,,, 5 | *ws,#service,,,,,"B509","0E",,,,,, 6 | # ##### MK: #####,,,,,,,,,,,,, 7 | r,,OperatingMode,OperatingMode,,,,"0604",,,mcmode,,,1=Heizen 2=Aus 3=Auto 4=Eco 5=Absenken 8 | r,,FlowTempMin,MinFlowTemp,,,,"0B04",,,temp0,,,1 °C resolution 9 | r,,FlowTempMax,MaxFlowTemp,,,,"0C04",,,temp0,,,1 °C resolution 10 | r,,TempDesired,DesiredTemperature,,,,"0D04",,,temp1,,,1/2 °C resolution 11 | r,,TempDesiredLow,DesiredLowTemperature,,,,"0E00",,,temp1,,,1/2 °C resolution 12 | r,,HcMaxPreHeating,HcMaxPreHeating,,,,"1300",,,UCH,,,0..5h 13 | r,,FloorPavingDryingDay,FloorPavingDryingDay,,,,"1600",,,UCH,,, 14 | r;ws,,Kreisart,Kreisart,,,,"1700",,,UCH,,,1=Brennerkreis 2=BrennerFestwert 15 | r,,CircuitDiaState,CircuitDiaState,,,,"1804",,,UCH,,, 16 | r,,CleaningLady,CleaningLady,,,,"2304",,,UCH,,,"0,5h" 17 | r,,RemoteControlMode,RemoteControlMode,,,,"2400",,,UCH,,, 18 | r,,RemoteControlRtOffset,RemoteControlRtOffset,,,,"2500",,,SCH,,,"0,5°C" 19 | r,,ActualTempDesired,ActualDesiredTemp,,,,"3304",,,temp1,,,1/2°C Auflösung 20 | r;ws,,Regelungsart,Regelungsart,,,,"3500",,,UCH,,,1 : Rücklaufregelung 2 : Vorlaufregelung 21 | r;ws,,Konfiguration,Configuration,,,,"C400",,,UCH,,, 22 | r,,HzTemp,T_Hz,,,,"D800",,,temp,,,Vorlauf- oder Rücklauftemperatur je nach gewählter Regelungsart 23 | r,,HTSoll,HT_Soll,,,,"D900",,,temp,,,°C 24 | !include,mcmode.inc,,,,,,,,,,,, 25 | !include,timer.inc,,,,,,,,,,,, 26 | !include,roomtempoffset.inc,,,,,,,,,,,, 27 | !include,quick.inc,,,,,,,,,,,, 28 | -------------------------------------------------------------------------------- /src/vaillant/yield8485r_inc.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | namespace Yield8485r_inc { 10 | // yield 11 | 12 | /** yield this year */ 13 | @inherit(r) 14 | @poll(9) 15 | @ext(0x84, 0) 16 | @chain( 17 | 2, 18 | #[0x84, 0x8], 19 | #[0x84, 0x10], 20 | #[0x84, 0x18], 21 | #[0x84, 0x20], 22 | #[0x84, 0x28], 23 | #[0x84, 0x30], 24 | #[0x84, 0x38], 25 | #[0x84, 0x40], 26 | #[0x84, 0x48], 27 | #[0x84, 0x50], 28 | #[0x84, 0x58] 29 | ) 30 | model YieldThisYear { 31 | energyr: energyr; 32 | energyr_1: energyr; 33 | energyr_2: energyr; 34 | energyr_3: energyr; 35 | energyr_4: energyr; 36 | energyr_5: energyr; 37 | energyr_6: energyr; 38 | energyr_7: energyr; 39 | energyr_8: energyr; 40 | energyr_9: energyr; 41 | energyr_10: energyr; 42 | energyr_11: energyr; 43 | } 44 | 45 | /** yield last year */ 46 | @inherit(r) 47 | @ext(0x85, 0) 48 | @chain( 49 | 2, 50 | #[0x85, 0x8], 51 | #[0x85, 0x10], 52 | #[0x85, 0x18], 53 | #[0x85, 0x20], 54 | #[0x85, 0x28], 55 | #[0x85, 0x30], 56 | #[0x85, 0x38], 57 | #[0x85, 0x40], 58 | #[0x85, 0x48], 59 | #[0x85, 0x50], 60 | #[0x85, 0x58] 61 | ) 62 | model YieldLastYear { 63 | energyr: energyr; 64 | energyr_1: energyr; 65 | energyr_2: energyr; 66 | energyr_3: energyr; 67 | energyr_4: energyr; 68 | energyr_5: energyr; 69 | energyr_6: energyr; 70 | energyr_7: energyr; 71 | energyr_8: energyr; 72 | energyr_9: energyr; 73 | energyr_10: energyr; 74 | energyr_11: energyr; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vaillant/76.vwz.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | using Ebus; 4 | using Ebus.Num; 5 | using Ebus.Dtm; 6 | using Ebus.Str; 7 | namespace Vaillant; 8 | 9 | // @zz(0x76) 10 | namespace Vwz { 11 | // additions from PR 330 for HMU;0901;5103 / VWZ;0522;5103 12 | // Test menus on VWZ. EnableTest message needs to be sent before each of the read messages work. 13 | 14 | /** default *rs for user level "service" */ 15 | @auth("service") 16 | @base(MF, 0x14, 0x5) 17 | model rs { 18 | @maxLength(2) 19 | ign: IGN; 20 | } 21 | 22 | /** default *ws for user level "service" */ 23 | @write 24 | @auth("service") 25 | @base(MF, 0x14, 0x5) 26 | model ws_1 { 27 | @maxLength(3) 28 | @constValue("03FFFF") 29 | ignore: HEX; 30 | } 31 | 32 | /** enable test 3 way valve */ 33 | @inherit(ws_1) 34 | @ext(0x2) 35 | model EnableTestThreeWayValve {} 36 | 37 | /** 3 way valve */ 38 | @inherit(rs) 39 | @ext(0x2) 40 | model TestThreeWayValve { 41 | @values(Values_TestThreeWayValve) 42 | value: UCH; 43 | } 44 | 45 | /** enable test hwc temperature */ 46 | @inherit(ws_1) 47 | @ext(0x2c) 48 | model EnableTestHwcTemp {} 49 | 50 | /** hwc temperature */ 51 | @inherit(rs) 52 | @ext(0x2c) 53 | model TestHwcTemp { 54 | @unit("°C") 55 | @divisor(10) 56 | value: temps2; 57 | } 58 | 59 | /** enable test outdoor temperature */ 60 | @inherit(ws_1) 61 | @ext 62 | model EnableTestOutdoorTemp {} 63 | 64 | /** outdoor temperature */ 65 | @inherit(rs) 66 | @ext(0x45) 67 | model TestOutdoorTemp { 68 | @unit("°C") 69 | @divisor(10) 70 | value: temps2; 71 | } 72 | 73 | enum Values_TestThreeWayValve { 74 | heating: 0, 75 | dhw: 1, 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/vaillant/52.vr_70.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./errors_inc.tsp"; 4 | using Ebus; 5 | using Ebus.Num; 6 | using Ebus.Dtm; 7 | using Ebus.Str; 8 | namespace Vaillant; 9 | 10 | // @zz(0x52) 11 | namespace Vr_70 { 12 | // ,VR_70,VR 70,109 109 13 | 14 | /** default *r */ 15 | @base(MF, 0x23) 16 | model r_1 {} 17 | 18 | /** default *w */ 19 | @write 20 | @base(MF, 0x23) 21 | model w_1 {} 22 | 23 | @inherit(w_1) 24 | @ext(1) 25 | model SetActorState { 26 | @values(Values_ActorState) 27 | r1: UCH; 28 | 29 | @values(Values_ActorState) 30 | r2: UCH; 31 | 32 | @values(Values_ActorState) 33 | r3: UCH; 34 | 35 | @values(Values_ActorState) 36 | r4: UCH; 37 | 38 | @values(Values_ActorState) 39 | r5: UCH; 40 | 41 | @values(Values_ActorState) 42 | r6: UCH; 43 | 44 | @values(Values_ActorState) 45 | s7: UCH; 46 | } 47 | 48 | @inherit(w_1) 49 | @ext(0x2, 0) 50 | model Mc1Operation { 51 | status: onoff; 52 | flowtempdesired: temp1; 53 | 54 | @in 55 | pump: onoff; 56 | 57 | @in 58 | mixer: percents; 59 | } 60 | 61 | @inherit(w_1) 62 | @ext(0x2, 1) 63 | model Mc2Operation { 64 | status: onoff; 65 | flowtempdesired: temp1; 66 | 67 | @in 68 | pump: onoff; 69 | 70 | @in 71 | mixer: percents; 72 | } 73 | 74 | @inherit(r_1) 75 | @ext(0x3) 76 | model SensorData { 77 | s1: temp; 78 | s2: temp; 79 | s3: temp; 80 | s4: temp; 81 | s5: temp; 82 | s6: temp; 83 | 84 | @maxLength(3) 85 | ignore: HEX; 86 | } 87 | 88 | enum Values_ActorState { 89 | off: 0, 90 | on: 20, 91 | } 92 | 93 | /** included parts */ 94 | union _includes { 95 | Errors_inc, 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /src/vaillant/15.160.tsp: -------------------------------------------------------------------------------- 1 | import "@ebusd/ebus-typespec"; 2 | import "./_templates.tsp"; 3 | import "./timerhwc_inc.tsp"; 4 | import "./timerhc_inc.tsp"; 5 | using Ebus; 6 | using Ebus.Num; 7 | using Ebus.Dtm; 8 | using Ebus.Str; 9 | namespace Vaillant; 10 | 11 | // @zz(0x15) 12 | namespace _160 { 13 | // ,35000,VTS 160,173 173 14 | 15 | /** System Date: current date */ 16 | @ext(0x61, 0) 17 | model Date is Register; 18 | 19 | /** System Time: current time */ 20 | @ext(0x60, 0) 21 | model Time is Register