mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-07-02 10:01:37 +00:00
Eurotronic thermostat improvments (#2124)
* - Setting temperature_command_topic to current_heating_setpoint for Eurotronic thermostat - Thermostat function to dynamically publish values to HA * Function getTemperatureCommandTopicByVendor() * strict compare * Get right setpoint by function and mapping for current_heating_setpoint * fix lint * Update homeassistant.js * Update homeassistant.js * Update homeassistant.js
This commit is contained in:
@@ -361,23 +361,25 @@ const cfg = {
|
||||
},
|
||||
|
||||
// Thermostat/HVAC
|
||||
'thermostat': {
|
||||
type: 'climate',
|
||||
object_id: 'climate',
|
||||
discovery_payload: {
|
||||
state_topic: false,
|
||||
min_temp: 7,
|
||||
max_temp: 30,
|
||||
modes: ['off', 'auto', 'heat'],
|
||||
mode_state_topic: true,
|
||||
mode_state_template: '{{ value_json.system_mode }}',
|
||||
mode_command_topic: true,
|
||||
current_temperature_topic: true,
|
||||
current_temperature_template: '{{ value_json.local_temperature }}',
|
||||
temperature_state_topic: true,
|
||||
temperature_state_template: '{{ value_json.occupied_heating_setpoint }}',
|
||||
temperature_command_topic: true,
|
||||
},
|
||||
'thermostat': (minTemp=7, maxTemp=30, temperatureStateProperty='occupied_heating_setpoint') => {
|
||||
return {
|
||||
type: 'climate',
|
||||
object_id: 'climate',
|
||||
discovery_payload: {
|
||||
state_topic: false,
|
||||
min_temp: `${minTemp}`,
|
||||
max_temp: `${maxTemp}`,
|
||||
modes: ['off', 'auto', 'heat'],
|
||||
mode_state_topic: true,
|
||||
mode_state_template: '{{ value_json.system_mode }}',
|
||||
mode_command_topic: true,
|
||||
current_temperature_topic: true,
|
||||
current_temperature_template: '{{ value_json.local_temperature }}',
|
||||
temperature_state_topic: true,
|
||||
temperature_state_template: `{{ value_json.${temperatureStateProperty} }}`,
|
||||
temperature_command_topic: temperatureStateProperty,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
// Fan
|
||||
@@ -596,7 +598,7 @@ const mapping = {
|
||||
'GL-B-008Z': [cfg.light_brightness_colortemp_colorxy],
|
||||
'AV2010/25': [cfg.switch, cfg.sensor_power],
|
||||
'E12-N14': [cfg.light_brightness],
|
||||
'1TST-EU': [cfg.thermostat, cfg.sensor_battery],
|
||||
'1TST-EU': [cfg.thermostat(), cfg.sensor_battery],
|
||||
'RB 178 T': [cfg.light_brightness_colortemp],
|
||||
'45856GE': [cfg.switch],
|
||||
'GL-D-003Z': [cfg.light_brightness_colortemp_colorxy],
|
||||
@@ -627,7 +629,7 @@ const mapping = {
|
||||
'4090130P7': [cfg.light_brightness_colortemp_colorxy],
|
||||
'100.110.39': [cfg.light_brightness_colortemp_colorxy],
|
||||
'TI0001': [switchWithPostfix('left'), switchWithPostfix('right')],
|
||||
'SPZB0001': [cfg.thermostat, cfg.sensor_battery],
|
||||
'SPZB0001': [cfg.thermostat(5, 30, 'current_heating_setpoint'), cfg.sensor_battery],
|
||||
'HS3CG': [cfg.binary_sensor_gas],
|
||||
'81825': [cfg.sensor_action],
|
||||
'Z809AF': [cfg.switch, cfg.sensor_power],
|
||||
@@ -851,8 +853,8 @@ const mapping = {
|
||||
'ZM-CSW002-D': [switchWithPostfix('l1'), switchWithPostfix('l2'), cfg.sensor_power],
|
||||
'LVS-SN10ZW': [cfg.sensor_battery, cfg.binary_sensor_occupancy],
|
||||
'LVS-ZB15R': [cfg.switch],
|
||||
'TH1123ZB': [cfg.thermostat],
|
||||
'Zen-01-W': [cfg.thermostat],
|
||||
'TH1123ZB': [cfg.thermostat()],
|
||||
'Zen-01-W': [cfg.thermostat()],
|
||||
'9290022166': [cfg.light_brightness_colortemp_colorxy],
|
||||
'PM-C140-ZB': [cfg.sensor_power, cfg.switch],
|
||||
'ptvo.switch': [
|
||||
@@ -1088,7 +1090,7 @@ class HomeAssistant extends BaseExtension {
|
||||
}
|
||||
|
||||
if (payload.temperature_command_topic) {
|
||||
payload.temperature_command_topic = `${stateTopic}/set/occupied_heating_setpoint`;
|
||||
payload.temperature_command_topic = `${stateTopic}/set/${payload.temperature_command_topic}`;
|
||||
}
|
||||
|
||||
if (payload.speed_command_topic) {
|
||||
|
||||
Reference in New Issue
Block a user