-
-
Notifications
You must be signed in to change notification settings - Fork 44
Utilisation
Cette section inclus des exemples d'utilisation de l'intégration. Le projet ne supporte pas ces exemples, il devrait vous servir de base pour construire ou vous donner des idées. Si vous avez besoin d'aide, veuillez utiliser le forum de HA ou cette discussion
Les exemples qui ont un requis particulier de type "custom:*" nécessite d'installer ces composant. Soit via HACS ou via la méthode manuelle.
Requis particulier:
- custom:paper-buttons-row
Contributeur:
Capture d'écran
Capture d'écran énergie lovelace
yaml Code
- type: vertical-stack
cards:
- type: custom:paper-buttons-row
buttons:
- type: entity
entity: sensor.hilo_gateway
name: false
action: none
state: false
state_styles:
'on':
button:
color: green
'off':
button:
color: red
- type: entity
entity: sensor.defi_hilo
state: false
action: none
state_styles:
'on':
button:
color: red
scheduled:
button:
color: yellow
pre_heat:
button:
color: red
recovery:
button:
color: blue
'off':
button:
color: green
- type: entity
entity: sensor.meter00_power
name: false
layout: icon|state
action: none
state: '{{ states(config.entity) }}'
icon: mdi:speedometer
style:
button:
color: |-
{% if states(config.entity) | int > 1000 %}
yellow
{% elif states(config.entity) | int > 1500 %}
orange
{% elif states(config.entity) | int > 2000 %}
red
{% else%}
green
{% endif %}
- type: entity
entity: sensor.hilo_rate_current
name: false
layout: icon|state
action: none
state: '{{ states(config.entity) }}'
style:
button:
color: |-
{% if states(config.entity) | float > 0.07 %}
yellow
{% elif states(config.entity) | float > 0.1 %}
red
{% else%}
green
{% endif %}
- type: energy-date-selection
- type: energy-sources-table
- type: energy-usage-graph
- type: energy-distribution
link_dashboard: true
Requis particulier:
- custom:apexcharts-card
Contributeur:
Dans ce graphique, vous devrez ajuster les threshold selon votre consommation. Vous pouvez également ajuster la moyenne qui est fait au 5 minutes dans le group_by, duration.
Capture d'écran
Capture d'écran
yaml Code
type: custom:apexcharts-card
header:
show: true
show_states: true
experimental:
color_threshold: true
graph_span: 12h
all_series_config:
stroke_width: 4
yaxis:
- id: kwh
decimals: 0
apex_config:
tickAmount: 4
- id: degree
opposite: true
decimals: 0
apex_config:
tickAmount: 4
series:
- entity: sensor.meter00_power
yaxis_id: kwh
unit: W
type: column
color_threshold:
- value: 0
color: cyan
- value: 1000
color: green
- value: 1500
color: orange
- value: 2500
color: red
group_by:
duration: 5min
func: avg
- entity: sensor.temperature
yaxis_id: degree
name: Temperature
unit: °C
type: line
Requis particulier:
- custom:apexcharts-card
Contributeur:
Dans ce graphique, vous devrez ajuster les nom des title et entity. Vous pouvez également ajuster les couleurs des lignes et ajouter d'autres thermostat et ajoutant des sections "- type: custom:apexcharts-card".
Capture d'écran
Capture d'écran
yaml Code
- type: horizontal-stack
cards:
- type: custom:apexcharts-card
header:
show: true
title: Chambre principale
show_states: true
colorize_states: true
graph_span: 8h
cache: true
series:
- entity: climate.thermostat_chambre1
attribute: current_temperature
name: Temperature
color: red
fill_raw: last
- entity: climate.thermostat_chambre1
attribute: temperature
name: Consigne
fill_raw: last
- type: custom:apexcharts-card
header:
show: true
title: Chambre 2
show_states: true
colorize_states: true
graph_span: 8h
cache: true
series:
- entity: climate.thermostat_chambre2
attribute: current_temperature
name: Temperature
color: red
fill_raw: last
- entity: climate.thermostat_chambre2
attribute: temperature
name: Consigne
fill_raw: last
- type: custom:apexcharts-card
header:
show: true
title: Chambre 3
show_states: true
colorize_states: true
graph_span: 8h
cache: true
series:
- entity: climate.thermostat_chambre3
attribute: current_temperature
name: Temperature
color: red
fill_raw: last
- entity: climate.thermostat_chambre3
attribute: temperature
name: Consigne
fill_raw: last
Requis particulier:
- custom:auto-entities
Contributeur:
Ce graphique dynamique affiche TOUT les sensors qui ont le mot "power" dedans et qui affiche une consommation. S'ils tombent à 0, ils disparaissent de la liste. C'est intéressant pour voir pendant un défi si quelque chose ne fonctionne pas comme prévu.
Capture d'écran
Capture d'écran
yaml Code
- type: custom:auto-entities
card:
type: entities
title: Plus grand consommateur en temps réel
state_color: true
filter:
include:
- domain: sensor
entity_id: '*power*'
exclude:
- state: unavailable
- state: unknown
- state: '0'
- state: '0.0'
sort:
method: state
numeric: true
reverse: true
Requis particulier:
- Créer une scène y ajouter les thermostat et y configurer la consigne désiré sur chacun d'entre eux.
Contributeur:
But: Phase de pré-chauffage de manière à emmagasiner la chaleurs dans les pièces et augmenter le maximum pour le défi et ainsi maximiser la récompense.
Résumé de l'automatisme:
- Cet automatisme se déclenche à 4h am ou à 11h am.
- Il sera exécuté seulement si le sensor.defi_hilo a pour valeur scheduled, donc lorsqu'il n'y a pas de défi de prévu, il ne s'exécute pas.
- Lorsque la condition est satisfaite, une scène nommé "defi_hilo_preheat" sera appliqué
- Une commande est envoyé à un RM4Pro pour envoyer la commande IR(précédemment enregistré) à la thermopompe pour chauffer. La commande est répetté 3 fois avec un délais de 2 secondes car le IR n'est pas parfait et des animaux/personnes peuvent l'obstruer parfois.
Code YAML
alias: TEMP - PréHeat DÉFI Hil
description: ''
trigger:
- platform: time
at: '04:00'
- platform: time
at: '11:00'
condition:
- condition: state
entity_id: sensor.defi_hilo
state: scheduled
action:
- scene: scene.defi_hilo_preheat
- service: remote.send_command
target:
device_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
data:
device: thermopompe
command: heat25on
num_repeats: 3
delay_secs: 2
mode: single
Requis particulier:
- Créer une scène y ajouter les thermostat et y configurer la consigne désiré sur chacun d'entre eux. Ex. 16 degré
Contributeur:
But: Baisser les thermostats au maximum pendant la durée du défi
Résumé de l'automatisme:
- Cet automatisme se déclenche lorsque l'état du sensor.defi_hilo passe de pre_heat à reduction.
- Dans ce cas une scène nommé "defi_hilo_en_cours_extra_audacieux" sera appliqué.
- Une commande est envoyé à un RM4Pro pour envoyer la commande IR(précédemment enregistré) à la thermopompe pour s'arrêter. La commande est répetté 3 fois avec un délais de 2 secondes car le IR n'est pas parfait et des animaux/personnes peuvent l'obstruer parfois.
Code YAML
alias: TEMP - DÉFI Hilo en cours Extra audacieux
description: ''
trigger:
- platform: state
entity_id: sensor.defi_hilo
from: pre_heat
to: reduction
condition: []
action:
- scene: scene.defi_hilo_en_cours_extra_audacieux
- service: remote.send_command
target:
device_id: XXXXXXXXXXXXXXXXXXXX
data:
device: thermopompe
command: heat25off
num_repeats: 3
delay_secs: 2
mode: single
Requis particulier:
- Une version récente du component Hilo.
Contributeur:
Résumé du/des template: Créer plusieurs sensors par rapport au défi.
Les sensors suivant seront rendu disponible pour afficher dans des dashboard ou utilisé dans des automatisme:
- defi_hilo_in_progress
- defi_hilo_allowed_kwh
- defi_hilo_allowed_cash
- defi_hilo_used_kwh
- defi_hilo_used_cash
- defi_hilo_remaining_cash
- defi_hilo_predicted_cash
- defi_hilo_currentdefi_cash
Code YAML
sensor:
- platform: template
sensors:
defi_hilo_in_progress:
friendly_name: Défi Hilo en cours?
value_template: "{{ is_state('sensor.defi_hilo', 'appreciation') or is_state('sensor.defi_hilo', 'pre_heat') or is_state('sensor.defi_hilo', 'reduction') }}"
defi_hilo_allowed_kwh:
unit_of_measurement: "kWh"
friendly_name: Limite max defi
value_template: "{{ state_attr('sensor.defi_hilo', 'next_events')[0]['allowed_kWh'] }}"
defi_hilo_allowed_cash:
friendly_name: Montant max defi
unit_of_measurement: "$"
value_template: "{{ (state_attr('sensor.defi_hilo', 'next_events')[0]['allowed_kWh'] * 0.55) | round(2) }}"
defi_hilo_used_kwh:
friendly_name: kWh utilise defi
unit_of_measurement: "kWh"
value_template: "{{ state_attr('sensor.defi_hilo', 'next_events')[0]['used_kWh']}}"
defi_hilo_used_cash:
friendly_name: Montant utilise defi
unit_of_measurement: "$"
value_template: "{{ (state_attr('sensor.defi_hilo', 'next_events')[0]['used_kWh'] * 0.55) | round(2) }}"
defi_hilo_remaining_cash:
friendly_name: Montant restant defi
unit_of_measurement: "$"
value_template: "{{(( state_attr('sensor.defi_hilo', 'next_events')[0]['allowed_kWh'] - state_attr('sensor.defi_hilo', 'next_events')[0]['used_kWh']) * 0.55) | round(2) }}"
defi_hilo_predicted_cash:
friendly_name: Montant total predit defi
unit_of_measurement: "$"
value_template: >
{% set debutdefi = as_timestamp(state_attr('sensor.defi_hilo', 'next_events')[0]['phases']['reduction_start']) %}
{% set maintenant = (now().timestamp()) %}
{% set delta = ((maintenant - debutdefi)) // 60 | float %}
{% if delta <= 0 %}
{% set delta = 1 %}
{%endif %}
{% if delta >= 240 %}
{% set delta = 240 %}
{%endif %}
{%set predicteduse = (1/(delta/ 240 )) * float(states('sensor.defi_hilo_used_kwh'),0) %}
{{((float(states('sensor.defi_hilo_allowed_kwh'),0) - predicteduse) * 0.55) | round(2) }}
defi_hilo_currentdefi_cash:
friendly_name: Montant accumule estime defi
unit_of_measurement: "$"
value_template: >
{% set debutdefi = as_timestamp(state_attr('sensor.defi_hilo', 'next_events')[0]['phases']['reduction_start']) %}
{% set maintenant = (now().timestamp()) %}
{% set delta = ((maintenant - debutdefi) // 60) +1 | int %}
{% if delta <= 0 %}
{% set delta = 1 %}
{%endif %}
{% if delta >= 240 %}
{% set delta = 240 %}
{%endif %}
{{ (delta/ 240 * ((float(states('sensor.defi_hilo_allowed_kwh'),0) - ((1/(delta/ 240 ) * float(states('sensor.defi_hilo_used_kwh'),0)))) * 0.55)) | round(2) }}
Bien que vous recevrez quand même vos récompenses d'Hilo lorsque vous gérez vous même chacune des phases, c'est important de considérer les faits suivants:
- Hydro-Québec exige une courbe de consommation de la part d'Hilo. Cette courbe inclue le pré-chauffage graduel et le retour graduel.
- En ce moment, les récompenses sont uniquement attribuées en fonction du nombre de kWh utilisés lors de la phase de restriction.
- Par contre, Les ingénieurs d'Hilo travaillent actuellement sur un algorithme pour que les récompenses soient attribuées en fonction de la courbe, en incluant la phase de pré-chauffage et la phase de retour.
- C'est possible que la méthode Hilo ne soit pas optimale pour vos besoins. Grâce à cette intégration Home Assistant, vous pouvez l'adapter aux besoins de votre foyer.
En gros, Hilo est au courant qui a des gens qui adaptent la courbe selon leur besoin, et c'est possible qu'ils changent le format des récompenses.