Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAJ de toute la config et du README #11

Open
wants to merge 31 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1f1cc62
Update defis_automatiques.yaml
arim215 Jan 6, 2025
9efaeca
Update README.md
arim215 Jan 6, 2025
b755867
Update defis_entite_reference.yaml
arim215 Jan 6, 2025
ea8cf5f
Update README.md
arim215 Jan 6, 2025
9f41792
Update defis_automatiques.yaml
arim215 Jan 6, 2025
44c5479
Update README.md
arim215 Jan 6, 2025
d7ccfb5
Update defis_automatiques.yaml
arim215 Jan 6, 2025
65c253d
Update README.md
arim215 Jan 7, 2025
7a22a45
Merge branch 'main' into main
arim215 Jan 7, 2025
90e9cd2
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
3215d91
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
21f4544
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
f839e91
Update README.md
arim215 Jan 8, 2025
9d0d4e8
Update README.md
arim215 Jan 8, 2025
4f69fc4
Update README.md
arim215 Jan 8, 2025
c724f93
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
036457f
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
c92e8af
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
f7ed081
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
362f818
Update defis_automatiques.yaml
arim215 Jan 8, 2025
e8c317d
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
e90fac1
Update defis_automatiques.yaml
arim215 Jan 8, 2025
81637d0
Update defis_automatiques.yaml
arim215 Jan 8, 2025
600f53c
Update defis_automatiques.yaml
arim215 Jan 8, 2025
8b2baa9
Update defis_automatiques.yaml
arim215 Jan 8, 2025
d3e143e
Update defis_automatiques.yaml
arim215 Jan 8, 2025
c139210
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
a1cfbf5
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
9de7b73
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
94cbcd4
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
345e523
Update defis_entite_reference.yaml
arim215 Jan 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,22 @@
Blueprints pour Home Assistant pour utiliser l'intégration Hilo facilement. Vous allez être en mesure d'automatiser la température cible de vos thermostats pour augmenter vos récompenses Hilo

## Configuration
### L'application Hilo
Pour un fonctionnement optimal, désactivez la prise en charge des thermostats pendant les défis dans l'application Hilo. Vous participerez tout de même aux défis et recevrez les récompenses. Il est également recommandé de ne pas avoir de scènes programmées. Cela s'applique également à tous les autres thermostats non-Hilo, qui pourraient être gérés par ces automatisations.

### Intégration Hilo
Vous allez avoir besoin de l'intégration [Hilo](https://github.com/dvd-dev/hilo) pour que ces Blueprints fonctionnent

**La période d'appréciation doit être de 3 heures**
**La période d'appréciation doit être de 3 heures si désiré. Vous pouvez le mettre dans la configuration de l'intégration Hilo**
**La période de refroidissement avant la période d'appréciation doit être de 1 heures si désiré. Vous pouvez le mettre dans la configuration de l'intégration Hilo**

### Création d'un 'input_text'
Créez une entrée `input_text`, ceci va stocker la phase courante des défis.

