Questions de débutant

Bonjour,

Je débute sur node-red, j’ai lu plusieurs de vos posts, ce qui m’a permis de démarrer un premier flow, merci à vous.
Avant de me lancer dans la lecture de posts plus aboutis, voici mon souci. Le statut de mon volet ne change pas entre chaque exécution.???

Voici ce que j’ai fait, si vous pouviez me dire où j’ai une erreur.

la configuration du switch:

image

Le state ne change pas donc je passe toujours dans open. Le volet s’ouvre ou se ferme à chaque exécution mais sans changer d’état. Je ne sais pas pourquoi.

Mon flow en JSON si plus simple

[
    {
        "id": "0690c21701f8a1a7",
        "type": "inject",
        "z": "41f6b287083c2ada",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 120,
        "y": 160,
        "wires": [
            [
                "533e4727957ae2e9"
            ]
        ]
    },
    {
        "id": "533e4727957ae2e9",
        "type": "api-current-state",
        "z": "41f6b287083c2ada",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "cover.commutateur_de_rideau_5_curtain",
        "state_type": "str",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "entity"
            }
        ],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 430,
        "y": 60,
        "wires": [
            [
                "67f5e5d499af69e8",
                "b9cc2f0448265ebd"
            ]
        ]
    },
    {
        "id": "860d4ff9e62c4993",
        "type": "debug",
        "z": "41f6b287083c2ada",
        "name": "JSON",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 870,
        "y": 140,
        "wires": []
    },
    {
        "id": "becaa97ac4c4a19e",
        "type": "api-call-service",
        "z": "41f6b287083c2ada",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": true,
        "domain": "cover",
        "service": "open_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "json",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 1090,
        "y": 240,
        "wires": [
            []
        ]
    },
    {
        "id": "67f5e5d499af69e8",
        "type": "json",
        "z": "41f6b287083c2ada",
        "name": "",
        "property": "data.entity_id",
        "action": "str",
        "pretty": false,
        "x": 470,
        "y": 140,
        "wires": [
            [
                "90885d949b1bb328",
                "860d4ff9e62c4993",
                "36dde56eeb6e146b"
            ]
        ]
    },
    {
        "id": "88c3911f830af95c",
        "type": "debug",
        "z": "41f6b287083c2ada",
        "name": "close",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "data.state",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1070,
        "y": 200,
        "wires": []
    },
    {
        "id": "90885d949b1bb328",
        "type": "switch",
        "z": "41f6b287083c2ada",
        "name": "",
        "property": "data.state",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "close",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "open",
                "vt": "str"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 2,
        "x": 730,
        "y": 200,
        "wires": [
            [
                "88c3911f830af95c",
                "becaa97ac4c4a19e"
            ],
            [
                "8e3a709b6e7523c8",
                "299e6ad8c4d39aeb"
            ]
        ]
    },
    {
        "id": "8e3a709b6e7523c8",
        "type": "debug",
        "z": "41f6b287083c2ada",
        "name": "Open",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "data.state",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1070,
        "y": 320,
        "wires": []
    },
    {
        "id": "299e6ad8c4d39aeb",
        "type": "api-call-service",
        "z": "41f6b287083c2ada",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": true,
        "domain": "cover",
        "service": "close_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "json",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 1090,
        "y": 360,
        "wires": [
            []
        ]
    },
    {
        "id": "36dde56eeb6e146b",
        "type": "debug",
        "z": "41f6b287083c2ada",
        "name": "cover.state",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "data.state",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 630,
        "y": 320,
        "wires": []
    },
    {
        "id": "b9cc2f0448265ebd",
        "type": "debug",
        "z": "41f6b287083c2ada",
        "name": "debug 7",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 820,
        "y": 60,
        "wires": []
    },
    {
        "id": "8ba7aec4.1022e",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": 30,
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": "at: ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "h23",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": true
    }
]

Merci pour votre aide

Quand le ‹ cover › est fermé (que tu le vois fermé visuellement dans la vraie vie :slight_smile: ), que donne le noeud debug 7 . Il faudrait copier ici tout le message et pas seulement msg.payload.

Le test dans le switch sur msg.data.state me surprend un peu…

Bonsoir,
Désolé pour l’incrust, mais cela me semble très compliqué alors que tu peux faire simple.
De ce que je comprends, lorsque tu actionnes un commutateur, tu veux ouvrir ou fermer un volet ?
Si c’est le cas, voici la représentation graphique de ce que tu peux faire.
Il faut que tu essayes par toi même et si tu bloques, dit nous où ?

image

Bonjour,

@golfvert :Hier soir, j’ai fermé mon volet avec le script, le volet est fermé mais HA le voit ouvert. Si je relance, le volet s’ouvre en changeant l’heure d’exécution de « cover.close_cover ». Actuellement, le volet est visuellement fermé. Quand je lance le script j’ai:

{"_msgid":"ce910d35a4463d03","payload":1679885024022,"topic":"","data":{"entity_id":"cover.commutateur_de_rideau_5_curtain","state":"open","attributes":{"current_position":100,"device_class":"curtain","friendly_name":"VR_Bureau Curtain","supported_features":15},"context":{"id":"01GWF5N4T10D4MEJHZ9NQ6KSC7","parent_id":null,"user_id":"35f00be49c604648bbb88667afdc8327"},"last_changed":"2023-03-26T14:37:46.410Z","last_updated":"2023-03-26T14:37:46.410Z","timeSinceChangedMs":43557632}}

@fredarro : J’ai tenté un nouveau flow avec ta suggestion, seulement, je ne comprends pas comment le lancer, j’en suis vraiment au balbutiement :sweat_smile:

Voici ce que j’ai implémenté:

[
    {
        "id": "44d18e65ed9a378d",
        "type": "tab",
        "label": "Flow 3",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "bbde53457e9d06d2",
        "type": "server-state-changed",
        "z": "44d18e65ed9a378d",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 4,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "cover.commutateur_de_rideau_5_curtain",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "open",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "ignorePrevStateNull": false,
        "ignorePrevStateUnknown": false,
        "ignorePrevStateUnavailable": false,
        "ignoreCurrentStateUnknown": false,
        "ignoreCurrentStateUnavailable": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "eventData"
            },
            {
                "property": "topic",
                "propertyType": "msg",
                "value": "",
                "valueType": "triggerId"
            }
        ],
        "x": 390,
        "y": 140,
        "wires": [
            [
                "318bec89553560c8"
            ],
            [
                "88fb51b0c66d8cd8"
            ]
        ]
    },
    {
        "id": "88fb51b0c66d8cd8",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "open_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 970,
        "y": 200,
        "wires": [
            []
        ]
    },
    {
        "id": "318bec89553560c8",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "close_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 970,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "8ba7aec4.1022e",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": 30,
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": "at: ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "h23",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": true
    }
]

Merci pour votre temps

Peux tu nous dire ce que tu souhaites faire exactement avec ce flow?
J’ai l’impression que tu te mélanges un peu ou j’ai pas compris.

La partie finale (action d’ouverture et de fermeture de ton volet) est juste à part que, personnellement, je ne garde que la partie « entité » et supprime le « device ».
image

Par contre, ton premier node qui fait office de déclencheur car il surveille le changement d’état d’une entité. Il ne peut pas attendre le changement d’état de ton volet pour actionner le même volet.

C’est quoi qui doit déclencher la fermeture et l’ouverture de ton volet ?
Cela peut être l’état d’un commutateur, l’heure de lever et de coucher du soleil, ton état de présence à la maison, etc, etc. . Bref, tout, sauf ce qui touche directement à l’état de ton volet parce que c’est justement lui que tu veux actionner.

J’ai compris le flot comme un exercice pour comprendre comment ça marche et pas un truc utilisable au quotidien.
Dans ce contexte, en fait, l’état fermé est closed et pas close.

Le switch devrait donc avoir cette tête-là

HA le voit ouvert. ou ça?

Là, avec le switch fait comme il était, quand il est ouvert, ça va le fermer. Quand il est fermé, rien ne va se passer, vu qu’aucune condition n’est vraie.

Merci à vous,

Je vous confirme, il s’agit d’un test en suivant le tuto suivant:
Tuto

l’objectif de mon test est de voir si j’arrivais à piloter mon volet (ouverture/fermeture, voir à mi-hauteur) rien de plus.

Quand j’aurais mieux compris, j’ai trouvé ce post

@fredarro je cherche à comprendre comment ce fait le lien entre HA et le flow. Dans le tuto, il déclenchait par l’utilisation d’un timestamp. J’avoue qu’avec ton exemple je n’ai pas bien compris comment cela fonctionnait maintenant je vois mieux, je crois.
A therme, je voudrais les ouvrir en fonction de la position du soleil oui .
Donc si je comprends, il faut que j’ajoute un déclencheur manuel pour le tester?

@golfvert

dans l’interface web de HA sur mon tableau de bord.

J’espère avoir été un peu plus clair

Vu le flot, quand tu cliques sur inject, ca va le fermer. Si tu le vois bouger, c’est que ça marche.
HA qui ne le voit pas fermé, c’est une autre histoire. Parfois, le pourcentage de fermeture/ouverture reste à 99% ou 1% et c’est pas vraiment fermé/ouvert.
Quelle intégration pour ces covers? Quand tu le fermes du côté HA, HA le voit bien fermé?

@golfvert : oui il le voit bien fermé. c’est du tuya

