From 992feb3bee3b295b77c1880a35fabc845e0a2bd2 Mon Sep 17 00:00:00 2001 From: Florian Simmer Date: Sun, 24 Dec 2023 09:55:02 +0100 Subject: [PATCH] update example --- froeling.yaml | 205 +++++++++++--------------------------------------- 1 file changed, 42 insertions(+), 163 deletions(-) diff --git a/froeling.yaml b/froeling.yaml index 8dab88f..25891ec 100644 --- a/froeling.yaml +++ b/froeling.yaml @@ -26,181 +26,60 @@ web_server: substitutions: name: froeling - modbus_controller_id: froeling + friendly_name: Fröhling + device_description: "Esphome component for Fröhling Lambdatronic S3200" + modbus_controller_id: lambdatronic + hk1_name: "HK1" + hk2_name: "HK2" + hk3_name: "Erdgeschoss" + hk4_name: "1. Stock" + hk5_name: "2. Stock" + boiler1_name: "Warmwasser" + puffer1_name: "Puffer" uart: - - id: uartfroeling - - tx_pin: 1 - rx_pin: 3 - baud_rate: 57600 - data_bits: 8 - stop_bits: 1 - parity: NONE + id: mod_bus + tx_pin: 17 + rx_pin: 16 + baud_rate: 57600 + data_bits: 8 + stop_bits: 1 + parity: NONE +# debug: +# direction: BOTH modbus: id: modbus1 - uart_id: uartfroeling + uart_id: mod_bus modbus_controller: - - id: froeling - address: 2 - modbus_id: modbus1 - setup_priority: -10 - update_interval: "60s" - command_throttle: "50ms" + id: ${modbus_controller_id} + address: 0x1 + modbus_id: modbus1 + setup_priority: -10 + update_interval: 10sec + switch: - platform: restart name: "Restart ESP" packages: + # Git repo examples remote_package: - url: https://github.com/GyroGearl00se/ESPHome-Froeling-Lambdatronic_3200 + url: https://git.floriansimmer.at/Florian/Lambdatronic_S3200 + refresh: 0s ref: main - files: [austragung.yaml, boiler_01.yaml, heizkoerper.yaml, kessel.yaml, puffer_01.yaml, zirkulationspumpe.yaml] - refresh: 1d - -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 - - - 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} 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; - - - 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; + files: + - anlage.yaml + - kessel.yaml + - fehler.yaml + - austragung.yaml + - boiler_01.yaml + - heizkreis_01.yaml + - heizkreis_02.yaml + - heizkreis_03.yaml + - heizkreis_04.yaml + - heizkreis_05.yaml + - puffer_01.yaml + - zirkulationspumpe.yaml