Volets tuya et position via scripts

Bonjour pulpy

Suite a tes conseils, j’ai installé Visual Studio code
Pour que ce soit plus simple j’ai renommé dans intégration tuya mon store en Cover.store_v0

j’ai procédé au modification Dans le bloc cover. (renommé le devices)

#########
# Cover #
#########
#cover:
- platform: cover_rf_time_based
  devices:
    cover.store_v0_fictif:
      name: Store Jardin position pulpy
      travelling_time_up: 15
      travelling_time_down: 15
      close_script_entity_id: script.close_store_v0
      stop_script_entity_id: script.stop_store_v0
      open_script_entity_id: script.open_store_v0
      send_stop_at_ends: False

Dans le bloc Scripts Visual code m’indique que c’est incorrect…

Pour le bloc input je pense que c’est bon…

#############
#    ENTREE #
#############
#input_text: Store Jardin
retour_etat_fictif_v0:
  initial: ""


Donc voila ce qui ce passe :
card_store

Sur la carte Rideau STORE JARDIN

  • Si j’appuie sur la Flèche monter ou descendre de Store Jardin pulpy l’icône a droite change et passe en ouvert ou fermé
    Mais en réalité mon store n’exécute pas ordre…
  • Si j’appuie sur la Flèche monter ou descendre deV0-Store l’icône a droite ne fait rien, Mais mon store exécute ordre…
    et l’icône de position pulpy ne se change pas.

le but est d’avoir la position de la dernière commande (ouvert ou fermé), le store fonctionne soit ouvert, soit Fermé. il se stop grâce au fin de course ou éventuellement sur appuie de la touche stop manuellement.
Mais je ne l’utilise jamais en position intermédiaire donc c’est soit ouvert ou fermé à 100%

Peut etre que le script ne donne les bons ordres…au rideau…

Pourquoi encore un cover à cet endroit ???

#cover:
- platform: cover_rf_time_based
  devices:
    store_v0_fictif:

C’est tout aussi bien !!! Il s’appelera cover.store_v0_fictif et pas cover.cover.store_v0_fictif c’est pas plus simple ?

Donc il faut corriger. C’est l’indentation qui n’est pas bonne déjà. Si la ligne du dessus se termine par : il faut ajouter 2 espaces aux blocs en dessous…
Tu le fais correctement là

    cover.store_v0_fictif:
      name: Store Jardin position pulpy

Oui ça c’est assez basique

Tant que tout n’est pas correctement configuré, ça donnera jamais rien… Le volet virtuel déclencle les scripts, les scripts font les actions sur le veritable volet… si la chaine est brisée, ça ne va pas jusqu’au bout

Bon je pense avoir corriger correctement le bloc Script

open_store_v0:
  alias: Open store jardin
  sequence:
    - service: cover.open_cover
      data:
        entity_id: cover.store_v0
    - service: input_text.set_value
      target:
        entity_id: input_text.retour_etat_fictif_v0
      data:
        value: open
close_store_v0:
  alias: Close store jardin
  sequence:
    - service: cover.close_cover
      data:
        entity_id: cover.store_v0
    - service: input_text.set_value
      target:
        entity_id: input_text.retour_etat_fictif_v0
      data:
        value: close
stop_store_v0:
  alias: Stop store jardin
  sequence:
    - service: cover.stop_cover
      target:
        entity_id: cover.store_v0
  mode: single

Par contre j’ai bien renommé cover.store_V0_fictif en store-V0-fictif
Mais du coup sur la carte la ligne store jardin position pulpy est grisé.
Mais j’ai un deuxième store jardin position pulpy qui est apparu, et avec celui ci sa fonctionne :sweat_smile:

ce qui est étrange (enfin pour moi) pourquoi j’ai un cover_store_jardin_position_pulpy_2 qui c’est crée c’est normal ? (voir image)

1 « J'aime »

