Z-Wave - Gladys v4 - Windows WSL

Hello,

Maintenant que ma configuration fonctionne et que ma clé Z-Wave est reconnu !
J’ai pu regarder pourquoi il n’y avait pas toutes les informations qui remontait de mon Fibaro Motion Sensor et c’était assez simple…

Dans le fichier server/services/zwave/lib/constants.js j’ai rajouter :

// motion sensor Fibaro FGMSZW5 FIBARO Motion Sensor (FGMS-001)
{
CATEGORY: DEVICE_FEATURE_CATEGORIES.MOTION_SENSOR,
COMMAND_CLASSES: [COMMAND_CLASSES.COMMAND_CLASS_SENSOR_BINARY],
INDEXES: [INDEXES.INDEX_SENSOR_BINARY_MOTION],
TYPE: DEVICE_FEATURE_TYPES.SENSOR.BINARY,
PRODUCT_IDS: [‹ 0x1001 ›],
PRODUCT_TYPES: [‹ 0x0801 ›],
},

Il existait déjà un « default motion sensor » :

// motion sensor
{
CATEGORY: DEVICE_FEATURE_CATEGORIES.MOTION_SENSOR,
COMMAND_CLASSES: [COMMAND_CLASSES.COMMAND_CLASS_SENSOR_BINARY],
INDEXES: [INDEXES.INDEX_SENSOR_BINARY_MOTION],
TYPE: DEVICE_FEATURE_TYPES.SENSOR.BINARY,
},

J’ai juste ajouter les informations lié à l’ID du produit et Type de produit que j’ai trouvé ici :

<MetaDataItem id="1001" name="ZWProductPage" type="0801">

En revanche je comprend pas pourquoi les données ne sont pas updater après la modification d’un événement … côté serveur on vois bien qu’il y à des choses qui se passe lorsqu’un mouvement est détecté :

2021-05-10T22:01:02+0200 <debug> zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {"value_id":"8-113-1-256","node_id":8,"class_id":113,"type":"byte","genre":"user","instance":1,"index":256,"label":"Previous Event Cleared","units":"","help":"Previous Event that was sent","read_only":true,"write_only":false,"min":0,"max":255,"is_polled":false,"value":3}
2021-05-10T22:01:02+0200 <debug> zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:0->3
2021-05-10T22:01:02+0200 <debug> device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
    at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
    at EventEmitter.emit (events.js:315:20)
    at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
    at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
    at OZW.emit (events.js:315:20)
