Alternativa à Integração ERSE usando HELPERS e TEMPLATE

Para eu ver qual a tarifa activa eu uso cores.

Captura de ecrã 2024-10-03 144613

Como nao estás a usar isso ligeiramente diferente nao sei se vai dar certo, mas toma lá.
Tenho isso dentro de um card horizontal, por isso podes ter que vir a precisar de ajustar os espaços para ficar certinho.

  - type: custom:mushroom-chips-card
    chips:
      - type: entity
        entity: sensor.preco_electricidade
        icon: mdi:currency-eur
        use_entity_picture: false
        content_info: none
      - type: entity
        entity: sensor.grid_power
        icon: mdi:transmission-tower-import
    alignment: center
    card_mod:
      style: |
        ha-card {
          {% if states('sensor.preco_electricidade') > '0.25' %}
            --card-mod-icon-color: #f5274d; #red
          {% elif states('sensor.preco_electricidade') > '0.17' %}
            --card-mod-icon-color: #f2c700; #yellow
          {% elif states('sensor.preco_electricidade') > '0.10' %}
            --card-mod-icon-color: #56b32e; #green
          {% endif %}
        }

Tens q ter o card-mod

O que é o sensor.grid_power ?

É o sensor que me diz o que estou a usar da EDA, e ele muda de cor consoante o tarifário em vigor a essa hora, vermelho Ponta, amarelo Cheio, verde Vazio :slight_smile:

Captura de ecrã 2024-10-03 144613

Boa … podes me dar o código deste sensor ?