Un truc m’échappe… Quand tu lances le « close cover » du côté NodeRed, ça s’exécute. Le volet bouge, mais, à la fin de sa fermeture, HA le voit toujours ouvert ? C’est ça ?
Comme ça, ça me parait bizarre… Le close cover du NodeRed donne le même ordre que via l’interface. Donc, le résultat devrait être le même.

Et pour « closed » et non « close », ça va mieux?

Je viens de faire le test en changeant close en closed. J’ai lancé le timestamp, il a eu une drôle de réaction, le commutateur a claqué plusieurs fois dans la seconde comme s’il recevait plusieurs ordre en simultanés.
Je suis sortie de NodeRed pour stopper le phénomène j’ai eu peur de claquer le commutateur.

Oui

Je ne comprends pas vraiment le problème.
Je vais regarder aussi pour le flow suggéré par @fredarro et créer un déclencheur pour voir

PS: Je crois avoir compris d’où venait l’erreur dite moi si je me trompe
Pour tester vos 2 suggestions, j’ai fait 2 flow, dont un celui de @fredarro, qui si j’ai bien compris, se déclenche lors du changement d’état du volet.
Les 2 flows entraient donc en conflit je pense

Bon! Du coup, j’ai relancé en désactivant le flow suggéré par @fredarro et en modifiant le switch comme suis:

image

mon volet et fermé

Dans l’interface HA,
image

image

je lance le flow:

{"_msgid":"00f6aa7b5d4dfa4b","payload":1679944521418,"topic":"","data":{"entity_id":"cover.commutateur_de_rideau_5_curtain","state":"closed","attributes":{"current_position":0,"device_class":"curtain","friendly_name":"VR_Bureau Curtain","supported_features":15},"last_changed":"2023-03-27T18:54:29.357Z","last_updated":"2023-03-27T18:54:29.357Z","context":{"id":"01GWJ6QYMB9ZW7PDSVGVHXNHS1","parent_id":null,"user_id":"35f00be49c604648bbb88667afdc8327"},"timeSinceChangedMs":1252083}}

Le commutateur a déclenché plusieurs fois avant de lancer l’ouverture

Voici ce que j’ai trouvé dans les logs HA

image

Il y en a plusieurs dizaine entre 15:45 et 15:46, je sais pas trop pourquoi

Du coup, mon volet était ouvert visuellement, j’ai relancé cette fois plus rien dans le log HA, pas de bagotage, le volet se ferme par l’action open car le state du volet est vu à closed. Il n’était pas passé à open???

Je tenterai le flow de @fredarro demain avec des idées plus claires. C’est pas simple de débuter mais ça va venir ne pas vouloir aller trop vite.

Bonne soirée

Sans vouloir critiquer mon camarade, mettre un changement d’état du cover comme déclencheur et des actions sur le cover en action, ça ne va pas le faire. Je pense.

Tu es sur que tu avais bien désactivé (et déployé les modifs!) celui de fredarro au moment de ton test. Je pense que c’est ça qui peut provoquer cette liste d’événements.

Qui a dit que j’utilisait le changement d’état du cover pour le déclencher ?

Voilà ce que j’ai écrit plus tôt:

t’as qu’a dire que c’est de ma faute ! :smile:
Un peu facile ta conclusion de la journée. :stuck_out_tongue_winking_eye:

Bonjour messieurs

je voudrais pas être à l’origine d’une divergence de point de vue :sweat_smile:

Ce matin, j’ai créé un bouton dans HA sur un tableau de bord. Je l’ai déclaré en tant que déclencheur du flow afin que cela donne ceci:

image

Voici mon code:

[
    {
        "id": "44d18e65ed9a378d",
        "type": "tab",
        "label": "Flow 3",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "bbde53457e9d06d2",
        "type": "server-state-changed",
        "z": "44d18e65ed9a378d",
        "d": true,
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 4,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "cover.commutateur_de_rideau_5_curtain",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "open",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "ignorePrevStateNull": false,
        "ignorePrevStateUnknown": false,
        "ignorePrevStateUnavailable": false,
        "ignoreCurrentStateUnknown": false,
        "ignoreCurrentStateUnavailable": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "eventData"
            },
            {
                "property": "topic",
                "propertyType": "msg",
                "value": "",
                "valueType": "triggerId"
            }
        ],
        "x": 390,
        "y": 140,
        "wires": [
            [
                "318bec89553560c8"
            ],
            [
                "88fb51b0c66d8cd8"
            ]
        ]
    },
    {
        "id": "88fb51b0c66d8cd8",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "d": true,
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "open_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 970,
        "y": 200,
        "wires": [
            []
        ]
    },
    {
        "id": "318bec89553560c8",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "d": true,
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "close_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 970,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "4b6b4803b9cfd560",
        "type": "server-state-changed",
        "z": "44d18e65ed9a378d",
        "name": "",
        "server": "8ba7aec4.1022e",
        "version": 4,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "input_boolean.volet_bureau",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "on",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "ignorePrevStateNull": false,
        "ignorePrevStateUnknown": false,
        "ignorePrevStateUnavailable": false,
        "ignoreCurrentStateUnknown": false,
        "ignoreCurrentStateUnavailable": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "eventData"
            },
            {
                "property": "topic",
                "propertyType": "msg",
                "value": "",
                "valueType": "triggerId"
            }
        ],
        "x": 350,
        "y": 300,
        "wires": [
            [
                "f7bc9b36e634a802"
            ],
            [
                "5087d7224b39b6c8"
            ]
        ]
    },
    {
        "id": "f1d06f05b1777cf3",
        "type": "debug",
        "z": "44d18e65ed9a378d",
        "name": "debug 9",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 820,
        "y": 320,
        "wires": []
    },
    {
        "id": "f7bc9b36e634a802",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "name": "Ouverture volet",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "open_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 640,
        "y": 260,
        "wires": [
            [
                "f1d06f05b1777cf3"
            ]
        ]
    },
    {
        "id": "5087d7224b39b6c8",
        "type": "api-call-service",
        "z": "44d18e65ed9a378d",
        "name": "Fermeture volet",
        "server": "8ba7aec4.1022e",
        "version": 5,
        "debugenabled": false,
        "domain": "cover",
        "service": "close_cover",
        "areaId": [],
        "deviceId": [
            "c39d8e65a25cc96e65bd524011ba935a"
        ],
        "entityId": [
            "cover.commutateur_de_rideau_5_curtain"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 640,
        "y": 360,
        "wires": [
            [
                "f1d06f05b1777cf3"
            ]
        ]
    },
    {
        "id": "8ba7aec4.1022e",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": 30,
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": "at: ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "h23",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": true
    }
]

A ce stade, le volet s’ouvre et se ferme correctement et le statut dans HA change bien. :smiley:
En revanche, j’ai pu constater que la position du bouton avez peut d’importance. Je vais tenter une explication suite à un bug:

Volet fermé, mon bouton en gris (off) dans HA, je clic le flow passe par « Ouverture volet » jusque là normal et mon volet s’ouvre
Je souhaite donc tester la fermeture qui plante suite à une mauvaise configuration de « Fermeture volet » mais mon bouton et bleu dans HA (on)
Je clique donc dessus et le flow joue: « Ouverture volet » alors que mon volet se ferme donc mon bouton s’est inversé il donc bleu avec un volet fermé.

Question: Comment de là, je récupère l’état réel du volet pour lui dire:
Si lors de la bascule du bouton ce dernier envoie « ON » et que volet est « OPEN » alors tu n’actives rien sinon tu ferme le volet
Et inversement

En gros comment savoir l’état du volet avant action j’espère avoir été clair

Merci à vous

Salut, pas de problème de divergence de point de vue, Je le taquine :smile:
Perso, je ne vois l’intérêt de créer un bouton pour commander un cover via NR.
Il te suffit de mettre une carte cover sur ton lovelace. Sans passer par NR
Le flow NR devient intéressant si tu veux actionner ton cover avec un déclencheur autre (soleil, combinaison détecteurs, …)
Même pour commencer, tu peux t’essayer à faire ouvrir et fermer ton cover en fonction d’une heure fixe.
Exemple: ouverture à 7h15 et fermeture à 19h42.
Bonne journée à vous deux @alexb81 , @golfvert

1 « J'aime »

Oui je suis d’accord sur le peu d’intérêt du flow dans l’état actuel. Il est là à visé pédagogique :smiley:.
J’essaie de comprendre la philosophie de NR, la gestion des payload, des variables, de l’interaction avec HA.

L’objectif au final sera bien de gérer ces derniers en fonction du soleil effectivement, tél que décrit ici
Et si je peux en profiter pour pendre en compte l’inclinaison de ce dernier pour éviter la surchauffe en été :upside_down_face:

Je vais continuer mes essaies pour améliorer ma compréhension.

Merci je vous dirai

Bonjour,

Grace à

et

j’avance bien dans la programmation de mes volets :grinning:
Quand tout sera fini je tenterai de le documenter pour la communauté.

Pour le moment, je suis face à un souci d’interface.
Pour régler l’offset de mes volet j’ai créé dans input_number.yaml:

volets_bureau_niveau:
  name: Offset_bureau
  min: 0
  max: 100
  step: 1
  mode: box

Si je l’affiche sur un carte multi entités, j’ai
image

Dans l’interface définitive j’utilise des grilles imbriquées:

Je n’arrive pas à afficher l’offset de la 1er ligne dernière colone sous la même forme que sur la première vue ni si c’est pertinent.

Auriez-vous une idée, une suggestion?

Merci

C’est normal, comme tu as un souci de place, la carte de l’offset est condensée