diff --git a/src/property.h b/src/property.h index 061b84b..6aa3ed2 100644 --- a/src/property.h +++ b/src/property.h @@ -232,86 +232,224 @@ struct Property : public oe32trta::detail::Property { PROPERTY(VERDICHTER_STILLSTAND, 0xfdb1, Type::et_little_endian); #endif -#if defined(WPL_13) +#if defined(THZ_404) + PROPERTY(PUMPENZYKLEN_MIN_TAG, 0x05b8); + PROPERTY(PUMPENZYKLEN_MAX_TAG, 0x05b7); + PROPERTY(PUMPENZYKLEN_AUSSENTEMP_MAX, 0x05b9, Type::et_dec_val); + PROPERTY(PUMPENZYKLEN_AUSSENTEMP_MIN, 0x05ba, Type::et_dec_val); + PROPERTY(AKTIVE_HEIZSTUFEN, 0x05bb); +#endif + +#if defined(WPL_13) || defined(WPL_17) || defined(WPL_23) + PROPERTY(RUECKLAUFTEMP, 0x0016, Type::et_dec_val); + PROPERTY(MAXRUECKLAUFTEMP, 0x0028, Type::et_dec_val); PROPERTY(PUFFERISTTEMPERATUR, 0x0078, Type::et_dec_val); PROPERTY(BIVALENZTEMPERATUR_HZG, 0x01ac, Type::et_dec_val); PROPERTY(PUFFERSOLLTEMPERATUR, 0x01d5, Type::et_dec_val); - PROPERTY(VORLAUFTEMP, 0x01d6, Type::et_dec_val); PROPERTY(MAXVORLAUFTEMP, 0x01e8, Type::et_dec_val); - PROPERTY(MAXRUECKLAUFTEMP, 0x0028, Type::et_dec_val); PROPERTY(EL_NACHERW_ANZ_STUFEN, 0x059f); PROPERTY(EL_NACHERW_VERZ_ZEIT, 0x05a0); + PROPERTY(SPANNUNG_INVERTER, 0x06b1, Type::et_dec_val); + PROPERTY(STROM_INVERTER, 0x06b2, Type::et_dec_val); + PROPERTY(STROM_MOTOR, 0x06b4, Type::et_dec_val); PROPERTY(VERDICHTER_EINTRITTSTEMP, 0x06d9, Type::et_dec_val); PROPERTY(ISTDREHZAHL_VERDICHTER, 0x06eb); PROPERTY(SOLLDREHZAHL_VERDICHTER, 0x06ec); + PROPERTY(DRUCK_HOCHDRUCK, 0x07a6, Type::et_dec_val); + PROPERTY(DRUCK_NIEDERDRUCK, 0x07a7, Type::et_dec_val); PROPERTY(VERDAMPFERTEMP, 0x07a9, Type::et_dec_val); - PROPERTY(FROSTSCHUTZ, 0xfe07, Type::et_dec_val); PROPERTY(ANLAGEFROST, 0x0a00, Type::et_dec_val); PROPERTY(VERFLUESSIGER_TEMP, 0x0a37, Type::et_dec_val); PROPERTY(OELSUMPFTEMP, 0x0a39, Type::et_dec_val); - PROPERTY(WAERMEPUMPEN_STATUS, 0x02e2); + PROPERTY(UNTERK_COND, 0x0aff, Type::et_dec_val); + PROPERTY(RAUMEINFLUSS, 0x4ea4); PROPERTY(MINTEMP, 0x4ea7, Type::et_dec_val); PROPERTY(MAXTEMP, 0x4ea8, Type::et_dec_val); PROPERTY(MISCHERDYNAMIK, 0x4ea9); - PROPERTY(ISTTEMPERATUR, 0x4eb4, Type::et_dec_val); PROPERTY(SOLLTEMPERATUR, 0x4eb0, Type::et_dec_val); + PROPERTY(ISTTEMPERATUR, 0x4eb4, Type::et_dec_val); PROPERTY(KOMFORTTEMPERATUR, 0x4eb8, Type::et_dec_val); PROPERTY(ECOTEMPERATUR, 0x4eb9, Type::et_dec_val); PROPERTY(RAUMISTTEMP, 0x4ec7, Type::et_dec_val); - PROPERTY(RAUMSOLLTEMP, 0x4ece, Type::et_dec_val); PROPERTY(RAUMFEUCHTE, 0x4ec8, Type::et_dec_val); + PROPERTY(BETRIEBS_STATUS, 0x4ecd); + PROPERTY(RAUMSOLLTEMP, 0x4ece, Type::et_dec_val); PROPERTY(TAUPUNKTTEMP, 0x4ee0, Type::et_dec_val); - PROPERTY(RAUMEINFLUSS, 0x4ea4); - PROPERTY(HEIZUNGSDRUCK, 0x4f46, et_cent_val); - PROPERTY(VOLUMENSTROM, 0x4f47, Type::et_cent_val); - PROPERTY(HEIZEN_EFFIZIENZ_TAG, 0x501d, Type::et_cent_val); - PROPERTY(HEIZEN_EFFIZIENZ_JAHR, 0x501e, Type::et_cent_val); - PROPERTY(KUEHLEN_SOLLTEMP, 0x4f45, Type::et_dec_val); - PROPERTY(KUEHLEN_ISTTEMP, 0x4f44, Type::et_dec_val); + PROPERTY(HYSTERESE_VORLAUFTEMP_KUEHLEN, 0x4f00, Type::et_dec_val); + PROPERTY(RAUMSOLLTEMP_KUEHLEN, 0x4f04, Type::et_dec_val); PROPERTY(ISTTEMPERATUR_KK_2, 0x4f09, Type::et_dec_val); PROPERTY(SOLLTEMPERATUR_KK_2, 0x4f0a, Type::et_dec_val); - PROPERTY(RUECKLAUFTEMP, 0x0016, Type::et_dec_val); - PROPERTY(RAUMSOLLTEMP_KUEHLEN, 0x4f04, Type::et_dec_val); + PROPERTY(PROGRAMMSCHALTER, 0x4f1b, Type::et_betriebsart); + PROPERTY(STEIGUNG_HEIZKURVE, 0x4f2b, Type::et_dec_val); + PROPERTY(VORLAUFISTTEMP_NHZ, 0x4f40, Type::et_dec_val); + PROPERTY(VORLAUFISTTEMP_WP, 0x4f41, Type::et_dec_val); + PROPERTY(RUECKLAUFISTTEMP_WP, 0x4f43, Type::et_dec_val); + PROPERTY(KUEHLEN_ISTTEMP, 0x4f44, Type::et_dec_val); + PROPERTY(KUEHLEN_SOLLTEMP, 0x4f45, Type::et_dec_val); + PROPERTY(HEIZUNGSDRUCK, 0x4f46, Type::et_cent_val); + PROPERTY(VOLUMENSTROM, 0x4f47, Type::et_cent_val); + PROPERTY(LAUFZEIT_PASSIVKUEHLUNG, 0x4f9a, Type::et_dec_val); + PROPERTY(ADAPTION_UEBERHITZUNG, 0x4f9e, Type::et_dec_val); + PROPERTY(SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER, 0x4fa1, Type::et_dec_val); + PROPERTY(IST_UEBERHITZUNG_SAUGGAS_VERDICHTER, 0x4fa2, Type::et_dec_val); PROPERTY(RUECKLAUFTEMP_QUELLE, 0x4fa6, Type::et_dec_val); PROPERTY(VORLAUFTEMP_QUELLE, 0x4fa7, Type::et_dec_val); PROPERTY(QUELLENDRUCK, 0x4fa8, Type::et_dec_val); PROPERTY(LEISTUNG_QUELLENPUMPE, 0x4fa9, Type::et_dec_val); - PROPERTY(STROM_INVERTER, 0x06b2, Type::et_dec_val); - PROPERTY(SPANNUNG_INVERTER, 0x06b1, Type::et_dec_val); - PROPERTY(DRUCK_HOCHDRUCK, 0x07a6, Type::et_dec_val); - PROPERTY(DRUCK_NIEDERDRUCK, 0x07a7, Type::et_dec_val); - PROPERTY(VORLAUFISTTEMP, 0xfdf3, Type::et_dec_val); - PROPERTY(BETRIEBS_STATUS, 0x4ecd); - PROPERTY(VERDICHTER_STARTS, 0x4ef1); - PROPERTY(VERDICHTER_STARTS_K, 0x4ef0); - PROPERTY(HYSTERESE_VORLAUFTEMP_KUEHLEN, 0x4f00, Type::et_dec_val); - PROPERTY(PROGRAMMSCHALTER, 0x4f1b, Type::et_betriebsart); - PROPERTY(VORLAUFISTTEMP_WP, 0x4f41, Type::et_dec_val); - PROPERTY(VORLAUFISTTEMP_NHZ, 0x4f40, Type::et_dec_val); - PROPERTY(RUECKLAUFISTTEMP_WP, 0x4f43, Type::et_dec_val); - PROPERTY(LEISTUNG_KUEHLEN, 0x7a40, Type::et_dec_val); - PROPERTY(RUECKLAUFISTTEMP, 0xfdf4, Type::et_dec_val); - PROPERTY(STEIGUNG_HEIZKURVE, 0x4f2b, Type::et_dec_val); - PROPERTY(STARTTEMPERATUR, 0x4fbe, Type::et_dec_val); + PROPERTY(VERDICHTERDREHZAHLGRENZE, 0x4fac, Type::et_dec_val); PROPERTY(STEIGUNG_KUEHLKURVE, 0x4fb9, Type::et_dec_val); - PROPERTY(LAUFZEIT_PASSIVKUEHLUNG, 0x4f9a, Type::et_dec_val); - PROPERTY(ZEITINTERVALL, 0x4f4d, Type::et_dec_val); + PROPERTY(STARTTEMPERATUR, 0x4fbe, Type::et_dec_val); + PROPERTY(HEIZEN_EFFIZIENZ_TAG, 0x501d, Type::et_cent_val); + PROPERTY(HEIZEN_EFFIZIENZ_JAHR, 0x501e, Type::et_cent_val); + PROPERTY(LEISTUNG_KUEHLEN, 0x7a40, Type::et_dec_val); PROPERTY(UMGEBUNGSTEMPERATUR_INVERTER, 0xc1e6, Type::et_dec_val); - PROPERTY(UNTERK_COND, 0x0aff, Type::et_dec_val); PROPERTY(TEMPERATUR_INV_VERDICHTER, 0xc1e7, Type::et_dec_val); - PROPERTY(STROM_MOTOR, 0x06b4, Type::et_dec_val); - PROPERTY(ADAPTION_UEBERHITZUNG, 0x4f9e, Type::et_dec_val); - PROPERTY(VERDICHTERDREHZAHLGRENZE, 0x4fac, Type::et_dec_val); - PROPERTY(IST_UEBERHITZUNG_SAUGGAS_VERDICHTER, 0x4fa2, Type::et_dec_val); - PROPERTY(SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER, 0x4fa1, Type::et_dec_val); + PROPERTY(RUECKLAUFISTTEMP, 0xfdf4, Type::et_dec_val); + PROPERTY(FROSTSCHUTZ, 0xfe07, Type::et_dec_val); #endif -#if defined(THZ_404) - PROPERTY(PUMPENZYKLEN_MIN_TAG, 0x05b8); - PROPERTY(PUMPENZYKLEN_MAX_TAG, 0x05b7); - PROPERTY(PUMPENZYKLEN_AUSSENTEMP_MAX, 0x05b9, Type::et_dec_val); - PROPERTY(PUMPENZYKLEN_AUSSENTEMP_MIN, 0x05ba, Type::et_dec_val); - PROPERTY(AKTIVE_HEIZSTUFEN, 0x05bb); +#if defined(WPL_13) || defined(WPL_17) + PROPERTY(VORLAUFTEMP, 0x01d6, Type::et_dec_val); + PROPERTY(VERDICHTER_STARTS_K, 0x4ef0); + PROPERTY(VERDICHTER_STARTS, 0x4ef1); + PROPERTY(ZEITINTERVALL, 0x4f4d, Type::et_dec_val); + PROPERTY(VORLAUFISTTEMP, 0xfdf3, Type::et_dec_val); +#endif + +#if defined(WPL_17) || defined(WPL_23) + PROPERTY(LAUFZEIT_NHZ1, 0x0259); + PROPERTY(LAUFZEIT_NHZ2, 0x025a); + PROPERTY(LAUFZEIT_NHZ1_2, 0x0805); + PROPERTY(STARTS_ABTAUEN, 0x0806); + PROPERTY(ZEIT_ABTAUEN, 0x0807); +#endif + +#if defined(WPL_13) + PROPERTY(WAERMEPUMPEN_STATUS, 0x02e2); +#endif + +#if defined(WPL_17) + PROPERTY(WP_WASSERVOLUMENSTROM, 0x02e2, Type::et_dec_val); + PROPERTY(BIVALENZTEMPERATUR_WW, 0x01ad, Type::et_dec_val); + PROPERTY(EINSATZGRENZE_HZG, 0x01ae, Type::et_dec_val); + PROPERTY(EINSATZGRENZE_WW, 0x01af, Type::et_dec_val); + PROPERTY(AUSSENTEMPERATUR_EINST, 0x01bf, Type::et_dec_val); + PROPERTY(FESTWERTBETRIEB, 0x01c0, Type::et_dec_val); + PROPERTY(WW_LERNFUNKTION, 0x027e); + PROPERTY(REGELABWEICHUNG, 0x033d, Type::et_dec_val); + PROPERTY(GRENZE_KUEHLEN, 0x03dc, Type::et_dec_val); + PROPERTY(VORLAUFANTEIL_HEIZKREIS, 0x049d); + PROPERTY(SENSORABGLEICH_VORLAUF_WP, 0x0658, Type::et_dec_val); + PROPERTY(SENSORABGLEICH_VORLAUF_NHZ, 0x0659, Type::et_dec_val); + PROPERTY(SENSORABGLEICH_RUECKLAUF_WP, 0x065a, Type::et_dec_val); + PROPERTY(AUSLEGUNGSTEMPERATUR, 0x0665, Type::et_dec_val); + PROPERTY(WAERMEBEDARF, 0x0666, Type::et_dec_val); + PROPERTY(WW_LEISTUNG_SOMMER, 0x066f); + PROPERTY(WW_LEISTUNG_WINTER, 0x0670); + PROPERTY(STANDBY_PUMPENLEISTUNG, 0x067d); + PROPERTY(SOLLSPREIZUNG, 0x067e, Type::et_dec_val); + PROPERTY(MAXIMALE_PUMPENLEISTUNG, 0x067f); + PROPERTY(KONDENSATBEGLEITHEIZUNG_AUSSENTEMPERATUR, 0x0700, Type::et_dec_val); + PROPERTY(LEISTUNG_WARMWASSERPUMPE, 0x0705); + PROPERTY(KOMBISPEICHER, 0x070d); + PROPERTY(EINGANG_X1_13, 0x0713); + PROPERTY(EINGANG_X1_14, 0x0714); + PROPERTY(HEIZEN_TEMPERATURVORGABE_1V, 0x0715, Type::et_dec_val); + PROPERTY(HEIZEN_TEMPERATURVORGABE_10V, 0x0716, Type::et_dec_val); + PROPERTY(KUEHLEN_TEMPERATURVORGABE_1V, 0x0717, Type::et_dec_val); + PROPERTY(KUEHLEN_TEMPERATURVORGABE_10V, 0x0718, Type::et_dec_val); + PROPERTY(FUNKTION_X1_16, 0x0719); + PROPERTY(PUMPE_X1_16, 0x071a); + PROPERTY(LEISTUNG_PWM_X1_16, 0x071b); + PROPERTY(LEISTUNG_VOLT_X1_16, 0x071c, Type::et_dec_val); + PROPERTY(FUNKTION_X1_17, 0x071d); + PROPERTY(PUMPE_X1_17, 0x071e); + PROPERTY(LEISTUNG_PWM_X1_17, 0x071f); + PROPERTY(LEISTUNG_VOLT_X1_17, 0x0720, Type::et_dec_val); + PROPERTY(FEHLERAUSGANG, 0x0730); + PROPERTY(OEFFNUNGSGRAD_EXV, 0x07ca, Type::et_dec_val); + PROPERTY(SOLL_UEBERHITZUNG, 0x07f3, Type::et_dec_val); + PROPERTY(IST_UEBERHITZUNG_V, 0x07f4, Type::et_dec_val); + PROPERTY(VORSTEUER_OEFFNUNGSGRAD_EXV, 0x07f6, Type::et_dec_val); + PROPERTY(P_FAKTOR, 0x07f7, Type::et_cent_val); + PROPERTY(I_FAKTOR, 0x07f8, Type::et_cent_val); + PROPERTY(D_FAKTOR, 0x07f9, Type::et_cent_val); + PROPERTY(LUEFTERLEISTUNG_REL, 0x0833); + PROPERTY(FROSTSCHUTZTEMPERATUR, 0x0a36, Type::et_dec_val); + PROPERTY(REGLERDYNAMIK_HEIZEN, 0x4e8a); + PROPERTY(SILENT_LEISTUNG, 0x4e9f); + PROPERTY(SILENT_LUEFTER, 0x4ea0); + PROPERTY(WAERMEPUMPE_AUS, 0x4ea1); + PROPERTY(PUFFERTRIEB, 0x4eaf); + PROPERTY(WW_ANFORDERUNG, 0x4eb2); + PROPERTY(KONSTANTE_LEISTUNG, 0x4eba, Type::et_dec_val); + PROPERTY(REDUZIERUNG_LEISTUNG, 0x4ebf); + PROPERTY(FET_ECO, 0x4ec4); + PROPERTY(VERDICHTER_SOFORTSTART, 0x4ef4); + PROPERTY(INBETRIEBNAHME_NOTBETRIEB, 0x4ef5); + PROPERTY(WW_SOLLTEMPERATUR, 0x4ef9, Type::et_dec_val); + PROPERTY(EINGESCHALTETE_STUFEN, 0x4efa); + PROPERTY(LAUFZEIT_VD_HEIZEN, 0x4efb); + PROPERTY(LAUFZEIT_VD_KUEHLEN, 0x4efc); + PROPERTY(LAUFZEIT_VD_WW, 0x4efd); + PROPERTY(KUEHLART, 0x4f05); + PROPERTY(LAUFZEIT_VD_ABTAUEN, 0x4f06); + PROPERTY(KUEHLEN, 0x4f07); + PROPERTY(KUEHLKREIS, 0x4f08); + PROPERTY(MELDUNGSLISTE, 0x4f0c); + PROPERTY(SOMMERBETRIEB, 0x4f1e); + PROPERTY(GEBAEUDEDAEMPFUNG, 0x4f1f); + PROPERTY(PUMPENZYKLEN, 0x4f21); + PROPERTY(WARMWASSERBETRIEB, 0x4f24); + PROPERTY(WARMWASSERHYSTERESE, 0x4f25, Type::et_dec_val); + PROPERTY(ANTILEGIONELLENBEHANDLUNG, 0x4f28); + PROPERTY(ABTAUEN_EINLEITEN, 0x4f2d); + PROPERTY(STILLSTANDSZEIT, 0x4f2e); + PROPERTY(MINIMALE_ABTAUZEIT, 0x4f2f); + PROPERTY(MAXIMALER_STROM, 0x4f3f, Type::et_dec_val); + PROPERTY(AUSSENTEMPERATUR_WP, 0x4f4f, Type::et_dec_val); + PROPERTY(EVU_SPERRE_CONFIG, 0x4f84); + PROPERTY(ENTLEERUNG_HYD_2, 0xabe7); + PROPERTY(ENTLEERUNG_HYD_1, 0xb3bd); + PROPERTY(RELAIS_NHZ1, 0xb3be); + PROPERTY(RELAIS_NHZ2, 0xb3bf); + PROPERTY(RELAIS_NHZ3, 0xb3c0); + PROPERTY(RELAIS_X_2_3, 0xbb81); + PROPERTY(RELAIS_X_2_4, 0xbb82); + PROPERTY(RELAIS_X_2_5, 0xbb83); + PROPERTY(RELAIS_X_2_6, 0xbb84); + PROPERTY(RELAIS_X_2_7, 0xbb85); + PROPERTY(RELAIS_X_2_8, 0xbb86); + PROPERTY(RELAIS_X_2_9, 0xbb87); + PROPERTY(RELAIS_X_2_10, 0xbb88); + PROPERTY(RELAIS_X_2_11, 0xbb89); + PROPERTY(RELAIS_X_2_12, 0xbb8a); + PROPERTY(RELAIS_X_2_13, 0xbb8b); + PROPERTY(RELAIS_X_2_14_1, 0xbb8c); + PROPERTY(RELAIS_X_2_14_2, 0xbb8d); + PROPERTY(RELAIS_X_2_15_1, 0xbb8e); + PROPERTY(RELAIS_X_2_15_2, 0xbb8f); + PROPERTY(SCHRITTMOTOR_PHASE_1, 0xbb91); + PROPERTY(SCHRITTMOTOR_PHASE_2, 0xbb93); + PROPERTY(SCHRITTMOTOR_PHASE_3, 0xbb95); + PROPERTY(SCHRITTMOTOR_PHASE_4, 0xbb97); + PROPERTY(KUEHLEN_LEISTUNG, 0xc212, Type::et_dec_val); + PROPERTY(SOLLDREHZAHL_LUEFTER, 0xc281); + PROPERTY(ISTDREHZAHL_LUEFTER, 0xc283); + PROPERTY(TEMPERATUR_INV_LUEFTER, 0xc2c2, Type::et_dec_val); + PROPERTY(OEFFNUNGSGRAD_BYPASSVENT, 0xc2c3, Type::et_dec_val); +#endif + +#if defined(WPL_23) + PROPERTY(VORLAUFISTTEMP, 0x01d6, Type::et_dec_val); + PROPERTY(ZWISCHENEINSPRITZUNGSTEMP, 0x05d7, Type::et_dec_val); + PROPERTY(ZEITINTERVALL, 0x0691, Type::et_dec_val); + PROPERTY(VERDICHTER_STARTS_K, 0x071c); + PROPERTY(VERDICHTER_STARTS, 0x071d); + PROPERTY(REKUPERATORTEMPERATUR, 0x07a3, Type::et_dec_val); + PROPERTY(LAUFZEIT_VD_HEIZEN, 0x07fc); + PROPERTY(LAUFZEIT_VD_WW, 0x0802); + PROPERTY(LAUFZEIT_VD_ABTAUEN, 0x0808); #endif }; diff --git a/yaml/wpl13.yaml b/yaml/wpl13.yaml index b10c782..645dca9 100644 --- a/yaml/wpl13.yaml +++ b/yaml/wpl13.yaml @@ -8,36 +8,9 @@ esphome: build_flags: - "-DWPL_13" on_boot: - priority: 100.0 # AFTER_CONNECTION + priority: 100.0 then: - lambda: |- - CallbackHandler::instance().addCallback(std::make_pair(WPM2,Property::kPROGRAMMSCHALTER),[](const SimpleVariant& value){ - const auto stringValue{value.get()}; - ESP_LOGI("PROGRAMMSCHALTER", "mapped value %s", stringValue.c_str()); - const auto index = id(PROGRAMMSCHALTER).index_of(stringValue); - if(index.has_value()) { - id(PROGRAMMSCHALTER).publish_state(stringValue); - } - }); - queueRequest(WPM2, Property::kPROGRAMMSCHALTER); - - CallbackHandler::instance().addCallback(std::make_pair(WPM2,Property::kBETRIEBS_STATUS),[](const SimpleVariant& value){ - const std::bitset<12U> status_bits{static_cast(value)}; - id(HEIZKREISPUMPE_1).publish_state(status_bits.test(0U)); - id(HEIZKREISPUMPE_2).publish_state(status_bits.test(1U)); - id(PUFFERLADEPUMPE_1).publish_state(status_bits.test(2U)); - id(QUELLENPUMPE).publish_state(status_bits.test(3U)); - id(STOERAUSGANG).publish_state(status_bits.test(4U)); - id(KUEHLBETRIEB).publish_state(status_bits.test(5U)); - id(MISCHER_AUF_HEIZKREIS_2).publish_state(status_bits.test(6U)); - id(MISCHER_ZU_HEIZKREIS_2).publish_state(status_bits.test(7U)); - id(NHZ_1).publish_state(status_bits.test(8U)); - id(NHZ_2).publish_state(status_bits.test(9U)); - id(NHZ_3).publish_state(status_bits.test(10U)); - id(EVU_SPERRE).publish_state(status_bits.test(11U)); - }); - queueRequest(WPM2, Property::kBETRIEBS_STATUS); - CallbackHandler::instance().addCallback(std::make_pair(Manager,Property::kWAERMEPUMPEN_STATUS),[](const SimpleVariant& value){ const std::bitset<9U> status_bits{static_cast(value)}; id(VERDICHTER).publish_state(status_bits.test(0U)); @@ -70,63 +43,19 @@ substitutions: # # ######################################### globals: - - id: gCOP_WW_TAG - type: float - initial_value: "0.0" - - id: gCOP_HEIZ_TAG - type: float - initial_value: "0.0" - id: heat_pump_variant type: std::string initial_value: '"WPL13"' -######################################### -# # -# Selects # -# # -######################################### -select: - - platform: template - name: "PROGRAMMSCHALTER" - id: PROGRAMMSCHALTER - options: - - "Notbetrieb" - - "Bereitschaft" - - "Programm" - - "Komfort" - - "Eco" - - "Unbekannt" - initial_option: "Unbekannt" - optimistic: true - setup_priority: 100 - set_action: - then: - - lambda: |- - const auto betriebsartId = Mapper::instance().getBetriebsartId(x); - if(betriebsartId.has_value()) { - queueTransmission(WPM2, Property::kPROGRAMMSCHALTER, (betriebsartId.value() >> 8U) & 0xFF); - } - ######################################### # # # Packages # # # ######################################### + packages: - CORE: !include { file: core.yaml } + wpl_base: !include { file: wpl_base.yaml } - HEIZKREISPUMPE_1: !include { file: templates/wp_binary.yaml, vars: { name: "HEIZKREISPUMPE_1" }} - HEIZKREISPUMPE_2: !include { file: templates/wp_binary.yaml, vars: { name: "HEIZKREISPUMPE_2" }} - PUFFERLADEPUMPE_1: !include { file: templates/wp_binary.yaml, vars: { name: "PUFFERLADEPUMPE_1" }} - QUELLENPUMPE: !include { file: templates/wp_binary.yaml, vars: { name: "QUELLENPUMPE" }} - STOERAUSGANG: !include { file: templates/wp_binary.yaml, vars: { name: "STOERAUSGANG" }} - KUEHLBETRIEB: !include { file: templates/wp_binary.yaml, vars: { name: "KUEHLBETRIEB" }} - MISCHER_AUF_HEIZKREIS_2: !include { file: templates/wp_binary.yaml, vars: { name: "MISCHER_AUF_HEIZKREIS_2" }} - MISCHER_ZU_HEIZKREIS_2: !include { file: templates/wp_binary.yaml, vars: { name: "MISCHER_ZU_HEIZKREIS_2" }} - NHZ_1: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_1" }} - NHZ_2: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_2" }} - NHZ_3: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_3" }} - EVU_SPERRE: !include { file: templates/wp_binary.yaml, vars: { name: "EVU_SPERRE" }} VERDICHTER: !include { file: templates/wp_binary.yaml, vars: { name: "VERDICHTER" }} OELSUMPFHEIZUNG: !include { file: templates/wp_binary.yaml, vars: { name: "OELSUMPFHEIZUNG" }} SICHERHEITSKETTE: !include { file: templates/wp_binary.yaml, vars: { name: "SICHERHEITSKETTE" }} @@ -136,90 +65,3 @@ packages: WAERMEQUELLENPUMPE: !include { file: templates/wp_binary.yaml, vars: { name: "WAERMEQUELLENPUMPE" }} PASSIVKUEHLVENTIL_HEIZEN: !include { file: templates/wp_binary.yaml, vars: { name: "PASSIVKUEHLVENTIL_HEIZEN" }} PASSIVKUEHLVENTIL_KUEHLEN: !include { file: templates/wp_binary.yaml, vars: { name: "PASSIVKUEHLVENTIL_KUEHLEN" }} - - ISTTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} - SOLLTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} - KOMFORTTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "KOMFORTTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} - ECOTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "ECOTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} - ISTTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} - SOLLTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} - KOMFORTTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "KOMFORTTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} - ECOTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "ECOTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} - RAUMISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMISTTEMP" , target: "FET" }} - RAUMSOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMSOLLTEMP" , target: "FET" }} - PUFFERISTTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "PUFFERISTTEMPERATUR" }} - FROSTSCHUTZ: !include { file: templates/wp_temperature.yaml, vars: { property: "FROSTSCHUTZ" , target: "MFG" }} - VORLAUFTEMP_QUELLE: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFTEMP_QUELLE" , target: "Manager" }} - RUECKLAUFTEMP_QUELLE: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFTEMP_QUELLE" , target: "Manager" }} - VORLAUFISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP" , update_interval: $interval_medium, target: "MFG" }} - VORLAUFSOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFSOLLTEMP" , target: "HK1" }} - VERDAMPFERTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERDAMPFERTEMP" , target: "Manager" }} - RUECKLAUFISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFISTTEMP" , update_interval: $interval_medium , target: "MFG" }} - MAXVORLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXVORLAUFTEMP" , target: "Kessel" }} - MAXRUECKLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXRUECKLAUFTEMP" , target: "Kessel" }} - AUSSENTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "AUSSENTEMP" , update_interval: $interval_medium , target: "Kessel" }} - HEISSGAS_TEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "HEISSGAS_TEMP" , update_interval: $interval_medium , target: "Manager" }} - VORLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFTEMP" , update_interval: $interval_medium , target: "Manager" }} - VERFLUESSIGER_TEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERFLUESSIGER_TEMP" , update_interval: $interval_medium , target: "Manager" }} - OELSUMPFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "OELSUMPFTEMP" , update_interval: $interval_medium , target: "Manager" }} - VORLAUFISTTEMP_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP_WP" , update_interval: $interval_medium , target: "Kessel" }} - RUECKLAUFISTTEMP_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFISTTEMP_WP", update_interval: $interval_medium , target: "Kessel" }} - RUECKLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFTEMP" , update_interval: $interval_medium , target: "Manager" }} - KUEHLEN_SOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_SOLLTEMP" , update_interval: $interval_medium , target: "Kessel" }} - KUEHLEN_ISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_ISTTEMP" , update_interval: $interval_medium , target: "Kessel" }} - ISTTEMPERATUR_KK_2: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR_KK_2" , update_interval: $interval_medium , target: "HK2" }} - SOLLTEMPERATUR_KK_2: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR_KK_2", update_interval: $interval_medium , target: "HK2" }} - ANLAGEFROST: !include { file: templates/wp_temperature.yaml, vars: { property: "ANLAGEFROST" , update_interval: $interval_medium , target: "Kessel" }} - VORLAUFISTTEMP_NHZ: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP_NHZ" , update_interval: $interval_medium , target: "Kessel" }} - HYSTERESE_VORLAUFTEMP_KUEHLEN: !include { file: templates/wp_temperature.yaml, vars: { property: "HYSTERESE_VORLAUFTEMP_KUEHLEN", target: "Kessel", unit: "°K" }} - STARTTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "STARTTEMPERATUR" , target: "HK2" }} - VERDICHTER_EINTRITTSTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERDICHTER_EINTRITTSTEMP", target: "Manager" }} - TAUPUNKTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "TAUPUNKTTEMP", target: "HK2" }} - RAUMSOLLTEMP_KUEHLEN: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMSOLLTEMP_KUEHLEN", target: "HK2" }} - BIVALENZTEMPERATUR_HZG: !include { file: templates/wp_temperature.yaml, vars: { property: "BIVALENZTEMPERATUR_HZG", target: "Kessel" }} - UMGEBUNGSTEMPERATUR_INVERTER: !include { file: templates/wp_temperature.yaml, vars: { property: "UMGEBUNGSTEMPERATUR_INVERTER" , target: "Manager" }} - UNTERK_COND: !include { file: templates/wp_temperature.yaml, vars: { property: "UNTERK_COND" , target: "Manager" }} - TEMPERATUR_INV_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "TEMPERATUR_INV_VERDICHTER" , target: "Manager" }} - IST_UEBERHITZUNG_SAUGGAS_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "IST_UEBERHITZUNG_SAUGGAS_VERDICHTER", target: "Manager", unit: "°K" }} - SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER", target: "Manager", unit: "°K" }} - ADAPTION_UEBERHITZUNG: !include { file: templates/wp_temperature.yaml, vars: { property: "ADAPTION_UEBERHITZUNG", target: "Manager", unit: "°K" }} - MINTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MINTEMP" , target: "HK2" }} - MAXTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXTEMP" , target: "HK2" }} - - EL_NACHERW_VERZ_ZEIT: !include { file: templates/wp_generic.yaml, vars: { property: "EL_NACHERW_VERZ_ZEIT", unit: "min" , target: "Kessel" }} - EL_NACHERW_ANZ_STUFEN: !include { file: templates/wp_generic.yaml, vars: { property: "EL_NACHERW_ANZ_STUFEN", target: "Kessel" }} - ISTDREHZAHL_VERDICHTER: !include { file: templates/wp_generic.yaml, vars: { property: "ISTDREHZAHL_VERDICHTER" , unit: "Hz", target: "Manager" }} - SOLLDREHZAHL_VERDICHTER: !include { file: templates/wp_generic.yaml, vars: { property: "SOLLDREHZAHL_VERDICHTER", unit: "Hz", target: "Manager" }} - LEISTUNG_KUEHLEN: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_KUEHLEN", unit: "kW", target: "WPM2" }} - STEIGUNG_KUEHLKURVE: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_KUEHLKURVE" , target: "HK2" , scaler: "0.1", accuracy_decimals: "2" }} - LAUFZEIT_PASSIVKUEHLUNG: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_PASSIVKUEHLUNG", scaler: "10", unit: "h", target: "Manager" }} - RAUMFEUCHTE: !include { file: templates/wp_generic.yaml, vars: { property: "RAUMFEUCHTE" , update_interval: $interval_very_slow, unit: "%", icon: "mdi:water-percent", accuracy_decimals: "1", target: "FET" }} - HEIZEN_EFFIZIENZ_TAG: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZEN_EFFIZIENZ_TAG" , target: "WPM2", accuracy_decimals: "2" }} - HEIZEN_EFFIZIENZ_JAHR: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZEN_EFFIZIENZ_JAHR" , target: "WPM2", accuracy_decimals: "2" }} - DRUCK_NIEDERDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "DRUCK_NIEDERDRUCK" , unit: "bar" , icon: "mdi:water-pressure", scaler: "0.1" , accuracy_decimals: "2", target: "Manager" }} - DRUCK_HOCHDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "DRUCK_HOCHDRUCK" , unit: "bar" , icon: "mdi:water-pressure", scaler: "0.1" , accuracy_decimals: "2", target: "Manager" }} - HEIZUNGSDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZUNGSDRUCK" , unit: "bar" , icon: "mdi:water-pressure" , accuracy_decimals: "2", target: "Kessel" }} - QUELLENDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "QUELLENDRUCK" , unit: "bar" , icon: "mdi:water-pressure" , accuracy_decimals: "1", target: "Manager" }} - LEISTUNG_QUELLENPUMPE: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_QUELLENPUMPE" , unit: "%" , icon: "mdi:water-percent", accuracy_decimals: "1", target: "Manager" }} - VOLUMENSTROM: !include { file: templates/wp_generic.yaml, vars: { property: "VOLUMENSTROM" , unit: "l/min", icon: "mdi:flow" , accuracy_decimals: "2", target: "Kessel" }} - STROM_INVERTER: !include { file: templates/wp_generic.yaml, vars: { property: "STROM_INVERTER" , unit: "A" , target: "Manager" , accuracy_decimals: "1" }} - SPANNUNG_INVERTER: !include { file: templates/wp_generic.yaml, vars: { property: "SPANNUNG_INVERTER" , unit: "V" , target: "Manager" , accuracy_decimals: "1" }} - ZEITINTERVALL: !include { file: templates/wp_generic.yaml, vars: { property: "ZEITINTERVALL", scaler: "10", target: "WPM2" }} - STROM_MOTOR: !include { file: templates/wp_generic.yaml, vars: { property: "STROM_MOTOR" , unit: "A" , target: "Manager" , accuracy_decimals: "1" }} - VERDICHTERDREHZAHLGRENZE: !include { file: templates/wp_generic.yaml, vars: { property: "VERDICHTERDREHZAHLGRENZE", target: "Manager" }} - STEIGUNG_HEIZKURVE_HK1: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_HEIZKURVE" , target: "HK1" , name_suffix: "_HK1", scaler: "0.1", accuracy_decimals: "2" }} - STEIGUNG_HEIZKURVE_HK2: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_HEIZKURVE" , target: "HK2" , name_suffix: "_HK2", scaler: "0.1", accuracy_decimals: "2" }} - MISCHERDYNAMIK: !include { file: templates/wp_generic.yaml, vars: { property: "MISCHERDYNAMIK", target: "HK2" }} - - RAUMEINFLUSS: !include { file: templates/wp_number.yaml, vars: { property: "RAUMEINFLUSS", target: "HK2" }} - - VERDICHTER_STARTS: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "VERDICHTER_STARTS" , scaled_property: "VERDICHTER_STARTS_K" , property: "VERDICHTER_STARTS" , unit: "" , accuracy_decimals: "0", scaler: "1000", icon: "mdi:counter" , target: "Manager" }} - WAERMEERTRAG_WW_SUMME_MWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_WW_SUMME_MWH" , scaled_property: "WAERMEERTRAG_WW_SUM_KWH" , property: "WAERMEERTRAG_WW_SUM_MWH" , unit: "MWh", accuracy_decimals: "3", icon: "mdi:fire" , target: "Manager" }} - WAERMEERTRAG_HEIZ_SUMME_MWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_HEIZ_SUMME_MWH" , scaled_property: "WAERMEERTRAG_HEIZ_SUM_KWH" , property: "WAERMEERTRAG_HEIZ_SUM_MWH" , unit: "MWh", accuracy_decimals: "3", icon: "mdi:fire" , target: "Manager" }} - - EL_ENERGIEAUFNAHME_WW_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_WW_SUMME_KWH" , property_wh: "EL_ENERGIEAUFNAHME_WW_TAG_WH" , property_kwh: "EL_ENERGIEAUFNAHME_WW_TAG_KWH" , target: "Manager" }} - EL_ENERGIEAUFNAHME_HEIZ_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_HEIZ_SUMME_KWH" , property_wh: "EL_ENERGIEAUFNAHME_HEIZ_TAG_WH" , property_kwh: "EL_ENERGIEAUFNAHME_HEIZ_TAG_KWH" , target: "Manager" }} - WAERMEERTRAG_WW_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_WW_TAG_SUMME_KWH" , property_wh: "WAERMEERTRAG_WW_TAG_WH" , property_kwh: "WAERMEERTRAG_WW_TAG_KWH" , target: "Manager" }} - WAERMEERTRAG_HEIZ_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_HEIZ_TAG_SUMME_KWH" , property_wh: "WAERMEERTRAG_HEIZ_TAG_WH" , property_kwh: "WAERMEERTRAG_HEIZ_TAG_KWH" , target: "Manager" }} - - HEATPUMP_DATETIME: !include { file: templates/wp_datetime.yaml } diff --git a/yaml/wpl17.yaml b/yaml/wpl17.yaml new file mode 100644 index 0000000..39b42ba --- /dev/null +++ b/yaml/wpl17.yaml @@ -0,0 +1,144 @@ +######################################### +# # +# ESPHome # +# # +######################################### +esphome: + platformio_options: + build_flags: + - "-DWPL_17" + +######################################### +# # +# Global variables # +# # +######################################### +globals: + - id: heat_pump_variant + type: std::string + initial_value: '"WPL13"' + +######################################### +# # +# Packages # +# # +######################################### +packages: + wpl_base: !include { file: wpl_base.yaml } + + WP_WASSERVOLUMENSTROM: !include { file: templates/wp_generic.yaml, vars: { property: "WP_WASSERVOLUMENSTROM", unit: "l/min", icon: "mdi:water", accuracy_decimals: "1", target: "Manager" }} + FET_ECO: !include { file: templates/wp_generic.yaml, vars: { property: "FET_ECO", target: "HK1" }} + LUEFTERLEISTUNG_REL: !include { file: templates/wp_generic.yaml, vars: { property: "LUEFTERLEISTUNG_REL", unit: "%", icon: "mdi:fan", target: "Manager" }} + SOLLDREHZAHL_LUEFTER: !include { file: templates/wp_generic.yaml, vars: { property: "SOLLDREHZAHL_LUEFTER", unit: "Hz", icon: "mdi:fan", target: "Manager" }} + ISTDREHZAHL_LUEFTER: !include { file: templates/wp_generic.yaml, vars: { property: "ISTDREHZAHL_LUEFTER", unit: "Hz", icon: "mdi:fan", target: "Manager" }} + LAUFZEIT_VD_HEIZEN: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_HEIZEN", unit: "h", target: "Kessel" }} + LAUFZEIT_VD_WW: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_WW", unit: "h", target: "Kessel" }} + LAUFZEIT_VD_KUEHLEN: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_KUEHLEN", unit: "h", target: "Kessel" }} + LAUFZEIT_VD_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_ABTAUEN", unit: "h", target: "Kessel" }} + LAUFZEIT_NHZ1: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ1", unit: "h", target: "Manager" }} + LAUFZEIT_NHZ2: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ2", unit: "h", target: "Manager" }} + LAUFZEIT_NHZ1_2: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ1_2", unit: "h", target: "Manager" }} + ZEIT_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "ZEIT_ABTAUEN", unit: "min", target: "Manager" }} + STARTS_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "STARTS_ABTAUEN", target: "Manager" }} + P_FAKTOR: !include { file: templates/wp_generic.yaml, vars: { property: "P_FAKTOR", target: "Manager" }} + I_FAKTOR: !include { file: templates/wp_generic.yaml, vars: { property: "I_FAKTOR", target: "Manager" }} + D_FAKTOR: !include { file: templates/wp_generic.yaml, vars: { property: "D_FAKTOR", target: "Manager" }} + VORSTEUER_OEFFNUNGSGRAD_EXV: !include { file: templates/wp_generic.yaml, vars: { property: "VORSTEUER_OEFFNUNGSGRAD_EXV", unit: "%", target: "Manager" }} + OEFFNUNGSGRAD_EXV: !include { file: templates/wp_generic.yaml, vars: { property: "OEFFNUNGSGRAD_EXV", unit: "%", target: "Manager" }} + OEFFNUNGSGRAD_BYPASSVENT: !include { file: templates/wp_generic.yaml, vars: { property: "OEFFNUNGSGRAD_BYPASSVENT", unit: "%", target: "Manager" }} + EINGESCHALTETE_STUFEN: !include { file: templates/wp_generic.yaml, vars: { property: "EINGESCHALTETE_STUFEN", target: "WPM2" }} + MELDUNGSLISTE: !include { file: templates/wp_generic.yaml, vars: { property: "MELDUNGSLISTE", target: "Kessel" }} + RELAIS_X_2_3: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_3", target: "Kessel" }} + RELAIS_X_2_4: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_4", target: "Kessel" }} + RELAIS_X_2_5: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_5", target: "Kessel" }} + RELAIS_X_2_6: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_6", target: "Kessel" }} + RELAIS_X_2_7: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_7", target: "Kessel" }} + RELAIS_X_2_8: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_8", target: "Kessel" }} + RELAIS_X_2_9: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_9", target: "Kessel" }} + RELAIS_X_2_10: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_10", target: "Kessel" }} + RELAIS_X_2_11: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_11", target: "Kessel" }} + RELAIS_X_2_12: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_12", target: "Kessel" }} + RELAIS_X_2_13: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_13", target: "Kessel" }} + RELAIS_X_2_14_1: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_14_1", target: "Kessel" }} + RELAIS_X_2_14_2: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_14_2", target: "Kessel" }} + RELAIS_X_2_15_1: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_15_1", target: "Kessel" }} + RELAIS_X_2_15_2: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_X_2_15_2", target: "Kessel" }} + ENTLEERUNG_HYD_1: !include { file: templates/wp_generic.yaml, vars: { property: "ENTLEERUNG_HYD_1", target: "Kessel" }} + ENTLEERUNG_HYD_2: !include { file: templates/wp_generic.yaml, vars: { property: "ENTLEERUNG_HYD_2", target: "Kessel" }} + RELAIS_NHZ1: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_NHZ1", target: "Kessel" }} + RELAIS_NHZ2: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_NHZ2", target: "Kessel" }} + RELAIS_NHZ3: !include { file: templates/wp_generic.yaml, vars: { property: "RELAIS_NHZ3", target: "Kessel" }} + SCHRITTMOTOR_PHASE_1: !include { file: templates/wp_generic.yaml, vars: { property: "SCHRITTMOTOR_PHASE_1", target: "Kessel" }} + SCHRITTMOTOR_PHASE_2: !include { file: templates/wp_generic.yaml, vars: { property: "SCHRITTMOTOR_PHASE_2", target: "Kessel" }} + SCHRITTMOTOR_PHASE_3: !include { file: templates/wp_generic.yaml, vars: { property: "SCHRITTMOTOR_PHASE_3", target: "Kessel" }} + SCHRITTMOTOR_PHASE_4: !include { file: templates/wp_generic.yaml, vars: { property: "SCHRITTMOTOR_PHASE_4", target: "Kessel" }} + REGLERDYNAMIK_HEIZEN: !include { file: templates/wp_generic.yaml, vars: { property: "REGLERDYNAMIK_HEIZEN", target: "Kessel" }} + SOLLSPREIZUNG: !include { file: templates/wp_generic.yaml, vars: { property: "SOLLSPREIZUNG", target: "Kessel" }} + MAXIMALE_PUMPENLEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "MAXIMALE_PUMPENLEISTUNG", unit: "%", target: "Manager" }} + STANDBY_PUMPENLEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "STANDBY_PUMPENLEISTUNG", unit: "%", target: "Manager" }} + LEISTUNG_WARMWASSERPUMPE: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_WARMWASSERPUMPE", unit: "%", target: "Manager" }} + MINIMALE_ABTAUZEIT: !include { file: templates/wp_generic.yaml, vars: { property: "MINIMALE_ABTAUZEIT", unit: "min", target: "Kessel" }} + ABTAUEN_EINLEITEN: !include { file: templates/wp_generic.yaml, vars: { property: "ABTAUEN_EINLEITEN", target: "Kessel" }} + STILLSTANDSZEIT: !include { file: templates/wp_generic.yaml, vars: { property: "STILLSTANDSZEIT", unit: "min", target: "Kessel" }} + MAXIMALER_STROM: !include { file: templates/wp_generic.yaml, vars: { property: "MAXIMALER_STROM", unit: "A", target: "Kessel" }} + MINIMALE_LAUFZEIT: !include { file: templates/wp_generic.yaml, vars: { property: "MINIMALE_LAUFZEIT", unit: "min", target: "Kessel" }} + WAERMEBEDARF: !include { file: templates/wp_generic.yaml, vars: { property: "WAERMEBEDARF", unit: "kW", target: "Kessel" }} + KONSTANTE_LEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "KONSTANTE_LEISTUNG", unit: "kW", target: "Kessel" }} + VERDICHTER_SOFORTSTART: !include { file: templates/wp_generic.yaml, vars: { property: "VERDICHTER_SOFORTSTART", target: "Kessel" }} + REDUZIERUNG_LEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "REDUZIERUNG_LEISTUNG", target: "Kessel" }} + SILENT_LEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "SILENT_LEISTUNG", unit: "%", target: "Kessel" }} + SILENT_LUEFTER: !include { file: templates/wp_generic.yaml, vars: { property: "SILENT_LUEFTER", unit: "%", target: "Kessel" }} + WAERMEPUMPE_AUS: !include { file: templates/wp_generic.yaml, vars: { property: "WAERMEPUMPE_AUS", target: "Kessel" }} + EVU_SPERRE_CONFIG: !include { file: templates/wp_generic.yaml, vars: { property: "EVU_SPERRE_CONFIG", target: "Kessel" }} + INBETRIEBNAHME_NOTBETRIEB: !include { file: templates/wp_generic.yaml, vars: { property: "INBETRIEBNAHME_NOTBETRIEB", target: "Kessel" }} + EINGANG_X1_13: !include { file: templates/wp_generic.yaml, vars: { property: "EINGANG_X1_13", target: "Kessel" }} + EINGANG_X1_14: !include { file: templates/wp_generic.yaml, vars: { property: "EINGANG_X1_14", target: "Kessel" }} + FUNKTION_X1_16: !include { file: templates/wp_generic.yaml, vars: { property: "FUNKTION_X1_16", target: "Kessel" }} + PUMPE_X1_16: !include { file: templates/wp_generic.yaml, vars: { property: "PUMPE_X1_16", target: "Kessel" }} + LEISTUNG_PWM_X1_16: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_PWM_X1_16", unit: "%", target: "Kessel" }} + LEISTUNG_VOLT_X1_16: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_VOLT_X1_16", unit: "V", target: "Kessel" }} + FUNKTION_X1_17: !include { file: templates/wp_generic.yaml, vars: { property: "FUNKTION_X1_17", target: "Kessel" }} + PUMPE_X1_17: !include { file: templates/wp_generic.yaml, vars: { property: "PUMPE_X1_17", target: "Kessel" }} + LEISTUNG_PWM_X1_17: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_PWM_X1_17", unit: "%", target: "Kessel" }} + LEISTUNG_VOLT_X1_17: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_VOLT_X1_17", unit: "V", target: "Kessel" }} + FEHLERAUSGANG: !include { file: templates/wp_generic.yaml, vars: { property: "FEHLERAUSGANG", target: "Kessel" }} + PUFFERTRIEB: !include { file: templates/wp_generic.yaml, vars: { property: "PUFFERTRIEB", target: "Kessel" }} + SOMMERBETRIEB: !include { file: templates/wp_generic.yaml, vars: { property: "SOMMERBETRIEB", target: "Kessel" }} + GEBAEUDEDAEMPFUNG: !include { file: templates/wp_generic.yaml, vars: { property: "GEBAEUDEDAEMPFUNG", target: "Kessel" }} + VORLAUFANTEIL_HEIZKREIS: !include { file: templates/wp_generic.yaml, vars: { property: "VORLAUFANTEIL_HEIZKREIS", unit: "%", target: "Kessel" }} + PUMPENZYKLEN: !include { file: templates/wp_generic.yaml, vars: { property: "PUMPENZYKLEN", target: "Kessel" }} + WARMWASSERBETRIEB: !include { file: templates/wp_generic.yaml, vars: { property: "WARMWASSERBETRIEB", target: "Kessel" }} + WW_LERNFUNKTION: !include { file: templates/wp_generic.yaml, vars: { property: "WW_LERNFUNKTION", target: "Kessel" }} + KOMBISPEICHER: !include { file: templates/wp_generic.yaml, vars: { property: "KOMBISPEICHER", target: "Kessel" }} + WW_LEISTUNG_SOMMER: !include { file: templates/wp_generic.yaml, vars: { property: "WW_LEISTUNG_SOMMER", unit: "kW", target: "Kessel" }} + WW_LEISTUNG_WINTER: !include { file: templates/wp_generic.yaml, vars: { property: "WW_LEISTUNG_WINTER", unit: "kW", target: "Kessel" }} + ANTILEGIONELLENBEHANDLUNG: !include { file: templates/wp_generic.yaml, vars: { property: "ANTILEGIONELLENBEHANDLUNG", target: "Kessel" }} + WW_ANFORDERUNG: !include { file: templates/wp_generic.yaml, vars: { property: "WW_ANFORDERUNG", target: "Kessel" }} + KUEHLEN: !include { file: templates/wp_generic.yaml, vars: { property: "KUEHLEN", target: "Kessel" }} + KUEHLEN_LEISTUNG: !include { file: templates/wp_generic.yaml, vars: { property: "KUEHLEN_LEISTUNG", unit: "kW", target: "Kessel" }} + KUEHLKREIS: !include { file: templates/wp_generic.yaml, vars: { property: "KUEHLKREIS", target: "HK1" }} + KUEHLART: !include { file: templates/wp_generic.yaml, vars: { property: "KUEHLART", target: "HK1" }} + + BIVALENZTEMPERATUR_WW: !include { file: templates/wp_temperature.yaml, vars: { property: "BIVALENZTEMPERATUR_WW", target: "Kessel" }} + EINSATZGRENZE_HZG: !include { file: templates/wp_temperature.yaml, vars: { property: "EINSATZGRENZE_HZG", target: "Kessel" }} + EINSATZGRENZE_WW: !include { file: templates/wp_temperature.yaml, vars: { property: "EINSATZGRENZE_WW", target: "Kessel" }} + FROSTSCHUTZTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "FROSTSCHUTZTEMPERATUR", target: "Kessel" }} + SOLL_UEBERHITZUNG: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLL_UEBERHITZUNG", target: "Manager" }} + IST_UEBERHITZUNG_V: !include { file: templates/wp_temperature.yaml, vars: { property: "IST_UEBERHITZUNG_V", target: "Manager" }} + REGELABWEICHUNG: !include { file: templates/wp_temperature.yaml, vars: { property: "REGELABWEICHUNG", target: "Manager" }} + TEMPERATUR_INV_LUEFTER: !include { file: templates/wp_temperature.yaml, vars: { property: "TEMPERATUR_INV_LUEFTER", target: "Manager" }} + KONDENSATBEGLEITHEIZUNG_AUSSENTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "KONDENSATBEGLEITHEIZUNG_AUSSENTEMPERATUR", target: "Kessel" }} + HEIZEN_TEMPERATURVORGABE_1V: !include { file: templates/wp_temperature.yaml, vars: { property: "HEIZEN_TEMPERATURVORGABE_1V", target: "Kessel" }} + HEIZEN_TEMPERATURVORGABE_10V: !include { file: templates/wp_temperature.yaml, vars: { property: "HEIZEN_TEMPERATURVORGABE_10V", target: "Kessel" }} + KUEHLEN_TEMPERATURVORGABE_1V: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_TEMPERATURVORGABE_1V", target: "Kessel" }} + KUEHLEN_TEMPERATURVORGABE_10V: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_TEMPERATURVORGABE_10V", target: "Kessel" }} + AUSLEGUNGSTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "AUSLEGUNGSTEMPERATUR", target: "Kessel" }} + SENSORABGLEICH_VORLAUF_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "SENSORABGLEICH_VORLAUF_WP", target: "Kessel" }} + SENSORABGLEICH_VORLAUF_NHZ: !include { file: templates/wp_temperature.yaml, vars: { property: "SENSORABGLEICH_VORLAUF_NHZ", target: "Kessel" }} + SENSORABGLEICH_RUECKLAUF_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "SENSORABGLEICH_RUECKLAUF_WP", target: "Kessel" }} + AUSSENTEMPERATUR_EINST: !include { file: templates/wp_temperature.yaml, vars: { property: "AUSSENTEMPERATUR_EINST", target: "Kessel" }} + WARMWASSERHYSTERESE: !include { file: templates/wp_temperature.yaml, vars: { property: "WARMWASSERHYSTERESE", target: "Kessel" }} + MAXIMALE_VORLAUFTEMP_WW: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXIMALE_VORLAUFTEMP_WW", target: "Kessel" }} + FESTWERTBETRIEB: !include { file: templates/wp_temperature.yaml, vars: { property: "FESTWERTBETRIEB", target: "Kessel" }} + WW_SOLLTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "WW_SOLLTEMPERATUR", target: "Kessel" }} + GRENZE_KUEHLEN: !include { file: templates/wp_temperature.yaml, vars: { property: "GRENZE_KUEHLEN", target: "Kessel" }} diff --git a/yaml/wpl23.yaml b/yaml/wpl23.yaml new file mode 100644 index 0000000..99d888d --- /dev/null +++ b/yaml/wpl23.yaml @@ -0,0 +1,39 @@ +######################################### +# # +# ESPHome # +# # +######################################### +esphome: + platformio_options: + build_flags: + - "-DWPL_23" + +######################################### +# # +# Global variables # +# # +######################################### +globals: + - id: heat_pump_variant + type: std::string + initial_value: '"WPL13"' + +######################################### +# # +# Packages # +# # +######################################### +packages: + wpl_base: !include { file: wpl_base.yaml } + + ZWISCHENEINSPRITZUNGSTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "ZWISCHENEINSPRITZUNGSTEMP", target: "Manager" }} + REKUPERATORTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "REKUPERATORTEMPERATUR", target: "Manager" }} + + LAUFZEIT_VD_HEIZEN: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_HEIZEN", unit: "h", target: "Manager" }} + LAUFZEIT_VD_WW: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_WW", unit: "h", target: "Manager" }} + LAUFZEIT_VD_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_VD_ABTAUEN", unit: "h", target: "Manager" }} + LAUFZEIT_NHZ1: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ1", unit: "h", target: "Kessel" }} + LAUFZEIT_NHZ2: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ2", unit: "h", target: "Kessel" }} + LAUFZEIT_NHZ1_2: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_NHZ1_2", unit: "h", target: "Kessel" }} + ZEIT_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "ZEIT_ABTAUEN", unit: "min", target: "Manager" }} + STARTS_ABTAUEN: !include { file: templates/wp_generic.yaml, vars: { property: "STARTS_ABTAUEN", target: "Manager" }} diff --git a/yaml/wpl_base.yaml b/yaml/wpl_base.yaml new file mode 100644 index 0000000..c36c32c --- /dev/null +++ b/yaml/wpl_base.yaml @@ -0,0 +1,185 @@ +######################################### +# # +# Substitutions # +# # +######################################### +substitutions: + kessel_can_id: "0x180" + hk1_can_id: "0x601" + hk2_can_id: "0x602" + manager_can_id: "0x514" + espclient_can_id: "0x6a2" + +######################################### +# # +# ESPHome Base Setup # +# # +######################################### +esphome: + on_boot: + priority: 100.0 + then: + - lambda: |- + CallbackHandler::instance().addCallback(std::make_pair(WPM2,Property::kPROGRAMMSCHALTER),[](const SimpleVariant& value){ + const auto stringValue{value.get()}; + ESP_LOGI("PROGRAMMSCHALTER", "mapped value %s", stringValue.c_str()); + const auto index = id(PROGRAMMSCHALTER).index_of(stringValue); + if(index.has_value()) { + id(PROGRAMMSCHALTER).publish_state(stringValue); + } + }); + queueRequest(WPM2, Property::kPROGRAMMSCHALTER); + + CallbackHandler::instance().addCallback(std::make_pair(WPM2,Property::kBETRIEBS_STATUS),[](const SimpleVariant& value){ + const std::bitset<12U> status_bits{static_cast(value)}; + id(HEIZKREISPUMPE_1).publish_state(status_bits.test(0U)); + id(HEIZKREISPUMPE_2).publish_state(status_bits.test(1U)); + id(PUFFERLADEPUMPE_1).publish_state(status_bits.test(2U)); + id(QUELLENPUMPE).publish_state(status_bits.test(3U)); + id(STOERAUSGANG).publish_state(status_bits.test(4U)); + id(KUEHLBETRIEB).publish_state(status_bits.test(5U)); + id(MISCHER_AUF_HEIZKREIS_2).publish_state(status_bits.test(6U)); + id(MISCHER_ZU_HEIZKREIS_2).publish_state(status_bits.test(7U)); + id(NHZ_1).publish_state(status_bits.test(8U)); + id(NHZ_2).publish_state(status_bits.test(9U)); + id(NHZ_3).publish_state(status_bits.test(10U)); + id(EVU_SPERRE).publish_state(status_bits.test(11U)); + }); + queueRequest(WPM2, Property::kBETRIEBS_STATUS); + +######################################### +# # +# Selects # +# # +######################################### +select: + - platform: template + name: "PROGRAMMSCHALTER" + id: PROGRAMMSCHALTER + options: + - "Notbetrieb" + - "Bereitschaft" + - "Programm" + - "Komfort" + - "Eco" + - "Unbekannt" + initial_option: "Unbekannt" + optimistic: true + setup_priority: 100 + set_action: + then: + - lambda: |- + const auto betriebsartId = Mapper::instance().getBetriebsartId(x); + if(betriebsartId.has_value()) { + queueTransmission(WPM2, Property::kPROGRAMMSCHALTER, (betriebsartId.value() >> 8U) & 0xFF); + } + +######################################### +# # +# Packages # +# # +######################################### +packages: + CORE: !include { file: core.yaml } + + HEIZKREISPUMPE_1: !include { file: templates/wp_binary.yaml, vars: { name: "HEIZKREISPUMPE_1" }} + HEIZKREISPUMPE_2: !include { file: templates/wp_binary.yaml, vars: { name: "HEIZKREISPUMPE_2" }} + PUFFERLADEPUMPE_1: !include { file: templates/wp_binary.yaml, vars: { name: "PUFFERLADEPUMPE_1" }} + QUELLENPUMPE: !include { file: templates/wp_binary.yaml, vars: { name: "QUELLENPUMPE" }} + STOERAUSGANG: !include { file: templates/wp_binary.yaml, vars: { name: "STOERAUSGANG" }} + KUEHLBETRIEB: !include { file: templates/wp_binary.yaml, vars: { name: "KUEHLBETRIEB" }} + MISCHER_AUF_HEIZKREIS_2: !include { file: templates/wp_binary.yaml, vars: { name: "MISCHER_AUF_HEIZKREIS_2" }} + MISCHER_ZU_HEIZKREIS_2: !include { file: templates/wp_binary.yaml, vars: { name: "MISCHER_ZU_HEIZKREIS_2" }} + NHZ_1: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_1" }} + NHZ_2: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_2" }} + NHZ_3: !include { file: templates/wp_binary.yaml, vars: { name: "NHZ_3" }} + EVU_SPERRE: !include { file: templates/wp_binary.yaml, vars: { name: "EVU_SPERRE" }} + + ISTTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} + SOLLTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} + KOMFORTTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "KOMFORTTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} + ECOTEMPERATUR_HK1: !include { file: templates/wp_temperature.yaml, vars: { property: "ECOTEMPERATUR" , name_suffix: "_HK1" , target: "HK1" }} + ISTTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} + SOLLTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} + KOMFORTTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "KOMFORTTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} + ECOTEMPERATUR_HK2: !include { file: templates/wp_temperature.yaml, vars: { property: "ECOTEMPERATUR" , name_suffix: "_HK2" , target: "HK2" }} + RAUMISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMISTTEMP" , target: "FET" }} + RAUMSOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMSOLLTEMP" , target: "FET" }} + PUFFERISTTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "PUFFERISTTEMPERATUR" }} + FROSTSCHUTZ: !include { file: templates/wp_temperature.yaml, vars: { property: "FROSTSCHUTZ" , target: "MFG" }} + VORLAUFTEMP_QUELLE: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFTEMP_QUELLE" , target: "Manager" }} + RUECKLAUFTEMP_QUELLE: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFTEMP_QUELLE" , target: "Manager" }} + VORLAUFISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP" , update_interval: $interval_medium, target: "MFG" }} + VORLAUFSOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFSOLLTEMP" , target: "HK1" }} + VERDAMPFERTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERDAMPFERTEMP" , target: "Manager" }} + RUECKLAUFISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFISTTEMP" , update_interval: $interval_medium , target: "MFG" }} + MAXVORLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXVORLAUFTEMP" , target: "Kessel" }} + MAXRUECKLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXRUECKLAUFTEMP" , target: "Kessel" }} + AUSSENTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "AUSSENTEMP" , update_interval: $interval_medium , target: "Kessel" }} + HEISSGAS_TEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "HEISSGAS_TEMP" , update_interval: $interval_medium , target: "Manager" }} + VORLAUFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFTEMP" , update_interval: $interval_medium , target: "Manager" }} + VERFLUESSIGER_TEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERFLUESSIGER_TEMP" , update_interval: $interval_medium , target: "Manager" }} + OELSUMPFTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "OELSUMPFTEMP" , update_interval: $interval_medium , target: "Manager" }} + VORLAUFISTTEMP_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP_WP" , update_interval: $interval_medium , target: "Kessel" }} + RUECKLAUFISTTEMP_WP: !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFISTTEMP_WP", update_interval: $interval_medium , target: "Kessel" }} + KUEHLEN_SOLLTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_SOLLTEMP" , update_interval: $interval_medium , target: "Kessel" }} + KUEHLEN_ISTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "KUEHLEN_ISTTEMP" , update_interval: $interval_medium , target: "Kessel" }} + ISTTEMPERATUR_KK_2: !include { file: templates/wp_temperature.yaml, vars: { property: "ISTTEMPERATUR_KK_2" , update_interval: $interval_medium , target: "HK2" }} + SOLLTEMPERATUR_KK_2: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLLTEMPERATUR_KK_2", update_interval: $interval_medium , target: "HK2" }} + ANLAGEFROST: !include { file: templates/wp_temperature.yaml, vars: { property: "ANLAGEFROST" , update_interval: $interval_medium , target: "Kessel" }} + VORLAUFISTTEMP_NHZ: !include { file: templates/wp_temperature.yaml, vars: { property: "VORLAUFISTTEMP_NHZ" , update_interval: $interval_medium , target: "Kessel" }} + HYSTERESE_VORLAUFTEMP_KUEHLEN: !include { file: templates/wp_temperature.yaml, vars: { property: "HYSTERESE_VORLAUFTEMP_KUEHLEN", target: "Kessel", unit: "°K" }} + STARTTEMPERATUR: !include { file: templates/wp_temperature.yaml, vars: { property: "STARTTEMPERATUR" , target: "HK2" }} + VERDICHTER_EINTRITTSTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "VERDICHTER_EINTRITTSTEMP", target: "Manager" }} + TAUPUNKTTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "TAUPUNKTTEMP", target: "HK2" }} + RAUMSOLLTEMP_KUEHLEN: !include { file: templates/wp_temperature.yaml, vars: { property: "RAUMSOLLTEMP_KUEHLEN", target: "HK2" }} + BIVALENZTEMPERATUR_HZG: !include { file: templates/wp_temperature.yaml, vars: { property: "BIVALENZTEMPERATUR_HZG", target: "Kessel" }} + UMGEBUNGSTEMPERATUR_INVERTER: !include { file: templates/wp_temperature.yaml, vars: { property: "UMGEBUNGSTEMPERATUR_INVERTER" , target: "Manager" }} + UNTERK_COND: !include { file: templates/wp_temperature.yaml, vars: { property: "UNTERK_COND" , target: "Manager" }} + TEMPERATUR_INV_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "TEMPERATUR_INV_VERDICHTER" , target: "Manager" }} + IST_UEBERHITZUNG_SAUGGAS_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "IST_UEBERHITZUNG_SAUGGAS_VERDICHTER", target: "Manager", unit: "°K" }} + SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER: !include { file: templates/wp_temperature.yaml, vars: { property: "SOLL_UEBERHITZUNG_SAUGGAS_VERDICHTER", target: "Manager", unit: "°K" }} + ADAPTION_UEBERHITZUNG: !include { file: templates/wp_temperature.yaml, vars: { property: "ADAPTION_UEBERHITZUNG", target: "Manager", unit: "°K" }} + MINTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MINTEMP" , target: "HK2" }} + MAXTEMP: !include { file: templates/wp_temperature.yaml, vars: { property: "MAXTEMP" , target: "HK2" }} + + EL_NACHERW_VERZ_ZEIT: !include { file: templates/wp_generic.yaml, vars: { property: "EL_NACHERW_VERZ_ZEIT", unit: "min" , target: "Kessel" }} + EL_NACHERW_ANZ_STUFEN: !include { file: templates/wp_generic.yaml, vars: { property: "EL_NACHERW_ANZ_STUFEN", target: "Kessel" }} + ISTDREHZAHL_VERDICHTER: !include { file: templates/wp_generic.yaml, vars: { property: "ISTDREHZAHL_VERDICHTER" , unit: "Hz", target: "Manager" }} + SOLLDREHZAHL_VERDICHTER: !include { file: templates/wp_generic.yaml, vars: { property: "SOLLDREHZAHL_VERDICHTER", unit: "Hz", target: "Manager" }} + LEISTUNG_KUEHLEN: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_KUEHLEN", unit: "kW", target: "WPM2" }} + STEIGUNG_KUEHLKURVE: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_KUEHLKURVE" , target: "HK2" , scaler: "0.1", accuracy_decimals: "2" }} + LAUFZEIT_PASSIVKUEHLUNG: !include { file: templates/wp_generic.yaml, vars: { property: "LAUFZEIT_PASSIVKUEHLUNG", scaler: "10", unit: "h", target: "Manager" }} + RAUMFEUCHTE: !include { file: templates/wp_generic.yaml, vars: { property: "RAUMFEUCHTE" , update_interval: $interval_very_slow, unit: "%", icon: "mdi:water-percent", accuracy_decimals: "1", target: "FET" }} + HEIZEN_EFFIZIENZ_TAG: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZEN_EFFIZIENZ_TAG" , target: "WPM2", accuracy_decimals: "2" }} + HEIZEN_EFFIZIENZ_JAHR: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZEN_EFFIZIENZ_JAHR" , target: "WPM2", accuracy_decimals: "2" }} + DRUCK_NIEDERDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "DRUCK_NIEDERDRUCK" , unit: "bar" , icon: "mdi:water-pressure", scaler: "0.1" , accuracy_decimals: "2", target: "Manager" }} + DRUCK_HOCHDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "DRUCK_HOCHDRUCK" , unit: "bar" , icon: "mdi:water-pressure", scaler: "0.1" , accuracy_decimals: "2", target: "Manager" }} + HEIZUNGSDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "HEIZUNGSDRUCK" , unit: "bar" , icon: "mdi:water-pressure" , accuracy_decimals: "2", target: "Kessel" }} + QUELLENDRUCK: !include { file: templates/wp_generic.yaml, vars: { property: "QUELLENDRUCK" , unit: "bar" , icon: "mdi:water-pressure" , accuracy_decimals: "1", target: "Manager" }} + LEISTUNG_QUELLENPUMPE: !include { file: templates/wp_generic.yaml, vars: { property: "LEISTUNG_QUELLENPUMPE" , unit: "%" , icon: "mdi:water-percent", accuracy_decimals: "1", target: "Manager" }} + VOLUMENSTROM: !include { file: templates/wp_generic.yaml, vars: { property: "VOLUMENSTROM" , unit: "l/min", icon: "mdi:flow" , accuracy_decimals: "2", target: "Kessel" }} + STROM_INVERTER: !include { file: templates/wp_generic.yaml, vars: { property: "STROM_INVERTER" , unit: "A" , target: "Manager" , accuracy_decimals: "1" }} + SPANNUNG_INVERTER: !include { file: templates/wp_generic.yaml, vars: { property: "SPANNUNG_INVERTER" , unit: "V" , target: "Manager" , accuracy_decimals: "1" }} + ZEITINTERVALL: !include { file: templates/wp_generic.yaml, vars: { property: "ZEITINTERVALL", scaler: "10", target: "WPM2" }} + STROM_MOTOR: !include { file: templates/wp_generic.yaml, vars: { property: "STROM_MOTOR" , unit: "A" , target: "Manager" , accuracy_decimals: "1" }} + VERDICHTERDREHZAHLGRENZE: !include { file: templates/wp_generic.yaml, vars: { property: "VERDICHTERDREHZAHLGRENZE", target: "Manager" }} + STEIGUNG_HEIZKURVE_HK1: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_HEIZKURVE" , target: "HK1" , name_suffix: "_HK1", scaler: "0.1", accuracy_decimals: "2" }} + STEIGUNG_HEIZKURVE_HK2: !include { file: templates/wp_generic.yaml, vars: { property: "STEIGUNG_HEIZKURVE" , target: "HK2" , name_suffix: "_HK2", scaler: "0.1", accuracy_decimals: "2" }} + MISCHERDYNAMIK: !include { file: templates/wp_generic.yaml, vars: { property: "MISCHERDYNAMIK", target: "HK2" }} + + RAUMEINFLUSS: !include { file: templates/wp_number.yaml, vars: { property: "RAUMEINFLUSS", target: "HK2" }} + + VERDICHTER_STARTS: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "VERDICHTER_STARTS" , scaled_property: "VERDICHTER_STARTS_K" , property: "VERDICHTER_STARTS" , unit: "" , accuracy_decimals: "0", scaler: "1000", icon: "mdi:counter" , target: "Manager" }} + WAERMEERTRAG_WW_SUMME_MWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_WW_SUMME_MWH" , scaled_property: "WAERMEERTRAG_WW_SUM_KWH" , property: "WAERMEERTRAG_WW_SUM_MWH" , unit: "MWh", accuracy_decimals: "3", icon: "mdi:fire" , target: "Manager" }} + WAERMEERTRAG_HEIZ_SUMME_MWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_HEIZ_SUMME_MWH" , scaled_property: "WAERMEERTRAG_HEIZ_SUM_KWH" , property: "WAERMEERTRAG_HEIZ_SUM_MWH" , unit: "MWh", accuracy_decimals: "3", icon: "mdi:fire" , target: "Manager" }} + + EL_ENERGIEAUFNAHME_WW_SUMME_KWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_WW_SUMME_KWH" , scaled_property: "EL_ENERGIEAUFNAHME_WW_SUM_KWH" , property: "EL_ENERGIEAUFNAHME_WW_SUM_MWH" , unit: "kWh", accuracy_decimals: "0", scaler: "1000", icon: "mdi:flash", target: "Manager" }} + EL_ENERGIEAUFNAHME_HEIZ_SUMME_KWH: !include { file: templates/wp_generic_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_HEIZ_SUMME_KWH" , scaled_property: "EL_ENERGIEAUFNAHME_HEIZ_SUM_KWH" , property: "EL_ENERGIEAUFNAHME_HEIZ_SUM_MWH" , unit: "kWh", accuracy_decimals: "0", scaler: "1000", icon: "mdi:flash", target: "Manager" }} + + EL_ENERGIEAUFNAHME_WW_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_WW_TAG_SUMME_KWH" , property_wh: "EL_ENERGIEAUFNAHME_WW_TAG_WH" , property_kwh: "EL_ENERGIEAUFNAHME_WW_TAG_KWH" , target: "Manager" }} + EL_ENERGIEAUFNAHME_HEIZ_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "EL_ENERGIEAUFNAHME_HEIZ_TAG_SUMME_KWH" , property_wh: "EL_ENERGIEAUFNAHME_HEIZ_TAG_WH" , property_kwh: "EL_ENERGIEAUFNAHME_HEIZ_TAG_KWH" , target: "Manager" }} + WAERMEERTRAG_WW_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_WW_TAG_SUMME_KWH" , property_wh: "WAERMEERTRAG_WW_TAG_WH" , property_kwh: "WAERMEERTRAG_WW_TAG_KWH" , target: "Manager" }} + WAERMEERTRAG_HEIZ_TAG_SUMME_KWH: !include { file: templates/wp_daily_energy_combined.yaml, vars: { sensor_name: "WAERMEERTRAG_HEIZ_TAG_SUMME_KWH" , property_wh: "WAERMEERTRAG_HEIZ_TAG_WH" , property_kwh: "WAERMEERTRAG_HEIZ_TAG_KWH" , target: "Manager" }} + + HEATPUMP_DATETIME: !include { file: templates/wp_datetime.yaml }