Automatisation hc et hp

Bonjour,

Mon problème

Je souhaite ajouter mes heures creuses et heures pleines dans mon dashboard energie.

J’ai suivie ce tuto que j’ai adapté : https://www.speaktothegeek.co.uk/2023/02/off-peak-tariffs-in-home-assistants-energy-dashboard/
Mais j’ai une erreur dans mon automatisation que j’arrive pas à résoudre au niveau de l’option.

Voici mon automatisation :

alias: tarif HP et HC
description: ""
triggers:
  - at: input_datetime.fin_hc1
    variables:
      tariff: hp
    trigger: time
  - at: input_datetime.debut_hc1
    variables:
      tariff: hc1
    trigger: time
  - at: input_datetime.fin_hc2
    variables:
      tariff: hp
    trigger: time
  - at: input_datetime.debut_hc2
    variables:
      tariff: hc2
    trigger: time
actions:
  - target:
      entity_id:
        - select.consommation_maison
    data:
      option: hc1, hc2, hp
    action: select.select_option
mode: single

voici mes entités que j’ai crées :

Merci

Salut,

Une seule valeur parmi les 3 possibles, pas les trois d’un coup, sinon ça ne marche pas.
L’idée c’est de choisir l’option avec la valeur HP/HC en cours

Donc je choisis laquelle des 3 ?

Je ne comprends pas comment il bascule entre les 3 solutions.

Merci

Salut , la syntaxe ici option: hc1, hc2, hp ne ne correspond pas aux valeurs autorisées de l’entité select.consommation_maison voici une version corriger

alias: Tarif HP et HC
description: ""
trigger:
  - platform: time
    at: input_datetime.fin_hc1
    variables:
      tariff: hp
  - platform: time
    at: input_datetime.debut_hc1
    variables:
      tariff: hc1
  - platform: time
    at: input_datetime.fin_hc2
    variables:
      tariff: hp
  - platform: time
    at: input_datetime.debut_hc2
    variables:
      tariff: hc2
action:
  - service: select.select_option
    target:
      entity_id: select.consommation_maison
    data:
      option: "{{ tariff }}"
mode: single

Salut

Tu as des horaires différent pour HC1 et HC2, mais le tarif heure creuse et le même où il est aussi différent ?

Pour la sélection il te faut choisir une option en fonction de ton déclencheur (trigger) tu peux utiliser des id de déclenchement dans les triggers « Quand » et ensuite utiliser des blocs de construction dans « alors faire »

Voici un exemple a tester et/ou adapter a ton besoin:

alias: tarif HP et HC
description: ""
triggers:
  - at: input_datetime.fin_hc1
    variables:
      tariff: hp
    trigger: time
    id: Fin hc1
  - at: input_datetime.debut_hc1
    variables:
      tariff: hc1
    trigger: time
    id: Début hc1
  - at: input_datetime.fin_hc2
    variables:
      tariff: hp
    trigger: time
    id: Fin hc2
  - at: input_datetime.debut_hc2
    variables:
      tariff: hc2
    trigger: time
    id: Début hc2
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Fin hc1
              - Fin hc2
        sequence:
          - target:
              entity_id:
                - select.consommation_maison
            data:
              option: hp
            action: select.select_option
    alias: Fin HC1 ou HC2
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Début hc1
        sequence:
          - target:
              entity_id:
                - select.consommation_maison
            data:
              option: hc1
            action: select.select_option
    alias: Début HC1
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Début hc2
        sequence:
          - target:
              entity_id:
                - select.consommation_maison
            data:
              option: hc2
            action: select.select_option
    alias: Début HC2
mode: single

Ps: je viens de voir le post de @hackdiy , il est certainement plus adapté et plus simple pour répondre à ton besoin

Merci @hackdiy je fais la modification et je teste.

@pascal_ha j’ai 2 périodes d’heures creuses avec le même tarif.
je prends note de ta solution :slight_smile:
Merci

edit:
@hackdiy je viens de tester avec tes modifs et j’ai la même erreur !

@pascal_ha je suis entrain de tester ta solution reste à attendre.
Merci

Cela veut dire que la variable tariff n’est pas disponible à ce moment-là, ou pas transmise correctement depuis le déclencheur.

Tu peux aussi afficher la variable dans une notification pour vérifier :

action: notify.persistent_notification
data:
  message: "Tarif sélectionné : {{ trigger.variables.tariff }}"

j’ai toujours été fâché avec les variables sous jeedom :man_facepalming:

Je laisse tourner la solution de @pascal_ha pour le moment ensuite je teste la tienne.
Mon dashboard energie devient n’importe quoi aujourd’hui avec mes tests :joy:

tu a un sujet ici qui traite également le meme problème que toi.

