Home Assistant: Wie du HA auf deinem Raspberry PI 4 oder PI 5 installierst ( unter 4 Min)

Dieses Video ist ein Teil meiner neuen Basics Reihe. Hier zeige ich dir in kurzen und kompakten Schritten, wie du Home Assistant auf deinem Raspberry Pi bringst. Egal ob Pi4 oder Pi5.

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

In meinem Shop findest du neben dem Raspberry Pi4 und Pi5 auch weitere interessante Produkte *

Links:

Installation – Home Assistant (home-assistant.io)

Home Assistant in Aktion: Anwesenheitssimulation leicht gemacht. Auch für Einsteiger !

Erlebe die Zukunft des Wohnens mit Home Assistant! Entdecke, wie du spielend leicht eine überzeugende Anwesenheitssimulation erstellst – perfekt auch für Neueinsteiger. Tauche ein in die Welt der DIY-Hausautomatisierung und sichere dein Zuhause mit innovativer Technologie.

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

In meinem Shop findest du interessante Produkte *

Hier findest du meine Beispielautomatisierung:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alias: Video_Präsenzsimulation_Urlaub
description: ""
trigger:
- platform: sun
event: sunset
offset: "-00:30:00"
condition: []
action:
- repeat:
sequence:
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lichtergruppe1
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_on
metadata: {}
data_template:
entity_id: |
{{ state_attr('light.lichtergruppe1','entity_id') | random }}
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lichtergruppe2
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_on
metadata: {}
data_template:
entity_id: |
{{ state_attr('light.lichtergruppe2','entity_id') | random }}
while:
- condition: and
conditions:
- condition: time
before: "23:00:00"
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
- if:
- condition: or
conditions:
- condition: trigger
id:
- Urlaub ist beendet
- condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus
conditions:
- condition: trigger
id:
- Es wird nun geschlafen
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
then:
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id:
- light.lichtergruppe1
- light.lichtergruppe2
mode: single
alias: Video_Präsenzsimulation_Urlaub description: "" trigger: - platform: sun event: sunset offset: "-00:30:00" condition: [] action: - repeat: sequence: - service: light.turn_off metadata: {} data: {} target: entity_id: light.lichtergruppe1 - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_on metadata: {} data_template: entity_id: | {{ state_attr('light.lichtergruppe1','entity_id') | random }} - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_off metadata: {} data: {} target: entity_id: light.lichtergruppe2 - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_on metadata: {} data_template: entity_id: | {{ state_attr('light.lichtergruppe2','entity_id') | random }} while: - condition: and conditions: - condition: time before: "23:00:00" - condition: state entity_id: input_boolean.urlaubsmodus state: "on" - if: - condition: or conditions: - condition: trigger id: - Urlaub ist beendet - condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus conditions: - condition: trigger id: - Es wird nun geschlafen - condition: state entity_id: input_boolean.urlaubsmodus state: "on" then: - service: light.turn_off metadata: {} data: {} target: entity_id: - light.lichtergruppe1 - light.lichtergruppe2 mode: single
alias: Video_Präsenzsimulation_Urlaub
description: ""
trigger:
  - platform: sun
    event: sunset
    offset: "-00:30:00"
condition: []
action:
  - repeat:
      sequence:
        - service: light.turn_off
          metadata: {}
          data: {}
          target:
            entity_id: light.lichtergruppe1
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_on
          metadata: {}
          data_template:
            entity_id: |
              {{ state_attr('light.lichtergruppe1','entity_id') | random }}
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_off
          metadata: {}
          data: {}
          target:
            entity_id: light.lichtergruppe2
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_on
          metadata: {}
          data_template:
            entity_id: |
              {{ state_attr('light.lichtergruppe2','entity_id') | random }}
      while:
        - condition: and
          conditions:
            - condition: time
              before: "23:00:00"
            - condition: state
              entity_id: input_boolean.urlaubsmodus
              state: "on"
  - if:
      - condition: or
        conditions:
          - condition: trigger
            id:
              - Urlaub ist beendet
          - condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus
            conditions:
              - condition: trigger
                id:
                  - Es wird nun geschlafen
              - condition: state
                entity_id: input_boolean.urlaubsmodus
                state: "on"
    then:
      - service: light.turn_off
        metadata: {}
        data: {}
        target:
          entity_id:
            - light.lichtergruppe1
            - light.lichtergruppe2
mode: single

Möchte man die Automatisierung direkt beenden, wenn z.B. 23:00 Uhr ist , oder der Urlaubsmodus beendet wird, dann kann man die Automatisierung in den Modus „Neustart“ setzen.

Hier ein Beispiel dazu:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alias: Video_Präsenzsimulation_Urlaub
description: ""
trigger:
- platform: sun
event: sunset
offset: "-00:30:00"
- platform: state
entity_id:
- input_boolean.urlaubsmodus
to: "off"
id: Urlaub ist beendet
- platform: time
at: "23:00:00"
id: Es ist 23 Uhr
condition: []
action:
- repeat:
sequence:
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lichtergruppe1
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_on
metadata: {}
data_template:
entity_id: |
{{ state_attr('light.lichtergruppe1','entity_id') | random }}
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lichtergruppe2
- delay:
minutes: "{{ range(2,5) | random }}"
- service: light.turn_on
metadata: {}
data_template:
entity_id: |
{{ state_attr('light.lichtergruppe2','entity_id') | random }}
while:
- condition: and
conditions:
- condition: time
before: "23:00:00"
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
- if:
- condition: or
conditions:
- condition: trigger
id:
- Urlaub ist beendet
- condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus
conditions:
- condition: trigger
id:
- Es wird nun geschlafen
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
then:
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id:
- light.lichtergruppe1
- light.lichtergruppe2
mode: restart
alias: Video_Präsenzsimulation_Urlaub description: "" trigger: - platform: sun event: sunset offset: "-00:30:00" - platform: state entity_id: - input_boolean.urlaubsmodus to: "off" id: Urlaub ist beendet - platform: time at: "23:00:00" id: Es ist 23 Uhr condition: [] action: - repeat: sequence: - service: light.turn_off metadata: {} data: {} target: entity_id: light.lichtergruppe1 - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_on metadata: {} data_template: entity_id: | {{ state_attr('light.lichtergruppe1','entity_id') | random }} - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_off metadata: {} data: {} target: entity_id: light.lichtergruppe2 - delay: minutes: "{{ range(2,5) | random }}" - service: light.turn_on metadata: {} data_template: entity_id: | {{ state_attr('light.lichtergruppe2','entity_id') | random }} while: - condition: and conditions: - condition: time before: "23:00:00" - condition: state entity_id: input_boolean.urlaubsmodus state: "on" - if: - condition: or conditions: - condition: trigger id: - Urlaub ist beendet - condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus conditions: - condition: trigger id: - Es wird nun geschlafen - condition: state entity_id: input_boolean.urlaubsmodus state: "on" then: - service: light.turn_off metadata: {} data: {} target: entity_id: - light.lichtergruppe1 - light.lichtergruppe2 mode: restart
alias: Video_Präsenzsimulation_Urlaub
description: ""
trigger:
  - platform: sun
    event: sunset
    offset: "-00:30:00"
  - platform: state
    entity_id:
      - input_boolean.urlaubsmodus
    to: "off"
    id: Urlaub ist beendet
  - platform: time
    at: "23:00:00"
    id: Es ist 23 Uhr
