[NODE-RED] Zwavejs2mqtt et volet roulants ZMNHCD1

Ce petit flow vous permet de contrôler vos volets roulant via Gladys / Node red

Le module que j’utilise est un Qubino ZMNHCD1

Dans le service MQTT de Gladys j’ai un device Volet

Avec une feature “Switch Dimmer” configuré comme ceci

Attention la valeur maxi est 99


Dans node red j’ai créer ce flow qui permet donc de controller la position du volet via Gladys et de mettre à jour l’état s’il y’a eu un contrôle extérieur ( bouton physique ou alexa ).

Le flow importable

[
    {
        "id": "06167c4aeed2d29e",
        "type": "tab",
        "label": "Zwavejs",
        "disabled": false,
        "info": ""
    },
    {
        "id": "58e23de9eeb04e5c",
        "type": "mqtt in",
        "z": "06167c4aeed2d29e",
        "name": "Gladys value",
        "topic": "gladys/device/mqtt:volet/feature/mqtt:position/state",
        "qos": "2",
        "datatype": "auto",
        "broker": "05eac840560ca08c",
        "nl": false,
        "rap": true,
        "rh": 0,
        "x": 90,
        "y": 80,
        "wires": [
            [
                "29bb8e1ef43b1a15"
            ]
        ]
    },
    {
        "id": "ec1b1f35710ca026",
        "type": "mqtt out",
        "z": "06167c4aeed2d29e",
        "name": "Set value on zwavejs2mqtt",
        "topic": "zwave/Volet/38/0/targetValue/set",
        "qos": "2",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "07a4b31138749fb7",
        "x": 960,
        "y": 80,
        "wires": []
    },
    {
        "id": "29bb8e1ef43b1a15",
        "type": "json",
        "z": "06167c4aeed2d29e",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 550,
        "y": 80,
        "wires": [
            [
                "ec1b1f35710ca026"
            ]
        ]
    },
    {
        "id": "fc72847db40a7ee1",
        "type": "mqtt in",
        "z": "06167c4aeed2d29e",
        "name": "zwavejs topic currentValue",
        "topic": "zwave/Volet/38/0/currentValue",
        "qos": "2",
        "datatype": "auto",
        "broker": "07a4b31138749fb7",
        "nl": false,
        "rap": true,
        "rh": 0,
        "x": 130,
        "y": 140,
        "wires": [
            [
                "6af9ebb2dab5d51a"
            ]
        ]
    },
    {
        "id": "50f432e72d05f875",
        "type": "mqtt out",
        "z": "06167c4aeed2d29e",
        "name": "Update Gladys value",
        "topic": "gladys/master/device/mqtt:volet/feature/mqtt:position/state",
        "qos": "2",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "05eac840560ca08c",
        "x": 940,
        "y": 140,
        "wires": []
    },
    {
        "id": "e04fcc594d63b332",
        "type": "function",
        "z": "06167c4aeed2d29e",
        "name": "Get only the value",
        "func": "msg.payload = msg.payload.value\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 710,
        "y": 140,
        "wires": [
            [
                "50f432e72d05f875"
            ]
        ]
    },
    {
        "id": "0829660626defc53",
        "type": "json",
        "z": "06167c4aeed2d29e",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 550,
        "y": 140,
        "wires": [
            [
                "e04fcc594d63b332"
            ]
        ]
    },
    {
        "id": "6af9ebb2dab5d51a",
        "type": "trigger",
        "z": "06167c4aeed2d29e",
        "name": "Wait for stable value",
        "op1": "",
        "op2": "",
        "op1type": "pay",
        "op2type": "payl",
        "duration": "30000",
        "extend": true,
        "overrideDelay": false,
        "units": "ms",
        "reset": "",
        "bytopic": "all",
        "topic": "topic",
        "outputs": 1,
        "x": 360,
        "y": 140,
        "wires": [
            [
                "0829660626defc53"
            ]
        ]
    },
    {
        "id": "05eac840560ca08c",
        "type": "mqtt-broker",
        "name": "GladysMQTT",
        "broker": "192.168.1.42",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "sessionExpiry": ""
    },
    {
        "id": "07a4b31138749fb7",
        "type": "mqtt-broker",
        "name": "zwavejs2mqtt",
        "broker": "192.168.1.42",
        "port": "1884",
        "clientid": "",
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "sessionExpiry": ""
    }
]

Le résulat dans le dashboard Gladys
image

Le topic côté zwavejs2mqtt correspond au COM CLASS 38

image

4 Likes

:scream: :heart_eyes:

Merci pour le tutoriel @VonOx, ça va aider du monde !

merci @VonOx ! J’avais en tête de domotiser mes volets filaires. çà va peut etre me faire sauter le pas.

question: tu utilises quoi comme clé zwave? tu as acheté ou tes interrupteurs ?
Je demande pour comparer le prix avec la gamme schneider connecté zigbee

Salut

La clé je l’ai prise sur amazon Aeotec Z Stick Gen 5
Le module pour interrupteur chez domotique store

L’interrupteur est un bistable legrand classique, ça permet de garder une possibilité de gérer ses volets si pas de domotique.