- split up esphome yaml file into muliple pieces for better overview (packages)
- switched to ESP32 board (esp8266 reached OOM) - added few new entities - added Graphical Dashboard "Heizkörper"
This commit is contained in:
207
ESPHome/froeling.yaml
Normal file
207
ESPHome/froeling.yaml
Normal file
@@ -0,0 +1,207 @@
|
||||
esphome:
|
||||
name: froeling
|
||||
|
||||
esp32:
|
||||
board: wemos_d1_mini32
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
baud_rate: 0
|
||||
level: INFO
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: ""
|
||||
|
||||
ota:
|
||||
password: ""
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
|
||||
substitutions:
|
||||
name: froeling
|
||||
modbus_controller_id: froeling
|
||||
|
||||
uart:
|
||||
- id: uartfroeling
|
||||
|
||||
tx_pin: 1
|
||||
rx_pin: 3
|
||||
baud_rate: 57600
|
||||
data_bits: 8
|
||||
stop_bits: 1
|
||||
parity: NONE
|
||||
|
||||
modbus:
|
||||
id: modbus1
|
||||
uart_id: uartfroeling
|
||||
|
||||
modbus_controller:
|
||||
- id: froeling
|
||||
address: 2
|
||||
modbus_id: modbus1
|
||||
setup_priority: -10
|
||||
update_interval: "60s"
|
||||
command_throttle: "50ms"
|
||||
|
||||
switch:
|
||||
- platform: restart
|
||||
name: "Restart ESP"
|
||||
|
||||
packages:
|
||||
austragung: !include froeling/austragung.yaml
|
||||
boiler_01: !include froeling/boiler_01.yaml
|
||||
heizkoerper: !include froeling/heizkoerper.yaml
|
||||
kessel: !include froeling/kessel.yaml
|
||||
puffer_01: !include froeling/puffer_01.yaml
|
||||
zirkulationspumpe: !include froeling/zirkulationspumpe.yaml
|
||||
|
||||
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;
|
||||
54
ESPHome/froeling/austragung.yaml
Normal file
54
ESPHome/froeling/austragung.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Fuellstand im Pelletsbehaelter"
|
||||
id: ${name}_Fuellstand_im_Pelletsbehaelter
|
||||
register_type: read
|
||||
address: 21
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.0048309178743961
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Resetierbarer kg-Zaehler"
|
||||
id: ${name}_Resetierbarer_kg_Zaehler
|
||||
register_type: read
|
||||
address: 81
|
||||
unit_of_measurement: "kg"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Resetierbarer t-Zaehler"
|
||||
id: ${name}_Resetierbarer_t_Zaehler
|
||||
register_type: read
|
||||
address: 82
|
||||
unit_of_measurement: "t"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Pelletverbrauch Gesamt"
|
||||
id: ${name}_Pelletverbrauch_Gesamt
|
||||
register_type: read
|
||||
address: 83
|
||||
unit_of_measurement: "t"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Pelletlager Restbestand"
|
||||
id: ${name}_Pelletlager_Restbestand
|
||||
register_type: holding
|
||||
address: 319
|
||||
unit_of_measurement: "t"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
43
ESPHome/froeling/boiler_01.yaml
Normal file
43
ESPHome/froeling/boiler_01.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Boiler 1 Temperatur oben"
|
||||
id: ${name}_Boiler_1_Temperatur_oben
|
||||
register_type: read
|
||||
address: 1630
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Boiler 1 Pumpe Ansteuerung"
|
||||
id: ${name}_Boiler_1_Pumpe_Ansteuerung
|
||||
register_type: read
|
||||
address: 1632
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
number:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Boiler 1 Gewünschte Boilertemperatur"
|
||||
id: ${name}_Boiler_1_Gewuenschte_Boilertemperatur
|
||||
address: 1631
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: 10
|
||||
max_value: 100
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Boiler 1 Nachladen, wenn Boilertemperatur unter"
|
||||
id: ${name}_Boiler_1_Nachladen_wenn_Boilertemperatur_unter
|
||||
address: 1632
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: 1
|
||||
max_value: 90
|
||||
134
ESPHome/froeling/heizkoerper.yaml
Normal file
134
ESPHome/froeling/heizkoerper.yaml
Normal file
@@ -0,0 +1,134 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Vorlauf-Isttemperatur"
|
||||
id: ${name}_HK1_Vorlauf_Isttemperatur
|
||||
register_type: read
|
||||
address: 1030 #Wrong ?
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Vorlauf-Solltemperatur"
|
||||
id: ${name}_HK1_Vorlauf_Solltemperatur
|
||||
register_type: read
|
||||
address: 1031 #Wrong ?
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Aussentemperatur"
|
||||
id: ${name}_Aussentemperatur
|
||||
register_type: read
|
||||
address: 1000
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
binary_sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Pumpe AN AUS"
|
||||
id: ${name}_HK1_Pumpe_AN_AUS
|
||||
register_type: coil
|
||||
#address: 999 # Heizkreispumpe 0
|
||||
address: 1029 # Heizkreispumpe 1 - wrong ?
|
||||
|
||||
number:
|
||||
# not correct yet ?
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Gewünschte Vorlauf-temperatur bei -10°C Außentemperatur"
|
||||
id: ${name}_HK1_Vorlauf_Temperatur_minus_10C_Aussentemperatur
|
||||
address: 1032
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: 10
|
||||
max_value: 110
|
||||
|
||||
# not correct yet ?
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Gewünschte Vorlauf-temperatur bei +10°C Außentemperatur"
|
||||
id: ${name}_HK1_Vorlauf_Temperatur_10C_Aussentemperatur
|
||||
address: 1031
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: 10
|
||||
max_value: 110
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als"
|
||||
id: ${name}_HK1_Heizkreispumpe_ausschalten_wenn_Vorlauf_Soll_kleiner_ist_als
|
||||
address: 1039
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
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"
|
||||
id: ${name}_HK1_Absenkung_der_Vorlauftemperatur_im_Absenkbetrieb
|
||||
address: 1033
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
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"
|
||||
id: ${name}_HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet
|
||||
address: 1036
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: -20
|
||||
max_value: 50
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
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"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: -20
|
||||
max_value: 50
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Frostschutztemperatur"
|
||||
id: ${name}_HK1_Frostschutztemperatur
|
||||
address: 1038
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
multiply: 2
|
||||
min_value: -10
|
||||
max_value: 20
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} HK1 - Temp. am Puffer oben ab der der Überhitzungsschutz aktiv wird"
|
||||
id: ${name}_HK1_Temp_am_Puffer_oben_ab_der_der_Ueberhitzungsschutz_aktiv_wird
|
||||
address: 1047
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
min_value: 60
|
||||
max_value: 120
|
||||
135
ESPHome/froeling/kessel.yaml
Normal file
135
ESPHome/froeling/kessel.yaml
Normal file
@@ -0,0 +1,135 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Kesseltemperatur"
|
||||
id: ${name}_Kesseltemperatur
|
||||
register_type: read
|
||||
address: 0
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Abgastemperatur"
|
||||
id: ${name}_Abgastemperatur
|
||||
register_type: read
|
||||
address: 1
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Verbleibende Heizstunden bis zur Asche entleeren Warnung"
|
||||
id: ${name}_Verbleibende_Heizstunden_bis_zur_Asche_entleeren_Warnung
|
||||
register_type: read
|
||||
address: 86
|
||||
unit_of_measurement: "h"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Saugzug - Ansteuerung"
|
||||
id: ${name}_Saugzug_Ansteuerung
|
||||
register_type: read
|
||||
address: 12
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Saugzugdrehzahl"
|
||||
id: ${name}_Saugzugdrehzahl
|
||||
register_type: read
|
||||
address: 6
|
||||
unit_of_measurement: "rpm"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Sauerstoffregler"
|
||||
id: ${name}_Sauerstoffregler
|
||||
register_type: read
|
||||
address: 16
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Restsauerstoffgehalt"
|
||||
id: ${name}_Restsauerstoffgehalt
|
||||
register_type: read
|
||||
address: 3
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Rücklauffühler"
|
||||
id: ${name}_Ruecklauffuehler
|
||||
register_type: read
|
||||
address: 9
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Primärluft"
|
||||
id: ${name}_Primaerluft
|
||||
register_type: read
|
||||
address: 11
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Sekundärluft"
|
||||
id: ${name}_Sekundaerluft
|
||||
register_type: read
|
||||
address: 13
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Betriebsstunden"
|
||||
id: ${name}_Betriebsstunden
|
||||
register_type: read
|
||||
address: 20
|
||||
unit_of_measurement: "h"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Stunden seit letzter Wartung"
|
||||
id: ${name}_Stunden_seit_letzter_Wartung
|
||||
register_type: read
|
||||
address: 55
|
||||
unit_of_measurement: "h"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Betriebsstunden in der Feuererhaltung"
|
||||
id: ${name}_Betriebsstunden_in_der_Feuererhaltung
|
||||
register_type: read
|
||||
address: 24
|
||||
unit_of_measurement: "h"
|
||||
value_type: U_WORD
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
name: "${name} Kesselzustand Heizen"
|
||||
id: ${name}_Kesselzustand_Heizen
|
||||
lambda: |-
|
||||
if (id(${name}_Kesselzustand).state == "Heizen") {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
62
ESPHome/froeling/puffer_01.yaml
Normal file
62
ESPHome/froeling/puffer_01.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Puffer 1 Temperatur oben"
|
||||
id: ${name}_Puffer_1_Temperatur_oben
|
||||
register_type: read
|
||||
address: 2000
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Puffer 1 Temperatur mitte"
|
||||
id: ${name}_Puffer_1_Temperatur_mitte
|
||||
register_type: read
|
||||
address: 2001
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Puffer 1 Temperatur unten"
|
||||
id: ${name}_Puffer_1_Temperatur_unten
|
||||
register_type: read
|
||||
address: 2002
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Puffer 1 Ladezustand"
|
||||
id: ${name}_Puffer_1_Ladezustand
|
||||
register_type: read
|
||||
address: 2006
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Puffer 1 Pufferpumpen Ansteuerung"
|
||||
id: ${name}_Puffer_1_Pufferpumpen_Ansteuerung
|
||||
register_type: read
|
||||
address: 2003
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
name: "${name} Puffer 1 Pufferpumpen Ansteuerung AN AUS"
|
||||
id: ${name}_Puffer_1_Pufferpumpen_Ansteuerung_AN_AUS
|
||||
lambda: |-
|
||||
if (id(${name}_Puffer_1_Pufferpumpen_Ansteuerung).state > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
28
ESPHome/froeling/zirkulationspumpe.yaml
Normal file
28
ESPHome/froeling/zirkulationspumpe.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
sensor:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Ruecklauftemperatur an der Zirkulations Leitung"
|
||||
id: ${name}_Ruecklauftemperatur_an_der_Zirkulations_Leitung
|
||||
register_type: read
|
||||
address: 711
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Strömungsschalter an der Brauchwasser Leitung"
|
||||
id: ${name}_Stoemungsschalter_an_der_Brauchwasser_Leitung
|
||||
register_type: read
|
||||
address: 600
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "${name} Drehzahl der Zirkulations Pumpe"
|
||||
id: ${name}_Drehzahl_der_Zirkulations_Pumpe
|
||||
register_type: read
|
||||
address: 710
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
15
README.md
15
README.md
@@ -2,20 +2,20 @@
|
||||
|
||||

|
||||
|
||||
### ESHome RS232 to TTL - ESP8266 - Read data from Froeling / Lambdatronic 3200
|
||||
### ESHome RS232 to TTL - ESP32 - Read data from Froeling / Lambdatronic 3200
|
||||
|
||||
I'm testing this with my Fröling SP Dual. But I assume it should also work for other models that have the Lambdatronic 3200 control unit. Feedback appreciated.
|
||||
|
||||
#### Parts:
|
||||
Wemos D1 Mini ESP8266:
|
||||
https://www.amazon.de/dp/product/B0CB85Q78G
|
||||
Wemos D1 Mini ESP32:
|
||||
https://www.amazon.de/dp/product/B08BTRQNB3
|
||||
|
||||
MAX3232 DB9 RS232 TTL converter:
|
||||
https://www.amazon.de/gp/product/B0BNQ41QKQ
|
||||
|
||||

|
||||
|
||||
| Wemos | D7 | D8 | 5V | G |
|
||||
| Wemos | TX | RX | 5V | G |
|
||||
|---|---|---|---|---|
|
||||
| MAX3232 | RX | TX | VCC | GND |
|
||||
|
||||
@@ -34,4 +34,9 @@ Connect a RS232 (DB9) cable between "MAX3232 DB9 RS232 TTL converter" and you bo
|
||||
- https://experiencelovelace.github.io/ha-floorplan/
|
||||
- copy all files from /ha_dashboard/* to your Home assistant instance /config/www/froeling/*
|
||||
- create a card in your dashboard and add the content of "ha_dashboard.yaml"
|
||||
<span style="color:red">!! Currently, only one Panel is provided!!</span> I'm working on the rest. An update will follow.
|
||||
<span style="color:red">!! Currently, only two panels are provided!!</span> I'm working on the rest. An update will follow.
|
||||
|
||||
#### ESPHome
|
||||
For an better overview I've splittet up the yaml file into multiple pieces and included them in the main file as a package.
|
||||
|
||||
Copy all files from ESPHome/* into you ESPHome config directory and just flash the froeling.yaml. - All other files will be included.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 798 KiB After Width: | Height: | Size: 1.1 MiB |
503
froeling.yaml
503
froeling.yaml
@@ -1,503 +0,0 @@
|
||||
esphome:
|
||||
name: froeling
|
||||
friendly_name: froeling
|
||||
|
||||
esp8266:
|
||||
board: d1_mini
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
level: INFO
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: ""
|
||||
|
||||
ota:
|
||||
password: ""
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
|
||||
substitutions:
|
||||
name: froeling
|
||||
modbus_controller_id: froeling
|
||||
|
||||
uart:
|
||||
- id: uartfroeling
|
||||
tx_pin: 15
|
||||
rx_pin: 13
|
||||
baud_rate: 57600
|
||||
data_bits: 8
|
||||
stop_bits: 1
|
||||
parity: NONE
|
||||
|
||||
modbus:
|
||||
id: modbus1
|
||||
uart_id: uartfroeling
|
||||
|
||||
modbus_controller:
|
||||
- id: froeling
|
||||
address: 2
|
||||
modbus_id: modbus1
|
||||
setup_priority: -10
|
||||
update_interval: "15s"
|
||||
command_throttle: "50ms"
|
||||
|
||||
switch:
|
||||
- platform: restart
|
||||
name: "Restart $friendly_name"
|
||||
|
||||
sensor:
|
||||
##### Kessel #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Kesseltemperatur"
|
||||
id: Kesseltemperatur
|
||||
register_type: read
|
||||
address: 0
|
||||
unit_of_measurement: "°C"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Abgastemperatur"
|
||||
id: Abgastemperatur
|
||||
register_type: read
|
||||
address: 1
|
||||
unit_of_measurement: "°C"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Verbleibende Heizstunden bis zur Asche entleeren Warnung"
|
||||
id: Verbleibende_Heizstunden_bis_zur_Asche_entleeren_Warnung
|
||||
register_type: read
|
||||
address: 86
|
||||
unit_of_measurement: "h"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Saugzug - Ansteuerung"
|
||||
id: Saugzug_Ansteuerung
|
||||
register_type: read
|
||||
address: 12
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Restsauerstoffgehalt"
|
||||
id: Restsauerstoffgehalt
|
||||
register_type: read
|
||||
address: 3
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Rücklauffühler"
|
||||
id: Ruecklauffuehler
|
||||
register_type: read
|
||||
address: 9
|
||||
unit_of_measurement: "°C"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Primärluft"
|
||||
id: Primaerluft
|
||||
register_type: read
|
||||
address: 11
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Sekundärluft"
|
||||
id: Sekundaerluft
|
||||
register_type: read
|
||||
address: 13
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
|
||||
#### Heizkörper HK1 #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "HK1 - Vorlauf-Isttemperatur"
|
||||
id: HK1_Vorlauf_Isttemperatur
|
||||
register_type: read
|
||||
address: 1030
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
# - platform: modbus_controller
|
||||
# modbus_controller_id: ${modbus_controller_id}
|
||||
# name: "HK1 - Vorlauf-Solltemperatur"
|
||||
# id: HK1_Vorlauf_Solltemperatur
|
||||
# register_type: read
|
||||
# address: 1031
|
||||
# unit_of_measurement: "°C"
|
||||
# value_type: U_WORD
|
||||
# filters:
|
||||
# - multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Aussentemperatur"
|
||||
id: Aussentemperatur
|
||||
register_type: read
|
||||
address: 1000
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
##### Boiler 1 #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Boiler 1 Temperatur oben"
|
||||
id: Boiler_1_Temperatur_oben
|
||||
register_type: read
|
||||
address: 1630
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Boiler 1 Pumpe Ansteuerung"
|
||||
id: Boiler_1_Pumpe_Ansteuerung
|
||||
register_type: read
|
||||
address: 1632
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
##### Puffer 1 #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Puffer 1 Temperatur oben"
|
||||
id: Puffer_1_Temperatur_oben
|
||||
register_type: read
|
||||
address: 2000
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Puffer 1 Temperatur mitte"
|
||||
id: Puffer_1_Temperatur_mitte
|
||||
register_type: read
|
||||
address: 2001
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Puffer 1 Temperatur unten"
|
||||
id: Puffer_1_Temperatur_unten
|
||||
register_type: read
|
||||
address: 2002
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Puffer 1 Ladezustand"
|
||||
id: Puffer_1_Ladezustand
|
||||
register_type: read
|
||||
address: 2006
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Puffer 1 Pufferpumpen Ansteuerung"
|
||||
id: Puffer_1_Pufferpumpen_Ansteuerung
|
||||
register_type: read
|
||||
address: 2003
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
##### Austragung #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Fuellstand im Pelletsbehaelter"
|
||||
id: Fuellstand_im_Pelletsbehaelter
|
||||
register_type: read
|
||||
address: 21
|
||||
unit_of_measurement: "%"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.0048309178743961
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Resetierbarer kg-Zaehler"
|
||||
id: Resetierbarer_kg_Zaehler
|
||||
register_type: read
|
||||
address: 81
|
||||
unit_of_measurement: "kg"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Resetierbarer t-Zaehler"
|
||||
id: Resetierbarer_t_Zaehler
|
||||
register_type: read
|
||||
address: 82
|
||||
unit_of_measurement: "t"
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Pelletverbrauch Gesamt"
|
||||
id: Pelletverbrauch_Gesamt
|
||||
register_type: read
|
||||
address: 83
|
||||
unit_of_measurement: "t"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Pelletlager Restbestand"
|
||||
id: Pelletlager_Restbestand
|
||||
register_type: holding
|
||||
address: 319
|
||||
unit_of_measurement: "t"
|
||||
accuracy_decimals: 1
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
|
||||
# #### Zirkulations Pumpe #####
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Ruecklauftemperatur an der Zirkulations Leitung"
|
||||
id: Ruecklauftemperatur_an_der_Zirkulations_Leitung
|
||||
register_type: read
|
||||
address: 711
|
||||
unit_of_measurement: "°C"
|
||||
value_type: U_WORD
|
||||
filters:
|
||||
- multiply: 0.5
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Strömungsschalter an der Brauchwasser Leitung"
|
||||
id: Stoemungsschalter_an_der_Brauchwasser_Leitung
|
||||
register_type: read
|
||||
address: 600
|
||||
value_type: U_WORD
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Drehzahl der Zirkulations Pumpe"
|
||||
id: Drehzahl_der_Zirkulations_Pumpe
|
||||
register_type: read
|
||||
address: 710
|
||||
unit_of_measurement: "%"
|
||||
value_type: U_WORD
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
name: "Puffer 1 Pufferpumpen Ansteuerung AN AUS"
|
||||
id: "Puffer_1_Pufferpumpen_Ansteuerung_AN_AUS"
|
||||
lambda: |-
|
||||
if (id(Puffer_1_Pufferpumpen_Ansteuerung).state > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
- platform: template
|
||||
name: "Kesselzustand Heizen"
|
||||
id: "Kesselzustand_Heizen"
|
||||
lambda: |-
|
||||
if (id(Kesselzustand).state == "Heizen") {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "HK1 - Pumpe AN AUS"
|
||||
id: HK1_Pumpe_AN_AUS
|
||||
register_type: coil
|
||||
address: 999
|
||||
|
||||
number:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${modbus_controller_id}
|
||||
name: "Bei welcher RL Temperatur an der Zirkulationsleitung soll die Pumpe ausschalten"
|
||||
id: 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: "Kessel-Solltemperatur"
|
||||
id: 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: "Anlagenzustand"
|
||||
id: 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: "Kesselzustand"
|
||||
id: 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;
|
||||
@@ -1,46 +1,157 @@
|
||||
type: custom:floorplan-card
|
||||
full_height: false
|
||||
config:
|
||||
image: /local/froeling/froeling_kessel.svg
|
||||
cache: false
|
||||
stylesheet: /local/froeling/home.css
|
||||
console_log_level: debug
|
||||
defaults:
|
||||
hover_action: hover-info
|
||||
tap_action: more-info
|
||||
rules:
|
||||
- entities:
|
||||
- sensor.froeling_abgastemperatur
|
||||
- sensor.froeling_kesseltemperatur
|
||||
- sensor.froeling_restsauerstoffgehalt
|
||||
- sensor.froeling_puffer_1_pufferpumpen_ansteuerung
|
||||
- sensor.froeling_saugzug_ansteuerung
|
||||
- sensor.froeling_fuellstand_im_pelletsbehaelter
|
||||
- >-
|
||||
sensor.froeling_verbleibende_heizstunden_bis_zur_asche_entleeren_warnung
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.text_set
|
||||
service_data: ${entity.state}
|
||||
- entities:
|
||||
- binary_sensor.froeling_kesselzustand_heizen
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.class_set
|
||||
service_data:
|
||||
class: >-
|
||||
${(entity.state == "on") ? "binary-sensor-kesselzustand-heizen-an" :
|
||||
"binary-sensor-kesselzustand-heizen-aus"}
|
||||
- entities:
|
||||
- binary_sensor.froeling_puffer_1_pufferpumpen_ansteuerung_an_aus
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.class_set
|
||||
service_data:
|
||||
class: >-
|
||||
${(entity.state == "on") ?
|
||||
"binary-sensor-puffer-1-pufferpumpen-ansteuerung-an" :
|
||||
"binary-sensor-puffer-1-pufferpumpen-ansteuerung-aus"}
|
||||
views:
|
||||
- title: Kessel
|
||||
badges: []
|
||||
cards:
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: custom:floorplan-card
|
||||
full_height: false
|
||||
config:
|
||||
image: /local/froeling/froeling_kessel.svg
|
||||
cache: false
|
||||
stylesheet: /local/froeling/home.css
|
||||
defaults:
|
||||
hover_action: hover-info
|
||||
tap_action: more-info
|
||||
rules:
|
||||
- entities:
|
||||
- sensor.froeling_abgastemperatur
|
||||
- sensor.froeling_kesseltemperatur
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.text_set
|
||||
service_data: ${entity.state + "°C"}
|
||||
- entities:
|
||||
- sensor.froeling_restsauerstoffgehalt
|
||||
- sensor.froeling_puffer_1_pufferpumpen_ansteuerung
|
||||
- sensor.froeling_saugzug_ansteuerung
|
||||
- sensor.froeling_fuellstand_im_pelletsbehaelter
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.text_set
|
||||
service_data: ${entity.state + "%"}
|
||||
- entities:
|
||||
- >-
|
||||
sensor.froeling_verbleibende_heizstunden_bis_zur_asche_entleeren_warnung
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.text_set
|
||||
service_data: ${entity.state + "h"}
|
||||
- entities:
|
||||
- sensor.froeling_kesselzustand
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.class_set
|
||||
service_data:
|
||||
class: '${(entity.state == "Heizen") ? "fill-red" : "fill-grey"}'
|
||||
- entities:
|
||||
- >-
|
||||
binary_sensor.froeling_puffer_1_pufferpumpen_ansteuerung_an_aus
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.class_set
|
||||
service_data:
|
||||
class: '${(entity.state == "on") ? "fill-green" : "fill-grey"}'
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: sensor.froeling_kesseltemperatur
|
||||
name: Kesseltemperatur
|
||||
- entity: sensor.froeling_abgastemperatur
|
||||
name: Abgastemperatur
|
||||
- entity: >-
|
||||
sensor.froeling_verbleibende_heizstunden_bis_zur_asche_entleeren_warnung
|
||||
name: Verbleibende Heizstunden bis zur Asche entleeren Warnung
|
||||
- entity: sensor.froeling_saugzug_ansteuerung
|
||||
name: Saugzug - Ansteuerung
|
||||
- entity: sensor.froeling_restsauerstoffgehalt
|
||||
name: Restsauerstoffgehalt
|
||||
- entity: sensor.froeling_primarluft
|
||||
name: Primärluft
|
||||
- entity: sensor.froeling_sekundarluft
|
||||
name: Sekundärluft
|
||||
- entity: sensor.froeling_rucklauffuhler
|
||||
name: Rücklauffühler
|
||||
title: Zustand
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: number.froeling_kessel_solltemperatur
|
||||
name: Kessel-Solltemperatur
|
||||
title: Einstellungen
|
||||
- title: Heizkörper
|
||||
path: heizkorper
|
||||
badges: []
|
||||
cards:
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: custom:floorplan-card
|
||||
full_height: false
|
||||
config:
|
||||
image: /local/froeling/froeling_heizkoerper.svg
|
||||
cache: false
|
||||
stylesheet: /local/froeling/home.css
|
||||
log_level: info
|
||||
console_log_level: debug
|
||||
defaults:
|
||||
hover_action: hover-info
|
||||
tap_action: more-info
|
||||
rules:
|
||||
- entities:
|
||||
- sensor.froeling_aussentemperatur
|
||||
- sensor.froeling_hk1_vorlauf_isttemperatur
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.text_set
|
||||
service_data: ${entity.state + "°C"}
|
||||
- entities:
|
||||
- binary_sensor.froeling_hk1_pumpe_an_aus
|
||||
tap_action: false
|
||||
state_action:
|
||||
action: call-service
|
||||
service: floorplan.class_set
|
||||
service_data:
|
||||
class: '${(entity.state == "on") ? "fill-green" : "fill-grey"}'
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: sensor.froeling_hk1_vorlauf_isttemperatur
|
||||
name: Vorlauf-Isttempratur
|
||||
- entity: sensor.froeling_hk1_vorlauf_solltemperatur
|
||||
name: Vorlauf-Solltemperatur
|
||||
- entity: sensor.froeling_aussentemperatur
|
||||
name: Außentemperatur
|
||||
title: Zustand
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: >-
|
||||
number.froeling_hk1_gewunschte_vorlauf_temperatur_bei_10degc_aussentemperatur
|
||||
name: Gewünschte Vorlauf-temperatur bei -10°C Außentemperatur
|
||||
- entity: >-
|
||||
number.froeling_hk1_gewunschte_vorlauf_temperatur_bei_10degc_aussentemperatur_2
|
||||
name: Gewünschte Vorlauf-temperatur bei +10°C Außentemperatur
|
||||
- entity: >-
|
||||
number.froeling_hk1_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als
|
||||
name: Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als
|
||||
- entity: >-
|
||||
number.froeling_hk1_absenkung_der_vorlauftemperatur_im_absenkbetrieb
|
||||
name: Absenkung der Vorlauftemperatur im Absenkbetrieb
|
||||
- entity: >-
|
||||
number.froeling_hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet
|
||||
name: >-
|
||||
Außentemperatur, unter der die Heizkreispumpe im Heizbetrieb
|
||||
einschaltet
|
||||
- entity: >-
|
||||
number.froeling_hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet
|
||||
name: >-
|
||||
Außentemperatur, unter der die Heizkreispumpe im Absenkbetrieb
|
||||
einschaltet
|
||||
- entity: number.froeling_hk1_frostschutztemperatur
|
||||
name: Frostschutztemperatur
|
||||
- entity: >-
|
||||
number.froeling_hk1_temp_am_puffer_oben_ab_der_der_uberhitzungsschutz_aktiv_wird
|
||||
name: Temp. am Puffer oben ab der der Überhitzungsschutz aktiv wird
|
||||
title: Einstellungen
|
||||
@@ -23,10 +23,10 @@
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.1351589"
|
||||
inkscape:cx="218.91208"
|
||||
inkscape:cy="222.87628"
|
||||
inkscape:cy="222.87629"
|
||||
inkscape:window-width="958"
|
||||
inkscape:window-height="1128"
|
||||
inkscape:window-x="953"
|
||||
inkscape:window-x="946"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Ebene_1" /> <defs
|
||||
@@ -63,8 +63,9 @@
|
||||
id="path5" /> <path
|
||||
d="M252.9,209.1l-3.4,35.2c-0.5,5.3-8.8,4.6-8.3-0.7l3.4-35.2C245.1,203,253.4,203.8,252.9,209.1z"
|
||||
id="path6" /> </g> <g
|
||||
id="sensor.froeling_hk1_pumpe_an_aus"
|
||||
class="stPumpActive"><title
|
||||
id="binary_sensor.froeling_hk1_pumpe_an_aus"
|
||||
class="stPumpActive"
|
||||
inkscape:label="binary_sensor.froeling_hk1_pumpe_an_aus"><title
|
||||
id="title6">Heizkreispumpe</title> <path
|
||||
d="M71.1,212.4c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4c0,1.9-1.5,3.4-3.4,3.4 C72.7,215.8,71.1,214.3,71.1,212.4z"
|
||||
id="path7" /> <path
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -27,7 +27,7 @@
|
||||
inkscape:cy="169.13932"
|
||||
inkscape:window-width="958"
|
||||
inkscape:window-height="1128"
|
||||
inkscape:window-x="953"
|
||||
inkscape:window-x="946"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Ebene_1" /> <defs
|
||||
@@ -2589,7 +2589,8 @@
|
||||
r="0.8"
|
||||
id="circle508" /> </g> </g> </g> <g
|
||||
id="binary_sensor.froeling_puffer_1_pufferpumpen_ansteuerung_an_aus"
|
||||
class="stPumpInActive"><title
|
||||
class="stPumpInActive"
|
||||
inkscape:label="binary_sensor.froeling_puffer_1_pufferpumpen_ansteuerung_an_aus"><title
|
||||
id="title508">Aktueller Status der Pufferpumpe</title> <path
|
||||
d="M293.6,184.5c0-1.8-1.5-3.3-3.3-3.3c-1.8,0-3.3,1.5-3.3,3.3c0,1.8,1.5,3.3,3.3,3.3 C292.1,187.8,293.6,186.3,293.6,184.5z"
|
||||
id="path508" /> <path
|
||||
@@ -2605,8 +2606,9 @@
|
||||
id="path513" /> <path
|
||||
d="M299.9,184.5c0-5.4-4.3-9.7-9.6-9.7c-5.3,0-9.6,4.3-9.6,9.7c0,5.4,4.3,9.7,9.6,9.7 C295.6,194.2,299.9,189.9,299.9,184.5z M283.1,184.5c0-4,3.2-7.2,7.2-7.2c4,0,7.2,3.2,7.2,7.2c0,4-3.2,7.2-7.2,7.2 C286.3,191.7,283.1,188.5,283.1,184.5z"
|
||||
id="path514" /> </g> <g
|
||||
id="binary_sensor.froeling_kesselzustand_heizen"
|
||||
class="stHeatingOff"><title
|
||||
id="sensor.froeling_kesselzustand"
|
||||
class="stHeatingOff"
|
||||
inkscape:label="sensor.froeling_kesselzustand"><title
|
||||
id="title514">Betriebszustand</title> <path
|
||||
d="M143.6,171.7c0.4,4.9,3.7,11.8,12.3,10c-3.6-1-6.5-4.3-7.7-10.4c0.8,0.2,1.9,0.9,2.3,1.1 c-0.2-0.9,0.1-3.4,1.4-6.4c1.5,7.7,2.6,9,4.1,9.3c-1.4-3.7-1.3-6.9-0.1-9.4c0.6,2.4,1.8,4.2,2.9,5.4c1.8-2.2,2.6-5.1,1.8-11.4 c4,5.3,3.7,8.6,2.4,10.6c1.1-0.3,2.7-1.8,3.8-4.4c1,1.2,0.8,3.4-0.1,5.9c0.6-0.2,1.6-0.6,2.2-1.1c-1,7.3-5.2,8.2-9.2,10.4 c5.7,2.3,15.1-1.1,16.2-8.8c0.3-1.3-0.1-3.2-0.4-4.7c-0.6,1-0.9,2.3-1.8,2.8c-0.2-1.4,0.2-2.6,0.8-3.8c1.1-4.3,0.4-7.9-1.9-10.7 c-0.4,2.1-0.9,3.9-1.9,4.4c-1.1-6.5-3.1-11-5.5-12.2c0.2,1.9,0.1,3.5-0.6,4.9c-2-7.2-5.5-6.7-6.5-13.2c-1,0.7-1.2,2.3-1.4,3.7 c0,2.9,0.2,5.7-1,7.1c-1.1-2.1-2.1-3.8-3.9-4c1.3,2.7,0.8,7.4-1.1,12.5c-0.7-1.3-1.9-3.9-3.6-4.3c0.4,3.4-0.1,7.3-0.9,10.9 c-0.5-0.8-1.5-1.7-2.6-2.3C144.8,166.8,143.1,168.2,143.6,171.7z M159.2,149.8c0.2,2.7,0,5.5-0.8,6.9 C158.3,154.1,158,152.6,159.2,149.8z"
|
||||
id="path515" /> </g> <g
|
||||
@@ -2635,7 +2637,8 @@
|
||||
id="polyline519" /> </g> </g> </g> <text
|
||||
id="sensor.froeling_verbleibende_heizstunden_bis_zur_asche_entleeren_warnung"
|
||||
transform="matrix(1 0 0 1 80 231.4438)"
|
||||
class="st9 st10 st11">17h</text> <g
|
||||
class="st9 st10 st11"
|
||||
inkscape:label="sensor.froeling_verbleibende_heizstunden_bis_zur_asche_entleeren_warnung">17h</text> <g
|
||||
id="label_fuel-level"><title
|
||||
id="title519">Restbestand im Brennstofflagerraum</title> <path
|
||||
id="frame_1_"
|
||||
@@ -2660,7 +2663,8 @@
|
||||
id="path522" /> </g> </g> </g> <text
|
||||
id="sensor.froeling_fuellstand_im_pelletsbehaelter"
|
||||
transform="matrix(1 0 0 1 80 47.6704)"
|
||||
class="st9 st10 st11">32%</text> <g
|
||||
class="st9 st10 st11"
|
||||
inkscape:label="sensor.froeling_fuellstand_im_pelletsbehaelter">32%</text> <g
|
||||
id="Saugzug_Ansteuerung"><title
|
||||
id="title522">Drehzahl des Saugzuggebläses</title> <path
|
||||
id="frame_2_"
|
||||
@@ -2745,7 +2749,8 @@
|
||||
id="rect530" /> </g> </g> </g> <text
|
||||
id="sensor.froeling_abgastemperatur"
|
||||
transform="matrix(1 0 0 1 207.5 47.2747)"
|
||||
class="st9 st10 st11">57°C</text> <g
|
||||
class="st9 st10 st11"
|
||||
inkscape:label="sensor.froeling_abgastemperatur">57°C</text> <g
|
||||
id="label_lambda"><title
|
||||
id="title530">Restsauerstoffgehalt</title> <path
|
||||
id="frame_3_"
|
||||
|
||||
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
@@ -59,25 +59,21 @@ g.floorplan-long-click > :not(text):hover,
|
||||
transition: fill 5s ease;
|
||||
}
|
||||
|
||||
.binary-sensor-kesselzustand-heizen-an {
|
||||
.fill-red {
|
||||
fill: #ff0000 !important;
|
||||
fill-opacity: 1 !important;
|
||||
}
|
||||
|
||||
.binary-sensor-kesselzustand-heizen-aus {
|
||||
.fill-grey {
|
||||
fill: #9e9e9e !important;
|
||||
transition: fill 5s ease;
|
||||
}
|
||||
|
||||
.binary-sensor-puffer-1-pufferpumpen-ansteuerung-an {
|
||||
.fill-green {
|
||||
fill: #00c800 !important;
|
||||
fill-opacity: 1 !important;
|
||||
}
|
||||
|
||||
.binary-sensor-puffer-1-pufferpumpen-ansteuerung-aus {
|
||||
fill: #9e9e9e !important;
|
||||
transition: fill 5s ease;
|
||||
}
|
||||
|
||||
|
||||
/* Buttons */
|
||||
|
||||
Reference in New Issue
Block a user