11 Commits

Author SHA1 Message Date
gilles 2546ca7f2e Ajouter custom_components/froeling_lambdatronic_modbus/translations/fr.json
Validate / validate-hacs (push) Failing after 9s
Validate with hassfest / validate (push) Failing after 6s
2025-03-09 08:28:01 +01:00
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
12 changed files with 708 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"
}
}
}
}
@@ -0,0 +1,211 @@
{
"config": {
"step": {
"user": {
"title": "Configuration Modbus Froeling",
"description": "Veuillez entrer les détails de connexion de votre appareil Modbus Froeling.",
"data": {
"name": "Nom unique (Standard: Froeling)",
"host": "Hostname/IP",
"port": "Port (Standard: 502)",
"update_interval": "Update intervall (Standard: 60 seconde)",
"kessel": "Chaudiere",
"boiler01": "Chauffe-eau 01",
"hk01": "Circuit chauffage 01",
"hk02": "Circuit chauffage 02",
"austragung": "Evacuation",
"puffer01": "Tampon 01",
"zirkulationspumpe": "Pompe de circulation"
}
}
}
},
"entity": {
"sensor": {
"anlagenzustand": {
"name": "État de linstallation"
},
"kesselzustand": {
"name": "État de la chaudière"
},
"aussentemperatur": {
"name": "Température extérieure"
},
"kesseltemperatur": {
"name": "Température de la chaudière"
},
"abgastemperatur": {
"name": "Température des fumée"
},
"verbleibende_heizstunden_bis_zur_asche_entleeren_warnung": {
"name": "Heures chauffe restante avant avertissement vidage cendres"
},
"saugzug_ansteuerung": {
"name": "Commande du tirage forcé"
},
"saugzugdrehzahl": {
"name": "Vitesse de rotation du tirage forcé"
},
"sauerstoffregler": {
"name": "Régulateur doxygène"
},
"restsauerstoffgehalt": {
"name": "Teneur résiduelle en oxygène"
},
"ruecklauffuehler": {
"name": "Capteur de retour"
},
"primaerluft": {
"name": "Air primaire"
},
"sekundaerluft": {
"name": "Air secondaire"
},
"betriebsstunden": {
"name": "Heures de fonctionnement"
},
"stunden_seit_letzter_wartung": {
"name": "Stunden seit letzter Wartung"
},
"betriebsstunden_in_der_feuererhaltung": {
"name": "Heures depuis la dernière maintenance"
},
"hk01_vorlauf_isttemperatur": {
"name": "Température actuelle du circuit 01"
},
"hk01_vorlauf_solltemperatur": {
"name": "Température cible du circuit 01"
},
"hk02_vorlauf_isttemperatur": {
"name": "Température actuelle du circuit 02"
},
"hk02_vorlauf_solltemperatur": {
"name": "Température cible du circuit 02"
},
"puffer_1_temperatur_oben": {
"name": "Température du tampon 1 (haut)"
},
"puffer_1_temperatur_mitte": {
"name": "Température du tampon 1 (milieu)"
},
"puffer_1_temperatur_unten": {
"name": "Température du tampon 1 (bas)"
},
"puffer_1_pufferpumpen_ansteuerung": {
"name": "Commande de la pompe du tampon 1"
},
"puffer_1_ladezustand": {
"name": "État de charge du tampon 1"
},
"boiler_1_temperatur_oben": {
"name": "Température en haut du chauffe-eau 1"
},
"boiler_1_pumpe_ansteuerung": {
"name": "Commande de la pompe du chauffe-eau 1"
},
"fuellstand_im_pelletsbehaelter": {
"name": "Niveau du réservoir à pellets"
},
"resetierbarer_kg_zaehler": {
"name": "Compteur de kg réinitialisable"
},
"resetierbarer_t_zaehler": {
"name": "Compteur de tonnes réinitialisable"
},
"pelletverbrauch_gesamt": {
"name": "Consommation totale de pellets"
},
"ruecklauftemperatur_an_der_zirkulations_leitung": {
"name": "Température de retour sur la conduite de circulation"
},
"stoemungsschalter_an_der_brauchwasser_leitung": {
"name": "Interrupteur de débit sur la conduite d'eau chaude sanitaire"
},
"drehzahl_der_zirkulations_pumpe": {
"name": "Vitesse de la pompe de circulation"
}
},
"number": {
"kessel_solltemperatur": {
"name": "Température cible de la chaudière"
},
"bei_welcher_rl_temperatur_an_der_zirkulationsleitung_soll_die_pumpe_ausschalten": {
"name": "Température de retour à laquelle la pompe doit sarrêter sur la conduite de circulation"
},
"hk1_vorlauf_temperatur_10c_aussentemperatur": {
"name": "Température dalimentation du circuit 1 à 10°C extérieur"
},
"hk1_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "Température dalimentation du circuit 1 à -10°C extérieur"
},
"hk1_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "Arrêt de la pompe du circuit 1 si la température cible de lalimentation est inférieure à"
},
"hk1_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "Abaissement de la température dalimentation du circuit 1 en mode réduit"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "Température extérieure en dessous de laquelle la pompe du circuit 1 sactive en mode chauffage"
},
"hk1_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "Température extérieure en dessous de laquelle la pompe du circuit 1 sactive en mode réduit"
},
"hk1_frostschutztemperatur": {
"name": "Température de protection antigel du circuit 1"
},
"hk1_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "Température au sommet du tampon 1 à partir de laquelle la protection contre la surchauffe sactive"
},
"hk2_vorlauf_temperatur_10c_aussentemperatur": {
"name": "Température dalimentation du circuit 2 à 10°C extérieur"
},
"hk2_vorlauf_temperatur_minus_10c_aussentemperatur": {
"name": "Température dalimentation du circuit 2 à -10°C extérieur"
},
"hk2_heizkreispumpe_ausschalten_wenn_vorlauf_soll_kleiner_ist_als": {
"name": "Arrêt de la pompe du circuit 2 si la température cible de lalimentation est inférieure à"
},
"hk2_absenkung_der_vorlauftemperatur_im_absenkbetrieb": {
"name": "Abaissement de la température dalimentation du circuit 2 en mode réduit"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_heizbetrieb_einschaltet": {
"name": "Température extérieure en dessous de laquelle la pompe du circuit 2 sactive en mode chauffage"
},
"hk2_aussentemperatur_unter_der_die_heizkreispumpe_im_absenkbetrieb_einschaltet": {
"name": "Température extérieure en dessous de laquelle la pompe du circuit 2 sactive en mode réduit"
},
"hk2_frostschutztemperatur": {
"name": "Température de protection antigel du circuit 2"
},
"hk2_temp_am_puffer_oben_ab_der_der_ueberhitzungsschutz_aktiv_wird": {
"name": "Température au sommet du tampon 2 à partir de laquelle la protection contre la surchauffe sactive"
},
"boiler_1_gewuenschte_boilertemperatur": {
"name": "Température souhaitée du chauffe-eau 1"
},
"boiler_1_nachladen_wenn_boilertemperatur_unter": {
"name": "Rechargement du chauffe-eau 1 si la température est inférieure à"
},
"pelletlager_restbestand": {
"name": "Stock restant de pellets"
}
},
"binary_sensor": {
"hk1_pumpe_an_aus": {
"name": "Pompe du circuit 01 ON/OFF"
},
"hk2_pumpe_an_aus": {
"name": "Pompe du circuit 02 ON/OFF"
},
"puffer_1_pufferpumpe_an_aus": {
"name": "Pompe du tampon 1 ON/OFF"
},
"zirkulationspumpe_an_aus": {
"name": "Pompe de circulation ON/OFF"
},
"boiler_1_pumpe_an_aus": {
"name": "Pompe du chauffe-eau 1 ON/OFF"
}
}
}
}
+2 -3
View File
@@ -1,4 +1,3 @@
{
"name": "Froeling Lambdatronic Modbus",
"iot_class": "local_polling"
}
"name": "Froeling Lambdatronic Modbus"
}