rename pool translations to MP100 block, shorter names

- block comment `// mixer pool` -> `// MP100 pool module`, hydrTemp moved to `// water`
- `poolpump` -> `poolrequest` (pool request, MP100 input contacts)
- shorter en/de texts: pool setpoint / Pool Soll, valve status / Ventil Status,
  valve actual / Ventil Ist, valve setpoint / Ventil Soll
- existing short names (poolsettemp, pooltemp, poolshuntstatus, poolshunt) unchanged

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013YrkDbvxEv3ZMS7SPSKCGd
This commit is contained in:
Bingo2023
2026-09-25 18:42:45 +02:00
co-authored by Claude Opus 5.5
parent 1d2b916935
commit 8cdd9f5d79
5 changed files with 17 additions and 15 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ This release is based on the latest Espressif/Arduino core version 3. It brings
- `show system` reports the Ethernet status on boards with a PHY, so a failed initialisation or a link that never came up is visible instead of Ethernet being omitted completely. Also shows the loop task's lowest free stack, to help diagnose reboots - `show system` reports the Ethernet status on boards with a PHY, so a failed initialisation or a link that never came up is visible instead of Ethernet being omitted completely. Also shows the loop task's lowest free stack, to help diagnose reboots
- new Application Setting "Automatically check for firmware updates", off by default. When enabled EMS-ESP asks emsesp.org for the latest version once a day on its own, otherwise it only asks when the WebUI wants to show it, so an unattended system never contacts emsesp.org - new Application Setting "Automatically check for firmware updates", off by default. When enabled EMS-ESP asks emsesp.org for the latest version once a day on its own, otherwise it only asks when the WebUI wants to show it, so an unattended system never contacts emsesp.org
- Automatically check and convert older 3.8.x filesystem to the new 3.9.0 format - Automatically check and convert older 3.8.x filesystem to the new 3.9.0 format
- heatpump pool: `poolon` (switch, 0x48A), `hppoolon` (pool heating active, 0x488), MP100 `poolshuntset` (0x5C4) and `poolpump` (0x5BA) - heatpump pool: `poolon` (switch, 0x48A), `hppoolon` (pool heating active, 0x488), MP100 `poolshuntset` (0x5C4) and `poolrequest` (0x5BA), shorter pool names
## Fixed ## Fixed
+8 -6
View File
@@ -855,14 +855,16 @@ MAKE_TRANSLATION(flowTempVf, "flowtempvf", "flow temperature in header (T0/Vf)",
MAKE_TRANSLATION(mixerSetTime, "valvesettime", "time to set valve", "Zeit zum einstellen des Ventils", "Inschakeltijd mengklep", "Inställningstid Shuntventil", "czas na ustawienie zaworu", "instillningstid ventil", "délai activation vanne", "vana ayar zamanı", "ritardo attivazione valvola", "čas na nastavenie ventilu", "čas pro nastavení ventilu") MAKE_TRANSLATION(mixerSetTime, "valvesettime", "time to set valve", "Zeit zum einstellen des Ventils", "Inschakeltijd mengklep", "Inställningstid Shuntventil", "czas na ustawienie zaworu", "instillningstid ventil", "délai activation vanne", "vana ayar zamanı", "ritardo attivazione valvola", "čas na nastavenie ventilu", "čas pro nastavení ventilu")
MAKE_TRANSLATION(setDiffPress, "setdiffpress", "set differential pressure", "Pumpensolldruck", "", "Tryckskillnad", "różnica ciśnień", "", "", "", "", "nastaviť diferenčný tlak", "nastavení rozdílového tlaku") MAKE_TRANSLATION(setDiffPress, "setdiffpress", "set differential pressure", "Pumpensolldruck", "", "Tryckskillnad", "różnica ciśnień", "", "", "", "", "nastaviť diferenčný tlak", "nastavení rozdílového tlaku")
// mixer pool // MP100 pool module
MAKE_TRANSLATION(poolOn, "poolon", "pool on", "Pool ein") MAKE_TRANSLATION(poolOn, "poolon", "pool on", "Pool ein")
MAKE_TRANSLATION(poolSetTemp, "poolsettemp", "pool set temperature", "Sollwert Pooltemperatur", "Streeftemperatuur zwembad", "Pool Temperatur Börvärde", "zadana temperatura basenu", "valgt temp basseng", "température consigne piscine", "hedef havuz sıcaklığı", "temperatura nominale piscina", "nastavená teplota bazéna", "cílová teplota bazénu") MAKE_TRANSLATION(poolSetTemp, "poolsettemp", "pool setpoint", "Pool Soll", "Streeftemperatuur zwembad", "Pool Temperatur Börvärde", "zadana temperatura basenu", "valgt temp basseng", "température consigne piscine", "hedef havuz sıcaklığı", "temperatura nominale piscina", "nastavená teplota bazéna", "cílová teplota bazénu")
MAKE_TRANSLATION(poolTemp, "pooltemp", "pool temperature", "Pooltemperatur", "Zwembadtemperatuur", "Pooltemperatur", "temperatura basenu", "bassengtemperatur", "température piscine", "havuz sıcaklığı", "temperatura piscina", "teplota bazéna", "teplota bazénu") MAKE_TRANSLATION(poolTemp, "pooltemp", "pool temperature", "Pooltemperatur", "Zwembadtemperatuur", "Pooltemperatur", "temperatura basenu", "bassengtemperatur", "température piscine", "havuz sıcaklığı", "temperatura piscina", "teplota bazéna", "teplota bazénu")
MAKE_TRANSLATION(poolShuntStatus, "poolshuntstatus", "pool shunt status opening/closing", "Poolventil öffnen/schließen", "Zwembadklep status openen/sluiten", "Pool Shunt-status öppen/stängd", "status bocznika basenu", "bassengshunt-status åpen/stengt", "état shunt piscine ouvert/fermé", "havuz şant durumu açılıyor/kapanıyor", "aprire/chiudere valvola regolazione piscina", "stav bazénového bočníka otváranie/zatváranie", "stav šoupátka bazénu (otevírání/zavírání)") MAKE_TRANSLATION(poolShuntStatus, "poolshuntstatus", "valve status", "Ventil Status", "Zwembadklep status openen/sluiten", "Pool Shunt-status öppen/stängd", "status bocznika basenu", "bassengshunt-status åpen/stengt", "état shunt piscine ouvert/fermé", "havuz şant durumu açılıyor/kapanıyor", "aprire/chiudere valvola regolazione piscina", "stav bazénového bočníka otváranie/zatváranie", "stav šoupátka bazénu (otevírání/zavírání)")
MAKE_TRANSLATION(poolShunt, "poolshunt", "pool shunt open/close (0% = pool / 100% = heat)", "Poolventil Öffnung", "Mengklep zwembad stand", "Pool Shunt Öppen/Stängd", "bocznik basenu (0% = basen / 100% = grzanie)", "bassengshunt åpen/stengt (0% = basseng / 100% = varme)", "ouverture/fermeture shunt piscine (0% = piscine / 100% = chaleur).", "havuz şant açık/kapalı (0% = havuz / 100% = ısıtma)", "valvola regolazione piscina (0% = piscina / 100% = caldo)", "pohyb bazéna otvoriť/zatvoriť (0 % = bazén / 100 % = teplo)", "šoupátko bazénu (0% = bazén / 100% = vytápění)") MAKE_TRANSLATION(poolShunt, "poolshunt", "valve actual", "Ventil Ist", "Mengklep zwembad stand", "Pool Shunt Öppen/Stängd", "bocznik basenu (0% = basen / 100% = grzanie)", "bassengshunt åpen/stengt (0% = basseng / 100% = varme)", "ouverture/fermeture shunt piscine (0% = piscine / 100% = chaleur).", "havuz şant açık/kapalı (0% = havuz / 100% = ısıtma)", "valvola regolazione piscina (0% = piscina / 100% = caldo)", "pohyb bazéna otvoriť/zatvoriť (0 % = bazén / 100 % = teplo)", "šoupátko bazénu (0% = bazén / 100% = vytápění)")
MAKE_TRANSLATION(poolShuntSet, "poolshuntset", "pool shunt setpoint (0% = pool / 100% = heat)", "Poolventil Sollstellung") MAKE_TRANSLATION(poolShuntSet, "poolshuntset", "valve setpoint", "Ventil Soll")
MAKE_TRANSLATION(poolPump, "poolpump", "pool circulation pump", "Pool Umwälzpumpe") MAKE_TRANSLATION(poolRequest, "poolrequest", "pool request", "Pool Anforderung")
// water
MAKE_TRANSLATION(hydrTemp, "hydrTemp", "hydraulic header temperature", "Verteilertemperatur", "Temperatuur open verdeler", "Fördelartemperatur", "temperatura kolektora hydraulicznego", "Fordelertemperatur", "température collecteur hydraulique", "hidrolik başlık sıcaklığı", "temperatura del collettore", "teplota hydraulickej hlavice", "teplota hydraulické hlavice") MAKE_TRANSLATION(hydrTemp, "hydrTemp", "hydraulic header temperature", "Verteilertemperatur", "Temperatuur open verdeler", "Fördelartemperatur", "temperatura kolektora hydraulicznego", "Fordelertemperatur", "température collecteur hydraulique", "hidrolik başlık sıcaklığı", "temperatura del collettore", "teplota hydraulickej hlavice", "teplota hydraulické hlavice")
// solar // solar
+6 -6
View File
@@ -38,20 +38,20 @@ Pool::Pool(uint8_t device_type, uint8_t device_id, uint8_t product_id, const cha
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShuntStatus_, DeviceValueType::ENUM, FL_(enum_shunt), FL_(poolShuntStatus), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShuntStatus_, DeviceValueType::ENUM, FL_(enum_shunt), FL_(poolShuntStatus), DeviceValueUOM::NONE);
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShunt_, DeviceValueType::UINT8, FL_(poolShunt), DeviceValueUOM::PERCENT); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShunt_, DeviceValueType::UINT8, FL_(poolShunt), DeviceValueUOM::PERCENT);
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShuntSet_, DeviceValueType::UINT8, FL_(poolShuntSet), DeviceValueUOM::PERCENT); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolShuntSet_, DeviceValueType::UINT8, FL_(poolShuntSet), DeviceValueUOM::PERCENT);
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolPump_, DeviceValueType::BOOL, FL_(poolPump), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &poolRequest_, DeviceValueType::BOOL, FL_(poolRequest), DeviceValueUOM::NONE);
} }
// Mixer MP100 for pools - 0x5BA // Mixer MP100 for pools - 0x5BA
// MP100(0x11) -> Boiler(0x08): 11 08 FF 00 04 BA 01 45 02 00 02 // MP100(0x11) -> Boiler(0x08): 11 08 FF 00 04 BA 01 45 02 00 02
// offset 4 (pool circulation pump, 0 = running, 2 = off) is only in the telegram to the boiler, // offset 4: MP100 input contacts, pool requests heat (0 = active, 2 = inactive), only in the telegram to the boiler,
// the answer to a read request is one byte shorter // the answer to a read request is one byte shorter
void Pool::process_HpPoolStatus(const std::shared_ptr<const Telegram> & telegram) { void Pool::process_HpPoolStatus(const std::shared_ptr<const Telegram> & telegram) {
uint8_t pump = EMS_VALUE_UINT8_NOTSET; uint8_t request = EMS_VALUE_UINT8_NOTSET;
if (telegram->read_value(pump, 4)) { if (telegram->read_value(request, 4)) {
has_update(poolPump_, pump == 0 ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF); has_update(poolRequest_, request == 0 ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF);
} }
has_update(telegram, poolTemp_, 0); has_update(telegram, poolTemp_, 0);
has_update(telegram, poolShunt_, 3); // 0-100% how much is the shunt open? has_update(telegram, poolShunt_, 3); // 0-100%, 0% = pool / 100% = heat
telegram->read_value(poolShuntStatus__, 2); telegram->read_value(poolShuntStatus__, 2);
uint8_t pss = poolShunt_ == 100 ? 3 : (poolShunt_ == 0 ? 4 : poolShuntStatus__); uint8_t pss = poolShunt_ == 100 ? 3 : (poolShunt_ == 0 ? 4 : poolShuntStatus__);
has_update(poolShuntStatus_, pss); has_update(poolShuntStatus_, pss);
+1 -1
View File
@@ -39,7 +39,7 @@ class Pool : public EMSdevice {
uint8_t poolShuntStatus_; uint8_t poolShuntStatus_;
uint8_t poolShunt_; uint8_t poolShunt_;
uint8_t poolShuntSet_; uint8_t poolShuntSet_;
uint8_t poolPump_; uint8_t poolRequest_;
uint8_t poolShuntStatus__ = EMS_VALUE_UINT8_NOTSET; // temp value uint8_t poolShuntStatus__ = EMS_VALUE_UINT8_NOTSET; // temp value
}; };
+1 -1
View File
@@ -970,7 +970,7 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
uart_telegram({0x08, 0x00, 0xFF, 0x00, 0x03, 0x88, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00}); uart_telegram({0x08, 0x00, 0xFF, 0x00, 0x03, 0x88, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00});
// heatpump -> MP100 shunt setpoint 0% // heatpump -> MP100 shunt setpoint 0%
uart_telegram({0x08, 0x11, 0xFF, 0x00, 0x04, 0xC4, 0x00}); uart_telegram({0x08, 0x11, 0xFF, 0x00, 0x04, 0xC4, 0x00});
// MP100 -> heatpump: 32.5 C, shunt 45%, pump running // MP100 -> heatpump: 32.5 C, shunt 45%, pool request active
uart_telegram({0x11, 0x08, 0xFF, 0x00, 0x04, 0xBA, 0x01, 0x45, 0x02, 0x2D, 0x00}); uart_telegram({0x11, 0x08, 0xFF, 0x00, 0x04, 0xBA, 0x01, 0x45, 0x02, 0x2D, 0x00});
shell.invoke_command("show values"); shell.invoke_command("show values");
ok = true; ok = true;