Sonoff SNZB-04 sur Zigate et Abeille Zigate FW 3.1c ONLY

Bonjour, j’ai reçu mon Sonoff SNZB-04 et je l’ai appairer il est reconnu plutôt bien.
-Zigate USB-TTL version firmware 3.1c
-Jeddom v4.0.61
-Plugin Abeille Stable du 30 septembre 2020 = Stable du 04.09.2020 avec Hue correction #1251
-Plugin Zigate v1.7.5

Pour zigate avec la fonction que j’attends le plus c’est que si on ouvre la porte, jeedom me dit que la porte est ouverte mais avec zigate il y a un tempo de 10 secondes avant que la commande « alarm_1 » se reset et voit la porte fermer alors que physiquement elle ne l’ai pas et zigate ne voit pas « le niveau de batterie estime » car dans la Liens Doc on peut faire comme pour les xiaomi aquara que je compare a elle puisque elle ont ces options.

Pour abeille elle est reconnu mais ne peut pas être géré pour faire des scenario et autres en plus il manque le fichier /var/www//html/plugins/Abeille/core/config/devices/DS01/DS01.json j’ai voulu copier celle de aquara et renommer en DS01 et re-appairer ça fonctionne mais n’affiche rien car elle prend pas les bonnes commandes pour ce type.

Sur le plugin Zigate dans « Gestion Réseaux », « Onglet Arbre Zigate » on voit des infos en doublon que je pense que le plugin nous donne que l’une d’entre elle. Et si on fait un « Gestion Terminal Zigate » et que on essaye de séparer les deux partie du sonoff pour ouvrir et rapprocher pour fermer on a ces lignes qui me disent que le plugin devrai lire « zone_status » car on voit bien le changement d’état qui passe de 0 a 1 cela ferait que dans jeedom dans mon scenario quand on ouvre et ferme pas la porte cela reste bien activer et pas avec un tempo qui le reset et fait croire que la porte est fermer

partie de logs
RESPONSE 0x8401 - IAS Zone Status Change : sequence:39, endpoint:1, cluster:1280, address_mode:2, addr:dd62, zone_status:0000000000000001, status:0, zone_id:0, delay:0, lqi:207
RESPONSE 0x8401 - IAS Zone Status Change : sequence:40, endpoint:1, cluster:1280, address_mode:2, addr:dd62, zone_status:0000000000000000, status:0, zone_id:0, delay:0, lqi:207
RESPONSE 0x8102 - Individual Attribute Report : sequence:1, addr:dd62, endpoint:1, cluster:0, attribute:4, status:0, data_type:66, size:7, data:eWeLink, lqi:204
RESPONSE 0x8102 - Individual Attribute Report : sequence:1, addr:dd62, endpoint:1, cluster:0, attribute:5, status:0, data_type:66, size:4, data:DS01, lqi:204
Vue depuis Plugin Zigate


2

N’est pas pris en charge par Abeille à ce jour.

Le Timing ne viendrait pas lui même du capteur ?

Ce genre de timing on le vois sur les détecteurs de mouvement qui n’envoie une info que lorsqu’il y a eu détection le ‹ off › se fait logiciellement au bout d’un temps donné …
Les éléments de ce capteur d’ouverture n’aurait il pas été créer sur la base d’un détecteur de mouvement par duplication ?

Le timing je sais pas car lors de la capture la valeur zone_status n’est pas sur le fameux timing que l’on peut avoir sur le plugin zigate qui le reconnais mais peut-être sur un autre appareil identique et pour le plugin abeille cest pour aider à intégrer que je partage mes trouvailles

J’ai enfin trouver la solution en analysant les deux plugins, j’utilise le plugin Abeille pour ajouter mes périphériques et par la suite les mettre dans des scenarios etc et le plugin Zigate pour analyser ce qui sort de ma clé Zigate TTL en regardant les onglets « Terminal » et « ZiGate Admin » et je suis arriver a trouver comment intégré le Sonoff SNZB-04 comme les aquara de Xiaomi pour cela j’ai créer des fichiers de configurations qu’il se trouve dans le plugin Abeille et joint une image du produit aussi.