condition: []
action:
  - repeat:
      sequence:
        - service: light.turn_off
          metadata: {}
          data: {}
          target:
            entity_id: light.lichtergruppe1
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_on
          metadata: {}
          data_template:
            entity_id: |
              {{ state_attr('light.lichtergruppe1','entity_id') | random }}
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_off
          metadata: {}
          data: {}
          target:
            entity_id: light.lichtergruppe2
        - delay:
            minutes: "{{ range(2,5) | random }}"
        - service: light.turn_on
          metadata: {}
          data_template:
            entity_id: |
              {{ state_attr('light.lichtergruppe2','entity_id') | random }}
      while:
        - condition: and
          conditions:
            - condition: time
              before: "23:00:00"
            - condition: state
              entity_id: input_boolean.urlaubsmodus
              state: "on"
  - if:
      - condition: or
        conditions:
          - condition: trigger
            id:
              - Urlaub ist beendet
          - condition: and # im Video fehlte diese logische & Verknüpfung mit dem Zustand des Urlaubsmodus
            conditions:
              - condition: trigger
                id:
                  - Es wird nun geschlafen
              - condition: state
                entity_id: input_boolean.urlaubsmodus
                state: "on"
    then:
      - service: light.turn_off
        metadata: {}
        data: {}
        target:
          entity_id:
            - light.lichtergruppe1
            - light.lichtergruppe2
mode: restart

Wie du HACS installierst um die Integration von Simon zu nutzen, findest zu hier:

YouTube player

Simon vom Kanal Simon42 hat die HACS Integration Presence Simulation vorgestellt. Vielleicht eine alternative Lösung für Euch.

YouTube player

Home Assistant: Die Zukunft enthüllen: Prognosedaten ohne Grafana visualisieren!

Willst du der Zukunft einen Schritt voraus sein? Dann ist jetzt deine Gelegenheit! Mit Home Assistant und der Apex Chart Card kannst du tiefer in die Welt der Prognosedaten eintauchen – und das alles ohne Grafana! Keine langwierigen Konfigurationen mehr, keine Grafiken, die dich überfordern. Nur klare, präzise Vorhersagen direkt in deinem Smart-Home-Setup. Entdecke die mächtige Kombination von Technologie und Vorhersage und gestalte deine Zukunft – einfacher als je zuvor. Verpasse nicht diese Chance, deinen Alltag zu revolutionieren und dich an die Spitze zu katapultieren!

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

ACHTUNG: Für alle, die die Solcast Solar Integration verwendet haben eine wichtige Information. Die Integration wurde vom Entwickler von GitHub gelöscht. D.h. sie steht zum jetzigen Zeitpunkt 04.06.2024 nicht mehr zur Verfügung. Dieses Video kann allerdings genauso Forecastdaten anderer Integrationen verwenden. Wenn Interesse besteht, kann ich gerne bei Gelegenheit die Beispiele auf eine alternative Variante anpassen. Gebt mir dazu in meinen Kommentaren eine kurze Rückmeldung. Wenn genügend Meldungen existieren, werde ich die Beispiele auf einen anderen Forecastdienst verändern.

Wie du Forecast Daten z.B. von Solcast verarbeitest , wird im Video erläutert. Neben Solcast Forecast Daten ist es auch möglich sich Wetterforecast Daten zu generieren. Ab der Version Home Assistant 2024.3 hat sich einiges im Umgang mit Forecast Informationen bei Wetterdaten geändert. Wie man sich mit der neuen Variante einen Template Sensor erstellt, hat Simon vom Kanal Simon42 an einigen Beispielen erläutert.

YouTube player
In diesem Video wird auf die Erstellung von Forecast Daten nach der neuen Variante eingegangen und Code -Beispiele erläutert, die als Basis für einen Wetterforecast Template dienen können. Die Daten müssten noch für einen Forecast mit einem Stundenraster innerhalb von 24h aufbereitet werden. Aber alle nötigen Basics dazu werden in diesem Video vermittelt.

Weiterführende Infos und auch den dazugehörigen YAML Code, findet ihr auf seiner Blog-Seite: https://www.simon42.com/home-assistan…

Um ApexCharts Card zu nutzen, benötigt ihr HACS. Hier findet ihr einige Videos, die euch den Einrichtungsprozess erläutern:

YouTube player
YouTube player
Kanal von: Simon42 – HACS Installation
YouTube player
Kanal von : SteuerdeinLeben – HACS Installation

Hier findet ihr die Blogseite von SteuerdeinLeben-Blog

