# Como configurar o controlo de consumos elétricos (aplicação de tarifários)

**URL:** <https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177>\
**Category:** Tutoriais\
**Created:** [23 Abril , 2018 15:27 UTC](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177 "2018-04-23T15:27:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jpm](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/j/b487fb/32.png) [@jpm](https://forum.cpha.pt/u/jpm)\
**Post date:** [23 Abril , 2018 15:27 UTC](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177/1 "2018-04-23T15:27:45Z")

</div>

Numa altura em que muitos andam a tentar controlar os consumos deixo-vos aqui algumas variaveis que tenho criadas (eventualmente demasiadas para alguns) e que me permitem controlar o consumo na minha casa.

Gostaria de salientar que tenho um tarifario bi-horario semanal por isso tenho varios ciclos dependendo do dia da semana:

#A parte basica: variaveis com o valor das rates (idealmente a ir buscar a um site que até ja encontrei)

```
input_number:
  edp_eco_rate:
    name: EDPTarifa Vazio
    initial: 0.0969
    min: 0.0969
    max: 0.0979
    step: 0.001
    mode: box
    unit_of_measurement: '€'
    icon: mdi:currency-eur
  edp_full_rate:
    name: EDP Tarifa Cheio
    initial: 0.2029
    min: 0.2029
    max: 0.2039
    step: 0.001
    mode: box
    unit_of_measurement: '€'
    icon: mdi:currency-eur

```

#Variaveis com os multiplos horarios

```
input_datetime:
  economico_semana_ligar:
    name: Ligar Semana
    has_date: false
    has_time: true
    initial: '00:00:00'
  economico_semana_desligar:
    name: Desligar Semana
    has_date: false
    has_time: true
    initial: '06:59:00'
  economico_sab_on_verao_00:
    name: Ligar Sabado verão 01
    has_date: false
    has_time: true
    initial: '00:00:00'
  economico_sab_on_verao_01:
    name: Ligar Sabado verão 02
    has_date: false
    has_time: true
    initial: '14:00:00'
  economico_sab_on_verao_02:
    name: Ligar Sabado verão 03
    has_date: false
    has_time: true
    initial: '22:00:00'
  economico_sab_off_verao_00:
    name: Desligar Sabado verão 01
    has_date: false
    has_time: true
    initial: '09:00:00'
  economico_sab_off_verao_01:
    name: Desligar Sabado verão 02
    has_date: false
    has_time: true
    initial: '20:00:00'
  economico_sab_on_inverno_00:
    name: Ligar Sabado Inverno 01
    has_date: false
    has_time: true
    initial: '00:00:00'
  economico_sab_on_inverno_01:
    name: Ligar Sabado Inverno 02
    has_date: false
    has_time: true
    initial: '13:00:00'
  economico_sab_on_inverno_02:
    name: Ligar Sabado Inverno 03
    has_date: false
    has_time: true
    initial: '22:00:00'
  economico_sab_off_inverno_00:
    name: Desligar Sabado Inverno 01
    has_date: false
    has_time: true
    initial: '09:30:00'
  economico_sab_off_inverno_01:
    name: Desligar Sabado Inverno 02
    has_date: false
    has_time: true
    initial: '18:30:00'

```

#Só porque não gosto de mexer em codigo especialmente quando é algo recorrente:

```
 input_select:   
    summer_time:
     name: Summer Time
     options:
      - verao
      - inverno

```

#Parte do codigo esparguete pois tenho tantas ideias para por em pratica que preocupo-me com as optimizações mais tarde, contudo peço a quem queira melhorar que não só o faça como partilhe:  
#Estamos em horario económico?

```
binary_sensor:
  - platform: template
    sensors:
      is_edp_eco_rate:
        value_template: >-
         {%- if now().weekday() in (0,1,2,3,4) and states('sensor.time') >= (states.input_datetime.economico_semana_ligar.attributes.timestamp | int | timestamp_custom('%H:%M', False)) and states('sensor.time') < (states.input_datetime.economico_semana_desligar.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "verao") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_verao_00.attributes.timestamp | int | timestamp_custom('%H:%M', False)) and states('sensor.time') < (states.input_datetime.economico_sab_off_verao_00.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "verao") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_verao_01.attributes.timestamp | int | timestamp_custom('%H:%M', False)) and states('sensor.time') < (states.input_datetime.economico_sab_off_verao_01.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "verao") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_verao_02.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "inverno") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_inverno_00.attributes.timestamp | int | timestamp_custom('%H:%M', False)) and states('sensor.time') < (states.input_datetime.economico_sab_off_inverno_00.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "inverno") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_inverno_01.attributes.timestamp | int | timestamp_custom('%H:%M', False)) and states('sensor.time') < (states.input_datetime.economico_sab_off_inverno_01.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif is_state("input_select.summer_time", "inverno") and now().weekday() == 5 and states('sensor.time') >= (states.input_datetime.economico_sab_on_inverno_02.attributes.timestamp | int | timestamp_custom('%H:%M', False)) -%} 
           true
         {%- elif now().weekday() == 6 -%} 
           true
         {%- else -%}
           false
         {%- endif -%}
        friendly_name: 'EDP horario Económico'
        entity_id: sensor.time

```

#Como usar? “Simples”

```
    - platform: template 
      sensors:
        edp_realtime_price_frigorifico:
          friendly_name: 'Frigorifico Spending'
          unit_of_measurement: '€/h'
          value_template: >-
           {% if is_state("binary_sensor.is_edp_eco_rate", "on") -%}
             {{ ((states.sensor.edp_plug_frigorifico_power.state | float / 1000 * states.input_number.edp_eco_rate.attributes.min)) | round(3) }}
           {%- else -%}
            {{ ((states.sensor.edp_plug_frigorifico_power.state | float / 1000 * states.input_number.edp_full_rate.attributes.min)) | round(3) }}
           {%- endif %}
```

---

<div class="post-metadata">

**Author:** ![j\_assuncao](https://forum.cpha.pt/user_avatar/forum.cpha.pt/j_assuncao/32/3_2.png) [@j\_assuncao](https://forum.cpha.pt/u/j_assuncao)\
**Post date:** [4 Maio , 2018 12:00 UTC](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177/2 "2018-05-04T12:00:39Z")

</div>

9 mensagens foram unidas em um tópico existente: [Como configurar o controlo de consumos eléctricos (aplicação de tarifários)](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-electricos-aplicacao-de-tarifarios/307/2)

---

<div class="post-metadata">

**Author:** ![system](https://forum.cpha.pt/user_avatar/forum.cpha.pt/system/32/2_2.png) [@system](https://forum.cpha.pt/u/system)\
**Post date:** [4 Maio , 2018 12:01 UTC](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177/3 "2018-05-04T12:01:32Z")

</div>

Para comentar este tópico, por favor utilizem o tópico abaixo.

> [@Como configurar o controlo de consumos eléctricos (aplicação de tarifários)](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-electricos-aplicacao-de-tarifarios/307):
>
> [https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-electricos-aplicacao-de-tarifarios/177](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-electricos-aplicacao-de-tarifarios/177)

---

<div class="post-metadata">

**Author:** ![j\_assuncao](https://forum.cpha.pt/user_avatar/forum.cpha.pt/j_assuncao/32/3_2.png) [@j\_assuncao](https://forum.cpha.pt/u/j_assuncao)\
**Post date:** [4 Maio , 2018 12:01 UTC](https://forum.cpha.pt/t/como-configurar-o-controlo-de-consumos-eletricos-aplicacao-de-tarifarios/177/4 "2018-05-04T12:01:36Z")

</div>