Rajouter une image dans le dossier « images » qui porte le nom de « node_SNZB-04.png » il est pas full transparent en fond et réduis sa taille.

node_SNZB-04.png

node_SNZB-04

Dans le dossier « core/config/devices/ » j’ai créer un dossier « DS01 » et dedans créer un fichier json du nom de « DS01 » avec dedans ceci:

DS01.json
{
  "DS01": {
    "nameJeedom": "SONOFF Wireless Door/Window Sensor",
    "timeout": "60",
    "Categorie": {
      "security": "1"
    },
    "configuration": {
      "uniqId": "1",
      "icone": "SNZB-04",
      "battery_type": "1x3V CR2032",
      "mainEP": "#EP#"
    },
    "Commandes": {
      "include1": "etatSonoff"
    }
  }
}

Dans un autre dossier « core/config/devices/Template/ » je créer un fichier json avec le nom « etatSonoff » et ajoute ceci dedans:

etatSonoff.json
{
  "0000-#EP#-0005": {
    "isVisible": 1,
    "name": "nom",
    "order": 0,
    "isHistorized": "0",
    "Type": "info",
    "subType": "string",
    "invertBinary": "0",
    "template": "",
    "configuration": {
      "uniqId": "5c07c766243fa",
      "visibilityCategory": "Network",
      "topic": "0000-#EP#-0005"
    }
  },
  "0000-#EP#-0004": {
    "isVisible": 1,
    "name": "societe",
    "order": 1,
    "isHistorized": "0",
    "Type": "info",
    "subType": "string",
    "invertBinary": "0",
    "template": "",
    "configuration": {
	"uniqId": "5c07c766253e6",
      "visibilityCategory": "Network"
    }
  },
  "0500-#EP#-0000": {
    "isVisible": 1,
    "name": "etat",
    "order": 2,
    "isHistorized": "1",
    "Type": "info",
    "subType": "binary",
    "generic_type": "OPENING",
    "invertBinary": "1",
    "template": "door",
    "configuration": {
      "uniqId": "5c07sdc766sd2341a",
      "visibilityCategory": "All"
    }
  },
  "Batterie-Volt": {
    "isVisible": 0,
    "name": "Batterie",
    "order": 3,
    "isHistorized": "1",
    "Type": "info",
    "subType": "numeric",
    "invertBinary": "0",
    "template": "vuMeter",
    "unite": "V",
    "configuration": {
	"uniqId": "5c07c76621771",
      "calculValueOffset": "#value#/1000",
      "minValue": "0",
      "maxValue": "3.3",
      "visibilityCategory": "Network",
      "topic": "Batterie-Volt"
    }
  },
  "Batterie-Pourcent": {
    "isVisible": 1,
    "name": "BatteriePourcent",
    "order": 4,
    "isHistorized": "1",
    "Type": "info",
    "subType": "numeric",
    "generic_type": "BATTERY",
    "invertBinary": "0",
    "template": "vuMeter",
    "unite": "%",
    "configuration": {
	"uniqId": "5c07c766216df",
      "minValue": "0",
      "maxValue": "100",
      "historizeRound": "1",
      "visibilityCategory": "Network"
    }
  },
  "Identify": {
    "isVisible": 0,
    "name": "Identify",
    "order": 21,
    "isHistorized": "0",
    "Type": "action",
    "subType": "other",
    "invertBinary": "0",
    "template": "",
    "configuration": {
	"uniqId": "5c07c76621cea",
      "topic": "identifySend",
      "request": "EP=#EP#&duration=0010",
      "visibilityCategory": "additionalCommand"
    }
  }
}

Les soucis que j’ai maintenant c’est quand j’avais pas créer le dossier « DS01 » il me mettait une valeur par défaut ou le « nom » et le « société » était bien lu mais quand je rajoute mon fichier seulement le « nom » est lu.
Les deux include « Batterie-Volt » et « Batterie-Pourcent » fonctionne pas car je sais pas où il recherche l’info mais le matériel ne renvoi pas d’info sur la batterie comme les aquara a part que je vois deux paramètre sans valeur qui sont « ‹ low_battery ›: False » et « ‹ battery_defect ›: False ».

