Page 2 sur 8

Re: deConz et Sinopé

Publié : 31 janv. 2022, 16:22
par mercusot
Merci encore pour toutes ces explications. J'avais loupé l'indication EndPoint sur la copie d'écran.
J,ai donc corrigé les endpoints avec 0x01 là où c'était auto (parse et read) sauf sur l'item Smart plug qui était déjà là avec auto

Le DDF (json) donne ceci dans la preview

Code : Tout sélectionner

{
  "schema": "devcap1.schema.json",
  "manufacturername": "Sinope Technologies",
  "modelid": "SP2610ZB",
  "product": "SP2610ZB",
  "sleeper": false,
  "status": "Gold",
  "path": "/devices/sp2610zb.json",
  "subdevices": [
    {
      "type": "$TYPE_SMART_PLUG",
      "restapi": "/lights",
      "uuid": [
        "$address.ext",
        "0x01"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "state/alert",
          "description": "The currently active alert effect.",
          "default": "none"
        },
        {
          "name": "state/on",
          "refresh.interval": 5
        },
        {
          "name": "state/reachable"
        }
      ]
    },
    {
      "type": "$TYPE_CONSUMPTION_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0702"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/consumption",
          "refresh.interval": 300,
          "read": {
            "at": "0x0000",
            "cl": "0x0702",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0000",
            "cl": "0x0702",
            "ep": 1,
            "eval": "Item.val = Attr.val"
          }
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_POWER_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0b04"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/current",
          "refresh.interval": 300,
          "read": {
            "at": "0x0508",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0508",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          }
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/power",
          "refresh.interval": 300,
          "read": {
            "at": "0x050b",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x050b",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != -32768) { Item.val = Attr.val; }"
          }
        },
        {
          "name": "state/voltage",
          "refresh.interval": 300,
          "read": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0505",
            "cl": "0x0b04",
            "ep": 1,
            "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"
          }
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 1,
      "dst.ep": 1,
      "cl": "0x0006",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x10",
          "min": 1,
          "max": 300
        }
      ]
    }
  ]
}
Dans le menu faire "hot reload" (ici faudra me confirmer, mais je ne pense pas qu'il faille mettre phoscon en permit join "add new light", mais je peux me tromper)
Je confirme que juste "hot reload" suffit.

Bon comme entre temps j'avais oublé de mettre Domoticz en mode d'acceptation de nouveaux dispositifs ça a mis quelques erreurs dans le log et pour une raison que j'ignore le fait de mettre Domoticz en mode d'accpetation et juste faire un "modifier" du matériel "deCONZ plugin" semble avoir "freezé" Domoticz. Et le redémarrer m'a donné la jolie erreur classique comme quoi la bibliothèque request était à installer. Mais après avoir tout redémarré (y compris Phoscon car j'avais oublié que j'étais en mode GUI) j'ai eu deux nouveaux périphériques :
Un de type RFXmeter, sous-type RFXMeter counter en kWh
Un de type Usage, sous-type Electric en Watt

Ce qui correspond bien à ce que l'interface de Domoticz pour deCONZ me donne, c'est à dire 2 capteurs :
00:0d:6f:00:15:65:fd:b0-01-0702 Consumption 5 Sinope Technologies SP2610ZB ZHAConsumption SW Release 2022-01-31T14:58Z
00:0d:6f:00:15:65:fd:b0-01-0b04 Power 6 Sinope Technologies SP2610ZB ZHAPower SW Release 2022-01-31T14:58Z

Mais je m'attendais aussi à trouver le RMS voltage, RMS Current et le AC Frequency qui sont dans le cluster 0x0B04 et sont renseignées dans l'appli deCONZ

Re: deConz et Sinopé

Publié : 31 janv. 2022, 18:15
par Thorgal
Nice, j'ai encore edité le tuto du coup. Du coup c'est bon, il manque rien ?
Mais je m'attendais aussi à trouver le RMS voltage, RMS Current et le AC Frequency qui sont dans le cluster 0x0B04 et sont renseignées dans l'appli deCONZ
Alors la a mon avis c'est ma faute ^^.
Je pense que tu dois les voir dans le json du ZHAPower (dans les logs, phoscon, ou le front end de deconz dans domoticz)

La valeur la plus utile c'est la puissance, les autres peuvent en etre deduite. Le tension ne bouge pas, la frequency j en parle pas, et l'intensité suis la courbe de la puissance. Ca rajoute des widgets pas forcement utiles.

Faut que je regarde si il n'y a un widget qui ferait Intensité et puissance, mais tu es sur que ca te serait utile ?

Re: deConz et Sinopé

Publié : 31 janv. 2022, 18:41
par mercusot
Ca rajoute des widgets pas forcement utiles.
Si je n'en veux pas je ne suis pas obligé de les faire apparaitre comme dispositifs visibles et les laisser avec la flèche verte dans le menu dispositifs de Domoticz ;) J'en ai plusieurs comme ça déjà.
Ici (Québec) le voltage est éminemment variable (entre 111 et 122V sur l'année passée mesurée par mon UPS) et la fréquence est elle aussi fluctuante. Cela permet juste de voir ce qu'il se passe et parfois d'expliquer le comportement douteux des équipements à un instant T ;-/

Maintenant si ce n'est pas possible je ne vais pas me casser la tête plus que ça mais les infos sont dans le cluster 0x0B04 c'est pour ça que je me disais qu'on pourrait sans doute les récupérer.

Dans le json ZHAPower voilà ce que j'ai;

Code : Tout sélectionner

×
{
  "config": {
    "on": true,
    "reachable": true
  },
  "etag": "d120f28f43fe1854a56d96601df5ace0",
  "lastannounced": null,
  "lastseen": "2022-01-31T14:58Z",
  "manufacturername": "Sinope Technologies",
  "modelid": "SP2610ZB",
  "name": "Power 6",
  "state": {
    "current": 0,
    "lastupdated": "2022-01-31T17:38:36.286",
    "power": 0,
    "voltage": 11921
  },
  "swversion": "SW Release",
  "type": "ZHAPower",
  "uniqueid": "00:0d:6f:00:15:65:fd:b0-01-0b04",
  "id": "6",
  "deviceclass": "sensors"
}
Merci pour ton aide en tout cas c'était précieux.

Re: deConz et Sinopé

Publié : 01 févr. 2022, 01:18
par mercusot
Visiblement les données se mettent bien à jour côté API

Code : Tout sélectionner

       "5": {
            "config": {
                "on": true,
                "reachable": true
            },
            "etag": "943bf8f36434aa98990bab26b70d1317",
            "lastannounced": null,
            "lastseen": "2022-01-31T18:28Z",
            "manufacturername": "Sinope Technologies",
            "modelid": "SP2610ZB",
            "name": "Echangeur d'air - Conso",
            "state": {
                "consumption": 558,
                "lastupdated": "2022-02-01T00:12:23.353"
            },
            "swversion": "SW Release",
            "type": "ZHAConsumption",
            "uniqueid": "00:0d:6f:00:15:65:fd:b0-01-0702"
        },
        "6": {
            "config": {
                "on": true,
                "reachable": true
            },
            "etag": "67001cbf1ab9dcb7de3671cd6c07911e",
            "lastannounced": null,
            "lastseen": "2022-01-31T18:28Z",
            "manufacturername": "Sinope Technologies",
            "modelid": "SP2610ZB",
            "name": "Echangeur d'air - Power",
            "state": {
                "current": 46,
                "lastupdated": "2022-02-01T00:12:23.159",
                "power": 552,
                "voltage": 11925
            },
            "swversion": "SW Release",
            "type": "ZHAPower",
            "uniqueid": "00:0d:6f:00:15:65:fd:b0-01-0b04"
        }
    }
}
                    
                
Mais Domoticz ne semble récupérer que "consumption" et "power". Y a-t-il moyen de récupérer les autres infos ("current" et "voltage") ?

