From e7aefea494c208310d428ca542ab0f5cdd1784b0 Mon Sep 17 00:00:00 2001 From: Florian Simmer Date: Thu, 21 Dec 2023 20:02:18 +0100 Subject: [PATCH] More Splitting of the Yaml Files --- anlage.yaml | 23 ++++++++ heizkoerper.yaml | 12 ++-- kessel.yaml | 122 +++++++++++++++++++++++++++++++++++++++-- zirkulationspumpe.yaml | 16 +++++- 4 files changed, 158 insertions(+), 15 deletions(-) create mode 100644 anlage.yaml diff --git a/anlage.yaml b/anlage.yaml new file mode 100644 index 0000000..1cf5128 --- /dev/null +++ b/anlage.yaml @@ -0,0 +1,23 @@ +text_sensor: + - platform: modbus_controller + modbus_controller_id: ${modbus_controller_id} + name: "${name} Anlagenzustand" + id: ${name}_Anlagenzustand + register_type: read + address: 4000 + raw_encode: HEXBYTES + lambda: |- + uint16_t value = modbus_controller::word_from_hex_str(x, 0); + switch (value) { + case 0: return std::string("Dauerlast"); + case 1: return std::string("Brauchwasser"); + case 2: return std::string("Automatik"); + case 3: return std::string("Scheitholzbetrieb"); + case 4: return std::string("Reinigen"); + case 5: return std::string("Ausgeschaltet"); + case 6: return std::string("Extraheizen"); + case 7: return std::string("Kaminkehrer"); + case 8: return std::string("Reinigen"); + default: return std::string("----"); + } + return x; diff --git a/heizkoerper.yaml b/heizkoerper.yaml index 51b2924..20b1a1b 100644 --- a/heizkoerper.yaml +++ b/heizkoerper.yaml @@ -1,4 +1,4 @@ -sensor: +sensor: - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} HK1 - Vorlauf-Isttemperatur" @@ -76,7 +76,7 @@ number: multiply: 2 min_value: 10 max_value: 30 - + - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} HK1 - Absenkung der Vorlauftemperatur im Absenkbetrieb" @@ -87,11 +87,10 @@ number: multiply: 2 min_value: 0 max_value: 70 - + - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} - name: "${name} HK1 - Außentemperatur, unter der die Heizkreispumpe im Heizbetrieb -einschaltet" + name: "${name} HK1 - Außentemperatur, unter der die Heizkreispumpe im Heizbetrieb einschaltet" id: ${name}_HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet address: 1036 unit_of_measurement: "°C" @@ -102,8 +101,7 @@ einschaltet" - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} - name: "${name} HK1 - Außentemperatur, unter der die Heizkreispumpe im Absenkbetrieb -einschaltet" + name: "${name} HK1 - Außentemperatur, unter der die Heizkreispumpe im Absenkbetrieb einschaltet" id: ${name}_HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Absenkbetrieb_einschaltet address: 1037 unit_of_measurement: "°C" diff --git a/kessel.yaml b/kessel.yaml index 2e59947..0488c24 100644 --- a/kessel.yaml +++ b/kessel.yaml @@ -1,4 +1,4 @@ -sensor: +sensor: - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} Kesseltemperatur" @@ -6,7 +6,7 @@ sensor: register_type: read address: 0 unit_of_measurement: "°C" - value_type: U_WORD + value_type: U_WORD filters: - multiply: 0.5 @@ -17,8 +17,8 @@ sensor: register_type: read address: 1 unit_of_measurement: "°C" - value_type: U_WORD - + value_type: U_WORD + - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} Verbleibende Heizstunden bis zur Asche entleeren Warnung" @@ -66,7 +66,7 @@ sensor: value_type: U_WORD filters: - multiply: 0.1 - + - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} Rücklauffühler" @@ -132,4 +132,114 @@ binary_sensor: return true; } else { return false; - } \ No newline at end of file + } + +number: + - platform: modbus_controller + modbus_controller_id: ${modbus_controller_id} + name: "${name} Kessel-Solltemperatur" + id: ${name}_Kessel_Solltemperatur + address: 0 + unit_of_measurement: "°C" + value_type: U_WORD + multiply: 2 + min_value: 70 + max_value: 90 + +text_sensor: + - platform: modbus_controller + modbus_controller_id: ${modbus_controller_id} + name: "${name} Kesselzustand" + id: ${name}_Kesselzustand + register_type: read + address: 4001 + raw_encode: HEXBYTES + lambda: |- + uint16_t value = modbus_controller::word_from_hex_str(x, 0); + switch (value) { + case 0: return std::string("STÖRUNG"); + case 1: return std::string("Kessel Aus"); + case 2: return std::string("Anheizen"); + case 3: return std::string("Heizen"); + case 4: return std::string("Feuererhaltung"); + case 5: return std::string("Feuer Aus"); + case 6: return std::string("Tür offen"); + case 7: return std::string("Vorbereitung"); + case 8: return std::string("Vorwärmen"); + case 9: return std::string("Zünden"); + case 10: return std::string("Abstellen Warten"); + case 11: return std::string("Abstellen Warten1"); + case 12: return std::string("Abstellen Einschub1"); + case 13: return std::string("Abstellen Warten2"); + case 14: return std::string("Abstellen Einschub2"); + case 15: return std::string("Abreinigen"); + case 16: return std::string("2h warten"); + case 17: return std::string("Saugen / Heizen"); + case 18: return std::string("Fehlzündung"); + case 19: return std::string("Betriebsbereit"); + case 20: return std::string("Rost schließen"); + case 21: return std::string("Stoker leeren"); + case 22: return std::string("Vorheizen"); + case 23: return std::string("Saugen"); + case 24: return std::string("RSE schließen"); + case 25: return std::string("RSE öffnen"); + case 26: return std::string("Rost kippen"); + case 27: return std::string("Vorwärmen-Zünden"); + case 28: return std::string("Resteinschub"); + case 29: return std::string("Stoker auffüllen"); + case 30: return std::string("Lambdasonde aufheizen"); + case 31: return std::string("Gebläsenachlauf I"); + case 32: return std::string("Gebläsenachlauf II"); + case 33: return std::string("Abgestellt"); + case 34: return std::string("Nachzünden"); + case 35: return std::string("Zünden Warten"); + case 36: return std::string("FB: RSE schließen"); + case 37: return std::string("FB: Kessel belüften"); + case 38: return std::string("FB: Zünden"); + case 39: return std::string("FB: min. Einschub"); + case 40: return std::string("RSE schließen"); + case 41: return std::string("STÖRUNG: STB/NA"); + case 42: return std::string("STÖRUNG: Kipprost"); + case 43: return std::string("STÖRUNG: FR-Überdr."); + case 44: return std::string("STÖRUNG: Türkont."); + case 45: return std::string("STÖRUNG: Saugzug"); + case 46: return std::string("STÖRUNG: Umfeld"); + case 47: return std::string("FEHLER: STB/NA"); + case 48: return std::string("FEHLER: Kipprost"); + case 49: return std::string("FEHLER: FR-Überdr."); + case 50: return std::string("FEHLER: Türkont."); + case 51: return std::string("FEHLER: Saugzug"); + case 52: return std::string("FEHLER: Umfeld"); + case 53: return std::string("FEHLER: Stoker"); + case 54: return std::string("STÖRUNG: Stoker"); + case 55: return std::string("FB: Stoker leeren"); + case 56: return std::string("Vorbelüften"); + case 57: return std::string("STÖRUNG: Hackgut"); + case 58: return std::string("FEHLER: Hackgut"); + case 59: return std::string("NB: Tür offen"); + case 60: return std::string("NB: Anheizen"); + case 61: return std::string("NB: Heizen"); + case 62: return std::string("FEHLER: STB/NA"); + case 63: return std::string("FEHLER: Allgemein"); + case 64: return std::string("NB: Feuer Aus"); + case 65: return std::string("Selbsttest aktiv"); + case 66: return std::string("Fehlerbeh. 20min"); + case 67: return std::string("FEHLER: Fallschacht"); + case 68: return std::string("STÖRUNG: Fallschacht"); + case 69: return std::string("Reinigen möglich"); + case 70: return std::string("Heizen - Reinigen"); + case 71: return std::string("SH Anheizen"); + case 72: return std::string("SH Heizen"); + case 73: return std::string("SH Heiz/Abstell"); + case 74: return std::string("STÖRUNG sicher"); + case 75: return std::string("AGR Nachlauf"); + case 76: return std::string("AGR reinigen"); + case 77: return std::string("Zündung AUS"); + case 78: return std::string("Filter reinigen"); + case 79: return std::string("Anheizassistent"); + case 80: return std::string("SH Zünden"); + case 81: return std::string("SH Störung"); + case 82: return std::string("Sensorcheck"); + default: return std::string("----"); + } + return x; diff --git a/zirkulationspumpe.yaml b/zirkulationspumpe.yaml index 00865a4..f912fc4 100644 --- a/zirkulationspumpe.yaml +++ b/zirkulationspumpe.yaml @@ -1,4 +1,4 @@ -sensor: +sensor: - platform: modbus_controller modbus_controller_id: ${modbus_controller_id} name: "${name} Ruecklauftemperatur an der Zirkulations Leitung" @@ -36,4 +36,16 @@ binary_sensor: return true; } else { return false; - } \ No newline at end of file + } + +number: + - platform: modbus_controller + modbus_controller_id: ${modbus_controller_id} + name: "${name} Bei welcher RL Temperatur an der Zirkulationsleitung soll die Pumpe ausschalten" + id: ${name}_Bei_welcher_RL_Temperatur_an_der_Zirkulationsleitung_soll_die_Pumpe_ausschalten + address: 600 + unit_of_measurement: "°C" + value_type: U_WORD + multiply: 2 + min_value: 20 + max_value: 120