2021-05-10T22:01:02+0200 <debug> zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {"value_id":"8-113-1-7","node_id":8,"class_id":113,"type":"list","genre":"user","instance":1,"index":7,"label":"Home Security","units":"","help":"Home Security Alerts","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"values":["Clear","Tampering -  Cover Removed","Motion Detected at Unknown Location"],"value":"Clear"}
2021-05-10T22:01:02+0200 <debug> zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Home Security:Tampering -  Cover Removed->Clear
2021-05-10T22:01:02+0200 <debug> device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
    at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
    at EventEmitter.emit (events.js:315:20)
    at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
    at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
    at OZW.emit (events.js:315:20)
2021-05-10T22:01:12+0200 <debug> index.js:80 (WebsocketManager.userDisconnected) User André connected in websocket
2021-05-10T22:01:13+0200 <debug> index.js:56 (WebsocketManager.userConnected) User André connected in websocket
2021-05-10T22:01:18+0200 <debug> bluetooth.scanPresence.js:24 (BluetoothManager.scanPresence) Bluetooth: 0 presence sensor features
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {"value_id":"8-113-1-256","node_id":8,"class_id":113,"type":"byte","genre":"user","instance":1,"index":256,"label":"Previous Event Cleared","units":"","help":"Previous Event that was sent","read_only":true,"write_only":false,"min":0,"max":255,"is_polled":false,"value":8}
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:3->8
2021-05-10T22:01:25+0200 <debug> device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
    at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
    at EventEmitter.emit (events.js:315:20)
    at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
    at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
    at OZW.emit (events.js:315:20)
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {"value_id":"8-113-1-256","node_id":8,"class_id":113,"type":"byte","genre":"user","instance":1,"index":256,"label":"Previous Event Cleared","units":"","help":"Previous Event that was sent","read_only":true,"write_only":false,"min":0,"max":255,"is_polled":false,"value":8}
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:8->8
2021-05-10T22:01:25+0200 <debug> device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
    at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
    at EventEmitter.emit (events.js:315:20)
    at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
    at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
    at OZW.emit (events.js:315:20)
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {"value_id":"8-113-1-7","node_id":8,"class_id":113,"type":"list","genre":"user","instance":1,"index":7,"label":"Home Security","units":"","help":"Home Security Alerts","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"values":["Clear","Tampering -  Cover Removed","Motion Detected at Unknown Location"],"value":"Clear"}
2021-05-10T22:01:25+0200 <debug> zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Home Security:Clear->Clear
2021-05-10T22:01:25+0200 <debug> device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
    at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
    at EventEmitter.emit (events.js:315:20)
    at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
    at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
    at OZW.emit (events.js:315:20)
2021-05-10T22:01:28+0200 <debug> zwave.getNodeNeighbors.js:14 (ZwaveManager.getNodeNeighbors) Zwave : Getting node neighbors...
2021-05-10T22:01:30+0200 <debug> zwave.getInfos.js:14 (ZwaveManager.getInfos) Zwave : Getting informations...
2021-05-10T22:01:30+0200 <debug> zwave.getNodeNeighbors.js:14 (ZwaveManager.getNodeNeighbors) Zwave : Getting node neighbors...
2021-05-10T22:02:18+0200 <debug> bluetooth.scanPresence.js:24 (BluetoothManager.scanPresence) Bluetooth: 0 presence sensor features

Mais malheureusement aucun update côté front :frowning:

Je ne pense pas que ce que tu ai rajouté soit utile @tagcash :slight_smile:

En fait ce fichier fonctionne de 2 façons:

  • Les comclasses Z-Wave qui sont facile à récupérer, on les déclare tel quel (cas du motion sensor), sans mettre de product_ids/product_types, car c’est quand même le but originel des comclasses: être capable de détecter ce que fait le produit quel que soit sa marque.
  • Pour les cas très particulier ou les comclasses génériques ne sont pas suffisante pour déduire la fonctionnalité, on rajoute un filtre par product_ids ou product_types, mais c’est vraiment pour les cas particuliers.

Dans ton cas, ça n’a rien rajouté de mettre le product_type/product_ids, car le motion sensor était déjà correctement identifié non ?

De ce que j’ai compris, le bug que tu as c’est que la donnée des mouvements ne remontent pas non ?

Ce que je ferais dans ton cas, c’est que je regarderais le fichier events/zwave.valueChanged, et je verrais qu’est ce qui est renvoyé pour ce capteur en particulier pour réussir à faire le mapping avec Gladys

Normalement pour un capteur de mouvement, c’est assez simple: il faut que le service émette à Gladys la valeur entière 1 quand un mouvement est détecté, c’est tout :slight_smile:

Du coup en lisant tes logs ça expliquerait ce qui ne va pas, ton device envoie une valeur “3”, Gladys elle ne sait pas ce que ça veut dire “3” !

Après, j’ai pas l’impression que ton évènement 3 soit lié à un mouvement, au contraire j’ai l’impression que c’est l’évènement inverse (qui ne nous intéresse pas tant que ça).

Essaie de bien récupérer l’event lors d’un mouvement et voit la valeur, pour faire le mapping avec Gladys :slight_smile:

Oui et non en tout cas depuis que j’ai rajouté j’ai bien toute les données qui remonte contrairement à avant ou j’avais que la température et la luminosité, maintenant j’ai l’état de la batterie, luminosité, détection de mouvement, température, valeur sysmique et d’autres informations qui ne sont pas exploiter.

Tu as rajouté quoi ? Juste le bout que tu as montré avant ? Le bout que tu as montré avant est relatif au mouvement, ça m’étonne que ça ait ajouté la batterie, la luminosité, et autre

J’ai juste rajouté

PRODUCT_IDS: [‘0x1001’],
PRODUCT_TYPES: [‘0x0801’],

Et j’ai eu la batterie, détection de mouvement, valeur sysmique en plus d’un coup et si j’enlève cá reviens comme avant.

Mais je vais regarder et je vais voir a quoi correspond ce 3 c’est peux-etre utile dans certaines circonstances ça serait bien de le gérer aussi :innocent:

Ok il va falloir comprendre le truc parce qu’à mon avis c’est plus un effet de bord que tu as découvert que le comportement normal :grinning_face_with_smiling_eyes:

Tu as trouvé pour faire fonctionné le mouvement ?

Non j’ai pas eu le temps de bosser dessus, je m’occupe de mon bébé à plein temps Aujourd’hui :innocent:. Peut-être ce soir et sûrement demain

1 « J'aime »

Salut @tagcash, comment ça va ? :slight_smile:

Du retour sur l’intégration de ce périphérique à Gladys ?

Pour information, on a un nouvel utilisateur Z-Wave qui nous aide à intégrer des périphériques, ça serait cool je pense de se faire une session Z-Wave à plusieurs limites, pour intégrer tous vos périphérique dans Gladys :slight_smile:

La discussion:

https://community.gladysassistant.com/t/integration-zipato-mini-keypad/6325

Je n’ai pas réessayé depuis, mais en Janvier, j’avais eu des problèmes d’inclusion pour mon LED Bulb. Et du coup, j’ai aussi un Door sensor que je n’ai jamais testé d’inclure mais si ça bouge côté zwave je tenterai ce weekend.

Problème LED BULB

Jusque là on avait pas grand monde côté Zwave, mais récemment il y a de l’engouement donc si on peut se motiver à plusieurs pour arriver à ajouter ces périphériques à Gladys ça serait top :slightly_smiling_face:

Ouais on peut volontiers faire une session :+1: de mon côté j’ai regardé pour voir si j’arrivais a voir les soucis avec openzwave j’ai rien trouvé j’ai rien réussi a corrigé, je me suis dit pour me changer les idées on va essayer d’intégrer zwavejs … Bah il apparaît dans les intégrations j’ai un bon début mais il reste toute l’intégration et la … Je bloque :sweat_smile: j’ai clairement pas le niveau pour cela a priori, je vais continuer de creuser ça fait du bien mais pour l’instant je comprends pas grand chose, en revanche créér un service c’est super simple sur Gladys et c’est cool :+1: c’est l’intégration de qqch qui a été fait par d’autres qui me rend la tâche difficile.

2 « J'aime »

Salut à tous,
J’ai laissé Gladys de côté car j’ai tout mon chauffage en Z-Wave. Je suis repassé à Domoticz pour cet hivers :wink:
Je n’attends qu’une chose depuis que je suis passé sous Gladys, le Z-Wave… Alors je patiente.
Mon matériel :
Dongle : Z-Stick GEN5
Chauffage : QUBINO ZMNHJD1
Volets roulants : Fibaro FGR-222 “Roller Shutter 2” avec interrupteurs Schneider Odace
Détecteur de mouvement : ZIPATO (VISION) ZP3102+
Télécommande : NodOn “Octan Remote”
Interrupteur sans fils : NodOn “Wall Switch”
Télérupteur : QUBINO “Flush 1 Relay” ZMNHAD1
Variateur de lumière : Qubino “Flush Dimmer” ZMNHDD1

Le site sur lequel j’achète mon matériel habituellement n’arrête pas de faire des offres sur ce matériel, du coup je n’investis pas.

@++

@tagcash @ArMour85

Est-ce que vous seriez dispo maintenant (ou dans la prochaine heure) pour s’appeler et parler Z-Wave ? :slight_smile:

Sinon on peut s’appeler plus tard dans la semaine, je suis dispo jeudi et vendredi !

@gaetanb76 je sais, c’est frustrant, après malheureusement sans avoir le matos c’est pas facile d’intégrer à l’aveugle ^^ J’ai bonne espoir que quelqu’un ici puisse t’aider avec ton matos, ça va venir!

Sinon tu as pensé à utiliser Domoticz pour le contrôle Z-Wave des périphériques qui te manquent, et ensuite d’utiliser l’API de Domoticz depuis Gladys pour propager les “ordres” ?

Désolé Pierre-Gilles, je ne suis pas dispo cet après-midi. Demain à partir de 14h et mercredi à partir de 9h.
Non, je ne me suis pas encore penché sur l’API.
Pas trop le temps en ce moment.

Pas dispo demain ni mercredi pour moi.

Dispo:

  • jeudi le matin quand vous voulez avant midi (a n’importe quelle heure même 6h du matin)
  • vendredi le matin quand vous voulez avant 11h (a n’importe quelle heure même 6h du matin)

Je suis plutôt disponible le soir ou le weekend, le reste du temps je bosse et mes temps libres sont rares.

Après on peut chatter aussi, j’utilise beaucoup Discord pour le travail et autre. Est-il possible d’avoir un salon Gladys sur Discord, ça serait top pour avancer et partager nos écrans pour monter les configs.

Ok, je proposais un appel si c’était plus pratique pour vous, mais en asynchrone par message ça me va tout autant ! Du coup autant rester sur le forum c’est le mieux :slight_smile:

Edit: du coup la balle est dans ton camp par rapport à mon dernier message sur l’autre sujet.

Tu parles de l’intégration du Keypad Zipato ?

J’ai rajouter des appareils dans l’issue sur le Zwave car mes détecteurs d’ouverture de porte ne fonctionnent pas → Integration zwave non fonctionelle · Issue #905 · GladysAssistant/Gladys · GitHub.