* Juste ici pour la configuration: [![Open your Home Assistant instance and show your helper entities.](https://my.home-assistant.io/badges/helpers.svg)](https://my.home-assistant.io/redirect/helpers/)

Ajoutez un `sensor` dans le fichier de configuration avec ce code:

```yaml
template:
- sensor:
- name: Senseur de défi en cours
state: "{{ is_state('sensor.defi_hilo', ['appreciation','pre_heat','reduction']) }}"
```

Redémarrez Home Assistant pour que le `sensor` devienne disponible.
Allez dans les "helpers" pour la configuration: [![Open your Home Assistant instance and show your helper entities.](https://my.home-assistant.io/badges/helpers.svg)](https://my.home-assistant.io/redirect/helpers/)
Choisissez "Text", donnez-lui un nom unique comme "text defi en cours" sans autre option et appuyé sur "create".

### Installation des "Blueprints"
Installez les blueprints avec ces liens:

* Entité de référence: [![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fraw.githubusercontent.com%2FEradash%2Fha-hilo-blueprints%2Fmain%2Fdefis_entite_reference.yaml)
Expand All @@ -33,10 +29,17 @@ Installez les blueprints avec ces liens:

Si vous voulez améliorer, gênez-vous pas! Présentement, j'aimerais ajouter une manière de mieux contrôller une thermopompe, pour réduire les coûts liés au pré-chauffage. Cela doit être configurable avec une valeur limite de température extérieure.

**Contributeurs:**

* @arim215
* @jrobichaud
* @jpbaril

## À faire:

La liste n'est pas complète, si vous avez des idées, envoyez une Pull Request ;)
La liste n'est pas complète, si vous avez des idées, envoyez une Pull Request ;)

* Combiner les 2 blueprints en 1 seul et simplifier le code
* Ajouter des Blueprints pour des notifications avec des estimés et des résultats
* Compléter le README avec les détails sur comment les automatisations sont configurées
* Ajouter une manière de contrôler la charge d'un véhicule électrique durant les défis
31 changes: 21 additions & 10 deletions defis_automatiques.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,17 @@ blueprint:
domain: switch
multiple: true

bool_ref:
name: Défis seulement ou Défis et Appréciations
description: Désactive les autres équipements durant les défis seulement (False) ou durant les défis ET les phases d'appréciation de référence (True)
default: False
bool_ref_water_heater:
name: Chauffe eau - Défis seulement ou Refroidissment et Défis
description: Désactive le chauffe eaux durant les défis seulement (False) ou désactiver durant la phase de refroidissement, puis réactivation durant la phase d'appréciation avec de désactiver pour les défis (True)
default: false
selector:
boolean:

bool_ref_other:
name: Autres Équipements - Défis seulement ou Refroidissment et Défis
description: Désactive les autres équipements durant les défis seulement (False) ou désactiver durant la phase de refroidissement, puis réactivation durant la phase d'appréciation avec de désactiver pour les défis (True)
default: false
selector:
boolean:

Expand Down Expand Up @@ -140,6 +147,8 @@ trigger:
variables:
water_heater: !input water_heater
other_devices: !input other_devices
bool_ref_water_heater: !input bool_ref_water_heater
bool_ref_other: !input bool_ref_other
challenge_am: !input challenge_am
challenge_pm: !input challenge_pm

Expand Down Expand Up @@ -211,23 +220,25 @@ action:
- conditions:
condition: state
entity_id: !input challenge_entity
state: cooling
state: pre_cold
sequence:
- service: climate.set_temperature
data:
temperature: !input cooling_temp
target:
entity_id: !input thermostats
- choose:
- conditions: "{{ water_heater|length > 0 }}"
- conditions:
- "{{ water_heater|length > 0 }}"
- "{{ bool_ref_water_heater | bool }}"
sequence:
- service: switch.turn_off
target:
entity_id: !input water_heater
- choose:
- conditions:
- "{{ other_devices|length > 0 }}"
- "{{ bool_ref == True }}"
- "{{ bool_ref_other | bool }}"
sequence:
- service: switch.turn_off
target:
Expand All @@ -236,7 +247,7 @@ action:
- conditions:
condition: state
entity_id: !input challenge_entity
state: ref_challenge
state: ref_reduction
sequence:
- service: climate.set_temperature
data:
Expand All @@ -259,7 +270,7 @@ action:
- conditions:
condition: state
entity_id: !input challenge_entity
state: challenge
state: reduction
sequence:
- service: climate.set_temperature
data:
Expand All @@ -282,7 +293,7 @@ action:
- conditions:
condition: state
entity_id: !input challenge_entity
state: preheat
state: pre_heat
sequence:
- service: climate.set_temperature
data:
Expand Down
146 changes: 55 additions & 91 deletions defis_entite_reference.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,44 +11,29 @@ blueprint:
entity:
domain: input_text

challenge_in_progress:
name: Défi en cour
description: Senseur créé dans le fichier de configuration
selector:
entity:
domain: sensor

default_challenge_entity:
name: Entité de défi par défaut de l'intégration (pour la phase de refroidissement)
selector:
selector:
entity:
domain: sensor

keep_pre_heat:
name: Garder le pré-chauffage
description: Garder la température haute entre l'appréciation et la réduction
do_pre_heat:
name: Activer le pré-chauffage
description: Pré-chauffer avant la réduction (équivalent au pré-chauffage de l'appli Hilo)
default: true
selector:
boolean:

cooling_phase:
name: Phase de refroidissement
description: Inclure une phase de refroidissement avant l'appréciation
default: false
selector:
boolean:

trigger:
- platform: time_pattern
minutes: /1

variables:
keep_pre_heat: !input keep_pre_heat
cooling_phase: !input cooling_phase
do_pre_heat: !input do_pre_heat

action:
- choose:
# Verification de la periode d'appreciation (doit etre configurer pour un max de 3h dans l'intégration de Hilo)
- conditions:
- condition: or
conditions:
Expand All @@ -62,49 +47,41 @@ action:
- choose:
- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "False"
sequence:
- service: input_text.set_value
data:
value: ref_appreciation
target:
entity_id: !input challenge_entity

- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "True"
entity_id: !input default_challenge_entity
state: "appreciation"
sequence:
- service: input_text.set_value
data:
value: appreciation
target:
entity_id: !input challenge_entity

default:
- service: input_text.set_value
data:
value: ref_appreciation
target:
entity_id: !input challenge_entity

# Verification pour la periode de refroidissement avant l'appreciation (doit etre configuré pour un max de 1h dans l'intégration de Hilo)
- conditions:
- condition: or
conditions:
- condition: time
after: "00:30:00"
after: "00:00:00"
before: "01:00:00"
- condition: time
after: "11:30:00"
after: "11:00:00"
before: "12:00:00"
sequence:
- choose:
- conditions:
- condition: and
conditions:
- condition: state
entity_id: !input default_challenge_entity
state: scheduled
- condition: template
value_template: "{{ cooling_phase}}"
- condition: state
entity_id: !input default_challenge_entity
state: "pre_cold"
sequence:
- service: input_text.set_value
data:
value: cooling
value: pre_cold
target:
entity_id: !input challenge_entity
default:
Expand All @@ -114,6 +91,7 @@ action:
target:
entity_id: !input challenge_entity

# Verification de defis en cours (reduction)
- conditions:
- condition: or
conditions:
Expand All @@ -127,66 +105,52 @@ action:
- choose:
- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "False"
sequence:
- service: input_text.set_value
data:
value: ref_challenge
target:
entity_id: !input challenge_entity
- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "True"
entity_id: !input default_challenge_entity
state: "reduction"
sequence:
- service: input_text.set_value
data:
value: challenge
value: reduction
target:
entity_id: !input challenge_entity

default:
- service: input_text.set_value
data:
value: ref_reduction
target:
entity_id: !input challenge_entity

# Verification de Pre_heat avant la reduction SI do_pre_heat est activé
- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "True"
- condition: or
conditions:
- condition: time
after: "05:00:00"
after: "04:00:00"
before: "06:00:00"
- condition: time
after: "16:00:00"
after: "15:00:00"
before: "17:00:00"
sequence:
- service: input_text.set_value
data:
value: preheat
target:
entity_id: !input challenge_entity

- conditions:
- condition: state
entity_id: !input challenge_in_progress
state: "True"
- condition: and
conditions:
- condition: template
value_template: "{{ keep_pre_heat}}"
- condition: or
conditions:
- condition: time
after: "04:00:00"
before: "05:00:00"
- condition: time
after: "15:00:00"
before: "16:00:00"
sequence:
- service: input_text.set_value
data:
value: preheat
target:
entity_id: !input challenge_entity
- choose:
- conditions:
- condition: state
entity_id: !input default_challenge_entity
state: "pre_heat"
- condition: template
value_template: "{{ do_pre_heat | bool }}"
sequence:
- service: input_text.set_value
data:
value: pre_heat
target:
entity_id: !input challenge_entity
default:
- service: input_text.set_value
data:
value: normal
target:
entity_id: !input challenge_entity


default:
- service: input_text.set_value
Expand Down