ApexCharts-Kartenkonfiguration – Code – Snippet

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: custom:apexcharts-card
apex_config:
chart:
height: 400px
all_series_config:
unit: kWh
header:
title: Solar Forecast
show: true
standard_format: true
show_states: true
colorize_states: true
graph_span: 2d
span:
start: day
offset: '+0'
now:
show: true
label: Jetzt
yaxis:
- id: kwh
min: 0
apex_config:
tickAmount: 5
- id: header
show: false
series:
- entity: sensor.solcast_pv_forecast_prognose_heute
yaxis_id: kwh
type: line
name: Forecast heute
color: yellow
data_generator: |
return entity.attributes.detailedForecast.map((start, index) => {
return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]];
});
show:
legend_value: false
in_header: false
stroke_width: 4
float_precision: 2
extend_to: false
- entity: sensor.evcc_pv_power
transform: return x / 1000.00
yaxis_id: kwh
type: area
name: PV
color: green
show:
legend_value: false
in_header: false
stroke_width: 2
float_precision: 2
extend_to: false
group_by:
func: avg
- entity: sensor.solcast_pv_forecast_prognose_morgen
yaxis_id: kwh
type: line
name: Forecast morgen
color: yellow
data_generator: |
return entity.attributes.detailedForecast.map((start, index) => {
return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]];
});
show:
legend_value: false
in_header: false
stroke_width: 4
float_precision: 2
extend_to: false
- entity: sensor.solcast_pv_forecast_prognose_heute
yaxis_id: header
name: Heute
color: orange
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute
yaxis_id: header
name: Verbleibend
color: orange
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.solcast_pv_forecast_prognose_morgen
yaxis_id: header
name: Morgen
color: grey
show:
legend_value: true
in_header: true
in_chart: false
- entity: sensor.sum_evcc_pv_energie_heute
yaxis_id: header
name: PV heute
color: green
show:
legend_value: true
in_header: true
in_chart: false
type: custom:apexcharts-card apex_config: chart: height: 400px all_series_config: unit: kWh header: title: Solar Forecast show: true standard_format: true show_states: true colorize_states: true graph_span: 2d span: start: day offset: '+0' now: show: true label: Jetzt yaxis: - id: kwh min: 0 apex_config: tickAmount: 5 - id: header show: false series: - entity: sensor.solcast_pv_forecast_prognose_heute yaxis_id: kwh type: line name: Forecast heute color: yellow data_generator: | return entity.attributes.detailedForecast.map((start, index) => { return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]]; }); show: legend_value: false in_header: false stroke_width: 4 float_precision: 2 extend_to: false - entity: sensor.evcc_pv_power transform: return x / 1000.00 yaxis_id: kwh type: area name: PV color: green show: legend_value: false in_header: false stroke_width: 2 float_precision: 2 extend_to: false group_by: func: avg - entity: sensor.solcast_pv_forecast_prognose_morgen yaxis_id: kwh type: line name: Forecast morgen color: yellow data_generator: | return entity.attributes.detailedForecast.map((start, index) => { return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]]; }); show: legend_value: false in_header: false stroke_width: 4 float_precision: 2 extend_to: false - entity: sensor.solcast_pv_forecast_prognose_heute yaxis_id: header name: Heute color: orange show: legend_value: true in_header: true in_chart: false - entity: sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute yaxis_id: header name: Verbleibend color: orange show: legend_value: true in_header: true in_chart: false - entity: sensor.solcast_pv_forecast_prognose_morgen yaxis_id: header name: Morgen color: grey show: legend_value: true in_header: true in_chart: false - entity: sensor.sum_evcc_pv_energie_heute yaxis_id: header name: PV heute color: green show: legend_value: true in_header: true in_chart: false
type: custom:apexcharts-card
apex_config:
  chart:
    height: 400px
all_series_config:
  unit: kWh
header:
  title: Solar Forecast
  show: true
  standard_format: true
  show_states: true
  colorize_states: true
graph_span: 2d
span:
  start: day
  offset: '+0'
now:
  show: true
  label: Jetzt
yaxis:
  - id: kwh
    min: 0
    apex_config:
      tickAmount: 5
  - id: header
    show: false
series:
  - entity: sensor.solcast_pv_forecast_prognose_heute
    yaxis_id: kwh
    type: line
    name: Forecast heute
    color: yellow
    data_generator: |
      return entity.attributes.detailedForecast.map((start, index) => {
        return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]];
      });
    show:
      legend_value: false
      in_header: false
    stroke_width: 4
    float_precision: 2
    extend_to: false
  - entity: sensor.evcc_pv_power
    transform: return x / 1000.00
    yaxis_id: kwh
    type: area
    name: PV
    color: green
    show:
      legend_value: false
      in_header: false
    stroke_width: 2
    float_precision: 2
    extend_to: false
    group_by:
      func: avg
  - entity: sensor.solcast_pv_forecast_prognose_morgen
    yaxis_id: kwh
    type: line
    name: Forecast morgen
    color: yellow
    data_generator: |
      return entity.attributes.detailedForecast.map((start, index) => {
        return [new Date(start["period_start"]).getTime(), entity.attributes.detailedForecast[index]["pv_estimate10"]];
      });
    show:
      legend_value: false
      in_header: false
    stroke_width: 4
    float_precision: 2
    extend_to: false
  - entity: sensor.solcast_pv_forecast_prognose_heute
    yaxis_id: header
    name: Heute
    color: orange
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.solcast_pv_forecast_prognose_verbleibende_leistung_heute
    yaxis_id: header
    name: Verbleibend
    color: orange
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.solcast_pv_forecast_prognose_morgen
    yaxis_id: header
    name: Morgen
    color: grey
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.sum_evcc_pv_energie_heute
    yaxis_id: header
    name: PV heute
    color: green
    show:
      legend_value: true
      in_header: true
      in_chart: false

EVCC-Daten nutzen: Effizientes Energiedashboard für Home Assistant

Erweitere dein Zuhause mit einem interaktiven Energiedashboard! Verwende die leistungsstarken Daten von EVCC, integriere MQTT-Sensoren für Echtzeitinformationen und optimiere mit Riemann-Integralen. Mit der Integration von EVCC bist du nicht mehr an einen bestimmten Batteriespeicher gebunden. Egal welche Art von Energiemessung du verwendest oder ob du von einem dynamischen Stromtarif profitierst – alles wird nahtlos durch EVCC abgedeckt. Diese Flexibilität ermöglicht es dir, deine Energieeffizienz unabhängig von den spezifischen Details deines Systems zu optimieren. So kannst du dein Energiedashboard in Home Assistant vollständig an deine Bedürfnisse anpassen und von einer umfassenden Überwachung und Steuerung deines Energieverbrauchs profitieren. Zusätzlich bieten dir hilfreiche Helfer eine benutzerfreundliche Erfahrung und unterstützen dich bei der Überwachung und Steuerung deines Energieverbrauchs. Mit dieser innovativen Lösung behältst du stets den Überblick über deine Energieeffizienz und kannst deine Ressourcen effektiv verwalten.

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Wenn du dich nicht nur für das Energie Dashboard, sondern auch dafür interessiert, wie das mit EVCC funktioniert, würde ich dir empfehlen auch die Grundlagenvideos zu EVCC und MQTT Sensoren zu betrachten:

YouTube player
Installation von EVCC
YouTube player
Wie erstelle ich einen MQTT Sensor

Weitere Informationen zum EVCC-Projekt und auch eine sehr gute Dokumentation könnt ihr unter folgender Adresse finden:

https://evcc.io/