Le _2 est crée quand le ‹ sans rien › existe déjà. Vérifie qu’il ne reste rien dans tes configs qui pourrait occasionner un conflit de nom. Restart pour tout désactiver/remettre en place et ensuite, tu pourras renommer le _2

C’est ce que j’ai pensé aussi pour le _2, je vais vérifier et je renommerais âpres…je sais pas si je vais pas laisser « pulpy » :grin: je commençais a bien m’y habituer.

Si je dois adapter cela pour mes volets,

je doit ajouter chacun dans le bloc cover avec un petit nom pour chaque,

et ajouter autant de script dans le bloc script ?
Dans Script à quoi correspond mode : Single

Pour le blox input text , je dois aussi en rajouter autant que le nombre de volet ?

Ouais, c’est pas indispensable, il faut pas oublier le coté pratique… Après gourou d’une secte des adorateurs de HA, c’est une piste de reconversion :wink:

Oui, pour avoir la même chose le plus simple c’est de tout dupliquer (volet virtuel, input_text et scripts)
Pour les scripts, il doit y avoir moyen de bricoler un trucs plus générique mais bon… j’ai pas eu le temps de m’y (re)pencher et maintenant que ça marche …

Et je viens seulement de voir la réponse de @Clemalex

Oui, pas besoin d’avoir des exécutions en parallèle : https://www.home-assistant.io/docs/automation/modes/

Merci Pulpy pour ton aide précieuse et ta disponibilité.

Je vais m’occuper de faire cela en 2022, Je sens que je vais avoir encore des maux de tête…les : et les 2 espaces sa me rend fou… :upside_down_face:

Bon réveillon à toi et à l’année prochaine

1 « J'aime »

Pas de souci, merci et bonnes fêtes également

bonjour

J’ai vu sur un post que tu avais mis ceci pour le stop :

stop_covertest:
    alias: Stop covertest
    sequence:
    - service: "{% if is_state('input_text.covertest_last', 'open') %}
        script.open_covertest
      {% elif is_state('input_text.covertest_last', 'close') %}
        script.close_covertest
      {% endif %}"
    - service: input_text.set_value
      target:
      entity_id: input_text.covertest_last
      data:
      value: "{% if is_state('input_text.covertest_last', 'open') %}
        stop_open
      {% elif is_state('input_text.covertest_last', 'close') %}
        stop_close
      {% endif %}"

quel différence avec celui que l’on a utilisé (ci dessous) :

stop_store_v0:
  alias: Stop store jardin
  sequence:
    - service: cover.stop_cover
      target:
        entity_id: cover.store_v0

15 lignes ??? :clown_face:

Plus sérieusement, l’exemple compliqué s’applique à d’autres types de volets chez moi => des velux.
Ils ne possèdent pas 3 ordres (UP/DOWN/STOP) mais uniquement 2 (UP/DOWN).
Et pour arrêter le moteur, il faut doubler la commande : UP => ça monte ; UP => ça stoppe
Donc tout l’intérêt du truc, c’est de mémoriser si la commande initiale était un UP ou DOWN pour faire la bonne combinaison UP/UP ou DOWN/DOWN et surtout pas faire un UP/DOWN ou un DOWN/UP

Ok compris . Merci

Avec la commande fictif du store , j’ai un soucis.

Si j’exécute la commande a partir de l’application smartlife ou alexa ou par les boutons. la commande fictif ne s’exécute pas dans HA, uniquement la commande de appareil du coup je n’ai plus le positionnement fictif.

Est il possible de lui faire exécuter la commande fictif en parallèle de la commande réel pour toujours avoir le positionnement fictif

car je voudrais en faite savoir quelle commande a été effectué en dernier Monte/ouvrir ou descendre/fermé,
et considéré que si la commande dure + de 20 seconde que le volet est en position ouvert ou fermé à 100% suivant le cas. Si la commande est <à 20 seconde considéré que le volet est en position intermédiaire

J’espère que mon explication est compréhensible :woozy_face:

Normal : si tu veux la position il faut passer par le volet fictif obligatoirement… (et considérer que le volet réel n’existe plus).
Tu peux remplacer le réel par le fictif dans alexa, et tu oublies l’appli smartlife pour prendre celle de HA à la place.

C’est pas du parallèlisme qu’on utilise mais de l’encapsulation. Donc techniquement c’est pas jouable

C’est déjà ce que fait l’input_text

Plutôt que de partir sur un truc bricolé, passe par la carte https://community.home-assistant.io/t/shutter-card/207094 ça donne la position avec un % exact …
Et l’info de la position est déjà dispo dans l’entité du volet fictif

pour palier (partiellement a mon problème, j’ai crée un automatisme qui exécute la commande fictif.
bien sur sa ne tient pas compte si l’ouverture ou la fermeture sont stoppé en cours de route…
Mais dans 90% des cas on fait 100% ouvert ou 100% fermé.
C’est déjà un début, faute de trouver mieux…

- id: '1641061710646'
  alias: V0 ouverture fictif
  description: ''
  trigger:
  - platform: device
    device_id: 7110cd744e37ff876ba46c309d610708
    domain: cover
    entity_id: cover.store_v0
    type: opening
  condition: []
  action:
  - service: cover.open_cover
    target:
      entity_id: cover.store_v0_fictif
  mode: single
- id: '1641061934159'
  alias: V0 Fermeture fictif
  description: ''
  trigger:
  - platform: device
    device_id: 7110cd744e37ff876ba46c309d610708
    domain: cover
    entity_id: cover.store_v0
    type: closing
  - platform: device
    device_id: 7110cd744e37ff876ba46c309d610708
    domain: cover
    entity_id: cover.store_v0
    type: closed
  condition: []
  action:
  - service: cover.close_cover
    target:
      entity_id:
      - cover.store_v0_fictif
  mode: single

Si toutefois quelqu’un a une meilleure solution…je suis preneur.

Mauvaise idée à mon avis…
Le volet fictif agit sur le volet réel … Donc avec ton automatisation :

  • Volet réel agit sur volet fictif (via l’automatisation) qui agit sur volet réel (via le script)

ça fait des chocapic/boucles !

Juste au dessus…

Chocapic boucle ??

Je vais voir a l’usage…si sa pose problème je le supprime.
Mais sa me permet de prendre en compte mes commandes par smartlife, Alexa et les boutons direct sans rien toucher à HA.
Mon épouse utilise que alexa (99%) et des fois les boutons direct … mais HA elle trouve sa trop complexe…

  • Pour Alexa, tu peux 100% contourner le souci… Que le volet connu dans Alexa soit le fictif ou le réel du point de vue utilisateur c’est pareil… Mais pour HA c’est mieux que ce soit le fictif. Evidement il ne faut pas utiliser le lien smartlife => Alexa mais Amazon Alexa - Home Assistant
  • Pour les boutons, là pas de solution (même avec ta solution)
  • pour l’interface HA. Là aussi tu peux faire un truc adapté à l’utilisateur et simple… mais bon pour l’instant c’est pas important puisque ta femme ne s’en sert pas

ça donne des idées !!!

J’ai installer la shutter card, mais elle n’apparait pas dans la liste des cartes quand je fait « Ajouter une carte »

Je comprend pas trop pourquoi…

C’est classique les cartes custom ne sont pas toutes compatibles avec le wizard de creation.
C’est pas grave, tu peux utiliser le yaml directement à la place => en bas => manuel puis

type: custom:shutter-card
entities:
  - entity: cover.velux_bureau_prop
    name: Velux bureau
    buttons_position: right
    title_position: top

Je l’ai fait pour le store, mais pensant qu’il avait un souci sur la carte, j’ai pas fait plus.
Je vais me pencher sur tous cela demain.

Je te remercie de ton aide et tes conseils.
Passe une bonne soirée et un bon dimanche.

1 « J'aime »

3 messages ont été scindés en un nouveau sujet : Erreur avec gestion des packages dans configuration.yaml