Intégration de deux capteurs sous deCONZ : OWON (PIR313) et NEO (NAS-PD07)

Bonjour,

Est-ce que quelqu’un a déjà essayé d’intégrer (fichier DDF) sous deCONZ les deux capteurs suivants :

NEO - Détecteur de mouvement + température et humidité Zigbee 3.0 (ref NAS-PD07)

OWON - Capteur de mouvement, température, humidité et luminosité Zigbee (ref PIR_313-A)

Je suis preneur de vos retours.

Alors le PIR je suis dessus avec les dev de deconz. J’ai un ddf si tu veux mais il est perfectible.

Je suis preneur. j’ai commencé à en tester un, hier mais c’est pas çà. Je débute totalement en création de ces DDF !

Surtout celui là il est pas simple :

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "type": "$TYPE_PRESENCE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0500"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0402",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0001",
          "0x0500"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0402"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "0x0400"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0106",
        "endpoint": "0x02",
        "in": [
          "0x0000",
          "0x0400"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
       {
         "name": "state/dark",
         "default": false
       },
       {
         "name": "state/daylight",
         "default": false
       },
        {
          "name": "state/lastupdated"
        },
       {
         "name": "state/lightlevel",
         "awake": true,
         "read": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "fn": "zcl"
         },
         "parse": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "eval": "Item.val = Attr.val;",
           "fn": "zcl"
         },
         "default": 0
       },
       {
         "name": "state/lux",
         "default": 0
       }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x000007d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}

Particularité de ce capteur il mets très longtemps a remonté les premières données de chaque item.

Merci beaucoup. Cela ressemble pas mal à ce que j’avais pu récupérer
Je vais tester cela en rentrant chez moi.

C’est celui de base mais Smanar l’a modifié et complété suite aux divers test que j’ai fait.

Bon, le capteur est bien remonté.
Tout ne marche pas mais c’est pas mal.
Je n’ai pas de remontée d’info du capteur de mouvement. Pour les autres c’est OK.
Les commandes « Dark » et « Daylight » ne renvoient rien, mais bon, c’est juste une interprétation de Light level. Idem pour Luminosité.
image

Oui les deux commandes renvoie rien… Pour la présence tu me mets le doute mais je crois que c’était le dernier qui ne marchais pas en effet avec cette version. Par contre tu as comme moi une maj du capteur toutes les secondes pendant quelques minutes a chaque changement de luminosité ?

Tu veux dire quoi par « mise à jour du capteur … » ?

Dans phoscon cette donnée change toute les seconde ? :

Je peux pas te dire. J’ai des soucis d’accès à l’appli Phoscon.
Sur Jeedom, j’ai un rafraichissement toutes les 10 min.

Pour la présence c’est un truc d’alarme, y a des étapes en plus qui peuvent rater si l’appareil passe en veille trop vite.
Tu peux tricher et les afficher en bidouillant le DDF

        {
          "name": "config/enrolled",
          "public": false
        },

Tu mets true a la place de false. Sinon tu peux re-inclure l’appareil, sans l’effacer pour que les anciennes données deja récupérées soit utilisées.

Après je vois pas de « bind » sur le cluster 0x0500, je sais pas si c’est normal ?

Oui apparement y’a un truc étrange sur ce cluster. Avec ou sans bind il remonte pas les infos.

1 « J'aime »

Donc, tu me confirmes que tu n’as pas chez toi la remontée « détection de mouvement » avec ce DDF.

Nouvelle info. Ajoute :

 {
                    "name": "config/duration",
                    "default": 120
                },

Dans la partie motion. J’ai tout maintenant. reste ce soucis de spam de message toute les secondes.

Tu peux me faire passer ton extrait complet de la partie motion. Je n’ai absolument rien qui remonte. Jeedom ne me donne aucune date de connexion pour cette partie.

1 « J'aime »

Voila le nouveau ddf :

OwonPIR313-Sensor.txt (8,0 Ko)

Merci pour l’envoi.
Mais c’est toujours pareil.
J’ai çà : « Invalid Date ».

1 « J'aime »

essaie de le supprimer et réinclure. C’est invalide parce que rien n’a été activée encore. Tu as un guid de deconz ?

Non, rien ne remonte mais après suppression / ré-inclusion. Je vais laisser passer un peu.
Merci en tout cas pour l’aide.

Par contre pour l’autre capteur (NEO NAS-PD07), aucune info particulière ?