Im folgenden Code Abschnitt findest du alle nötigen MQTT Sensoren für das Energie Dashboard:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mqtt:
sensor:
- name: "EVCC Grid Power"
unique_id: evcc_grid_power
state_topic: "evcc/site/gridPower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
device_class: power
- name: "EVCC PV Power"
unique_id: evcc_pv_power
state_topic: "evcc/site/pvPower"
#value_template: "{{ value | round(1) }}"
unit_of_measurement: "W"
availability_topic: "evcc/status"
device_class: power
- name: "EVCC Tariff Grid"
unique_id: evcc_tariff_grid
state_topic: "evcc/site/tariffGrid"
unit_of_measurement: "EUR/kWh"
availability_topic: "evcc/status"
- name: "EVCC geladen an Wallbox"
unique_id: evcc_geladen_an_Wallbox
state_topic: "evcc/site/statistics/total/chargedKWh"
unit_of_measurement: "kWh"
availability_topic: "evcc/status"
device_class: energy
state_class: total_increasing
- name: "EVCC Hausverbrauch"
unique_id: evcc_hausverbrauch
state_topic: "evcc/site/homePower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
device_class: power
- name: "EVCC Battery Power"
unique_id: evcc_battery_Power
state_topic: "evcc/site/batteryPower"
unit_of_measurement: "W"
availability_topic: "evcc/status"
mqtt: sensor: - name: "EVCC Grid Power" unique_id: evcc_grid_power state_topic: "evcc/site/gridPower" unit_of_measurement: "W" availability_topic: "evcc/status" device_class: power - name: "EVCC PV Power" unique_id: evcc_pv_power state_topic: "evcc/site/pvPower" #value_template: "{{ value | round(1) }}" unit_of_measurement: "W" availability_topic: "evcc/status" device_class: power - name: "EVCC Tariff Grid" unique_id: evcc_tariff_grid state_topic: "evcc/site/tariffGrid" unit_of_measurement: "EUR/kWh" availability_topic: "evcc/status" - name: "EVCC geladen an Wallbox" unique_id: evcc_geladen_an_Wallbox state_topic: "evcc/site/statistics/total/chargedKWh" unit_of_measurement: "kWh" availability_topic: "evcc/status" device_class: energy state_class: total_increasing - name: "EVCC Hausverbrauch" unique_id: evcc_hausverbrauch state_topic: "evcc/site/homePower" unit_of_measurement: "W" availability_topic: "evcc/status" device_class: power - name: "EVCC Battery Power" unique_id: evcc_battery_Power state_topic: "evcc/site/batteryPower" unit_of_measurement: "W" availability_topic: "evcc/status"
mqtt: 
  sensor:
   - name: "EVCC Grid Power"
     unique_id: evcc_grid_power
     state_topic: "evcc/site/gridPower"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"
     device_class: power
     
   - name: "EVCC PV Power"
     unique_id: evcc_pv_power
     state_topic: "evcc/site/pvPower"
     #value_template: "{{ value | round(1) }}"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"
     device_class: power

   - name: "EVCC Tariff Grid"
     unique_id: evcc_tariff_grid
     state_topic: "evcc/site/tariffGrid"
     unit_of_measurement: "EUR/kWh"
     availability_topic: "evcc/status"
     
   - name: "EVCC geladen an Wallbox"
     unique_id: evcc_geladen_an_Wallbox
     state_topic: "evcc/site/statistics/total/chargedKWh"
     unit_of_measurement: "kWh"
     availability_topic: "evcc/status"
     device_class: energy
     state_class: total_increasing

   - name: "EVCC Hausverbrauch"
     unique_id: evcc_hausverbrauch
     state_topic: "evcc/site/homePower"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"
     device_class: power
     
   - name: "EVCC Battery Power"
     unique_id: evcc_battery_Power
     state_topic: "evcc/site/batteryPower"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"

Du benötigst weiterhin noch folgende Helfer Template Sensoren:

evcc_batterie_entladen

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{% if float(states.sensor.evcc_battery_power.state) >= 0.0 %}
{{ float(states.sensor.evcc_battery_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}
{% if float(states.sensor.evcc_battery_power.state) >= 0.0 %} {{ float(states.sensor.evcc_battery_power.state) | abs }} {% else %} {{ float(0.0) }} {% endif %}
{% if float(states.sensor.evcc_battery_power.state) >= 0.0 %}
{{ float(states.sensor.evcc_battery_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}

evcc_Batterie_laden

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{% if float(states.sensor.evcc_battery_power.state) <= 0.0 %}
{{ float(states.sensor.evcc_battery_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}
{% if float(states.sensor.evcc_battery_power.state) <= 0.0 %} {{ float(states.sensor.evcc_battery_power.state) | abs }} {% else %} {{ float(0.0) }} {% endif %}
{% if float(states.sensor.evcc_battery_power.state) <= 0.0 %}
{{ float(states.sensor.evcc_battery_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}

evcc_Netzbezug

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{% if float(states.sensor.evcc_grid_power.state) > 0.0 %}
{{ float(states.sensor.evcc_grid_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}
{% if float(states.sensor.evcc_grid_power.state) > 0.0 %} {{ float(states.sensor.evcc_grid_power.state) | abs }} {% else %} {{ float(0.0) }} {% endif %}
{% if float(states.sensor.evcc_grid_power.state) > 0.0 %}
{{ float(states.sensor.evcc_grid_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}

evcc_Netzeinspeisung

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{% if float(states.sensor.evcc_grid_power.state) <= 0.0 %}
{{ float(states.sensor.evcc_grid_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}
{% if float(states.sensor.evcc_grid_power.state) <= 0.0 %} {{ float(states.sensor.evcc_grid_power.state) | abs }} {% else %} {{ float(0.0) }} {% endif %}
{% if float(states.sensor.evcc_grid_power.state) <= 0.0 %}
{{ float(states.sensor.evcc_grid_power.state) | abs }}
{% else %}
{{ float(0.0) }}
{% endif %}

Die Riemann Summenintegralsensoren sind wie folgt unter den Helfern anzulegen:

(Die jeweiligen Eingangsvariablen sind die als Helfer angelegten evcc-Template Sensoren)

Effizientes Home Assistant Management: DB komprimieren & Struktur optimieren

Frühling ist perfekt für eine Home-Assistant-Auffrischung! Entdecke in diesem Video einfache Schritte, um deine Datenbank zu optimieren und deine configuration.yaml zu organisieren. Hol dir das Beste aus deinem Smart-Home-Setup heraus und genieße eine reibungslose Steuerung deiner Geräte. Lass uns gemeinsam dein Zuhause smarter machen!

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Link zur Dokumentation der Packages Integration:

Packages – Home Assistant (home-assistant.io)

Beispielautomatisierung Info Datenbankspeichergröße

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alias: Test_Speicherbedarf
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.home_assistant_v2_db_grosse
above: 5000
condition: []
action:
- service: notify.persistent_notification
metadata: {}
data:
message: >-
Der Speicher der Datenbank hat die 5000 MB überschritten. Bitte Wartung
vornehmen
mode: single
alias: Test_Speicherbedarf description: "" trigger: - platform: numeric_state entity_id: - sensor.home_assistant_v2_db_grosse above: 5000 condition: [] action: - service: notify.persistent_notification metadata: {} data: message: >- Der Speicher der Datenbank hat die 5000 MB überschritten. Bitte Wartung vornehmen mode: single
alias: Test_Speicherbedarf
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.home_assistant_v2_db_grosse
    above: 5000
condition: []
action:
  - service: notify.persistent_notification
    metadata: {}
    data:
      message: >-
        Der Speicher der Datenbank hat die 5000 MB überschritten. Bitte Wartung
        vornehmen
mode: single

Configuration.Yaml ( Packages)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
homeassistant:
packages: !include_dir_named includes
allowlist_external_dirs:
- /config
homeassistant: packages: !include_dir_named includes allowlist_external_dirs: - /config
homeassistant:
  packages: !include_dir_named includes
  allowlist_external_dirs:
    - /config

Home Assistant: Dein Dashboard mit Card-Mod 3 individueller gestalten

Entdecke, wie du mit Home Assistant und Card-Mod dein Smart Home Dashboard individualisierst! Dieses Tutorial führt dich durch die Anpassung deiner Oberfläche an deine Bedürfnisse, von Geräten bis hin zum Erscheinungsbild. Das Video zeigt dir Schritt für Schritt die Verwendung der HACS Erweiterung Card-Mod in Kombination mit Templates um das Beste aus deinem Setup herauszuholen.

Links: Card-Mod3 : https://github.com/thomasloven/hass-config/wiki/Lovelace-Plugins

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Wie du HACS installierst wird dir in diesem Video erklärt:

YouTube player

YAML Code:

Farbe Namen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: entities
entities:
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
color: red;
}
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
color: green;
}
- entity: input_boolean.schalter1
title: Farbe von Entitätsnamen
type: entities entities: - entity: input_boolean.schalter1 card_mod: style: | :host { color: red; } - entity: input_boolean.schalter1 card_mod: style: | :host { color: green; } - entity: input_boolean.schalter1 title: Farbe von Entitätsnamen
type: entities
entities:
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         color: red;
        }
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         color: green;
        }
  - entity: input_boolean.schalter1
title: Farbe von Entitätsnamen

Farbe Icons:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: entities
entities:
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
--card-mod-icon-color: red;
}
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
--card-mod-icon-color: blue;
color: yellow
}
- entity: input_boolean.schalter1
title: Icon Farbe
card_mod:
style: |
ha-card {
background: gray;
}
type: entities entities: - entity: input_boolean.schalter1 card_mod: style: | :host { --card-mod-icon-color: red; } - entity: input_boolean.schalter1 card_mod: style: | :host { --card-mod-icon-color: blue; color: yellow } - entity: input_boolean.schalter1 title: Icon Farbe card_mod: style: | ha-card { background: gray; }
type: entities
entities:
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         --card-mod-icon-color: red;
        }
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         --card-mod-icon-color: blue;
         color: yellow
        }
  - entity: input_boolean.schalter1
title: Icon Farbe
card_mod:
  style: |
    ha-card {
    background: gray;
    }

Farbe Hintergrund:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: entities
entities:
- entity: input_boolean.schalter1
- entity: input_boolean.schalter1
- entity: input_boolean.schalter1
title: Background Color
card_mod:
style: |
ha-card {
background: orange;
}
type: entities entities: - entity: input_boolean.schalter1 - entity: input_boolean.schalter1 - entity: input_boolean.schalter1 title: Background Color card_mod: style: | ha-card { background: orange; }
type: entities
entities:
  - entity: input_boolean.schalter1
  - entity: input_boolean.schalter1
  - entity: input_boolean.schalter1
title: Background Color
card_mod:
  style: |
    ha-card {
    background: orange;
    }

Farbe , Icon, Schriftfarbe nach Zustand:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: entities
entities:
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
{% if is_state('input_boolean.schalter1', 'on') %}
--card-mod-icon: mdi:light-switch;
--card-mod-icon-color: red;
{% else %}
--card-mod-icon: mdi:garage;
--card-mod-icon-color: green;
{% endif %}
}
- entity: input_boolean.schalter1
card_mod:
style: |
:host {
{% if is_state('input_boolean.schalter1', 'on') %}
--card-mod-icon: mdi:light-switch;
--card-mod-icon-color: red;
{% else %}
--card-mod-icon: mdi:light-switch-off;
--card-mod-icon-color: green;
{% endif %}
}
- entity: input_boolean.schalter1
title: Icon, Schrift, Background
type: entities entities: - entity: input_boolean.schalter1 card_mod: style: | :host { {% if is_state('input_boolean.schalter1', 'on') %} --card-mod-icon: mdi:light-switch; --card-mod-icon-color: red; {% else %} --card-mod-icon: mdi:garage; --card-mod-icon-color: green; {% endif %} } - entity: input_boolean.schalter1 card_mod: style: | :host { {% if is_state('input_boolean.schalter1', 'on') %} --card-mod-icon: mdi:light-switch; --card-mod-icon-color: red; {% else %} --card-mod-icon: mdi:light-switch-off; --card-mod-icon-color: green; {% endif %} } - entity: input_boolean.schalter1 title: Icon, Schrift, Background
type: entities
entities:
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         {% if is_state('input_boolean.schalter1', 'on') %}
          --card-mod-icon: mdi:light-switch;
          --card-mod-icon-color: red;
          {% else %}
          --card-mod-icon: mdi:garage;
          --card-mod-icon-color: green;
          {% endif %}
         
        }
  - entity: input_boolean.schalter1
    card_mod:
      style: |
        :host {
         {% if is_state('input_boolean.schalter1', 'on') %}
          --card-mod-icon: mdi:light-switch;
          --card-mod-icon-color: red;
          {% else %}
          --card-mod-icon: mdi:light-switch-off;
          --card-mod-icon-color: green;
          {% endif %}
         
        }
  - entity: input_boolean.schalter1
title: Icon, Schrift, Background

Farbe, Icon, Schriftfarbe nach numerischen Zustand:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: entities
entities:
- entity: input_number.number1
card_mod:
style: |
:host { {% if states('input_number.number1') | int <=50 %}
background: green;
--card-mod-icon: mdi:light-switch;
--card-mod-icon-color: orange
{% elif states('input_number.number1') | int >50 and states('input_number.number1') | int < 80 %}
background: yellow;
--card-mod-icon: mdi:garage-open;
{% elif states('input_number.number1') | int >= 80 %}
background: red;
{% endif %}
}
type: entities entities: - entity: input_number.number1 card_mod: style: | :host { {% if states('input_number.number1') | int <=50 %} background: green; --card-mod-icon: mdi:light-switch; --card-mod-icon-color: orange {% elif states('input_number.number1') | int >50 and states('input_number.number1') | int < 80 %} background: yellow; --card-mod-icon: mdi:garage-open; {% elif states('input_number.number1') | int >= 80 %} background: red; {% endif %} }
type: entities
entities:
  - entity: input_number.number1
    card_mod:
      style: |
        :host {  {% if states('input_number.number1') | int <=50  %}
          background: green;
          --card-mod-icon: mdi:light-switch;
          --card-mod-icon-color: orange
          {% elif states('input_number.number1') | int >50 and states('input_number.number1') | int < 80   %}
          background: yellow;
          --card-mod-icon: mdi:garage-open;
          {% elif states('input_number.number1') | int >= 80  %}
          background: red;
          {% endif %}

        }

Für eine „Tile“ Card müssen ein paar andere Variablen verwendet werden. An dieser Stelle herzlichen Dank an @chrannen für diese super Ergänzung 💙

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type: tile
entity: ENTITÄT
card_mod:
style: |
ha-card {
{% if is_state("ENTITÄT", "on") %}
--tile-color:crimson !important;
--card-mod-icon: mdi:arrow-left-bold-box;
{% else %}
--tile-color:darkgreen !important;
--card-mod-icon: mdi:arrow-right-bold-box;
{% endif %}
}
type: tile entity: ENTITÄT card_mod: style: | ha-card { {% if is_state("ENTITÄT", "on") %} --tile-color:crimson !important; --card-mod-icon: mdi:arrow-left-bold-box; {% else %} --tile-color:darkgreen !important; --card-mod-icon: mdi:arrow-right-bold-box; {% endif %} }
type: tile
entity: ENTITÄT
card_mod:
  style: |
    ha-card {
      {% if is_state("ENTITÄT", "on") %}
        --tile-color:crimson !important;
        --card-mod-icon: mdi:arrow-left-bold-box;
      {% else %}  
        --tile-color:darkgreen !important;
        --card-mod-icon: mdi:arrow-right-bold-box;
      {% endif %}  
    }

die wichtigsten Unterschiede sind:

– statt „:host“ lautet der style „ha-card“

– hinter jede farbe muss der zusatz „!important;“

– statt „card-mod-icon-color“ muss „tile-color“ geschrieben werden

Zeit sparen mit Home Assistant: Kalenderereignisse für Smart-Home-Automatisierungen nutzen

Optimiere deine täglichen Abläufe, indem du Kalenderereignisse als Trigger für Automatisierungen in Home Assistant einsetzt. Verpasse nie wieder wichtige Termine – sei es ein Meeting oder ein Geburtstag. Dein Smart Home passt sich intelligent an deine Pläne an, sei es mit gedimmten Lichtern für ein Abendessen oder aktivierter Heizung bei deiner Rückkehr von der Arbeit. Entdecke eine neue Dimension des Wohnkomforts und spare Zeit mit Home Assistant.

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Beispielautomatisierung aus Video:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alias: Kalender_Video
description: ""
trigger:
- platform: calendar
event: start
offset: "0:0:0"
entity_id: calendar.smarthomeandmore
id: StartEvent
- platform: calendar
event: end
offset: "0:0:0"
entity_id: calendar.smarthomeandmore
id: StopEvent
condition:
- condition: trigger
id:
- StartEvent
action:
- choose:
- conditions:
- condition: and
conditions:
- condition: template
value_template: "{{ '@Licht' in trigger.calendar_event.summary }}"
sequence:
- service: light.turn_on
metadata: {}
data: {}
target:
device_id: fbb93a7f058686a3b2f0591978fb3497
- conditions:
- condition: and
conditions:
- condition: template
value_template: "{{ '@Licht' in trigger.calendar_event.summary }}"
- condition: trigger
id:
- StopEvent
sequence:
- service: light.turn_off
target:
device_id:
- fbb93a7f058686a3b2f0591978fb3497
data: {}
mode: single
alias: Kalender_Video description: "" trigger: - platform: calendar event: start offset: "0:0:0" entity_id: calendar.smarthomeandmore id: StartEvent - platform: calendar event: end offset: "0:0:0" entity_id: calendar.smarthomeandmore id: StopEvent condition: - condition: trigger id: - StartEvent action: - choose: - conditions: - condition: and conditions: - condition: template value_template: "{{ '@Licht' in trigger.calendar_event.summary }}" sequence: - service: light.turn_on metadata: {} data: {} target: device_id: fbb93a7f058686a3b2f0591978fb3497 - conditions: - condition: and conditions: - condition: template value_template: "{{ '@Licht' in trigger.calendar_event.summary }}" - condition: trigger id: - StopEvent sequence: - service: light.turn_off target: device_id: - fbb93a7f058686a3b2f0591978fb3497 data: {} mode: single
alias: Kalender_Video
description: ""
trigger:
  - platform: calendar
    event: start
    offset: "0:0:0"
    entity_id: calendar.smarthomeandmore
    id: StartEvent
  - platform: calendar
    event: end
    offset: "0:0:0"
    entity_id: calendar.smarthomeandmore
    id: StopEvent
condition:
  - condition: trigger
    id:
      - StartEvent
action:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: template
                value_template: "{{ '@Licht' in trigger.calendar_event.summary }}"
        sequence:
          - service: light.turn_on
            metadata: {}
            data: {}
            target:
              device_id: fbb93a7f058686a3b2f0591978fb3497
      - conditions:
          - condition: and
            conditions:
              - condition: template
                value_template: "{{ '@Licht' in trigger.calendar_event.summary }}"
              - condition: trigger
                id:
                  - StopEvent
        sequence:
          - service: light.turn_off
            target:
              device_id:
                - fbb93a7f058686a3b2f0591978fb3497
            data: {}
mode: single

Mit Home Assistant Icons nach Zustand dynamisch ändern

Entdecken Sie die Vielfalt von Home Assistant in der Gestaltung dynamischer Icons basierend auf Zuständen. Erleben Sie die Vielseitigkeit mit zwei Beispielen: einem binären Templatesensor für eine variable Icon-Anzeige und einem Sensor, der den Zustand eines Garagentors mit integrierter Dienstausführungsfunktion enthält.

Links aus dem Video:

Pictogrammers Website mit Icons: https://pictogrammers.com/library/mdi/

Home Assistant Template Integration: https://www.home-assistant.io/integrations/template/

Home Assistant Template Cover : https://www.home-assistant.io/integrations/cover.template/

Beispiel Template Sensor (binary_sensor):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
binary_sensor:
- platform: template
sensors:
garage:
friendly_name: Garage
value_template: "{{ states('binary_sensor.garagentorsensor_contact') }}"
unique_id: garage_id
icon_template: >
{% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open
{% else %} mdi:garage
{% endif %}
binary_sensor: - platform: template sensors: garage: friendly_name: Garage value_template: "{{ states('binary_sensor.garagentorsensor_contact') }}" unique_id: garage_id icon_template: > {% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open {% else %} mdi:garage {% endif %}
binary_sensor:
  - platform: template
    sensors:
      garage:
        friendly_name: Garage
        value_template: "{{ states('binary_sensor.garagentorsensor_contact') }}"
        unique_id: garage_id
        icon_template: >
          {% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open
          {% else %} mdi:garage
          {% endif %}

Beispiel Template Sensor (cover):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cover:
- platform: template
covers:
garagen_tor:
friendly_name: Garagentor
unique_id: garagentor_id
value_template: "{{is_state('binary_sensor.garagentorsensor_contact', 'on' )}}"
open_cover:
service: input_boolean.toggle
data:
entity_id: input_boolean.garage_test
close_cover:
service: input_boolean.toggle
data:
entity_id: input_boolean.garage_test
icon_template: >
{% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open
{% else %} mdi:garage
{% endif %}
cover: - platform: template covers: garagen_tor: friendly_name: Garagentor unique_id: garagentor_id value_template: "{{is_state('binary_sensor.garagentorsensor_contact', 'on' )}}" open_cover: service: input_boolean.toggle data: entity_id: input_boolean.garage_test close_cover: service: input_boolean.toggle data: entity_id: input_boolean.garage_test icon_template: > {% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open {% else %} mdi:garage {% endif %}
cover:
- platform: template
  covers:
    garagen_tor:
      friendly_name: Garagentor
      unique_id: garagentor_id
      value_template: "{{is_state('binary_sensor.garagentorsensor_contact', 'on' )}}"
      open_cover:
        service: input_boolean.toggle
        data:
          entity_id: input_boolean.garage_test
      close_cover:
        service: input_boolean.toggle
        data:
          entity_id: input_boolean.garage_test
      icon_template: >
          {% if is_state('binary_sensor.garagentorsensor_contact', 'on') %} mdi:garage-open
          {% else %} mdi:garage
          {% endif %}

Home Assistant: Schritt für Schritt – MQTT-Sensor mit Hilfe des MQTT-Explorer einrichten.

Entdecken Sie, wie Sie mithilfe des MQTT-Explorers einen MQTT-Sensor einrichten können. Erfahren Sie, wie Sie MQTT-Werte von EVCC (Electric Vehicle Charge Controller) als Beispiel integrieren, überwachen und steuern können. Tauchen Sie ein in die Welt des MQTT und bringen Sie Ihr Projekt auf das nächste Level!

Links aus dem Video:

MQTT Explorer Add-On: https://github.com/GollumDom/addon-repository

MQTT Sensor Integration: https://www.home-assistant.io/integrations/sensor.mqtt/

MQTT Select Platform: https://www.home-assistant.io/integrations/select.mqtt/

Die Basisinstallation von evcc erkläre ich in diesem Video:

Hinweis ! Damit evcc die Daten über MQTT exportiert müsst ihr euren Broker in der evcc.yaml eintragen.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# mqtt message broker
mqtt:
broker: 192.168.101.79:1883 # euer MQTT-Broker mit Port
topic: evcc # das Topic lasst ihr so stehen, dann findet ihr im MQTT-Explorer alles unter evcc
# user: euer_user
# password: euer_kennwort
# mqtt message broker mqtt: broker: 192.168.101.79:1883 # euer MQTT-Broker mit Port topic: evcc # das Topic lasst ihr so stehen, dann findet ihr im MQTT-Explorer alles unter evcc # user: euer_user # password: euer_kennwort
# mqtt message broker
mqtt:
   broker: 192.168.101.79:1883 # euer MQTT-Broker mit Port
   topic: evcc # das Topic lasst ihr so stehen, dann findet ihr im MQTT-Explorer alles unter evcc
  # user: euer_user
  # password: euer_kennwort

Code aus der Configuration.yaml:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mqtt:
sensor:
- name: "PV Leistung"
unique_id: evcc_pv_leistung_w
state_topic: "evcc/site/pvPower"
value_template: "{{value | round(1) }}"
unit_of_measurement: "W"
availability_topic: "evcc/status"
select:
state_topic: "evcc/loadpoints/1/mode"
command_topic: "evcc/loadpoints/1/mode/set"
name: "Charge Mode"
unique_id: evcc_charge_mode_select
options:
- "off"
- "now"
- "minpv"
- "pv"
mqtt: sensor: - name: "PV Leistung" unique_id: evcc_pv_leistung_w state_topic: "evcc/site/pvPower" value_template: "{{value | round(1) }}" unit_of_measurement: "W" availability_topic: "evcc/status" select: state_topic: "evcc/loadpoints/1/mode" command_topic: "evcc/loadpoints/1/mode/set" name: "Charge Mode" unique_id: evcc_charge_mode_select options: - "off" - "now" - "minpv" - "pv"
mqtt:
  sensor:
    - name: "PV Leistung"
      unique_id: evcc_pv_leistung_w
      state_topic: "evcc/site/pvPower"
      value_template: "{{value | round(1) }}"
      unit_of_measurement: "W"
      availability_topic: "evcc/status"
  select:
      state_topic: "evcc/loadpoints/1/mode"
      command_topic: "evcc/loadpoints/1/mode/set"
      name: "Charge Mode"
      unique_id: evcc_charge_mode_select
      options:
        - "off"
        - "now"
        - "minpv"
        - "pv"

Hinweis von @richyholzy4120 : Wenn man mehrere Ladestationen hat , dann sollte vor dem state_topic ein – gesetzt werden.

Hinweis von meiner Seite, das kann auch schon bei einer Ladestation so gemacht werden. Durch das „-“ vor dem state_topic lassen sich mehrere select Sensoren anlegen. Die Variante von @richyholzy4120 ist somit durchgängiger !

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mqtt:
select:
- state_topic: "evcc/loadpoints/1/mode"
command_topic: "evcc/loadpoints/1/mode/set"
name: "Charge Mode"
unique_id: evcc_charge_mode_select
options:
- "off"
- "now"
- "minpv"
- "pv"
mqtt: select: - state_topic: "evcc/loadpoints/1/mode" command_topic: "evcc/loadpoints/1/mode/set" name: "Charge Mode" unique_id: evcc_charge_mode_select options: - "off" - "now" - "minpv" - "pv"
mqtt:
  select:
    - state_topic: "evcc/loadpoints/1/mode"
      command_topic: "evcc/loadpoints/1/mode/set"
      name: "Charge Mode"
      unique_id: evcc_charge_mode_select
      options:
        - "off"
        - "now"
        - "minpv"
        - "pv"

Home Assistant: Smarte Nähe, Anleitung für eine Automatisierung zum Upgrade deines smarten Heims

Entdecke die Magie der Nähe! In dieser einfachen Anleitung erfährst du, wie du mit Home Assistant automatische Aktionen basierend auf deiner Umgebung auslösen kannst. Erlebe eine neue Dimension der Bequemlichkeit und Effizienz in deinem Zuhause!

Links aus dem Video:

DrawIO : draw.io (drawio.com)

Proximity Integration: Proximity – Home Assistant (home-assistant.io)

Nabu Casa: Nabu Casa

Flussdiagramm „ich entferne mich vom Haus“

Flussdiagramm „ich nähere mich meinem Haus“

Beispielautomatisierung YAML Code:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alias: Proximity_Automatisierung
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.eichgarten_14_2_nachste_entfernung
above: 1000
id: Entfernung > 1000 m
- platform: numeric_state
entity_id:
- sensor.eichgarten_14_2_nachste_entfernung
id: Entfernung < 1000 m
below: 1000
condition: []
action:
- choose:
- conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.eichgarten_14_2_nachste_entfernung
above: 1000
- condition: state
entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
state: away_from
- condition: state
entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder
state: "off"
- condition: trigger
id:
- Entfernung > 1000 m
sequence:
- service: climate.set_temperature
metadata: {}
data:
temperature: 16
target:
entity_id: climate.eichgarten_bad_unten
- service: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.proximity_helfer_gruppe_lichter
alias: Wenn Personen sich vom Haus entfernen
- conditions:
- condition: and
conditions:
- condition: trigger
id:
- Entfernung < 1000 m
- condition: or
conditions:
- condition: state
entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
state: arrived
- condition: state
entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
state: towards
- condition: state
entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder
state: "off"
sequence:
- service: climate.set_temperature
metadata: {}
data:
temperature: 21
target:
entity_id: climate.eichgarten_bad_unten
- if:
- condition: sun
before: sunrise
after: sunset
then:
- service: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.proximity_helfer_gruppe_lichter
mode: single
alias: Proximity_Automatisierung description: "" trigger: - platform: numeric_state entity_id: - sensor.eichgarten_14_2_nachste_entfernung above: 1000 id: Entfernung > 1000 m - platform: numeric_state entity_id: - sensor.eichgarten_14_2_nachste_entfernung id: Entfernung < 1000 m below: 1000 condition: [] action: - choose: - conditions: - condition: and conditions: - condition: numeric_state entity_id: sensor.eichgarten_14_2_nachste_entfernung above: 1000 - condition: state entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung state: away_from - condition: state entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder state: "off" - condition: trigger id: - Entfernung > 1000 m sequence: - service: climate.set_temperature metadata: {} data: temperature: 16 target: entity_id: climate.eichgarten_bad_unten - service: light.turn_off metadata: {} data: {} target: entity_id: light.proximity_helfer_gruppe_lichter alias: Wenn Personen sich vom Haus entfernen - conditions: - condition: and conditions: - condition: trigger id: - Entfernung < 1000 m - condition: or conditions: - condition: state entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung state: arrived - condition: state entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung state: towards - condition: state entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder state: "off" sequence: - service: climate.set_temperature metadata: {} data: temperature: 21 target: entity_id: climate.eichgarten_bad_unten - if: - condition: sun before: sunrise after: sunset then: - service: light.turn_on metadata: {} data: {} target: entity_id: light.proximity_helfer_gruppe_lichter mode: single
alias: Proximity_Automatisierung
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.eichgarten_14_2_nachste_entfernung
    above: 1000
    id: Entfernung > 1000 m
  - platform: numeric_state
    entity_id:
      - sensor.eichgarten_14_2_nachste_entfernung
    id: Entfernung < 1000 m
    below: 1000
condition: []
action:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: numeric_state
                entity_id: sensor.eichgarten_14_2_nachste_entfernung
                above: 1000
              - condition: state
                entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
                state: away_from
              - condition: state
                entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder
                state: "off"
              - condition: trigger
                id:
                  - Entfernung > 1000 m
        sequence:
          - service: climate.set_temperature
            metadata: {}
            data:
              temperature: 16
            target:
              entity_id: climate.eichgarten_bad_unten
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.proximity_helfer_gruppe_lichter
        alias: Wenn Personen sich vom Haus entfernen
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id:
                  - Entfernung < 1000 m
              - condition: or
                conditions:
                  - condition: state
                    entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
                    state: arrived
                  - condition: state
                    entity_id: sensor.eichgarten_14_2_nachste_fahrtrichtung
                    state: towards
              - condition: state
                entity_id: binary_sensor.proximity_helfer_gruppe_bewegungsmelder
                state: "off"
        sequence:
          - service: climate.set_temperature
            metadata: {}
            data:
              temperature: 21
            target:
              entity_id: climate.eichgarten_bad_unten
          - if:
              - condition: sun
                before: sunrise
                after: sunset
            then:
              - service: light.turn_on
                metadata: {}
                data: {}
                target:
                  entity_id: light.proximity_helfer_gruppe_lichter
mode: single