10 Commits

Author SHA1 Message Date
GyroGearl00se 06739ef9b7 renamed repository 2025-02-19 21:41:42 +01:00
GyroGearl00se 170d52f563 added check to convert modbus raw_value to a signed integer to interpret correctly negativ values (i.e. temperatures) 2025-02-19 02:43:35 +01:00
GyroGearl00se f7db723b64 fixed manifest order (hassfest) 2025-02-19 01:57:33 +01:00
GyroGearl00se 6a8bdbf4f6 updated manifest 2025-02-19 01:52:33 +01:00
GyroGearl00se e4b639daa5 added home assistant config validation 2025-02-19 01:47:28 +01:00
GyroGearl00se b46aa97184 converted translation keys to lowercase 2025-02-19 00:41:23 +01:00
GyroGearl00se 768a935cbb Update hacs.json 2025-02-19 00:04:37 +01:00
GyroGearl00se 6fcda73e87 Create hassfest.yaml 2025-02-19 00:02:19 +01:00
GyroGearl00se 6fa20da1d4 Create validate.yaml 2025-02-19 00:01:40 +01:00
GyroGearl00se d62cf9585b Update README.md 2025-02-18 23:51:30 +01:00
11 changed files with 497 additions and 442 deletions
+14
View File
@@ -0,0 +1,14 @@
name: Validate with hassfest
on:
push:
pull_request:
schedule:
- cron: "0 0 * * *"
jobs:
validate:
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- uses: home-assistant/actions/hassfest@master
+17
View File
@@ -0,0 +1,17 @@
name: Validate
on:
push:
pull_request:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
validate-hacs:
runs-on: "ubuntu-latest"
steps:
- name: HACS validation
uses: "hacs/action@main"
with:
category: "integration"
+10 -10
View File
@@ -1,14 +1,14 @@
# Froeling Lambdatronic Modbus
Home Assistant integration for Fröling Lambdatronic heating systems via Modbus (currently supports Modbus TCP only).
Home Assistant integration for Fröling Lambdatronic heating systems via Modbus (currently supports Modbus TCP only - maybe ).
## :warning: Disclaimer :warning:
## ⚠️ Disclaimer ⚠️
> **This integration is experimental and has not been tested over long periods.**
> It may contain missing or incorrect sensor data.
> Feel free to open an [issue](https://github.com/your-repo/issues) or contribute via a [pull request](https://github.com/your-repo/pulls).
> Feel free to open an [issue](https://github.com/GyroGearl00se/ha_froeling_lambdatronic_modbus/issues) or contribute via a [pull request](https://github.com/GyroGearl00se/ha_froeling_lambdatronic_modbus/pulls).
---
## :rocket: Features
## 🚀 Features
With this integration, you can:
- Read real-time sensor data from your Fröling heating system.
- Monitor boiler performance and operational parameters.
@@ -16,11 +16,11 @@ With this integration, you can:
---
## :computer: Requirements
## 💻 Requirements
To communicate with the heating system, you need a Modbus-to-TCP device.
This integration has been tested with the **Waveshare RS232/RS485 to Ethernet Converter**, but other Serial-to-Ethernet adapters should work.
### :wrench: Enabling Modbus RTU on the Boiler
### 🔧 Enabling Modbus RTU on the Boiler
To enable Modbus RTU on your Fröling boiler:
1. Navigate to **Boiler Settings**.
@@ -32,7 +32,7 @@ To enable Modbus RTU on your Fröling boiler:
---
## :hammer_and_wrench: Hardware Setup
## 🛠️ Hardware Setup
I used a [Waveshare RS232/RS485 to Ethernet Converter](https://www.waveshare.com/rs232-485-to-eth.htm) and connected **RS232 to COM2** on the boiler.
![Waveshare configuration](docs/image.png)
@@ -41,18 +41,18 @@ Other Serial-to-Ethernet converters should work as well.
---
## :package: Installation
## 📦 Installation
1. Copy the integration files into your Home Assistant `custom_components` folder.
2. Restart Home Assistant.
3. Add the integration via the Home Assistant UI.
---
## :orange_heart: Contributing
## 🧡 Contributing
Contributions are welcome!
1. **[Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo).**
2. Make changes within your fork.
3. **[Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).**
Ill do my best to review and merge contributions.
Ill do my best to review and merge contributions.
@@ -1,25 +1,46 @@
from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.const import Platform
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
DOMAIN = "froeling_lambdatronic_modbus"
async def async_setup(hass, config):
CONFIG_SCHEMA = vol.Schema(
{
DOMAIN: vol.Schema(
{
vol.Required("name", default="Froeling"): cv.string,
vol.Required("host"): cv.string,
vol.Required("port", default=502): cv.port,
vol.Required("update_interval", default=60): cv.positive_int,
vol.Optional("kessel", default=True): cv.boolean,
vol.Optional("boiler01", default=True): cv.boolean,
vol.Optional("hk01", default=True): cv.boolean,
vol.Optional("hk02", default=True): cv.boolean,
vol.Optional("austragung", default=True): cv.boolean,
vol.Optional("puffer01", default=True): cv.boolean,
vol.Optional("zirkulationspumpe", default=True): cv.boolean,
}
)
},
extra=vol.ALLOW_EXTRA,
)
async def async_setup(hass: HomeAssistant, config: dict):
return True
PLATFORMS = [Platform.SENSOR, Platform.NUMBER, Platform.BINARY_SENSOR]
async def async_setup_entry(hass, entry):
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry):
hass.data.setdefault(DOMAIN, {})
hass.data[DOMAIN][entry.entry_id] = entry.data
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
return True
async def async_unload_entry(hass, entry):
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
for platform in PLATFORMS:
await hass.config_entries.async_forward_entry_unload(entry, platform)
hass.data[DOMAIN].pop(entry.entry_id)
@@ -4,7 +4,7 @@ import logging
from datetime import timedelta
from homeassistant.helpers.event import async_track_time_interval
from homeassistant.helpers.translation import async_get_translations
from const import DOMAIN
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
@@ -1,11 +1,13 @@
{
"domain": "froeling_lambdatronic_modbus",
"name": "Froeling Lambdatronic Modbus",
"version": "1.0.0",
"documentation": "https://github.com/GyroGearl00se/hacs_froeling_lambdatronic_modbus",
"issue_tracker": "https://github.com/GyroGearl00se/hacs_froeling_lambdatronic_modbus/issues",
"dependencies": [],
"codeowners": ["@GyroGearl00se"],
"config_flow": true,
"dependencies": [],
"documentation": "https://github.com/GyroGearl00se/ha_froeling_lambdatronic_modbus",
"integration_type": "hub",
"iot_class": "local_polling",
"issue_tracker": "https://github.com/GyroGearl00se/ha_froeling_lambdatronic_modbus/issues",
"requirements": ["pymodbus==2.5.3"],
"config_flow": true
"version": "1.0.0"
}
@@ -4,7 +4,7 @@ import logging
from datetime import timedelta
from homeassistant.helpers.event import async_track_time_interval
from homeassistant.helpers.translation import async_get_translations
from const import DOMAIN
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
@@ -4,7 +4,7 @@ import logging
from datetime import timedelta
from homeassistant.helpers.event import async_track_time_interval
from homeassistant.helpers.translation import async_get_translations
from const import DOMAIN
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
@@ -147,6 +147,8 @@ class FroelingSensor(SensorEntity):
self._state = None
else:
raw_value = result.registers[0]
if raw_value > 32767:
raw_value -= 65536
scaled_value = raw_value / self._scaling_factor
if self._decimal_places == 0:
self._state = int(scaled_value) # Convert to integer if decimal_places is 0
@@ -1,211 +1,211 @@
{
"config": {
"step": {
"user": {
"title": "Froeling Modbus konfigurieren",
"description": "Bitte geben Sie die Verbindungsdetails für Ihr Froeling Modbus-Gerät ein.",
"data": {
"name": "Eindeutiger Name (Standard: Froeling)",
"host": "Hostname/IP",
"port": "Port (Standard: 502)",
"update_interval": "Update intervall (Standard: 60 Sekunden)",
"kessel": "Kessel",
"boiler01": "Boiler 01",
"hk01": "Heizkreis 01",
"hk02": "Heizkreis 02",
"austragung": "Austragung",
"puffer01": "Puffer 01",
"zirkulationspumpe": "Zirkulationspumpe"
}
}
}
},
"entity": {
"sensor": {
"Anlagenzustand": {
"name": "Anlagenzustand"
},
"Kesselzustand": {
"name": "Kesselzustand"
},
"Aussentemperatur": {
"name": "Außentemperatur"
},
"Kesseltemperatur": {
"name": "Kesseltemperatur"
},
"Abgastemperatur": {
"name": "Abgastemperatur"
},
"Verbleibende_Heizstunden_bis_zur_Asche_entleeren_Warnung": {
"name": "Verbleibende Heizstunden bis zur Asche entleeren Warnung"
},
"Saugzug_Ansteuerung": {
"name": "Saugzug - Ansteuerung"
},
"Saugzugdrehzahl": {
"name": "Saugzugdrehzahl"
},
"Sauerstoffregler": {
"name": "Sauerstoffregler"
},
"Restsauerstoffgehalt": {
"name": "Restsauerstoffgehalt"
},
"Ruecklauffuehler": {
"name": "Rücklauffühler"
},
"Primaerluft": {
"name": "Primärluft"
},
"Sekundaerluft": {
"name": "Sekundärluft"
},
"Betriebsstunden": {
"name": "Betriebsstunden"
},
"Stunden_seit_letzter_Wartung": {
"name": "Stunden seit letzter Wartung"
},
"Betriebsstunden_in_der_Feuererhaltung": {
"name": "Betriebsstunden in der Feuererhaltung"
},
"HK01_Vorlauf_Isttemperatur": {
"name": "HK01 - Vorlauf-Isttemperatur"
},
"HK01_Vorlauf_Solltemperatur": {
"name": "HK01 - Vorlauf-Solltemperatur"
},
"HK02_Vorlauf_Isttemperatur": {
"name": "HK02 - Vorlauf-Isttemperatur"
},
"HK02_Vorlauf_Solltemperatur": {
"name": "HK02 - Vorlauf-Solltemperatur"
},
"Puffer_1_Temperatur_oben": {
"name": "Puffer 1 Temperatur oben"
},
"Puffer_1_Temperatur_mitte": {
"name": "Puffer 1 Temperatur mitte"
},
"Puffer_1_Temperatur_unten": {
"name": "Puffer 1 Temperatur unten"
},
"Puffer_1_Pufferpumpen_Ansteuerung": {
"name": "Puffer 1 Pufferpumpen Ansteuerung"
},
"Puffer_1_Ladezustand": {
"name": "Puffer 1 Ladezustand"
},
"Boiler_1_Temperatur_oben": {
"name": "Boiler 1 Temperatur oben"
},
"Boiler_1_Pumpe_Ansteuerung": {
"name": "Boiler 1 Pumpe Ansteuerung"
},
"Fuellstand_im_Pelletsbehaelter": {
"name": "Füllstand_im_Pelletsbehälter"
},
"Resetierbarer_kg_Zaehler": {
"name": "Resetierbarer Kg Zähler"
},
"Resetierbarer_t_Zaehler": {
"name": "Resetierbarer t Zähler"
},
"Pelletverbrauch_Gesamt": {
"name": "Pelletverbrauch Gesamt"
},
"Ruecklauftemperatur_an_der_Zirkulations_Leitung": {
"name": "Rücklauftemperatur an der Zirkulations Leitung"
},
"Stoemungsschalter_an_der_Brauchwasser_Leitung": {
"name": "Strömungsschalter an der Brauchwasser Leitung"
},
"Drehzahl_der_Zirkulations_Pumpe": {
"name": "Drehzahl der Zirkulations Pumpe"
}
},
"number": {
"Kessel_Solltemperatur": {
"name": "Kessel Solltemperatur"
},
"Bei_welcher_RL_Temperatur_an_der_Zirkulationsleitung_soll_die_Pumpe_ausschalten": {
"name": "Bei welcher RL-Temperatur an der Zirkulationsleitung soll die Pumpe ausschalten"
},
"HK1_Vorlauf_Temperatur_10C_Aussentemperatur": {
"name": "HK1 Vorlauf Temperatur bei 10°C Außentemperatur"
},
"HK1_Vorlauf_Temperatur_minus_10C_Aussentemperatur": {
"name": "HK1 Vorlauf Temperatur bei -10°C Außentemperatur"
},
"HK1_Heizkreispumpe_ausschalten_wenn_Vorlauf_Soll_kleiner_ist_als": {
"name": "HK1 Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als"
},
"HK1_Absenkung_der_Vorlauftemperatur_im_Absenkbetrieb": {
"name": "HK1 Absenkung der Vorlauftemperatur im Absenkbetrieb"
},
"HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet": {
"name": "HK1 Außentemperatur unter der die Heizkreispumpe im Heizbetrieb einschaltet"
},
"HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Absenkbetrieb_einschaltet": {
"name": "HK1 Außentemperatur unter der die Heizkreispumpe im Absenkbetrieb einschaltet"
},
"HK1_Frostschutztemperatur": {
"name": "HK1 Frostschutztemperatur"
},
"HK1_Temp_am_Puffer_oben_ab_der_der_Ueberhitzungsschutz_aktiv_wird": {
"name": "HK1 Temperatur am Puffer oben ab der der Überhitzungsschutz aktiv wird"
},
"HK2_Vorlauf_Temperatur_10C_Aussentemperatur": {
"name": "HK2 Vorlauf Temperatur bei 10°C Außentemperatur"
},
"HK2_Vorlauf_Temperatur_minus_10C_Aussentemperatur": {
"name": "HK2 Vorlauf Temperatur bei -10°C Außentemperatur"
},
"HK2_Heizkreispumpe_ausschalten_wenn_Vorlauf_Soll_kleiner_ist_als": {
"name": "HK2 Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als"
},
"HK2_Absenkung_der_Vorlauftemperatur_im_Absenkbetrieb": {
"name": "HK2 Absenkung der Vorlauftemperatur im Absenkbetrieb"
},
"HK2_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet": {
"name": "HK2 Außentemperatur unter der die Heizkreispumpe im Heizbetrieb einschaltet"
},
"HK2_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Absenkbetrieb_einschaltet": {
"name": "HK2 Außentemperatur unter der die Heizkreispumpe im Absenkbetrieb einschaltet"
},
"HK2_Frostschutztemperatur": {
"name": "HK2 Frostschutztemperatur"
},
"HK2_Temp_am_Puffer_oben_ab_der_der_Ueberhitzungsschutz_aktiv_wird": {
"name": "HK2 Temperatur am Puffer oben ab der der Überhitzungsschutz aktiv wird"
},
"Boiler_1_Gewuenschte_Boilertemperatur": {
"name": "Boiler 1 Gewünschte Boilertemperatur"
},
"Boiler_1_Nachladen_wenn_Boilertemperatur_unter": {
"name": "Boiler 1 Nachladen wenn Boilertemperatur unter"
},
"Pelletlager_Restbestand": {
"name": "Pelletlager Restbestand"
}
},
"binary_sensor": {
"hk1_pumpe_an_aus": {
"name": "HK01 Pumpe AN/AUS"
},
"hk2_pumpe_an_aus": {
"name": "HK02 Pumpe AN/AUS"
},
"puffer_1_pufferpumpe_an_aus": {
"name": "Puffer 1 Pumpe AN/AUS"
},
"zirkulationspumpe_an_aus": {
"name": "Zirkulationspumpe AN/AUS"
},
"boiler_1_pumpe_an_aus": {
"name": "Boiler 1 Pumpe AN/AUS"
}
"config": {
"step": {
"user": {
"title": "Froeling Modbus konfigurieren",
"description": "Bitte geben Sie die Verbindungsdetails für Ihr Froeling Modbus-Gerät ein.",
"data": {
"name": "Eindeutiger Name (Standard: Froeling)",
"host": "Hostname/IP",
"port": "Port (Standard: 502)",
"update_interval": "Update intervall (Standard: 60 Sekunden)",
"kessel": "Kessel",
"boiler01": "Boiler 01",
"hk01": "Heizkreis 01",
"hk02": "Heizkreis 02",
"austragung": "Austragung",
"puffer01": "Puffer 01",
"zirkulationspumpe": "Zirkulationspumpe"
}
}
}
}
},
"entity": {
"sensor": {
"anlagenzustand": {
"name": "Anlagenzustand"
},
"kesselzustand": {
"name": "Kesselzustand"
},
"aussentemperatur": {
"name": "Außentemperatur"
},
"kesseltemperatur": {
"name": "Kesseltemperatur"
},
"abgastemperatur": {
"name": "Abgastemperatur"
},
"verbleibende_heizstunden_bis_zur_asche_entleeren_warnung": {
"name": "Verbleibende Heizstunden bis zur Asche entleeren Warnung"
},
"saugzug_ansteuerung": {
"name": "Saugzug - Ansteuerung"
},
"saugzugdrehzahl": {
"name": "Saugzugdrehzahl"
},
"sauerstoffregler": {
"name": "Sauerstoffregler"
},
"restsauerstoffgehalt": {
"name": "Restsauerstoffgehalt"
},
"ruecklauffuehler": {
"name": "Rücklauffühler"
},
"primaerluft": {
"name": "Primärluft"
},
"sekundaerluft": {
"name": "Sekundärluft"
},
"betriebsstunden": {
"name": "Betriebsstunden"
},
"stunden_seit_letzter_wartung": {
"name": "Stunden seit letzter Wartung"
},
"betriebsstunden_in_der_feuererhaltung": {
"name": "Betriebsstunden in der Feuererhaltung"
},
"hk01_vorlauf_isttemperatur": {
"name": "HK01 - Vorlauf-Isttemperatur"
},
"hk01_vorlauf_solltemperatur": {
"name": "HK01 - Vorlauf-Solltemperatur"
},
"hk02_vorlauf_isttemperatur": {
"name": "HK02 - Vorlauf-Isttemperatur"
},
"hk02_vorlauf_solltemperatur": {
"name": "HK02 - Vorlauf-Solltemperatur"
},
"puffer_1_temperatur_oben": {
"name": "Puffer 1 Temperatur oben"
},
"puffer_1_temperatur_mitte": {
"name": "Puffer 1 Temperatur mitte"
},
"puffer_1_temperatur_unten": {
"name": "Puffer 1 Temperatur unten"
},
"puffer_1_pufferpumpen_ansteuerung": {
"name": "Puffer 1 Pufferpumpen Ansteuerung"
},
"puffer_1_ladezustand": {
"name": "Puffer 1 Ladezustand"
},
"boiler_1_temperatur_oben": {
"name": "Boiler 1 Temperatur oben"
},
"boiler_1_pumpe_ansteuerung": {
"name": "Boiler 1 Pumpe Ansteuerung"
},
"fuellstand_im_pelletsbehaelter": {
"name": "Füllstand_im_Pelletsbehälter"
},
"resetierbarer_kg_zaehler": {
"name": "Resetierbarer Kg Zähler"
},
"resetierbarer_t_zaehler": {
"name": "Resetierbarer t Zähler"
},
"pelletverbrauch_gesamt": {
"name": "Pelletverbrauch Gesamt"
},
"ruecklauftemperatur_an_der_zirkulations_leitung": {
"name": "Rücklauftemperatur an der Zirkulations Leitung"
},
"stoemungsschalter_an_der_brauchwasser_leitung": {
"name": "Strömungsschalter an der Brauchwasser Leitung"
},
"drehzahl_der_zirkulations_pumpe": {
"name": "Drehzahl der Zirkulations Pumpe"
}
},
"number": {
"kessel_solltemperatur": {
"name": "Kessel Solltemperatur"
},
"bei_welcher_rl_temperatur_an_der_zirkulationsleitung_soll_die_pumpe_ausschalten": {
"name": "Bei welcher RL-Temperatur an der Zirkulationsleitung soll die Pumpe ausschalten"
},
"hk1_vorlauf_temperatur_10c_aussentemperatur": {
"name": "HK1 Vorlauf Temperatur bei 10°C Außentemperatur"
},
"hk1_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "HK1 Vorlauf Temperatur bei -10°C Außentemperatur"
},
"hk1_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "HK1 Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als"
},
"hk1_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "HK1 Absenkung der Vorlauftemperatur im Absenkbetrieb"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "HK1 Außentemperatur unter der die Heizkreispumpe im Heizbetrieb einschaltet"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "HK1 Außentemperatur unter der die Heizkreispumpe im Absenkbetrieb einschaltet"
},
"hk1_frostschutztemperatur": {
"name": "HK1 Frostschutztemperatur"
},
"hk1_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "HK1 Temperatur am Puffer oben ab der der Überhitzungsschutz aktiv wird"
},
"hk2_vorlauf_temperatur_10c_aussentemperatur": {
"name": "HK2 Vorlauf Temperatur bei 10°C Außentemperatur"
},
"hk2_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "HK2 Vorlauf Temperatur bei -10°C Außentemperatur"
},
"hk2_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "HK2 Heizkreispumpe ausschalten wenn Vorlauf Soll kleiner ist als"
},
"hk2_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "HK2 Absenkung der Vorlauftemperatur im Absenkbetrieb"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "HK2 Außentemperatur unter der die Heizkreispumpe im Heizbetrieb einschaltet"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "HK2 Außentemperatur unter der die Heizkreispumpe im Absenkbetrieb einschaltet"
},
"hk2_frostschutztemperatur": {
"name": "HK2 Frostschutztemperatur"
},
"hk2_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "HK2 Temperatur am Puffer oben ab der der Überhitzungsschutz aktiv wird"
},
"boiler_1_gewuenschte_boilertemperatur": {
"name": "Boiler 1 Gewünschte Boilertemperatur"
},
"boiler_1_nachladen_wenn_boilertemperatur_unter": {
"name": "Boiler 1 Nachladen wenn Boilertemperatur unter"
},
"pelletlager_restbestand": {
"name": "Pelletlager Restbestand"
}
},
"binary_sensor": {
"hk1_pumpe_an_aus": {
"name": "HK01 Pumpe AN/AUS"
},
"hk2_pumpe_an_aus": {
"name": "HK02 Pumpe AN/AUS"
},
"puffer_1_pufferpumpe_an_aus": {
"name": "Puffer 1 Pumpe AN/AUS"
},
"zirkulationspumpe_an_aus": {
"name": "Zirkulationspumpe AN/AUS"
},
"boiler_1_pumpe_an_aus": {
"name": "Boiler 1 Pumpe AN/AUS"
}
}
}
}
@@ -1,211 +1,211 @@
{
"config": {
"step": {
"user": {
"title": "Configure Froeling Modbus",
"description": "Please enter the connection details for your Froeling Modbus device.",
"data": {
"name": "Unique Name (Default: Froeling)",
"host": "Hostname/IP",
"port": "Port (Default: 502)",
"update_interval": "Update interval (Default: 60 seconds)",
"kessel": "Boiler",
"boiler01": "DHW Boiler 01 (Domestic Hot Water)",
"hk01": "Heating Circuit 01",
"hk02": "Heating Circuit 02",
"austragung": "Feed System",
"puffer01": "Buffer 01",
"zirkulationspumpe": "Circulation Pump"
}
}
}
},
"entity": {
"sensor": {
"Anlagenzustand": {
"name": "System State"
},
"Kesselzustand": {
"name": "Boiler State"
},
"Aussentemperatur": {
"name": "Outside Temperature"
},
"Kesseltemperatur": {
"name": "Boiler Temperature"
},
"Abgastemperatur": {
"name": "Exhaust Temperature"
},
"Verbleibende_Heizstunden_bis_zur_Asche_entleeren_Warnung": {
"name": "Remaining Heating Hours Until Ash Emptying Warning"
},
"Saugzug_Ansteuerung": {
"name": "Induced Draft Control"
},
"Saugzugdrehzahl": {
"name": "Induced Draft Speed"
},
"Sauerstoffregler": {
"name": "Oxygen Controller"
},
"Restsauerstoffgehalt": {
"name": "Residual Oxygen Content"
},
"Ruecklauffuehler": {
"name": "Return Sensor"
},
"Primaerluft": {
"name": "Primary Air"
},
"Sekundaerluft": {
"name": "Secondary Air"
},
"Betriebsstunden": {
"name": "Operating Hours"
},
"Stunden_seit_letzter_Wartung": {
"name": "Hours Since Last Maintenance"
},
"Betriebsstunden_in_der_Feuererhaltung": {
"name": "Operating Hours in Fire Maintenance"
},
"HK01_Vorlauf_Isttemperatur": {
"name": "HK01 Flow Actual Temperature"
},
"HK01_Vorlauf_Solltemperatur": {
"name": "HK01 Flow Target Temperature"
},
"HK02_Vorlauf_Isttemperatur": {
"name": "HK02 Flow Actual Temperature"
},
"HK02_Vorlauf_Solltemperatur": {
"name": "HK02 Flow Target Temperature"
},
"Puffer_1_Temperatur_oben": {
"name": "Buffer 1 Top Temperature"
},
"Puffer_1_Temperatur_mitte": {
"name": "Buffer 1 Middle Temperature"
},
"Puffer_1_Temperatur_unten": {
"name": "Buffer 1 Bottom Temperature"
},
"Puffer_1_Pufferpumpen_Ansteuerung": {
"name": "Buffer 1 Pump Control"
},
"Puffer_1_Ladezustand": {
"name": "Buffer 1 Charge State"
},
"Boiler_1_Temperatur_oben": {
"name": "Boiler 1 Top Temperature"
},
"Boiler_1_Pumpe_Ansteuerung": {
"name": "Boiler 1 Pump Control"
},
"Fuellstand_im_Pelletsbehaelter": {
"name": "Pellet Container Level"
},
"Resetierbarer_kg_Zaehler": {
"name": "Resettable kg Counter"
},
"Resetierbarer_t_Zaehler": {
"name": "Resettable t Counter"
},
"Pelletverbrauch_Gesamt": {
"name": "Total Pellet Consumption"
},
"Ruecklauftemperatur_an_der_Zirkulations_Leitung": {
"name": "Return Temperature at the Circulation Line"
},
"Stoemungsschalter_an_der_Brauchwasser_Leitung": {
"name": "Flow Switch at the Domestic Water Line"
},
"Drehzahl_der_Zirkulations_Pumpe": {
"name": "Speed of the Circulation Pump"
}
},
"number": {
"Kessel_Solltemperatur": {
"name": "Boiler Target Temperature"
},
"Bei_welcher_RL_Temperatur_an_der_Zirkulationsleitung_soll_die_Pumpe_ausschalten": {
"name": "At Which Return Line Temperature Should the Circulation Pump Turn Off"
},
"HK1_Vorlauf_Temperatur_10C_Aussentemperatur": {
"name": "HK1 Flow Temperature at 10°C Outside Temperature"
},
"HK1_Vorlauf_Temperatur_minus_10C_Aussentemperatur": {
"name": "HK1 Flow Temperature at -10°C Outside Temperature"
},
"HK1_Heizkreispumpe_ausschalten_wenn_Vorlauf_Soll_kleiner_ist_als": {
"name": "HK1 Heating Circuit Pump Off When Flow Target is Less Than"
},
"HK1_Absenkung_der_Vorlauftemperatur_im_Absenkbetrieb": {
"name": "HK1 Reduction of Flow Temperature in Setback Mode"
},
"HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet": {
"name": "HK1 Outside Temperature Below Which Heating Circuit Pump Turns On in Heating Mode"
},
"HK1_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Absenkbetrieb_einschaltet": {
"name": "HK1 Outside Temperature Below Which Heating Circuit Pump Turns On in Setback Mode"
},
"HK1_Frostschutztemperatur": {
"name": "HK1 Frost Protection Temperature"
},
"HK1_Temp_am_Puffer_oben_ab_der_der_Ueberhitzungsschutz_aktiv_wird": {
"name": "HK1 Temperature at Buffer Top Where Overheat Protection Activates"
},
"HK2_Vorlauf_Temperatur_10C_Aussentemperatur": {
"name": "HK2 Flow Temperature at 10°C Outside Temperature"
},
"HK2_Vorlauf_Temperatur_minus_10C_Aussentemperatur": {
"name": "HK2 Flow Temperature at -10°C Outside Temperature"
},
"HK2_Heizkreispumpe_ausschalten_wenn_Vorlauf_Soll_kleiner_ist_als": {
"name": "HK2 Heating Circuit Pump Off When Flow Target is Less Than"
},
"HK2_Absenkung_der_Vorlauftemperatur_im_Absenkbetrieb": {
"name": "HK2 Reduction of Flow Temperature in Setback Mode"
},
"HK2_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Heizbetrieb_einschaltet": {
"name": "HK2 Outside Temperature Below Which Heating Circuit Pump Turns On in Heating Mode"
},
"HK2_Aussentemperatur_unter_der_die_Heizkreispumpe_im_Absenkbetrieb_einschaltet": {
"name": "HK2 Outside Temperature Below Which Heating Circuit Pump Turns On in Setback Mode"
},
"HK2_Frostschutztemperatur": {
"name": "HK2 Frost Protection Temperature"
},
"HK2_Temp_am_Puffer_oben_ab_der_der_Ueberhitzungsschutz_aktiv_wird": {
"name": "HK2 Temperature at Buffer Top Where Overheat Protection Activates"
},
"Boiler_1_Gewuenschte_Boilertemperatur": {
"name": "Boiler 1 Desired Temperature"
},
"Boiler_1_Nachladen_wenn_Boilertemperatur_unter": {
"name": "Boiler 1 Recharge When Temperature is Below"
},
"Pelletlager_Restbestand": {
"name": "Pellet Storage Remaining Stock"
}
},
"binary_sensor": {
"hk1_pumpe_an_aus": {
"name": "HK01 Pump ON/OFF"
},
"hk2_pumpe_an_aus": {
"name": "HK02 Pump ON/OFF"
},
"puffer_1_pufferpumpe_an_aus": {
"name": "Buffer 1 Pump ON/OFF"
},
"zirkulationspumpe_an_aus": {
"name": "Circulation Pump ON/OFF"
},
"boiler_1_pumpe_an_aus": {
"name": "Boiler 1 Pump ON/OFF"
}
"config": {
"step": {
"user": {
"title": "Configure Froeling Modbus",
"description": "Please enter the connection details for your Froeling Modbus device.",
"data": {
"name": "Unique Name (Default: Froeling)",
"host": "Hostname/IP",
"port": "Port (Default: 502)",
"update_interval": "Update interval (Default: 60 seconds)",
"kessel": "Boiler",
"boiler01": "DHW Boiler 01 (Domestic Hot Water)",
"hk01": "Heating Circuit 01",
"hk02": "Heating Circuit 02",
"austragung": "Feed System",
"puffer01": "Buffer 01",
"zirkulationspumpe": "Circulation Pump"
}
}
}
}
},
"entity": {
"sensor": {
"anlagenzustand": {
"name": "System State"
},
"kesselzustand": {
"name": "Boiler State"
},
"aussentemperatur": {
"name": "Outside Temperature"
},
"kesseltemperatur": {
"name": "Boiler Temperature"
},
"abgastemperatur": {
"name": "Exhaust Temperature"
},
"verbleibende_heizstunden_bis_zur_asche_entleeren_warnung": {
"name": "Remaining Heating Hours Until Ash Emptying Warning"
},
"saugzug_ansteuerung": {
"name": "Induced Draft Control"
},
"saugzugdrehzahl": {
"name": "Induced Draft Speed"
},
"sauerstoffregler": {
"name": "Oxygen Controller"
},
"restsauerstoffgehalt": {
"name": "Residual Oxygen Content"
},
"ruecklauffuehler": {
"name": "Return Sensor"
},
"primaerluft": {
"name": "Primary Air"
},
"sekundaerluft": {
"name": "Secondary Air"
},
"betriebsstunden": {
"name": "Operating Hours"
},
"stunden_seit_letzter_wartung": {
"name": "Hours Since Last Maintenance"
},
"betriebsstunden_in_der_feuererhaltung": {
"name": "Operating Hours in Fire Maintenance"
},
"hk01_vorlauf_isttemperatur": {
"name": "HK01 Flow Actual Temperature"
},
"hk01_vorlauf_solltemperatur": {
"name": "HK01 Flow Target Temperature"
},
"hk02_vorlauf_isttemperatur": {
"name": "HK02 Flow Actual Temperature"
},
"hk02_vorlauf_solltemperatur": {
"name": "HK02 Flow Target Temperature"
},
"puffer_1_temperatur_oben": {
"name": "Buffer 1 Top Temperature"
},
"puffer_1_temperatur_mitte": {
"name": "Buffer 1 Middle Temperature"
},
"puffer_1_temperatur_unten": {
"name": "Buffer 1 Bottom Temperature"
},
"puffer_1_pufferpumpen_ansteuerung": {
"name": "Buffer 1 Pump Control"
},
"puffer_1_ladezustand": {
"name": "Buffer 1 Charge State"
},
"boiler_1_temperatur_oben": {
"name": "Boiler 1 Top Temperature"
},
"boiler_1_pumpe_ansteuerung": {
"name": "Boiler 1 Pump Control"
},
"fuellstand_im_pelletsbehaelter": {
"name": "Pellet Container Level"
},
"resetierbarer_kg_zaehler": {
"name": "Resettable kg Counter"
},
"resetierbarer_t_zaehler": {
"name": "Resettable t Counter"
},
"pelletverbrauch_gesamt": {
"name": "Total Pellet Consumption"
},
"ruecklauftemperatur_an_der_zirkulations_leitung": {
"name": "Return Temperature at the Circulation Line"
},
"stoemungsschalter_an_der_brauchwasser_leitung": {
"name": "Flow Switch at the Domestic Water Line"
},
"drehzahl_der_zirkulations_pumpe": {
"name": "Speed of the Circulation Pump"
}
},
"number": {
"kessel_solltemperatur": {
"name": "Boiler Target Temperature"
},
"bei_welcher_rl_temperatur_an_der_zirkulationsleitung_soll_die_pumpe_ausschalten": {
"name": "At Which Return Line Temperature Should the Circulation Pump Turn Off"
},
"hk1_vorlauf_temperatur_10c_aussentemperatur": {
"name": "HK1 Flow Temperature at 10°C Outside Temperature"
},
"hk1_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "HK1 Flow Temperature at -10°C Outside Temperature"
},
"hk1_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "HK1 Heating Circuit Pump Off When Flow Target is Less Than"
},
"hk1_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "HK1 Reduction of Flow Temperature in Setback Mode"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "HK1 Outside Temperature Below Which Heating Circuit Pump Turns On in Heating Mode"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "HK1 Outside Temperature Below Which Heating Circuit Pump Turns On in Setback Mode"
},
"hk1_frostschutztemperatur": {
"name": "HK1 Frost Protection Temperature"
},
"hk1_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "HK1 Temperature at Buffer Top Where Overheat Protection Activates"
},
"hk2_vorlauf_temperatur_10c_aussentemperatur": {
"name": "HK2 Flow Temperature at 10°C Outside Temperature"
},
"hk2_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "HK2 Flow Temperature at -10°C Outside Temperature"
},
"hk2_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "HK2 Heating Circuit Pump Off When Flow Target is Less Than"
},
"hk2_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "HK2 Reduction of Flow Temperature in Setback Mode"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "HK2 Outside Temperature Below Which Heating Circuit Pump Turns On in Heating Mode"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "HK2 Outside Temperature Below Which Heating Circuit Pump Turns On in Setback Mode"
},
"hk2_frostschutztemperatur": {
"name": "HK2 Frost Protection Temperature"
},
"hk2_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "HK2 Temperature at Buffer Top Where Overheat Protection Activates"
},
"boiler_1_gewuenschte_boilertemperatur": {
"name": "Boiler 1 Desired Temperature"
},
"boiler_1_nachladen_wenn_boilertemperatur_unter": {
"name": "Boiler 1 Recharge When Temperature is Below"
},
"pelletlager_restbestand": {
"name": "Pellet Storage Remaining Stock"
}
},
"binary_sensor": {
"hk1_pumpe_an_aus": {
"name": "HK01 Pump ON/OFF"
},
"hk2_pumpe_an_aus": {
"name": "HK02 Pump ON/OFF"
},
"puffer_1_pufferpumpe_an_aus": {
"name": "Buffer 1 Pump ON/OFF"
},
"zirkulationspumpe_an_aus": {
"name": "Circulation Pump ON/OFF"
},
"boiler_1_pumpe_an_aus": {
"name": "Boiler 1 Pump ON/OFF"
}
}
}
}
+2 -3
View File
@@ -1,4 +1,3 @@
{
"name": "Froeling Lambdatronic Modbus",
"iot_class": "local_polling"
}
"name": "Froeling Lambdatronic Modbus"
}