Bonjour,
J’espère que je suis bien au bon endroit pour faire remonter ce bug.
Configuration
- Core en stable 4.3.20
- Jeezigbee (z2m) en stable (2023-11-07 01:02:35)
– z2m en 1.33.2
Constat
Je veux inclure dans Jeedom (via Jeezigbee) ma valve de radiateur (lien z2m.io).
J’ai constaté à cette occasion que certaines commandes action/info n’étaient pas remontées dans Jeedom (cf. ce screenshot épuré de zigbee2mqtt) :
Zigbee2mqtt produit donc le fichier json (épuré) que Jeezigbee va ingérer :
{
"definition": {
"description": "Radiator valve with thermostat",
"exposes": [
{
"features": [
{
"access": 3,
"description": "Enables/disables window detection on the device",
"label": "State",
"name": "state",
"property": "window_detection",
"type": "binary",
"value_off": "OFF",
"value_on": "ON",
"value_toggle": "TOGGLE"
}
],
"label": "Window detection",
"type": "switch"
},
{
"features": [
{
"access": 3,
"description": "Valve detection",
"label": "State",
"name": "state",
"property": "valve_detection",
"type": "binary",
"value_off": "OFF",
"value_on": "ON",
"value_toggle": "TOGGLE"
}
],
"label": "Valve detection",
"type": "switch"
},
{
"features": [
{
"access": 3,
"description": "Enable/disable auto lock",
"label": "State",
"name": "state",
"property": "auto_lock",
"type": "binary",
"value_off": "MANUAL",
"value_on": "AUTO"
}
],
"label": "Auto lock",
"type": "switch"
},
{
"features": [
{
"access": 3,
"description": "Enable/disable away mode",
"label": "State",
"name": "state",
"property": "away_mode",
"type": "binary",
"value_off": "OFF",
"value_on": "ON"
}
],
"label": "Away mode",
"type": "switch"
},
{
"access": 1,
"description": "Link quality (signal strength)",
"label": "Linkquality",
"name": "linkquality",
"property": "linkquality",
"type": "numeric",
"unit": "lqi",
"value_max": 255,
"value_min": 0
}
],
"model": "TS0601_thermostat",
"options": [],
"supports_ota": true,
"vendor": "TuYa"
},
"model_id": "TS0601",
"supported": true,
"type": "EndDevice"
}
Or toutes les infos ne sont pas remontées car elles ont le même nom state (nom remonté à Jeezigbee).
Et Jeedom ne permet pas d’avoir des commandes qui ont le même nom (même si le Logical ID est différent).
Palliatif
Un palliatif est donc de reprendre ces commandes en question et de les renommer dans la page de l’équipement. Ainsi, Jeedom reintègre la commande suivante car le nom n’est plus pris et ainsi de suite.
Evolution/Solution
Cependant, cela veut dire que Zigbee2mqtt permet cette situation (même si on est d’accord cela serait plus propre que cela ne soit pas le cas).
Une solution serait que le plugin détecte ce problème et incrémente les noms des commandes du genre state, state_1,state_2, etc.
En espérant que Loïc puisse passer par là ![]()
