mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
Merge branch 'emsesp:dev' into dev
This commit is contained in:
@@ -169,7 +169,8 @@ export enum DeviceValueUOM {
|
|||||||
KMIN,
|
KMIN,
|
||||||
K,
|
K,
|
||||||
VOLTS,
|
VOLTS,
|
||||||
MBAR
|
MBAR,
|
||||||
|
LH
|
||||||
}
|
}
|
||||||
|
|
||||||
export const DeviceValueUOM_s = [
|
export const DeviceValueUOM_s = [
|
||||||
@@ -197,7 +198,8 @@ export const DeviceValueUOM_s = [
|
|||||||
'K*min',
|
'K*min',
|
||||||
'K',
|
'K',
|
||||||
'V',
|
'V',
|
||||||
'mbar'
|
'mbar',
|
||||||
|
'l/h'
|
||||||
];
|
];
|
||||||
|
|
||||||
export enum AnalogType {
|
export enum AnalogType {
|
||||||
|
|||||||
@@ -75,7 +75,11 @@ void APSettingsService::manageAP() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void APSettingsService::startAP() {
|
void APSettingsService::startAP() {
|
||||||
|
#if ESP_IDF_VERSION_MAJOR < 5
|
||||||
WiFi.softAPenableIpV6(); // force IPV6, same as for WiFi - fixes https://github.com/emsesp/EMS-ESP32/issues/1922
|
WiFi.softAPenableIpV6(); // force IPV6, same as for WiFi - fixes https://github.com/emsesp/EMS-ESP32/issues/1922
|
||||||
|
#else
|
||||||
|
WiFi.softAPenableIPv6(); // force IPV6, same as for WiFi - fixes https://github.com/emsesp/EMS-ESP32/issues/1922
|
||||||
|
#endif
|
||||||
WiFi.softAPConfig(_state.localIP, _state.gatewayIP, _state.subnetMask);
|
WiFi.softAPConfig(_state.localIP, _state.gatewayIP, _state.subnetMask);
|
||||||
esp_wifi_set_bandwidth(static_cast<wifi_interface_t>(ESP_IF_WIFI_AP), WIFI_BW_HT20);
|
esp_wifi_set_bandwidth(static_cast<wifi_interface_t>(ESP_IF_WIFI_AP), WIFI_BW_HT20);
|
||||||
WiFi.softAP(_state.ssid.c_str(), _state.password.c_str(), _state.channel, _state.ssidHidden, _state.maxClients);
|
WiFi.softAP(_state.ssid.c_str(), _state.password.c_str(), _state.channel, _state.ssidHidden, _state.maxClients);
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
register_telegram_type(0x4AF, "HPMeters", true, MAKE_PF_CB(process_HpMeters));
|
register_telegram_type(0x4AF, "HPMeters", true, MAKE_PF_CB(process_HpMeters));
|
||||||
register_telegram_type(0x2CC, "HPPressure", true, MAKE_PF_CB(process_HpPressure));
|
register_telegram_type(0x2CC, "HPPressure", true, MAKE_PF_CB(process_HpPressure));
|
||||||
register_telegram_type(0x4A5, "HPFan", true, MAKE_PF_CB(process_HpFan));
|
register_telegram_type(0x4A5, "HPFan", true, MAKE_PF_CB(process_HpFan));
|
||||||
|
register_telegram_type(0x4AA, "HPPower2", true, MAKE_PF_CB(process_HpPower2));
|
||||||
|
register_telegram_type(0x4A7, "HPPowerLimit", true, MAKE_PF_CB(process_HpPowerLimit));
|
||||||
|
register_telegram_type(0x2D6, "HPPump2", true, MAKE_PF_CB(process_HpPump2));
|
||||||
}
|
}
|
||||||
|
|
||||||
// some gas boilers, see #1701
|
// some gas boilers, see #1701
|
||||||
@@ -827,6 +830,18 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
FL_(hpShutdown),
|
FL_(hpShutdown),
|
||||||
DeviceValueUOM::NONE,
|
DeviceValueUOM::NONE,
|
||||||
MAKE_CF_CB(set_shutdown));
|
MAKE_CF_CB(set_shutdown));
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpCurrPower_, DeviceValueType::UINT16, FL_(hpCurrPower), DeviceValueUOM::W);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
|
&hpPowerLimit_,
|
||||||
|
DeviceValueType::UINT16,
|
||||||
|
FL_(hpPowerLimit),
|
||||||
|
DeviceValueUOM::W,
|
||||||
|
MAKE_CF_CB(set_hpPowerLimit));
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &pc0Flow_, DeviceValueType::INT16, FL_(pc0Flow), DeviceValueUOM::LH);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &pc1Flow_, DeviceValueType::INT16, FL_(pc1Flow), DeviceValueUOM::LH);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &pc1On_, DeviceValueType::BOOL, FL_(pc1On), DeviceValueUOM::NONE);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &pc1Rate_, DeviceValueType::UINT8, FL_(pc1Rate), DeviceValueUOM::PERCENT);
|
||||||
|
|
||||||
// heatpump DHW settings
|
// heatpump DHW settings
|
||||||
register_device_value(DeviceValueTAG::TAG_DHW1,
|
register_device_value(DeviceValueTAG::TAG_DHW1,
|
||||||
&wwAlternatingOper_,
|
&wwAlternatingOper_,
|
||||||
@@ -1382,6 +1397,8 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr<const Telegram> telegram
|
|||||||
if (Helpers::hasValue(exhaustTemp1_)) {
|
if (Helpers::hasValue(exhaustTemp1_)) {
|
||||||
has_update(exhaustTemp_, exhaustTemp1_);
|
has_update(exhaustTemp_, exhaustTemp1_);
|
||||||
}
|
}
|
||||||
|
has_update(telegram, pc0Flow_, 36); // see https://github.com/emsesp/EMS-ESP32/issues/2001
|
||||||
|
|
||||||
// read 3 char service code / installation status as appears on the display
|
// read 3 char service code / installation status as appears on the display
|
||||||
if ((telegram->message_length > 3) && (telegram->offset == 0)) {
|
if ((telegram->message_length > 3) && (telegram->offset == 0)) {
|
||||||
char serviceCode[4] = {0};
|
char serviceCode[4] = {0};
|
||||||
@@ -1919,6 +1936,7 @@ void Boiler::process_HpSilentMode(std::shared_ptr<const Telegram> telegram) {
|
|||||||
void Boiler::process_HpValve(std::shared_ptr<const Telegram> telegram) {
|
void Boiler::process_HpValve(std::shared_ptr<const Telegram> telegram) {
|
||||||
// has_bitupdate(telegram, auxHeaterStatus_, 0, 2);
|
// has_bitupdate(telegram, auxHeaterStatus_, 0, 2);
|
||||||
has_update(telegram, auxHeatMixValve_, 7);
|
has_update(telegram, auxHeatMixValve_, 7);
|
||||||
|
has_update(telegram, pc1Rate_, 13); // percent
|
||||||
}
|
}
|
||||||
|
|
||||||
// Boiler(0x08) -B-> All(0x00), ?(0x048B), data: 00 00 0A 1E 4E 00 1E 01 2C 00 01 64 55 05 12 50 50 50 00 00 1E 01 2C 00
|
// Boiler(0x08) -B-> All(0x00), ?(0x048B), data: 00 00 0A 1E 4E 00 1E 01 2C 00 01 64 55 05 12 50 50 50 00 00 1E 01 2C 00
|
||||||
@@ -1929,6 +1947,12 @@ void Boiler::process_HpPumps(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, hpPumpMode_, 18);
|
has_update(telegram, hpPumpMode_, 18);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0x02D6, https://github.com/emsesp/EMS-ESP32/issues/2001
|
||||||
|
void Boiler::process_HpPump2(std::shared_ptr<const Telegram> telegram) {
|
||||||
|
has_update(telegram, pc1On_, 0);
|
||||||
|
has_update(telegram, pc1Flow_, 9);
|
||||||
|
}
|
||||||
|
|
||||||
// Boiler(0x08) -> All(0x00), ?(0x0491), data: 03 01 00 00 00 02 64 00 00 14 01 2C 00 0A 00 1E 00 1E 00 00 1E 0A 1E 05 05
|
// Boiler(0x08) -> All(0x00), ?(0x0491), data: 03 01 00 00 00 02 64 00 00 14 01 2C 00 0A 00 1E 00 1E 00 00 1E 0A 1E 05 05
|
||||||
void Boiler::process_HpAdditionalHeater(std::shared_ptr<const Telegram> telegram) {
|
void Boiler::process_HpAdditionalHeater(std::shared_ptr<const Telegram> telegram) {
|
||||||
has_update(telegram, manDefrost_, 0); // off/on
|
has_update(telegram, manDefrost_, 0); // off/on
|
||||||
@@ -2006,6 +2030,16 @@ void Boiler::process_HpFan(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, fan_, 9);
|
has_update(telegram, fan_, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 0x4AA
|
||||||
|
void Boiler::process_HpPower2(std::shared_ptr<const Telegram> telegram) {
|
||||||
|
has_update(telegram, hpCurrPower_, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 0x4A7
|
||||||
|
void Boiler::process_HpPowerLimit(std::shared_ptr<const Telegram> telegram) {
|
||||||
|
has_update(telegram, hpPowerLimit_, 0);
|
||||||
|
}
|
||||||
|
|
||||||
// Boiler(0x08) -B-> All(0x00), ?(0x2E), data: 00 00 1C CE 00 00 05 E8 00 00 00 18 00 00 00 02
|
// Boiler(0x08) -B-> All(0x00), ?(0x2E), data: 00 00 1C CE 00 00 05 E8 00 00 00 18 00 00 00 02
|
||||||
void Boiler::process_Meters(std::shared_ptr<const Telegram> telegram) {
|
void Boiler::process_Meters(std::shared_ptr<const Telegram> telegram) {
|
||||||
has_update(telegram, gasMeterHeat_, 0);
|
has_update(telegram, gasMeterHeat_, 0);
|
||||||
@@ -2439,10 +2473,17 @@ bool Boiler::set_max_pump(const char * value, const int8_t id) {
|
|||||||
|
|
||||||
bool Boiler::set_pumpMode(const char * value, const int8_t id) {
|
bool Boiler::set_pumpMode(const char * value, const int8_t id) {
|
||||||
uint8_t v;
|
uint8_t v;
|
||||||
|
if (is_received(EMS_TYPE_UBAParametersPlus)) {
|
||||||
|
if (Helpers::value2enum(value, v, FL_(enum_pumpCharacter))) {
|
||||||
|
write_command(EMS_TYPE_UBAParametersPlus, 15, v, EMS_TYPE_UBAParametersPlus);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (Helpers::value2enum(value, v, FL_(enum_pumpMode))) {
|
if (Helpers::value2enum(value, v, FL_(enum_pumpMode))) {
|
||||||
write_command(EMS_TYPE_UBAParameters, 11, v, EMS_TYPE_UBAParameters);
|
write_command(EMS_TYPE_UBAParameters, 11, v, EMS_TYPE_UBAParameters);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3072,6 +3113,16 @@ bool Boiler::set_hpDiffPress(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Boiler::set_hpPowerLimit(const char * value, const int8_t id) {
|
||||||
|
int v;
|
||||||
|
if (Helpers::value2number(value, v)) {
|
||||||
|
uint8_t data[2] = {(uint8_t)(v >> 8), (uint8_t)v};
|
||||||
|
write_command(0x4A7, 0, data, 2, 0x4A7);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool Boiler::set_vp_cooling(const char * value, const int8_t id) {
|
bool Boiler::set_vp_cooling(const char * value, const int8_t id) {
|
||||||
bool v;
|
bool v;
|
||||||
if (Helpers::value2bool(value, v)) {
|
if (Helpers::value2bool(value, v)) {
|
||||||
|
|||||||
@@ -297,6 +297,12 @@ class Boiler : public EMSdevice {
|
|||||||
uint8_t elHeatStep1_;
|
uint8_t elHeatStep1_;
|
||||||
uint8_t elHeatStep2_;
|
uint8_t elHeatStep2_;
|
||||||
uint8_t elHeatStep3_;
|
uint8_t elHeatStep3_;
|
||||||
|
uint16_t hpPowerLimit_;
|
||||||
|
uint16_t hpCurrPower_;
|
||||||
|
int16_t pc0Flow_;
|
||||||
|
int16_t pc1Flow_;
|
||||||
|
uint8_t pc1Rate_;
|
||||||
|
uint8_t pc1On_;
|
||||||
|
|
||||||
// HIU
|
// HIU
|
||||||
// uint16_t cwFlowRate_; // cold water flow rate *10
|
// uint16_t cwFlowRate_; // cold water flow rate *10
|
||||||
@@ -364,6 +370,7 @@ class Boiler : public EMSdevice {
|
|||||||
void process_HpAdditionalHeater(std::shared_ptr<const Telegram> telegram);
|
void process_HpAdditionalHeater(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpValve(std::shared_ptr<const Telegram> telegram);
|
void process_HpValve(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpPumps(std::shared_ptr<const Telegram> telegram);
|
void process_HpPumps(std::shared_ptr<const Telegram> telegram);
|
||||||
|
void process_HpPump2(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpDhwSettings(std::shared_ptr<const Telegram> telegram);
|
void process_HpDhwSettings(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpSettings2(std::shared_ptr<const Telegram> telegram);
|
void process_HpSettings2(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpSettings3(std::shared_ptr<const Telegram> telegram);
|
void process_HpSettings3(std::shared_ptr<const Telegram> telegram);
|
||||||
@@ -371,6 +378,8 @@ class Boiler : public EMSdevice {
|
|||||||
void process_HpMeters(std::shared_ptr<const Telegram> telegram);
|
void process_HpMeters(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_WeatherComp(std::shared_ptr<const Telegram> telegram);
|
void process_WeatherComp(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_HpFan(std::shared_ptr<const Telegram> telegram);
|
void process_HpFan(std::shared_ptr<const Telegram> telegram);
|
||||||
|
void process_HpPower2(std::shared_ptr<const Telegram> telegram);
|
||||||
|
void process_HpPowerLimit(std::shared_ptr<const Telegram> telegram);
|
||||||
|
|
||||||
void process_Meters(std::shared_ptr<const Telegram> telegram);
|
void process_Meters(std::shared_ptr<const Telegram> telegram);
|
||||||
void process_Energy(std::shared_ptr<const Telegram> telegram);
|
void process_Energy(std::shared_ptr<const Telegram> telegram);
|
||||||
@@ -468,6 +477,7 @@ class Boiler : public EMSdevice {
|
|||||||
bool set_hpPumpMode(const char * value, const int8_t id);
|
bool set_hpPumpMode(const char * value, const int8_t id);
|
||||||
bool set_hpMaxPower(const char * value, const int8_t id);
|
bool set_hpMaxPower(const char * value, const int8_t id);
|
||||||
bool set_hpDiffPress(const char * value, const int8_t id);
|
bool set_hpDiffPress(const char * value, const int8_t id);
|
||||||
|
bool set_hpPowerLimit(const char * value, const int8_t id);
|
||||||
|
|
||||||
bool set_auxLimit(const char * value, const int8_t id);
|
bool set_auxLimit(const char * value, const int8_t id);
|
||||||
inline bool set_auxMaxLimit(const char * value, const int8_t id) {
|
inline bool set_auxMaxLimit(const char * value, const int8_t id) {
|
||||||
|
|||||||
@@ -2702,7 +2702,7 @@ bool Thermostat::set_roominfl_factor(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
if (model() == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) {
|
||||||
write_command(set_typeids[hc->hc()], 6, (uint8_t)val);
|
write_command(set_typeids[hc->hc()], 6, (uint8_t)((val + 5) / 10));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
write_command(summer_typeids[hc->hc()], 1, (uint8_t)(val * 10));
|
write_command(summer_typeids[hc->hc()], 1, (uint8_t)(val * 10));
|
||||||
@@ -4809,7 +4809,13 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
|||||||
register_device_value(tag, &hc->designtemp, DeviceValueType::UINT8, FL_(designtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_designtemp), 30, 90);
|
register_device_value(tag, &hc->designtemp, DeviceValueType::UINT8, FL_(designtemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_designtemp), 30, 90);
|
||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->roominfluence, DeviceValueType::ENUM, FL_(enum_roominfluence), FL_(roominfluence), DeviceValueUOM::NONE, MAKE_CF_CB(set_roominfl_mode));
|
tag, &hc->roominfluence, DeviceValueType::ENUM, FL_(enum_roominfluence), FL_(roominfluence), DeviceValueUOM::NONE, MAKE_CF_CB(set_roominfl_mode));
|
||||||
register_device_value(tag, &hc->roominfl_factor, DeviceValueType::UINT8, FL_(roominfl_factor), DeviceValueUOM::PERCENT, MAKE_CF_CB(set_roominfl_factor));
|
register_device_value(tag,
|
||||||
|
&hc->roominfl_factor,
|
||||||
|
DeviceValueType::UINT8,
|
||||||
|
DeviceValueNumOp::DV_NUMOP_MUL10,
|
||||||
|
FL_(roominfl_factor),
|
||||||
|
DeviceValueUOM::PERCENT,
|
||||||
|
MAKE_CF_CB(set_roominfl_factor));
|
||||||
register_device_value(
|
register_device_value(
|
||||||
tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype1), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype));
|
tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype1), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype));
|
||||||
register_device_value(
|
register_device_value(
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ const char * DeviceValue::DeviceValueUOM_s[] = {
|
|||||||
F_(uom_blank), // 0
|
F_(uom_blank), // 0
|
||||||
F_(uom_degrees), F_(uom_degrees), F_(uom_percent), F_(uom_lmin), F_(uom_kwh), F_(uom_wh), FL_(hours)[0], FL_(minutes)[0], F_(uom_ua),
|
F_(uom_degrees), F_(uom_degrees), F_(uom_percent), F_(uom_lmin), F_(uom_kwh), F_(uom_wh), FL_(hours)[0], FL_(minutes)[0], F_(uom_ua),
|
||||||
F_(uom_bar), F_(uom_kw), F_(uom_w), F_(uom_kb), FL_(seconds)[0], F_(uom_dbm), F_(uom_fahrenheit), F_(uom_mv), F_(uom_sqm),
|
F_(uom_bar), F_(uom_kw), F_(uom_w), F_(uom_kb), FL_(seconds)[0], F_(uom_dbm), F_(uom_fahrenheit), F_(uom_mv), F_(uom_sqm),
|
||||||
F_(uom_m3), F_(uom_l), F_(uom_kmin), F_(uom_k), F_(uom_volts), F_(uom_mbar), F_(uom_blank)
|
F_(uom_m3), F_(uom_l), F_(uom_kmin), F_(uom_k), F_(uom_volts), F_(uom_mbar), F_(uom_lh), F_(uom_blank)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ class DeviceValue {
|
|||||||
K, // 22 - K
|
K, // 22 - K
|
||||||
VOLTS, // 23 - V
|
VOLTS, // 23 - V
|
||||||
MBAR, // 24 - mbar
|
MBAR, // 24 - mbar
|
||||||
CONNECTIVITY // 25 - used in HA
|
LH, // 25 - l/h
|
||||||
|
CONNECTIVITY // 26 - used in HA
|
||||||
};
|
};
|
||||||
|
|
||||||
// TAG mapping - maps to DeviceValueTAG_s in emsdevice.cpp
|
// TAG mapping - maps to DeviceValueTAG_s in emsdevice.cpp
|
||||||
|
|||||||
@@ -258,6 +258,7 @@ MAKE_WORD_CUSTOM(uom_kmin, "K*min")
|
|||||||
MAKE_WORD_CUSTOM(uom_k, "K")
|
MAKE_WORD_CUSTOM(uom_k, "K")
|
||||||
MAKE_WORD_CUSTOM(uom_volts, "V")
|
MAKE_WORD_CUSTOM(uom_volts, "V")
|
||||||
MAKE_WORD_CUSTOM(uom_mbar, "mbar")
|
MAKE_WORD_CUSTOM(uom_mbar, "mbar")
|
||||||
|
MAKE_WORD_CUSTOM(uom_lh, "l/h")
|
||||||
|
|
||||||
// MQTT topics and prefixes
|
// MQTT topics and prefixes
|
||||||
MAKE_WORD_CUSTOM(heating_active, "heating_active")
|
MAKE_WORD_CUSTOM(heating_active, "heating_active")
|
||||||
|
|||||||
@@ -492,6 +492,10 @@ MAKE_TRANSLATION(heatoffdelay, "heatoffdelay", "heat-off delay", "Ausschaltverz
|
|||||||
MAKE_TRANSLATION(hpSetDiffPress, "hpsetdiffpress", "set differental pressure", "Pumpensolldruck", "", "", "różnica ciśnień", "", "", "", "", "nastaviť diferenčný tlak") // TODO translate
|
MAKE_TRANSLATION(hpSetDiffPress, "hpsetdiffpress", "set differental pressure", "Pumpensolldruck", "", "", "różnica ciśnień", "", "", "", "", "nastaviť diferenčný tlak") // TODO translate
|
||||||
MAKE_TRANSLATION(hpFan, "fan", "fan", "Lüfter", "", "", "wentylator", "", "", "", "", "ventilátor") // TODO translate
|
MAKE_TRANSLATION(hpFan, "fan", "fan", "Lüfter", "", "", "wentylator", "", "", "", "", "ventilátor") // TODO translate
|
||||||
MAKE_TRANSLATION(hpShutdown, "shutdown", "shutdown", "Abschalten", "", "", "wyłączenie", "", "", "", "", "vypnutie") // TODO translate
|
MAKE_TRANSLATION(hpShutdown, "shutdown", "shutdown", "Abschalten", "", "", "wyłączenie", "", "", "", "", "vypnutie") // TODO translate
|
||||||
|
MAKE_TRANSLATION(pc0Flow, "pc0flow", "Flow PC0", "Durchfluss PC0", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
MAKE_TRANSLATION(pc1Flow, "pc1flow", "Flow PC1", "Durchfluss PC1", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
MAKE_TRANSLATION(pc1On, "pc1on", "PC1", "PC1", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
MAKE_TRANSLATION(pc1Rate, "pc1rate", "PC1 rate", "PC1 Rate", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
|
||||||
// hybrid heatpump
|
// hybrid heatpump
|
||||||
MAKE_TRANSLATION(hybridStrategy, "hybridstrategy", "hybrid control strategy", "Hybrid-Steuerungsstrategie", "Hybride strategie", "Hybrid kontrollstrategi", "strategia sterowania hybrydowego", "hybrid kontrollstrategi", "stratégie contrôle hybride", "hibrit kontrol stratejisi", "strategia comtrollo ibrido", "hybridná stratégia riadenia")
|
MAKE_TRANSLATION(hybridStrategy, "hybridstrategy", "hybrid control strategy", "Hybrid-Steuerungsstrategie", "Hybride strategie", "Hybrid kontrollstrategi", "strategia sterowania hybrydowego", "hybrid kontrollstrategi", "stratégie contrôle hybride", "hibrit kontrol stratejisi", "strategia comtrollo ibrido", "hybridná stratégia riadenia")
|
||||||
@@ -567,6 +571,8 @@ MAKE_TRANSLATION(meterCool, "metercool", "meter cooling", "Messung Kühlen", "",
|
|||||||
MAKE_TRANSLATION(meterWw, "meter", "meter", "Messung", "", "", "licznik", "", "", "", "", "počítadlo") // TODO translate
|
MAKE_TRANSLATION(meterWw, "meter", "meter", "Messung", "", "", "licznik", "", "", "", "", "počítadlo") // TODO translate
|
||||||
MAKE_TRANSLATION(gasMeterHeat, "gasmeterheat", "gas meter heating", "Gaszähler Heizen", "", "", "licznik gazu na ogrzewanie", "", "", "", "", "počítadlo plynu kúrenia") // TODO translate
|
MAKE_TRANSLATION(gasMeterHeat, "gasmeterheat", "gas meter heating", "Gaszähler Heizen", "", "", "licznik gazu na ogrzewanie", "", "", "", "", "počítadlo plynu kúrenia") // TODO translate
|
||||||
MAKE_TRANSLATION(gasMeterWw, "gasmeter", "gas meter", "Gaszähler", "", "", "licznik gazu", "", "", "", "", "počítadlo plynu") // TODO translate
|
MAKE_TRANSLATION(gasMeterWw, "gasmeter", "gas meter", "Gaszähler", "", "", "licznik gazu", "", "", "", "", "počítadlo plynu") // TODO translate
|
||||||
|
MAKE_TRANSLATION(hpCurrPower, "hpcurrpower", "compressor current power", "akt. Kompressorleistung", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
MAKE_TRANSLATION(hpPowerLimit, "hppowerlimit", "power limit", "Leistungsgrenze", "", "", "", "", "", "", "", "") // TODO translate
|
||||||
|
|
||||||
// HIU
|
// HIU
|
||||||
MAKE_TRANSLATION(netFlowTemp, "netflowtemp", "heat network flow temp", "Systemvorlauftemperatur", "Netto aanvoertemperatuur", "", "temp. zasilania sieci cieplnej", "", "", "ısıtma şebekesi akış derecesi", "temperatura di mandata della rete di riscaldamento", "teplota prívodu tepelnej siete") // TODO translate
|
MAKE_TRANSLATION(netFlowTemp, "netflowtemp", "heat network flow temp", "Systemvorlauftemperatur", "Netto aanvoertemperatuur", "", "temp. zasilania sieci cieplnej", "", "", "ısıtma şebekesi akış derecesi", "temperatura di mandata della rete di riscaldamento", "teplota prívodu tepelnej siete") // TODO translate
|
||||||
|
|||||||
@@ -1186,6 +1186,7 @@ void Mqtt::add_ha_uom(JsonObject doc, const uint8_t type, const uint8_t uom, con
|
|||||||
doc["ic"] = F_(iconkb);
|
doc["ic"] = F_(iconkb);
|
||||||
break;
|
break;
|
||||||
case DeviceValueUOM::LMIN:
|
case DeviceValueUOM::LMIN:
|
||||||
|
case DeviceValueUOM::LH:
|
||||||
doc["ic"] = F_(iconlmin);
|
doc["ic"] = F_(iconlmin);
|
||||||
doc[sc_ha] = F_(measurement);
|
doc[sc_ha] = F_(measurement);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user