Questions de débutant

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

merci.

N’est-il pas possible d’agrandir la taille de la carte? Par ailleurs, je n’ai pas besoin d’afficher l’icone ni le nom, la valeur pourrais suffire peut-être?

Merci

La carte ? La totalité ou celle de l’offset ? De toute façon avec uniquement l’image c’est pas vraiment envisageable il faut comprendre comment c’est structuré
Regarde la carte bignumber dans hacs, c’est peut être une idée de substitution de l’offset

Je pensais à la carte complète en me disant que, si je l’agrandis, les cases seraient plus grandes et du coup, je pourrais mieux afficher l’entité.

Est-ce que cela semble faisable?

Faut que je regarde la carte bignumber mais je l’ai pas vu dans ma liste de cartes dispos. Faut-il que je l’ajoute?

Pour la carte totale la seule solution c’est de la faire afficher en plein écran (en modifiant le format du dashboard) autant dire que c’est bof.
Pour bignumber c’est une carte custom disponible/installation dans hacs

merci je vais regarder.
C’est dommage qu’on puisse pas jouer sur la taille. Avant j’étais sur Jeedom on pouvait le faire tant pis

Oui jétais aussi sous Jeedom il y a quelques années… Sur la partie UI (et sur le reste) tu verras que c’est pas forcement plus mal de perdre ses anciens reflexes

oui je ne me plains pas de ma bascule.
concernant bignumber tu passe par où pour l’ajouté car je suis un peu perdu entre les blueprint pour le script je j’ai bien compris, les intégration pour l’entrée de mes différentes entités, les modules supplémentaires… :smile:

L’écosystème m’échappe encore un peu

Ca y est je crois avoir trouvé. dans HACS.
En revanche cela ne va pas m’aider (sauf à avoir mal vu) car ce que je cherche à faire c’est, certes, afficher l’offset en cours mais aussi pouvoir lui entrer une valeur pour la récupérer dans NR.

Bon ben tu as mal lu… :sweat_smile:
C’est une carte … Donc ça sert à l’affichage (avec possibilité de modification de l’entité). L’entité derrière ça reste un input_select, modificable par les services et NR si besoin

Ah ok je vais creusé je pensais avoir compris qu’il ne faisait qu’afficher la valeur de l’entité.
J’ai trouvé numberbox-card qui semble aussi pouvoir le faire? Je vais les intégrer et regarder comment je les comprends.

Je vous tiens au courant

Exact !!! J’ai mélangé avec bignumber, qui est autre chose

Le coup du numberbox-car génial.
Afin d’aller plus loin, je souhaiterai suite à l’action de monter, descendre stopper, mettre à jour la valeur afin de connaitre la position exacte du volet.

Dans mon flow, j’arrive à piloter ces 3 commandes seulement comment mettre à jour la dernière colonne? Avez-vous une idée?

Penche toi sur la notion de volet proportionnel… (rf time based) parce ça evitera de reinventer la roue
image