Het Visualiseren van Stroomprijzen met Home Assistant en Card-Mod
Een Visuele Gids voor Home Assistant Lovelace Dashboards
Inleiding
Home Assistant is een geweldig platform voor het automatiseren en bewaken van je huis. Maar wat als je meer kleur aan je dashboard wilt toevoegen, vooral als het gaat om stroomprijzen? In dit artikel ga ik dieper in op hoe je de Card-Mod add-on uit de HACS winkel kunt gebruiken om je stroomprijsentiteiten op je Lovelace-dashboard op te fleuren.
In vorige artikelen heb ik al besproken hoe je actuele stroomprijzen kunt ophalen. Nu gaan we een stap verder: ik leg uit hoe je een dynamische kleurcodering kunt instellen voor deze prijzen. Hierdoor kun je in één oogopslag zien of het nu een goed moment is om veel stroom te gebruiken of dat je misschien beter even kunt wachten.
Installeren van de Card-Mod Add-On via HACS
Voordat we beginnen, moeten we eerst de Card-Mod add-on installeren via HACS (Home Assistant Community Store). Als je HACS nog niet hebt geïnstalleerd, raad ik je aan dit eerst te doen.
Ga naar het HACS-tabblad in je zijbalk van Home Assistant.
Zoek in de winkel naar 'Card-Mod' en klik erop.
Klik op de knop 'Installeren'.
Nadat de installatie is voltooid, moeten we Home Assistant opnieuw opstarten. Dit doe je door naar 'Configuratie' > 'Serverbeheer' > 'Herstart' te gaan.
YAML-Code voor het Aanpassen van de Entiteitenkaart
Nu komen we bij het leuke gedeelte: het daadwerkelijk instellen van de kleurcodering voor onze stroomprijzen. Hier is de YAML-code die je moet toevoegen aan je Lovelace-dashboard via een entiteitenkaart:
type: entities
entities:
- entity: sensor.entsoe_data_current_electricity_market_price
name: Huidige Prijs
card_mod:
style: >
{% set price = states('sensor.entsoe_data_current_electricity_market_price')|float %}
{% set min_price = states('sensor.entsoe_data_lowest_energy_price_today')|float %}
{% set max_price = states('sensor.entsoe_data_highest_energy_price_today')|float %}
{% set fifth = (max_price - min_price) / 5 %}
{% if price <= min_price + fifth %}
:host {
--card-mod-icon-color: #006400;
}
{% elif price <= min_price + 2 * fifth %}
:host {
--card-mod-icon-color: #32CD32;
}
{% elif price <= min_price + 3 * fifth %}
:host {
--card-mod-icon-color: #FFFF00;
}
{% elif price <= min_price + 4 * fifth %}
:host {
--card-mod-icon-color: #FFA500;
}
{% else %}
:host {
--card-mod-icon-color: #FF0000;
}
{% endif %}
- entity: sensor.entsoe_data_next_hour_electricity_market_price
icon: mdi:clock-fast
name: Volgend uur Prijs
card_mod:
style: >
{% set price = states('sensor.entsoe_data_next_hour_electricity_market_price')|float %}
{% set min_price = states('sensor.entsoe_data_lowest_energy_price_today')|float %}
{% set max_price = states('sensor.entsoe_data_highest_energy_price_today')|float %}
{% set fifth = (max_price - min_price) / 5 %}
{% if price <= min_price + fifth %}
:host {
--card-mod-icon-color: #006400;
}
{% elif price <= min_price + 2 * fifth %}
:host {
--card-mod-icon-color: #32CD32;
}
{% elif price <= min_price + 3 * fifth %}
:host {
--card-mod-icon-color: #FFFF00;
}
{% elif price <= min_price + 4 * fifth %}
:host {
--card-mod-icon-color: #FFA500;
}
{% else %}
:host {
--card-mod-icon-color: #FF0000;
}
{% endif %}
- entity: sensor.entsoe_data_lowest_energy_price_today
name: Laagste Prijs
icon: mdi:align-vertical-top
- entity: sensor.entsoe_data_highest_energy_price_today
icon: mdi:align-vertical-bottom
name: Hoogste Prijs
view_layout:
position: sidebar
title: Stroom prijzen inkoop
state_color: false
Uitleg van de Code
Nu volgt een uitleg van elk onderdeel van deze code:
Type en entiteiten: Dit zijn de basisparameters voor elke Lovelace-entiteitenkaart. Hiermee geef je aan wat voor soort kaart je wilt maken en welke entiteiten erin moeten verschijnen.
Sensor voor de huidige prijs: Deze sensor toont de huidige stroomprijs en gebruikt Card-Mod om de kleur van het icoon aan te passen op basis van de prijs.
Card-Mod-stijl: Dit is waar de magie gebeurt. De
style
parameter ondercard_mod
gebruikt een klein stukje Jinja2-templatecode om de kleur van het icoon dynamisch te veranderen.Berekeningen: We gebruiken de minimale en maximale stroomprijs van de dag om vijf verschillende kleurzones te creëren: van groen (goedkoop) tot rood (duur).
Conclusie
Met deze setup kun je gemakkelijk zien wanneer het een goed moment is om je wasmachine aan te zetten of juist even te wachten met stroomverbruikende activiteiten. Home Assistant en Card-Mod maken het niet alleen mogelijk om je huis slimmer te beheren, maar ook om dit op een visueel aantrekkelijke manier te doen.
Met een beetje creativiteit kun je dit model ook toepassen op andere sensoren en indicatoren in je huis. De mogelijkheden zijn eindeloos!
Bedankt voor het lezen en veel plezier met het inkleuren van je Home Assistant-dashboard!