je vais regarder car la solution de @pascal_ha me considère encore en hc alors que je suis en hp.
Je continues de creuser

Je viens de faire le test et pourtant chez moi ça bascule de HP a HC.

Le code que j’ai utilisé :

code pour essai
alias: tarif HP et HC essai
description: ""
triggers:
  - at: input_datetime.fin_hc1
    variables:
      tariff: hp
    trigger: time
    id: Fin hc1
  - at: input_datetime.debut_hc1
    variables:
      tariff: hc
    trigger: time
    id: Début hc1
  - at: input_datetime.fin_hc2
    variables:
      tariff: hp
    trigger: time
    id: Fin hc2
  - at: input_datetime.debut_hc2
    variables:
      tariff: hc
    trigger: time
    id: Début hc2
actions:
  - alias: Fin HC1 ou HC2
    choose:
      - conditions:
          - condition: trigger
            id:
              - Fin hc1
              - Fin hc2
        sequence:
          - action: input_select.select_option
            target:
              entity_id: input_select.consommation_maison
            data:
              option: Hp
  - alias: Début HC1 ou HC2
    choose:
      - conditions:
          - condition: trigger
            id:
              - Début hc1
              - Début hc2
        sequence:
          - action: input_select.select_option
            target:
              entity_id: input_select.consommation_maison
            data:
              option: Hc
mode: single

(j’ai remplacé le select.consommation_maison par un input_select pour faire le test)

Tu as bien attendu le basculement horaire ?
Il ne peut ce faire qu’a la valeur precise de ton input_datetime.

Pour ton test, il me semble qu’il faut un délai mini de 15mm pour la prise en compte (sous réserve)

Si le tarif est le même pour les deux période d’heures creuses, tu peux utiliser uniquement HP et HC pour le select.consommation_maison au lieu de HP, HC1 et HC2 non ?

Tu as bien configurer ton compteur de service, avec les différents tarifs HP et HC ?
(Dans ton cas hc1, hc2 et hp)

Salut,
je viens de reprendre ton code mais il me met une erreur !

j’ai du mettre data: 0 à la fin

Salut

Du coup, l’automatisation ne sert à rien, si tu mets toujours 0 …

Je ne sais pas trop quoi mettre ! j’ai mis « tariff »
C’est option ne fonctionne pas en mode graphique.

Oups desolé, il manque un petit bout de code :grin:

Ps: j’ai corrigé le code complet plus haut …

Attention : pour faire le test, j’ai remplacé le select.consommation_maison par un input_select. Dans ton cas il faut utiliser ton entité consommation_maison

Comment as tu créer ton compteur de services ? Tu as bien créer le tarif HP et le tarif HC ?

Le code ci dessous fonctionne chez moi.
Il devrait fonctionner aussi chez toi

alias: HP HC conso maison
description: ""
triggers:
  - at: input_datetime.fin_hc1
    variables:
      tariff: hp
    trigger: time
    id: Fin hc1
  - at: input_datetime.debut_hc1
    variables:
      tariff: hc
    trigger: time
    id: Début hc1
  - at: input_datetime.fin_hc2
    variables:
      tariff: hp
    trigger: time
    id: Fin hc2
  - at: input_datetime.debut_hc2
    variables:
      tariff: hc
    trigger: time
    id: Début hc2
conditions: []
actions:
  - alias: Fin HC1 ou HC2
    choose:
      - conditions:
          - condition: trigger
            id:
              - Fin hc1
              - Fin hc2
        sequence:
          - action: select.select_option
            metadata: {}
            data:
              option: hp
            target:
              entity_id: select.consommation_maison
  - alias: Début HC1 ou HC2
    choose:
      - conditions:
          - condition: trigger
            id:
              - Début hc1
              - Début hc2
        sequence:
          - action: select.select_option
            metadata: {}
            data:
              option: hc
            target:
              entity_id: select.consommation_maison
mode: single

Je viens de rentrer et modifier le code et j’ai pas d’erreur :wink:

Pour le compteur de service il est bien comme le tiens sauf que j’ai mis en quotidien pour le cycle.
J’ai bien fais attention à bien mettre mon entité consommation maison.
Plus qu’a attendre.
Merci

Mais tu n’as pas un lixee pour ton linky ? Il 'e te donnes pas automatiquement les tarifs ?

Non que la pince shelly.
Mon relevé de conso se fait via l’intégration linky mais avec le relevé 24h après. Ce n’est pas du live.

@pascal_ha
Voilà ça fonctionne parfaitement.
Merci pour ta solution :+1:

Tu dois même pouvoir retirer les lignes variables et tariff dans les triggers.

    variables:
      tariff: hc

Elles ne sont pas utile, puisqu’on utilise pas les variables dans le code.