285 lines
10 KiB
YAML
285 lines
10 KiB
YAML
text_sensor:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Kesselzustand"
|
|
id: ${lower_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;
|
|
|
|
sensor:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Kesseltemperatur"
|
|
id: ${lower_name}_Kesseltemperatur
|
|
register_type: read
|
|
address: 0
|
|
unit_of_measurement: "°C"
|
|
value_type: S_WORD
|
|
filters:
|
|
- multiply: 0.5
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Abgastemperatur"
|
|
id: ${lower_name}_Abgastemperatur
|
|
register_type: read
|
|
address: 1
|
|
unit_of_measurement: "°C"
|
|
value_type: S_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Saugzug - Ansteuerung"
|
|
id: ${lower_name}_Saugzug_Ansteuerung
|
|
register_type: read
|
|
address: 13
|
|
unit_of_measurement: "%"
|
|
value_type: U_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Saugzugdrehzahl"
|
|
id: ${lower_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: ${lower_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: ${lower_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: ${lower_name}_Ruecklauffuehler
|
|
# register_type: read
|
|
# address: 9
|
|
# unit_of_measurement: "°C"
|
|
# value_type: S_WORD
|
|
# filters:
|
|
# - multiply: 0.5
|
|
|
|
# - platform: modbus_controller
|
|
# modbus_controller_id: ${modbus_controller_id}
|
|
# name: "${name} Primärluft"
|
|
# id: ${lower_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: ${lower_name}_Sekundaerluft
|
|
# register_type: read
|
|
# address: 12
|
|
# unit_of_measurement: "%"
|
|
# value_type: U_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Kesselstellgröße"
|
|
id: ${lower_name}_Kesselstellgroesse
|
|
register_type: read
|
|
address: 14
|
|
unit_of_measurement: "%"
|
|
value_type: U_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Betriebsstunden"
|
|
id: ${lower_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} Anzahl der Brennerstarts"
|
|
id: ${lower_name}_Anzahl_der_Brennerstarts
|
|
register_type: read
|
|
address: 22
|
|
value_type: U_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Betriebsstunden in der Feuererhaltung"
|
|
id: ${lower_name}_Betriebsstunden_in_der_Feuererhaltung
|
|
register_type: read
|
|
address: 24
|
|
unit_of_measurement: "h"
|
|
value_type: U_WORD
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Errechnete Kesselsolltemperatur"
|
|
id: ${lower_name}_Errechnete_Kesselsolltemperatur
|
|
register_type: read
|
|
address: 27
|
|
unit_of_measurement: "°C"
|
|
value_type: S_WORD
|
|
filters:
|
|
- multiply: 0.5
|
|
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Stunden seit letzter Wartung"
|
|
id: ${lower_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} Verbleibende Heizstunden bis zur Asche entleeren Warnung"
|
|
id: ${lower_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} Aussentemperatur"
|
|
id: ${lower_name}_Aussentemperatur
|
|
register_type: read
|
|
address: 1000
|
|
unit_of_measurement: "°C"
|
|
value_type: S_WORD
|
|
filters:
|
|
- multiply: 0.5
|
|
|
|
binary_sensor:
|
|
- platform: template
|
|
name: "${name} Kesselzustand Heizen"
|
|
id: ${lower_name}_Kesselzustand_Heizen
|
|
lambda: |-
|
|
if (id(${lower_name}_Kesselzustand).state == "Heizen") {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
|
|
number:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: ${modbus_controller_id}
|
|
name: "${name} Kessel-Solltemperatur"
|
|
id: ${lower_name}_Kessel_Solltemperatur
|
|
address: 0
|
|
unit_of_measurement: "°C"
|
|
value_type: U_WORD
|
|
multiply: 2
|
|
min_value: 40
|
|
max_value: 90
|