C’est mieux mais pas encore ça.
les topic simples devraient être à « topic » et sont à « topic/topic », et les topics come « hc1 » avec sous topic sont à « hc1 » au lieu de « hc1/soustopic » ou « hc1_soustopic » (les 2 fonctionnent)
Les listes déroulantes come hc1/roominfluence sont vides.
Je remet le json mieux formaté.
{
"sensor": {
"thermostat_hc1_currtemp": {
"uniq_id": "thermostat_hc1_currtemp",
"obj_id": "thermostat_hc1_currtemp",
"name": "hc1 Current room temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['currtemp'] if value_json.hc1 is defined and value_json.hc1['currtemp'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['currtemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"unit_of_meas": "°C",
"stat_cla": "measurement",
"dev_cla": "temperature",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_modetype": {
"uniq_id": "thermostat_hc1_modetype",
"obj_id": "thermostat_hc1_modetype",
"name": "hc1 Mode type",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['modetype'] if value_json.hc1 is defined and value_json.hc1['modetype'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['modetype'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
}
},
"select": {
"thermostat_hc1_mode": {
"uniq_id": "thermostat_hc1_mode",
"obj_id": "thermostat_hc1_mode",
"cmd_t": "ems-esp/thermostat/hc1/mode",
"ops": [
"nofrost",
"eco",
"heat",
"auto"
],
"name": "hc1 Mode",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['mode'] if value_json.hc1 is defined and value_json.hc1['mode'] is defined else 'nofrost'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['mode'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_control": {
"uniq_id": "thermostat_hc1_control",
"obj_id": "thermostat_hc1_control",
"cmd_t": "ems-esp/thermostat/hc1/control",
"ops": [
"off",
"FB10",
"FB100"
],
"name": "hc1 Control device",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['control'] if value_json.hc1 is defined and value_json.hc1['control'] is defined else 'off'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['control'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_program": {
"uniq_id": "thermostat_hc1_program",
"obj_id": "thermostat_hc1_program",
"cmd_t": "ems-esp/thermostat/hc1/program",
"ops": [
"prog a",
"prog b",
"prog c",
"prog d",
"prog e",
"prog f"
],
"name": "hc1 Program",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['program'] if value_json.hc1 is defined and value_json.hc1['program'] is defined else 'prog a'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['program'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_roomsensor": {
"uniq_id": "thermostat_hc1_roomsensor",
"obj_id": "thermostat_hc1_roomsensor",
"cmd_t": "ems-esp/thermostat/hc1/roomsensor",
"ops": [
"extern",
"intern",
"auto"
],
"name": "hc1 Room sensor",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['roomsensor'] if value_json.hc1 is defined and value_json.hc1['roomsensor'] is defined else 'extern'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['roomsensor'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_holidaymode": {
"uniq_id": "thermostat_hc1_holidaymode",
"obj_id": "thermostat_hc1_holidaymode",
"cmd_t": "ems-esp/thermostat/hc1/holidaymode",
"ops": [
"nofrost",
"eco",
"heat",
"auto"
],
"name": "hc1 Holiday mode",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['holidaymode'] if value_json.hc1 is defined and value_json.hc1['holidaymode'] is defined else 'nofrost'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['holidaymode'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_heatup": {
"uniq_id": "thermostat_hc1_heatup",
"obj_id": "thermostat_hc1_heatup",
"cmd_t": "ems-esp/thermostat/hc1/heatup",
"ops": [
"slow",
"medium",
"fast"
],
"name": "hc1 Heatup",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['heatup'] if value_json.hc1 is defined and value_json.hc1['heatup'] is defined else 'slow'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['heatup'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_roominfluence": {
"uniq_id": "thermostat_hc1_roominfluence",
"obj_id": "thermostat_hc1_roominfluence",
"cmd_t": "ems-esp/thermostat/hc1/roominfluence",
"ops": [
"off",
"intern",
"extern",
"auto"
],
"name": "hc1 Room influence",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['roominfluence'] if value_json.hc1 is defined and value_json.hc1['roominfluence'] is defined else 'off'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['roominfluence'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_heatingtype": {
"uniq_id": "thermostat_hc1_heatingtype",
"obj_id": "thermostat_hc1_heatingtype",
"cmd_t": "ems-esp/thermostat/hc1/heatingtype",
"ops": [
"off",
"heatingcurve",
"radiator",
"convector",
"floor"
],
"name": "hc1 Heating type",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['heatingtype'] if value_json.hc1 is defined and value_json.hc1['heatingtype'] is defined else 'off'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['heatingtype'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_controlmode": {
"uniq_id": "thermostat_hc1_controlmode",
"obj_id": "thermostat_hc1_controlmode",
"cmd_t": "ems-esp/thermostat/hc1/controlmode",
"ops": [
"off",
"unmixed",
"unmixed IPM",
"mixed IPM"
],
"name": "hc1 Control mode",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['controlmode'] if value_json.hc1 is defined and value_json.hc1['controlmode'] is defined else 'off'}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['controlmode'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
}
},
"switch": {
"thermostat_wwcharge": {
"uniq_id": "thermostat_wwcharge",
"obj_id": "thermostat_wwcharge",
"cmd_t": "ems-esp/thermostat/dhw/charge",
"name": "dhw Charge",
"stat_t": "ems-esp/thermostat_data",
"pl_on": 1,
"pl_off": 0,
"val_tpl": "{{value_json.dhw['charge'] if value_json.dhw is defined and value_json.dhw['charge'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.dhw is defined and value_json.dhw['charge'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
}
},
"number": {
"thermostat_hc1_seltemp": {
"uniq_id": "thermostat_hc1_seltemp",
"obj_id": "thermostat_hc1_seltemp",
"cmd_t": "ems-esp/thermostat/hc1/seltemp",
"mode": "box",
"step": 0.1,
"min": 0,
"max": 30,
"ic": "mdi:coolant-temperature",
"name": "hc1 Selected room temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['seltemp'] if value_json.hc1 is defined and value_json.hc1['seltemp'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['seltemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_heattemp": {
"uniq_id": "thermostat_hc1_heattemp",
"obj_id": "thermostat_hc1_heattemp",
"cmd_t": "ems-esp/thermostat/hc1/heattemp",
"mode": "box",
"step": 0.5,
"min": 0,
"max": 127,
"ic": "mdi:coolant-temperature",
"name": "hc1 Heat temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['heattemp'] if value_json.hc1 is defined and value_json.hc1['heattemp'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['heattemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_ecotemp": {
"uniq_id": "thermostat_hc1_ecotemp",
"obj_id": "thermostat_hc1_ecotemp",
"cmd_t": "ems-esp/thermostat/hc1/ecotemp",
"mode": "box",
"step": 0.5,
"min": 0,
"max": 127,
"ic": "mdi:coolant-temperature",
"name": "hc1 Eco temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['ecotemp'] if value_json.hc1 is defined and value_json.hc1['ecotemp'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['ecotemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_nofrosttemp": {
"uniq_id": "thermostat_hc1_nofrosttemp",
"obj_id": "thermostat_hc1_nofrosttemp",
"cmd_t": "ems-esp/thermostat/hc1/nofrosttemp",
"mode": "box",
"step": 0.5,
"min": -63,
"max": 63,
"ic": "mdi:coolant-temperature",
"name": "hc1 Nofrost temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['nofrosttemp'] if value_json.hc1 is defined and value_json.hc1['nofrosttemp'] is defined else -63}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['nofrosttemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_remotetemp": {
"uniq_id": "thermostat_hc1_remotetemp",
"obj_id": "thermostat_hc1_remotetemp",
"cmd_t": "ems-esp/thermostat/hc1/remotetemp",
"mode": "box",
"step": 0.1,
"min": -1,
"max": 101,
"ic": "mdi:coolant-temperature",
"name": "hc1 Room temperature from remote",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_summertemp": {
"uniq_id": "thermostat_hc1_summertemp",
"obj_id": "thermostat_hc1_summertemp",
"cmd_t": "ems-esp/thermostat/hc1/summertemp",
"mode": "box",
"step": 1,
"min": 9,
"max": 41,
"ic": "mdi:coolant-temperature",
"name": "hc1 Summer temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['summertemp'] if value_json.hc1 is defined and value_json.hc1['summertemp'] is defined else 9}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['summertemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_minflowtemp": {
"uniq_id": "thermostat_hc1_minflowtemp",
"obj_id": "thermostat_hc1_minflowtemp",
"cmd_t": "ems-esp/thermostat/hc1/minflowtemp",
"mode": "box",
"step": 1,
"min": 5,
"max": 70,
"ic": "mdi:coolant-temperature",
"name": "hc1 Min flow temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['minflowtemp'] if value_json.hc1 is defined and value_json.hc1['minflowtemp'] is defined else 5}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['minflowtemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_maxflowtemp": {
"uniq_id": "thermostat_hc1_maxflowtemp",
"obj_id": "thermostat_hc1_maxflowtemp",
"cmd_t": "ems-esp/thermostat/hc1/maxflowtemp",
"mode": "box",
"step": 1,
"min": 30,
"max": 90,
"ic": "mdi:coolant-temperature",
"name": "hc1 Max flow temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['maxflowtemp'] if value_json.hc1 is defined and value_json.hc1['maxflowtemp'] is defined else 30}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['maxflowtemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_designtemp": {
"uniq_id": "thermostat_hc1_designtemp",
"obj_id": "thermostat_hc1_designtemp",
"cmd_t": "ems-esp/thermostat/hc1/designtemp",
"mode": "box",
"step": 1,
"min": 30,
"max": 90,
"ic": "mdi:coolant-temperature",
"name": "hc1 Design temperature",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['designtemp'] if value_json.hc1 is defined and value_json.hc1['designtemp'] is defined else 30}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['designtemp'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
},
"thermostat_hc1_roominflfactor": {
"uniq_id": "thermostat_hc1_roominflfactor",
"obj_id": "thermostat_hc1_roominflfactor",
"cmd_t": "ems-esp/thermostat/hc1/roominflfactor",
"mode": "box",
"step": 1,
"min": 0,
"max": 100,
"ic": "mdi:percent-outline",
"name": "hc1 Room influence factor",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json.hc1['roominflfactor'] if value_json.hc1 is defined and value_json.hc1['roominflfactor'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1['roominflfactor'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat"
}
}
},
"text": {
"thermostat_datetime": {
"uniq_id": "thermostat_datetime",
"obj_id": "thermostat_datetime",
"cmd_t": "ems-esp/thermostat/datetime",
"name": "Date/time",
"stat_t": "ems-esp/thermostat_data",
"val_tpl": "{{value_json['datetime'] if value_json['datetime'] is defined else 0}}",
"avty": [
{
"t": "ems-esp/thermostat_data",
"val_tpl": "{{'online' if value_json['datetime'] is defined else 'offline'}}"
}
],
"avty_mode": "all",
"dev": {
"ids": [
"ems-esp-thermostat"
],
"name": "ems-esp Thermostat",
"mf": "",
"mdl": "FW120",
"via_device": "ems-esp"
}
}
},
"climate": {
"thermostat_hc1": {
"~": "ems-esp",
"uniq_id": "thermostat_hc1",
"obj_id": "thermostat_hc1",
"name": "Hc1",
"mode_stat_t": "~/thermostat_data",
"mode_stat_tpl": "{%if value_json.hc1 is undefined or value_json.hc1.mode is undefined%}off{%elif value_json.hc1.mode=='manual'%}heat{%elif value_json.hc1.mode=='day'%}heat{%elif value_json.hc1.mode=='night'%}off{%elif value_json.hc1.mode=='off'%}off{%else%}auto{%endif%}",
"temp_cmd_t": "~/thermostat/hc1/seltemp",
"temp_stat_t": "~/thermostat_data",
"temp_stat_tpl": "{{value_json.hc1.seltemp if value_json.hc1 is defined and value_json.hc1.seltemp is defined else 0}}",
"curr_temp_t": "~/thermostat_data",
"curr_temp_tpl": "{{value_json.hc1.currtemp if value_json.hc1 is defined and value_json.hc1.currtemp is defined else 0}}",
"min_temp": "5",
"max_temp": "30",
"temp_step": "0.5",
"mode_cmd_t": "~/thermostat/hc1/mode",
"modes": [
"auto",
"heat",
"off"
],
"dev": {
"name": "ems-esp Thermostat",
"ids": [
"ems-esp-thermostat"
]
},
"avty": [
{
"t": "~/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1.seltemp is defined else 'offline'}}"
},
{
"t": "~/thermostat_data",
"val_tpl": "{{'online' if value_json.hc1 is defined and value_json.hc1.currtemp is defined else 'offline'}}"
},
{
"t": "~/thermostat_data",
"val_tpl": "{{'offline' if value_json.hc1 is undefined or value_json.hc1.mode is undefined else 'online'}}"
}
],
"avty_mode": "all"
}
}
}```