EMS-ESP : creation incomplete des commandes

Bonjour,
J’utilise un boitier de BBQKees qui fait tourner EMS-ESP pour recuperer les infos d’une chaudiere avec un bus EMS (Bosch, Elm Leblanc, …) et renvoie tout ça en MQTT. ç amarche dans les 2 sens , on peut le commander en MQTT.
EMS-ESP diffuse des infos « discovery » pour Home Assistant. ça fonctionne bien avec HA : les equipeemnts sont trouvés, et les données remontent.
Les données MQTT sont aussi poussées dans une database influxdb/telegraf, graphiques grafana, tout fonctionne correctement.
J’essaie de mettre ça dans Jeedom, et donc pensais utiliser MQTT Discovery pour ne pas avoir à tout faire à la main…
ça trouve les equipements sans probleme, et les commandes sont créées. Mais les sous topics ne sont pas renseignés, donc les données restent vides. Si je remplis le sous topic à la main, ça marche.
Par exemple sur les copies d’ecran, j’ai ajouté le sous topic « outdoortemp » à la main (c’etait vide, comme tous les autres sous topics) pour avoir la temperature de la sonde exterieure. Je joint le format du discovery home assistant qui correspond.

Un bug de format de mqttdiscovery, qui ne lit pas correctement les données de discovery ?


Salut

C’est quoi le topic entier exact? Car la tu donnes le début, homeassistant et une partie du reste, sans donner la globalité. Pas très pratique.
Mqtt discovery peut avoir du mal.avec des topic long, ie avec beaucoup de /.
Antoine

Bonjour,

Je pense que je vois le problème mais il me faudrait le json au complet collé dans un Texte préformaté, bouton </>, ainsi que tous les logs en mode INFO et la page santé jeedom comme demandé dans la doc

Je répond peut être à côté, mais non ce n’est pas long. ems-esp/boilerdata/outdoortemp

Par contre il y a beaucoup de topics.

Le json du topic home assistant pour le discovery ? Je regarde ça ce soir.
Pour le log , je supprime ce qui a été créé et je recommence la création ?

Un des JSON (celui de la chaudiere depasse les 32000 caracteres autorisés ici, donc celui du thermostat), et les log en info. J’ai tout supprimé, puis tout recréé pour avoir des logs « propres ».

{"switch":{"scheduler_FB10_temp":{"stat_t":"ems-esp/scheduler_data","val_tpl":"value_json['FB10_temp'] if value_json['FB10_temp'] is defined","obj_id":"scheduler_FB10_temp","uniq_id":"scheduler_FB10_temp","name":"FB10_temp","cmd_t":"ems-esp/scheduler/FB10_temp","pl_on":1,"pl_off":0,"dev":{"name":"ems-esp Scheduler","mf":"EMS-ESP","mdl":"Scheduler","via_device":"ems-esp","ids":["ems-esp-scheduler"]},"avty":[{"t":"ems-esp/scheduler_data","val_tpl":"'online' if value_json['FB10_temp'] is defined else 'offline'"}],"avty_mode":"all"}}}

MQTTDiscovery_daemon.log (416 Octets)
MQTTDiscovery.log (3,8 Ko)

Je n’ai pas lu les logs, je ne veux pas de fichiers.

donc j’ai tenté une correction à l’aveugle, faudra voir demain en beta

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"
       }
    }
 }```

Je n’ai rien compris au problème.
Il me faudrait le log et des captures d’écrans


ce que sort le plugin


ce qu’il devrait faire. notez les valeurs d’état qui sont remplie indiquant que les topics sont corrects

le log en capture d’écran, rien de passionnant je pense.

et les commandes « listes » sont incomplete. il semble qu’il manque un champ dans la colonne « option ». voir ce sujet : https://community.jeedom.com/t/commande-action-liste-syntaxe/94701/5

les problèmes precedents je peux gérer à la main (mais c’est fastidieux !). mais là je suis coincé.

non ca ne manque pas, je ne l’ai pas affiché et je ne l’afficherai pas puisque dans ce plugin, il n’est pas permis de créer des commandes manuellement.

Ok, mais alors il faut quand même créer les valeurs possibles. La liste est vide pour le moment.

oui bien sur
mais je n’ai reçu le json correspondant que hier… faut le temps que j’analyse pourquoi cela n’est pas le cas à présent.

Concernant les commandes:

  1. Datetime: il n’y a pas 2 « datetime » dans la config, je ne comprends pas comment le plugin a pu généré ca, ca parait impossible; je vais devoir simuler le cas
  2. « dhw charge », « hc1 control device » et « hc1 control mode » (et probablement d’autres), je pense que j’ai compris mais leur syntaxe est pas très clean… ils mélangent 2 syntaxe: value_json.hc1['control'] => un coup notation « dot separated » et ensuite notation en tableau… ils savaient pas choisir l’un ou l’autre :unamused: ?
    bref, je dois m’adapter

Concernant les commandes listes, ca sera fixé demain.
un petit oubli de mon coté, je récupérais les possibilités via la clé « options » mais elle pouvait aussi être écrite en abrégé « ops », ce qui est ton cas.

c’est surtout une mauvaise idée puisqu’au prochain redémarrage du démon il va écraser les configs faites
je vais mettre le champ en lecture seule.

Merci ! Si tu as des remarques sur leur format json, on peut faire remonter au developper de ems-esp
https://github.com/emsesp/EMS-ESP32
Bon après comme ça marche dans HA, pas sûr qu’ils veuillent changer…