Sinon « etat » et « identify » fonctionne bien et pour état n’a plus ce tempo de 10 secondes que j’avais lorsqu’il était reconnu dans le plugin ZiGate qui permettait pas de dire si la porte est toujours ouverte ou pas.

J’ai mis a jour le firmware d’une de mes deux Zigate en firmware 3.1d reset tout pour être mis a propre et réinstaller le plugin Abeille avec mes modifications seulement voila il reconnaît pas lors de l’association comme étant le DS01 mais de nouveaux un élément zigate inconnu. Alors j’ai pris ma seconde Zigate qui elle était encore en firmware 3.1c, ça fonctionne donc j’ai rétrograde la première vers le firmware 3.1c et retester tout refonctionne je sais pas quel valeur sur la zigate il reconnaît le sonoff car le souci vient plus du plugin mais de plus haut.

Je viens de tester le plugin « ZIgate » avec une zigate en firmware 3.1d et re-associer mon sonoff il le voit correctement comme avant mais n’a toujours pas l’état de l’ouverture de la porte qui fonctionne sans se délais de 10 secondes. mais je vois aussi qu’il m’affiche bien le niveau de batterie je sais pas comment le plugin fait pour récupérer tout ces infos et nous les retranscrire a part quand je regarde le superbe outil « Zigate Admin »

ZiGate Admin Panel Device
{
            "addr": "59b3",
            "discovery": "auto-discovered",
            "endpoints": [
                {
                    "clusters": [
                        {
                            "attributes": [
                                {
                                    "attribute": 0,
                                    "data": {
                                        "ac_fault": false,
                                        "alarm1": false,
                                        "alarm2": false,
                                        "battery_defect": false,
                                        "low_battery": false,
                                        "restore": false,
                                        "supervision": false,
                                        "tamper": false,
                                        "test_mode": false,
                                        "trouble": false
                                    },
                                    "expire": 10,
                                    "expire_value": {
                                        "ac_fault": false,
                                        "alarm1": false,
                                        "alarm2": false,
                                        "battery_defect": false,
                                        "low_battery": false,
                                        "restore": false,
                                        "supervision": false,
                                        "tamper": false,
                                        "test_mode": false,
                                        "trouble": false
                                    },
                                    "name": "zone_status",
                                    "type": "dict",
                                    "value": {
                                        "ac_fault": false,
                                        "alarm1": false,
                                        "alarm2": false,
                                        "battery_defect": false,
                                        "low_battery": false,
                                        "restore": false,
                                        "supervision": false,
                                        "tamper": false,
                                        "test_mode": false,
                                        "trouble": false
                                    }
                                }
                            ],
                            "cluster": 1280
                        },
                        {
                            "attributes": [
                                {
                                    "attribute": 4,
                                    "data": "eWeLink",
                                    "name": "manufacturer",
                                    "value": "eWeLink"
                                },
                                {
                                    "attribute": 5,
                                    "data": "DS01",
                                    "name": "type",
                                    "type": "str",
                                    "value": "DS01"
                                }
                            ],
                            "cluster": 0
                        },
                        {
                            "attributes": [
                                {
                                    "attribute": 32,
                                    "data": 28,
                                    "name": "battery_voltage",
                                    "type": "float",
                                    "value": 2.8
                                },
                                {
                                    "attribute": 33,
                                    "data": 97,
                                    "name": "battery_percent",
                                    "type": "int",
                                    "value": 97
                                }
                            ],
                            "cluster": 1
                        }
                    ],
                    "device": 1026,
                    "endpoint": 1,
                    "in_clusters": [
                        0,
                        3,
                        1280,
                        1
                    ],
                    "out_clusters": [
                        3
                    ],
                    "profile": 260
                }
            ],
            "generictype": "",
            "info": {
                "addr": "59b3",
                "ieee": "00124b002235e1a2",
                "last_seen": "2020-10-30 17:59:58",
                "lqi": 162,
                "mac_capability": "10000000",
                "rejoin_status": false
            },
            "name": ""
        }
Des infos de ce que vois le plugin ZiGate