Re: deConz et Sinopé

Publié : 01 févr. 2022, 18:04
par Thorgal
Je viens de rajouter "Probleme de convertions:" dans le post du tuto pour corriger le probleme de la tension

Code : Tout sélectionner

"voltage": 11925
J'ai 2 methodes pour rajouter tension et courant
- Creer reellement 2 widget de plus (mais il me faut modifier le menu hardware pour que ce rajout soit volontaire, sinon y en a qui vont pas comprendre pourquoi ils se retrouvent avec tant de capteurs en plus d'un coup)
- Les rajouter de maniere invisible dans le widget de la puissance, svalue donnera power et nvalue donnera courant et tension.

Si tu as besoin des courbes, pas le choix, methode 1, si tu utilises des scripts la methode 2 peut marcher.

Re: deConz et Sinopé

Publié : 01 févr. 2022, 19:03
par mercusot
Si tu as besoin des courbes, pas le choix, methode 1, si tu utilises des scripts la methode 2 peut marcher.

Je comprends,

Toutefois, la méthode 2 offre plus de possibilités et, sous Domoticz, les dispositifs supplémentaires ne gênent pas tant qu'on ne décide pas de les mettre en "utilisé" :D

Concernant la conversion, dans voltage j'ai actuellement

Code : Tout sélectionner

if (Attr.val != 65535) { Item.val = Attr.val; }
, je devrais le remplacer par

Code : Tout sélectionner

if (Attr.val != 65535) { Item.val = Attr.val / 100; }
c'est ça ?

Le cluster 0x0B04 contient un paragraphe AC Formatting avec les facteurs éventuels de multiplication ou de division (AC Voltage Multiplier et AC Voltage divisor (ce dernier contient la valeur 100 d'ailleurs :) ). J'ai cru comprendre que l'on devrait pouvoir utiliser ces valeurs plutôt que de mettre la valeur 100 en dur comme tu le montres dans le tuto. Tu saurais comment faire ? D'ailleurs le power devrait être divisé par 10 également, et par 100 pour le Current si j'en crois les informations dudit paragraphe.

Re: deConz et Sinopé

Publié : 02 févr. 2022, 16:57
par Thorgal
Ben dans la mesure ou c'est fixe par appareil, et qu'il y n'y aura qu'un DDF par fichier, autant lire la valeur sois meme et la fixer en dur dans le fichier. Plus rapide et plus simple.
Mais oui c'est ca.

Pour le plugin, du coup tu preferes que je mette qu'elle methode en place ?
Je suis pas sur que tu voyes ce qu'est la methode 2, visuellement il n'y aura aucune difference, mais les valeur tension et intensité seront utilisable par les scripts (donc rien en natif), mais tu n'auras aucun dispositifs supplementaires. C'est ce que j'utilise pour le cube.

Re: deConz et Sinopé

Publié : 02 févr. 2022, 18:13
par mercusot
Ben dans la mesure ou c'est fixe par appareil, et qu'il y n'y aura qu'un DDF par fichier, autant lire la valeur sois meme et la fixer en dur dans le fichier. Plus rapide et plus simple.
On est bien d'accord. c'est une discussion de "puristes" arrivé à ce stade ! :D

Concernant la méthode 2, je la préfère parce qu'en me référant à la documentation de Deconz je m'attendais à avoir les valeurs qui remontent automatiquement au travers de senseurs, puisqu'étant des valeurs "standard" des clusters concernés lorsque disponibles(ce qui est le cas) : https://github.com/dresden-elektronik/d ... s-legend-1. Et donc que l'on pourrait les gérer comme des dispositifs comme tels avec toutes les options potentiellement accessibles via l'outil utilisé

Re: deConz et Sinopé

Publié : 03 févr. 2022, 16:26
par Thorgal
Non, ce que je veux dire c'est que oui c'est possible.
Le probleme vient de moi, personne ne m'a jamais demandé les widgets pour la tension et le courant, vu que ca sert franchement pas a tout le monde.
Du coup le plugin domoticz les ignore, rien a voir avec deconz.
Je peux modifier le plugin domoticz, de 2 manieres

- te permettre de recuperer les valeur de maniere caché dans le widget "power", mais obligé d'utiliser un script.
- afficher 2 widgets de plus, mais il me faudra dans ce cas rajouter une option a activer pr les afficher.

Re: deConz et Sinopé

Publié : 03 févr. 2022, 17:21
par mercusot
Le probleme vient de moi, personne ne m'a jamais demandé les widgets pour la tension et le courant, vu que ca sert franchement pas a tout le monde
Voilà maintenant c'est fait ! :lol:

Je n'avais pas compris au départ qu'il y avait un "filtrage" des ressources en provenance de deCONZ par le plugin (mon erreur) et que le fait de les mettre dans le DDF les ferait remonter automatiquement. De mon point de vue qu'il y ait une sorte de transcription pour créer les types de périphériques correspondant dans Domoticz me semble le but dudit plugin, mais pas qu'il y ait nécessairement un filtrage.

Je pense que c'est à chacun de savoir ce qu'il veut voir remonter ou afficher dans Domoticz.
Côté Z-Wave on se pose moins la question, lorsqu'une prise intelligente est prise en compte par OZW et que ces valeurs sont disponibles les périphériques sont créés.

Et il y a plusieurs options ensuite pour ne pas les gérer ou les voir, que cela soit de laisser les périphérique comme non utilisés, le renommer avec un $ pour les rendre cachés ou même les mettre dans le fichier banned.txt.

Au passage ce fichier est une très bonne option mais sous exploitée de mon point de vue car elle bénéficierait à avoir une option de gestion de son contenu dans le menu personnalisé deCONZ au travers de Domoticz :)