Não posso dar código, pk é efetivamente um sensor fisico (https://shelly.pt/shelly-em/) :stuck_out_tongue:

Haa, ok ok, estas a usar o Shelly EM … tenho vários shelly tambem, mas uso os PM … para consumo da casa em Geral vou utilizar o Emporia Vue, mas ainda estamos a refazer o quadro elétrico

Estas em Sao Miguel ? se sim, devo-te um cafe, manda o teu contato se quiseres !

Sou da Ilha Terceira :slight_smile:

estou ai na ilha dentro de 6 ou 7 semanas, havemos de combinar um copo.

fora de topico, onde compraste o Emporia Vue? já o experimentaste? tem integração local com o home assistant?

ola @Duarte_Santos

Comprei na Amazon (penso que na alemã), ja experimentei os plugs, e através da cloud deles funciona bem, mas ainda nao montei o Vue, pelo que vejo e possível o fazer com integração local pois tem um ESP32, precisa de um flash

https://digiblur.com/2024/03/14/emporia-vue-gen3-esp32-esphome-home-assistant/

está aqui um tutorial para flashar com o ESPhome o Gen3 se quiseres.

consegues mandar o link da amazon alemã onde viste Emporia Vue.
eu tentei comprei no site oficial mas só em taxas e portes são 150€.

Pois, estava a ver agora, não tem stock na Amazon do vue 2, mas parece que tem do 3

https://www.amazon.de/dp/B0D6X16RX1

Na verdade estou a pensar em encomendar o vue 3 e vender o 2, usam o mesmo chip, mas gosto sempre de ter a última versão

1 Curtiu

@Ruben_Tavares … desde o ultimo upgrade do HA, tens notado que as cores no chip-card nem sempre mudam ? (vermelho/laranja/verde) … fica no default ?

Às vezes isso acontece. Um refresh normalmente resolve.

usando a magia do AI, fiz um cartão para mostrar detalhes e poder mudar os preços como quiser

aqui esta e o codigo

type: vertical-stack
cards:
  - type: entities
    title: EDA Rate Schedule Status
    state_color: true
    entities:
      - entity: sensor.preco_electricidade_ai
        name: Current Price
        secondary_info: last-updated
      - entity: sensor.preco_electricidade_ai
        type: attribute
        attribute: period_type
        name: Current Period
      - type: custom:template-entity-row
        name: Next Change
        icon: mdi:clock-outline
        state: >
          {% set current_period = state_attr('sensor.preco_electricidade_ai',
          'period_type') %} {% set is_summer = now().month in [5, 6, 7, 8, 9,
          10] %} {% set season = 'verao' if is_summer else 'inverno' %} {% set
          schedule = 'schedule.eda_' ~ current_period ~ '_' ~ season %} {% set
          next = state_attr(schedule, 'next_event') | string %} {% if
          current_period == 'cheias' %}
            {% set next_hour = next.split(' ')[1].split(':')[0] | int %}
            {% set next_period = 'ponta' if next_hour >= 9 and next_hour < 22 else 'vazio' %}
          {% else %}
            {% set next_period = {
              'ponta': 'cheias',
              'vazio': 'cheias'
            }[current_period] %}
          {% endif %} {% if next %}
            {% set next_hour = next.split(' ')[1].split(':')[0] | int %}
            {% set next_min = next.split(' ')[1].split(':')[1] | int %}
            {% set current_hour = now().hour %}
            {% set current_min = now().minute %}
            {% set mins_until = (next_hour - current_hour) * 60 + (next_min - current_min) %}
            {% if mins_until > 0 %}
              {% set hours = (mins_until / 60) | int %}
              {% set mins = mins_until % 60 %}
              {% if hours > 0 %}
                {{hours}}h {{mins}}m to {{ next_period }}
              {% else %}
                {{mins}}m to {{ next_period }}
              {% endif %}
            {% else %}
              Changing soon to {{ next_period }}
            {% endif %}
          {% else %}
            No upcoming change
          {% endif %}
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Ponta
        icon: mdi:lightning-bolt
        layout: horizontal
        icon_color: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_ponta_' ~ ('verao' if is_summer else
          'inverno') %} {% if is_state(schedule, 'on') %}white{% else %}grey{%
          endif %}
        secondary: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_ponta_' ~ ('verao' if is_summer else
          'inverno') %} {% set next = state_attr(schedule, 'next_event') |
          string %} {% if next %}
            {% if is_state(schedule, 'on') %}
              Until {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% else %}
              At {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% endif %}
          {% endif %}
        fill_container: true
        card_mod:
          style: >
            {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %}

            {% set schedule = 'schedule.eda_ponta_' ~ ('verao' if is_summer else
            'inverno') %}

            ha-card {
              {% if is_state(schedule, 'on') %}
                background: rgba(255, 0, 0, 0.7);
              {% endif %}
            }
      - type: custom:mushroom-template-card
        primary: Cheias
        icon: mdi:lightning-bolt-outline
        layout: horizontal
        icon_color: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_cheias_' ~ ('verao' if is_summer else
          'inverno') %} {% if is_state(schedule, 'on') %}white{% else %}grey{%
          endif %}
        secondary: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_cheias_' ~ ('verao' if is_summer else
          'inverno') %} {% set next = state_attr(schedule, 'next_event') |
          string %} {% if next %}
            {% if is_state(schedule, 'on') %}
              Until {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% else %}
              At {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% endif %}
          {% endif %}
        fill_container: true
        card_mod:
          style: >
            {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %}

            {% set schedule = 'schedule.eda_cheias_' ~ ('verao' if is_summer
            else 'inverno') %}

            ha-card {
              {% if is_state(schedule, 'on') %}
                background: rgba(255, 165, 0, 0.7);
              {% endif %}
            }
      - type: custom:mushroom-template-card
        primary: Vazio
        icon: mdi:power-sleep
        layout: horizontal
        icon_color: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_vazio_' ~ ('verao' if is_summer else
          'inverno') %} {% if is_state(schedule, 'on') %}white{% else %}grey{%
          endif %}
        secondary: >-
          {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %} {% set
          schedule = 'schedule.eda_vazio_' ~ ('verao' if is_summer else
          'inverno') %} {% set next = state_attr(schedule, 'next_event') |
          string %} {% if next %}
            {% if is_state(schedule, 'on') %}
              Until {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% else %}
              At {{ next.split(' ')[1].split(':')[0] }}:{{ next.split(' ')[1].split(':')[1] }}
            {% endif %}
          {% endif %}
        fill_container: true
        card_mod:
          style: >
            {% set is_summer = now().month in [5, 6, 7, 8, 9, 10] %}

            {% set schedule = 'schedule.eda_vazio_' ~ ('verao' if is_summer else
            'inverno') %}

            ha-card {
              {% if is_state(schedule, 'on') %}
                background: rgba(0, 255, 0, 0.7);
              {% endif %}
            }
  - type: entities
    title: Current Rates
    entities:
      - entity: input_number.eda_preco_ponta
        name: Ponta Rate
      - entity: input_number.eda_preco_cheias
        name: Cheias Rate
      - entity: input_number.eda_preco_vazio
        name: Vazio Rate
      - entity: input_number.eda_tax_rate
        name: Tax Rate

2 Curtiram

Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade