Was machen eigentliche diese Automatisierungs Modi ?

Habt ihr euch auch schon die Frage gestellt, wozu diese Modi eigentlich gut sind ? Wie wende ich diese an ?

Auf diese Fragen bekommt ihr in diesem Video eine Antwort.

Modus – Einzeln

Eine Automatisierung wird von Anfang bis zum Ende ausgeführt. Kommt während des Durchlaufs ein weiterer Auslöser, so wird dieser ignoriert.

alias: Single Mode - Haustür
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.haustur_klingeln
    to: "on"
condition: []
action:
  - action: light.turn_on
    metadata: {}
    data:
      rgb_color:
        - 255
        - 0
        - 0
      brightness_pct: 100
    target:
      entity_id: light.buro_klavinova_oben
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - action: light.turn_off
    target:
      entity_id: light.buro_klavinova_oben
    data: {}
mode: single

Modus – Restart

Eine Automatisierung wird so lange ausgeführt, bis ein neuer Auslöser kommt. Ist das der Fall, so wird die Automatisierung neu gestartet und der Ablauf erfolgt erneut von Anfang bis zum Ende, oder so lange, bis wieder ein neuer Auslöser kommt.

alias: Restart - Mode Licht
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_haustur_aussen_occupancy
    to: "on"
condition: []
action:
  - action: light.turn_on
    metadata: {}
    data:
      rgb_color:
        - 236
        - 9
        - 9
      brightness_pct: 100
    target:
      entity_id:
        - light.buro_klavinova_oben
        - light.buro_klavinova_unten
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - light.buro_klavinova_oben
        - light.buro_klavinova_unten
mode: restart

Modus – In Warteschlange

Dieser Modus behandelt jeden Trigger bei der Bearbeitung, wie man es von einen FIFO ( First in First Out ) kennt. D.h. jeder Auslöser wird verwendet und für jeden Auslöser wird die Automatisierung komplett durchlaufen.

alias: In Warteschlange
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_haustur_aussen_occupancy
    to: "on"
condition: []
action:
  - action: light.turn_on
    metadata: {}
    data:
      rgb_color:
        - 236
        - 9
        - 9
      brightness_pct: 100
    target:
      entity_id:
        - light.buro_klavinova_oben
        - light.buro_klavinova_unten
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - light.buro_klavinova_oben
        - light.buro_klavinova_unten
mode: queued
max: 10

Modus – Parallel

Der parallele Modus unterscheidet sich komplett von den bisherigen Modi. Haben wir z.B. zwei verschiedene Auslöser , die durch eine Auslöse ID miteinander verknüpft sind, so werden damit verknüpfte Aktionen immer ausgeführt. Auch in diesem Modus kann man über den Max Parameter angeben, wie viele gleichzeitige Bearbeitungen erfolgen sollen. Default sind 10 parallele Vorgänge.

alias: Räume beleuchten nach Person - Parallel Mode
description: Demonstriert den Parallel Modus von Home Assistant
trigger:
  - platform: state
    entity_id:
      - input_boolean.helfer_person_sabrina
    to: "on"
    id: Sabrina home
  - platform: state
    entity_id:
      - input_boolean.helfer_person_tobias
    to: "on"
    id: Tobias home
condition: []
action:
  - if:
      - condition: trigger
        id:
          - Sabrina home
    then:
      - target:
          entity_id: light.buro_klavinova_oben
        data:
          rgb_color:
            - 110
            - 245
            - 0
          brightness_pct: 20
        action: light.turn_on
      - delay:
          hours: 0
          minutes: 0
          seconds: 10
          milliseconds: 0
      - action: light.turn_off
        target:
          entity_id:
            - light.buro_klavinova_oben
        data: {}
  - if:
      - condition: trigger
        id:
          - Tobias home
    then:
      - target:
          entity_id: light.buro_klavinova_unten
        data:
          rgb_color:
            - 0
            - 16
            - 245
          brightness_pct: 40
        action: light.turn_on
      - delay:
          hours: 0
          minutes: 0
          seconds: 10
          milliseconds: 0
      - action: light.turn_off
        target:
          entity_id:
            - light.buro_klavinova_unten
        data: {}
mode: parallel
max: 10

Reicht mein Smart Home & Home Assistant? 🏠 NAS-Systeme im Vergleich – #2 TrueNAS

In der Welt der NAS-Systeme ist TrueNAS eine meiner bevorzugten Optionen, die sowohl für Einsteiger als auch für erfahrene Nutzer viele Möglichkeiten bietet. In diesem Artikel führe ich dich durch die Schritte zur Installation und Konfiguration von TrueNAS, damit du dein eigenes NAS-System optimal nutzen kannst.

Einleitung

Ich möchte dir zeigen, wie ich TrueNAS installiere und welche Funktionen es bietet, um mein Smart Home zu unterstützen. Dabei konzentriere ich mich auf die Installation und Grundkonfiguration von TrueNAS.

Installation von TrueNAS

Ich starte mit der Installation von TrueNAS, einem wichtigen Schritt, um die leistungsstarken Funktionen des Systems nutzen zu können. Es gibt verschiedene Versionen von TrueNAS, darunter TrueNAS Core und TrueNAS Scale, die ich kurz erläutere, um dir bei der Auswahl der richtigen Version zu helfen.

Der Installationsprozess

Ich zeige dir, wie ich TrueNAS Scale von einem USB-Stick installiere, und erkläre, wie ich den USB-Stick mit dem TrueNAS-Image bespiele. Dieser Prozess ist einfach und effizient, um das System schnell in Betrieb zu nehmen. Anschließend führe ich die Installation auf der Boot-Festplatte durch.

Wichtige Informationen

Ich spreche über die Hardware-Anforderungen und -Optionen, die du für dein TrueNAS-System in Betracht ziehen solltest. Zudem zeige ich dir, wie ich einen ZFS-Pool erstelle, um die Datenspeicherung zu optimieren, sowie die erste Anmeldung bei TrueNAS und die Benutzeroberfläche.

Erweiterungsmöglichkeiten

Ich stelle einige nützliche Apps vor, die ich in TrueNAS verwende, um die Funktionalität meines Systems zu erweitern. Ein weiteres Highlight ist die Installation von Home Assistant als virtuelle Maschine (VM), um mein Smart Home zu steuern und zu automatisieren. Ich erkläre dabei auch, wie ich Home Assistant Supervised auf TrueNAS installiere, um alle Vorteile der Automatisierung zu nutzen.

Zusätzlich gehe ich auf die Nachteile von TrueNAS ein, damit du eine fundierte Entscheidung treffen kannst, ob es die richtige Lösung für deine Bedürfnisse ist. Außerdem erkläre ich, wie ich USB-Passthrough einrichte, um meine Smart Home-Geräte direkt über TrueNAS zu integrieren, und zeige dir, wie ich SMB-Freigaben einrichte, damit du problemlos auf deine Daten zugreifen kannst.

Fazit

In diesem Artikel habe ich die wichtigsten Punkte zur Installation und Konfiguration von TrueNAS zusammengefasst. Alle wichtigen Details werden im Video ausführlich gezeigt, sodass du den gesamten Prozess nachvollziehen kannst. Ich betone die Vorteile, die TrueNAS für mein Smart Home bieten kann, sowie die Nachteile, die du berücksichtigen solltest.

Wenn du mehr über den gesamten Prozess erfahren möchtest, schaue dir das Video an: TrueNAS Installation und Konfiguration.


Mit dieser Anleitung bist du bestens gerüstet, um dein eigenes TrueNAS-System aufzubauen und die Vorteile zu nutzen, die es dir für dein Smart Home bietet. Viel Erfolg bei deiner Installation!

Shell Kommandos zur Installation von Home Assistant

sudo wget https://github.com/home-assistant/operating-system/releases/download/13.1/haos_ova-13.1.qcow2.xz  # Download des aktuellen HA Images ( bei euch ggf. eine andere Version ! )
sudo unxz haos_ova-13.1.qcow2.xz
sudo qemu-img convert -O raw haos_ova-13.1.qcow2 /dev/zvol/ZFS+Pool/homeassistant

Wichtiger Hinweise!

Im Video habe ich die Einblendung an dieser Stelle falsch gemacht. Das was in der Konsole angezeigt wird ist korrekt . Die Einblendung zeigt in meinem Setup aus dem Video den falschen Pfad an.

Home Assistant, InfluxDB & Grafana: Einfache Anleitung für Einsteiger! 🚀📊

In diesem Video zeige ich dir, wie du Home Assistant mit InfluxDB und Grafana verknüpfst – perfekt für Einsteiger! 🚀📊 Schritt für Schritt lernst du, wie du deine Smart Home-Daten speicherst und visualisierst. Egal ob du Anfänger bist oder deine Smart Home-Fähigkeiten erweitern möchtest, dieses Tutorial hilft dir dabei, alles einfach und verständlich einzurichten. Schau rein und mach dein Smart Home noch smarter! 🏡✨

InfluxDB ist eine zeitbasierte Datenbank, die es ermöglicht Langzeitdaten komfortabel , einfach und schnell abgreifbar handzuhaben.

In der Kombination mit Grafana ( einem Tool zur einfachen Visualisierung von Metriken ) lassen sich schnell und unkompliziert ansprechende Visualisierungen durchführen.

Die InfluxDB ist hinsichtlich der Abfragesyntax an MySQL angelegt, so dass sich mit ein wenig Datenbankkenntnissen auch schnell gezielte Abfragen erstellen lassen. Aber auch ohne Kenntnisse von SQL Programmierung lässt sich mit der Grafana GUI schnell und einfach ein ansehnliches Ergebnis produzieren.

Folgende Videos können dir dabei helfen die nötigen Programme zur Verwendung und Konfiguration der Datenbank und Grafana zu installieren.

YouTube player

Du benötigst den File Editor um die Konfiguration der Datenbank in der Configuration.YAML durchzuführen

Folgende Beispielkonfiguration musst du in der Configuration.yaml erstellen:

influxdb:
  host: localhost
  port: 8086
  database: homeassistant 
  username: homeassistant
  password: homeassistant
  max_retries: 3
  default_measurement: state
  include:
    domains:
       - sensor

Weiterführende Informationen zum Thema “include” und “exclude” mit Beispielen findet man auch auf der Home Assistant Dokumentatsionsseite zum Thema Influx DB

InfluxDB – Home Assistant (home-assistant.io)

Im Video habe ich ein Full Dashboard in Home Assistant dargestellt. Hier findest du den passenden YAML Code dazu:

title: "Full Dashboard "
path: full-dashboard
type: panel
cards:
  - type: iframe
    url: >-
      http://172.16.0.159:8123/api/hassio_ingress/8XVYen2F_2zvB6T7OEsldEsKh0J3fLYiJNgO1RMWVT8/d/edwb0v2n17awwa/sensoren-home-assistant?orgId=1&kiosk=tv
    aspect_ratio: 50%

Wichtiger Hinweis:

Sollte nach einem Neustart von Home Assistant das Grafana Dashboard nicht angezeigt werden, dann hilft es, einmal das Grafana Add-On aufzurufen. Ich haben diesen Fehler einmal gehabt und konnte ihn allerdings nicht mehr reproduzieren.

Camper Home Assistant Geolocation & Raspberry Pi Power Solution? | Tutorial 🚐

In diesem Video zeige ich euch Schritt für Schritt, wie ihr die Geolocation für eure Camper Home Assistant Instanz setzt und eine Automatisierung dazu erstellt. Außerdem gehe ich auf die Vor- und Nachteile meiner Stromversorgungslösung für den Raspberry Pi ein.

Viel Spaß beim Anschauen! 😊

Falls du es noch nicht kennst, hier findest du auch meine Playlist zu weiteren Videos meiner Reihe “smarter Camper”

YouTube player

Automatisierung zum setzen der Geolocation deiner Camper Home Assistanz Instanz

YAML Code:

alias: NFC Tag Location ist gescannt
description: ""
trigger:
  - platform: tag
    tag_id: a0d180ea-d552-447f-b160-ff8a7e673f97
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: tag.location
        attribute: last_scanned_by_device_id
        state: deineDeviceID
      - condition: state
        entity_id: sensor.iphone_tobias_ssid
        state: DEINE_WLAN_SSID
action:
  - service: homeassistant.set_location
    metadata: {}
    data:
      latitude: "{{ state_attr('device_tracker.iphone_tobias','latitude') }}"
      longitude: "{{ state_attr('device_tracker.iphone_tobias','longitude') }}"
  - service: notify.mobile_app_iphone_tobias
    metadata: {}
    data:
      message: Camper Standort wurde übernommen!
      title: Camper Standort
mode: single

Als Tags verwende ich in diesem Beispiel NFC- Klebetags. Ich habe festgestellt, dass es immer mal wieder Probleme mit Tags und zumindest dem IPhone gibt. Die von mir im Video verwendeten Tags haben alle ohne Probleme funktioniert.

NFC Tag Sticker (10 Stück) NTAG215-540 Byte Speicher – kompatibel mit iPhone Kurzbefehle iOS App Homekit | Android Smartphone Apps | Switch Amiibo
  • Inhalt: 10 Stück selbstklebende NFC Tags (Typ NXP NTAG21x Chip, 27mm Durchmesser, Farbe weiß) Die Aufkleber sind so klein wie ein 50 Cent Stück und so dünn wie ein Blatt Papier und besitzen genügend Speicherplatz für alle wichtigen Funktionen (Smart Home Automatisierung Trigger, WLAN Passwörter, digitale Visitenkarten, Produktkennzeichnung, Lagermanagement, …)
  • Kompatibilität: Unsere NFC Tags können sowohl mit Apple iOS (ab iPhone Xs), Google Android NFC-Smartphones als auch mit allen gängigen NFC Lese- / Schreibgeräten verwendet und programmiert werden
  • Apple: Ab iOS 13 oder neuer und einem iPhone Xr, Xs oder neuer können die NFC Tags als Auslöser einer Automation in der Apple Kurzbefehle-App genutzt werden (unterstütze iPhones: XS, XR, XS MAX, 11, 11 Pro, 11 Pro Max, 12, 12 Pro, 12 Pro Max, 12 Mini) Neben der Kurzbefehle Application lassen sich die Tags auch mit anderen iOS NFC-Apps (z.B. “NFC Tools”) lesen bzw. beschreiben
  • Google Android: Unsere NFC Tags sind mit allen NFC-fähigen Android Smartphones nutzbar. Programmieren Sie die NFC Tags mit deinem Android Smartphone und einer kostenlosen NFC App (z.B. “NFC Tools”) mit einer beliebigen Funktion und platzieren Sie den Sticker an der gewünschten Stelle in Ihrer Wohnung, im Auto oder im Büro
  • NFC Reader: Unsere NFC Tags können mit allen gängigen NFC Readern beschrieben und auslesen werden. Perfekt für den Einsatz im privaten als auch gewerblichen Bereich

Ein Anwendungsfall ist mir im Nachgang zur Aufnahme dann doch noch eingefallen, warum man ggf. eine permanente Aktualisierung seiner Camper Location haben möchte. Für den Fall, dass das Fahrzeug entwendet wird, möchte man vielleicht wissen, wo es sich gerade befindet. Auch dafür würde sich mit etwas zusätzlicher Hardware eine Lösung finden lassen, in dem die Geolocation zyklisch aktualisiert wird. Wenn du ein zyklisches Update deiner Geolocation haben möchtest, kannst du ein älteres Smartphone oder ein Tablet mit GPS verwenden, die Companion App darauf installieren und eine Automatisierung schreiben, die zyklisch die Koordinaten übergibt. Bei einer Änderung könnte man sich informieren lassen.

Eine Automatisierung für ein zyklisches Update könnte wie folgt aussehen ( im Beispiel alle 5 Minuten ausgeführt)

alias: zyklisches Update der Geolocation
description: ""
trigger:
  - platform: time_pattern
    minutes: /5
condition: []
action:
  - service: homeassistant.set_location
    metadata: {}
    data:
      latitude: "{{ state_attr('device_tracker.iphone_tobias','latitude') }}"
      longitude: "{{ state_attr('device_tracker.iphone_tobias','longitude') }}"
  - service: notify.mobile_app_iphone_tobias
    metadata: {}
    data:
      message: Camper Standort wurde übernommen!
      title: Camper Standort
mode: single

Mit der Versorgung des Raspberry PI´s im Camper ist meine derzeitige Lösung noch nicht zufriedenstellend. Ich verwende eine Powerbank mit Passthrough. D.h. man kann ein Ladekabel an die Powerbank anschließen und die USB Ausgänge bleiben geschaltet und die Powerbank wird zudem aufgeladen. Das funktioniert grundsätzlich auch mit diesem Setup und die Powerbank hat beeindruckende Leistungsdaten. Allerdings scheint ein Schutzmechanismus in dem Speicher verbaut zu sein, der nach einmaligen Aufladen der Bank den Ladevorgang stoppt. Erst, wenn ich das Netzteil für den Aufladevorgang einmal entferne und wieder verbinde, wird der Ladevorgang erneut gestartet. Über eine smarte Steckdose kann ich diesen Vorgang 1x am Tag automatisieren, bei einer reinen 12V Spannung, müsste dies über ein 12V Relais gelöst werden . Mit der Lösung bin ich nicht absolut zufrieden, da ich nun aber schon einige Powerbanken erfolglos getestet habe, und diese andere Probleme hatten ( z.B. Spannung am USB Ausgang nicht gehalten ),

habe ich mich entschieden zunächst mit dieser Powerbank weiterzuarbeiten. Letztlich spricht die Stabilität, Leistung und Kapazität für diese Powerbank. Probleme mit der Stabilität der Ausgangsspannung hatte ich in dieser Kombination nicht mehr* .

Angebot
Baseus Powerbank, 65W Power Bank USB-C 26800mAh, Externer Akku PD QC4.0 Schnellladung, Externe Batterie mit Fünf Ausgängen und LED-Anzeige, für Laptop MacBook Dell HP Notebook Steam Deck iPhone Galaxy
  • 🚀【65 W PD Schnellladung】Die Baseus Powerbank 65 W kann Laptops mit voller Geschwindigkeit aufladen. Mit dem mitgelieferten USB-C auf C-Kabel kann dieser USB-C-Netzteil in nur 50 Minuten das 13-Zoll MacBook Pro von 0% auf 50% aufladen, ideal für Geschäftsreisen oder den Outdoor-Einsatz.
  • 🚀【5 Ausgänge + 3 Eingänge】Dieses vielseitige tragbare Laptop-Netzteil kann gleichzeitig 3-5 Geräte aufladen, der USB-C-Port unterstützt maximale Eingänge und kann in nur etwa 3 Stunden vollständig aufgeladen werden. Durch das lange Drücken der Ein-/Aus-Taste für 3 Sekunden kann der Niedrigstrommodus aktiviert werden, um gleichzeitig Kopfhörer und andere kleine Geräte aufzuladen.
  • 🚀【Riesige Kapazität】Mit einer Batteriekapazität von 26800 mAh bietet dieses Netzteil 7 Tage lang sorgenfreie Energie und lädt das iPhone 14 Pro 5,4 Mal, das Samsung S23 Ultra 3,8 Mal, das iPad Pro 4 2,3 Mal oder das 13-Zoll MacBook Pro auf. Keine Sorge mehr wegen leerem Akku.
  • 🚀【Intelligentes LED-Display】Die Baseus 65W USB C Powerbank ist mit einem LED-Zifferndisplay ausgestattet, das drei Modi unterstützt und den Strom, die Spannung und die Leistung in Echtzeit überwacht und Sie über den Ladezustand informiert. Kompatibel mit fast allen USB-C- und USB-A-Stromversorgungsgeräten, unterstützt PD3.0, QC3.0, SCP und kann MacBook Pro, Dell XPS, iPhone 15, 14, 13, 12, iPad Pro, Samsung Galaxy S23, Google Pixel, Steam Deck, Rog Ally und andere Geräte schnell aufladen.
  • 🚀【Mehrfachschutz】Unsere Powerbank integriert ein intelligentes Identifikationssystem und verfügt über fortschrittliche Überhitzungs-, Überstrom-, Überentladungs-, Überspannungs- und Kurzschlussschutzfunktionen. Sie erhalten eine 26800 mAh Kapazität Powerbank, 1 schnelles Type-C zu Type-C-Ladekabel, eine 24-monatige Garantiekarte und einen 24-Stunden-Service für Ihre Fragen (auch wenn das Rückgabefenster bereits geschlossen ist, können Sie uns kontaktieren, wenn Sie Probleme haben).

🏡 Home Assistant: Egal ob Grill oder Camper, so bekommst du den Füllstand deiner Gasflasche 🔥🚐

In diesem Video zeige ich dir, wie du den Füllstand deiner Gasflasche mit Home Assistant ganz einfach überwachen kannst – egal ob beim Grillen im Garten oder unterwegs im Camper! 🚐🔥 Ich erkläre Schritt für Schritt, welche Sensoren du benötigst, wie du sie einrichtest und in dein Home Assistant System integrierst. Nie wieder überraschend leere Gasflaschen! Abonniere den Kanal für mehr praktische Tipps und Tricks rund um Smart Home und Outdoor-Technik. 🔧📲

Hier findest du die von mir verwendeten Produkte für das Video* :

Den Mopeka-Sensor habe ich bei Obelink gekauft, da er nicht immer auf Amazon verfügbar ist:

Mopeka BT Alu Gasfüllstandsanzeige (obelink.de)

Blech für Alugasflaschen:

https://vosken.de/CAMPKO-Spannblech-Halter-V2A-fuer-Mopeka-Bluetooth-Sensor-an-ALUGAS-Flaschen

Als Hinweis, bei anderen Händlern erhaltet ihr oftmals den Atom Lite günstiger als bei Amazon.

Erweiterung eines ESP32 ( nicht ESP32-C3) mit Bluetooth um die Proxy Funktionalität:

esp32_ble_tracker:
  scan_parameters:
    interval: 1100ms
    window: 1100ms
    active: true

bluetooth_proxy:
  active: true
# Enable logging

Gasflaschen Füllstand Template Helfer in Home Assistant:

{% set minvalue_11kg = 50.0 %}
{% set maxvalue_11kg = 362.0 %}
{% set minvalue_5kg = 50 %}
{% set maxvalue_5kg = 280%}
{% set currentvalue= 0 %}
{% if states('input_boolean.mopeka_11_kg_schalter') == "on" %}
{{( (float(states('sensor.pro_check_4290_tank_level')) - minvalue_11kg )* 100 / (maxvalue_11kg-minvalue_11kg) ) | round(0) | default (0)}}
{% else %}
{{ ((float(states('sensor.pro_check_4290_tank_level')) - minvalue_5kg )* 100 / (maxvalue_5kg-minvalue_5kg)) | round(0) | default (0) }}
{% endif %}

Picture Elements Karte des WW erweitert um den Gasfüllstand:

type: picture-elements
elements:
  - type: state-icon
    entity: binary_sensor.fenster_hinten
    style:
      top: 43%
      left: 4%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_rechts
    style:
      top: 85%
      left: 21%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_mitte_rechts
    style:
      top: 85%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_unten
    style:
      top: 85%
      left: 73%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_oben
    style:
      top: 85%
      left: 78%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_links
    style:
      top: 10%
      left: 21%
      '--mdc-icon-size': 100%
      background_colour: green
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_links
    style:
      top: 10%
      left: 60%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_hinten
    style:
      top: 48%
      left: 22%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte
    style:
      top: 48%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_vorne
    style:
      top: 48%
      left: 74%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte_links
    style:
      top: 29%
      left: 41%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.tuer
    style:
      top: 73%
      left: 36%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: input_boolean.unterwegs
    tap_action:
      action: toggle
    style:
      top: 88%
      left: 34%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-badge
    entity: sensor.fuellstand_camper_f_llstand_frischwasser
    name: Füllstand
    show_name: true
    style:
      '--label-badge-background-color': blue
      '--ha-label-badge-label-color': white
      '--label-badge-text-color': white
      '--label-badge-red': black
      '--ha-label-badge-title-width': 150px
      top: 30%
      left: 68%
      color: blue
  - type: state-label
    entity: sensor.temperatur_innenraum_temperature
    style:
      font-size: 12px
      top: 62%
      left: 34%
      line-height: 10px
      background-color: rgba(0, 0, 255, 0.5)
      clolor: blue
  - type: state-label
    entity: sensor.temperatur_innenraum_humidity
    style:
      font-size: 12px
      top: 68%
      left: 34%
      line-height: 10px
      background-color: rgba(0, 0, 255, 0.5)
      clolor: blue
  - type: state-badge
    entity: alarm_control_panel.camper_innenraum
    show_name: false
    background-color: transparent
    style:
      top: 20%
      left: 93%
      color: transparent
  - type: state-badge
    entity: sensor.mopeka_gasfullstand
    name: Gas
    show_name: false
    style:
      '--label-badge-background-color': gray
      '--ha-label-badge-label-color': white
      '--label-badge-text-color': white
      '--label-badge-red': black
      '--ha-label-badge-title-width': 150px
      top: 60%
      left: 93%
      color: gray
  - type: state-icon
    entity: input_boolean.mopeka_11_kg_schalter
    show_name: true
    background-color: transparent
    style:
      top: 50%
      left: 93%
      color: transparent
image: /local/images/510TK.png

Wenn ihr wissen wollt, wie die Karte angelegt wird , oder aber auch der Wasserfüllstand , Fernzugriff u.s.w. funktioniert, dann schaut euch diese Playlist von mir an:

YouTube player

Weitere Links aus diesem Video:

ESPHome WebFlasher

ESPHome Bluetooth Proxy Flasher

Home Assistant Dein Einstieg in ESPHome und DIY🛠️ – Auch für Anfänger! 🚀

Home Assistant mit ESPHome und Ultraschallsensor: Automatisierung leicht gemacht! In diesem Projekt nutzt du ESPHome und einen Ultraschallsensor, um eine spannende Automatisierung zu erstellen. Wenn du mehr über ESPHome erfahren möchtest, findest du in diesem Video spannende Informationen.

Viel Erfolg bei deinem Projekt! 😊🛠️

Wenn du weitere Anpassungen oder Ideen hast, lass es mich wissen! 😊👍

Links in diesem Video:

Web-Flash ESPhome : https://web.esphome.io

Doku ESPhome : https://esphome.io

Stückliste* :

StückzahlArtikelAmazon LinkBeschreibung
1M5 Stack Atom Litehttps://amzn.to/4cfTOg0ESP Controller
1Wemos D1 Minihttps://amzn.to/3VqmxI5ESP8266 Controller
1HC-SR04https://amzn.to/4ekOVUNUltraschall Sensor
15V Netzteil Micro USBhttps://amzn.to/4er9D5eMicro USB Netzteil 5V ( für Wemos D1 Mini )
15 V Netzteil USB Chttps://amzn.to/3VL2K7qUSB C Netzteil 5 V ( für Atom Lite)
1
Jumper Kabel Set

https://amzn.to/3VLHYos

Jumper Kabel für die Verbindung
zwischen ESP und HC-SR04
1

Hinweis: Den M5 Stack Atom Lite kann man bei anderen Quellen günstiger bekommen. Sucht danach im Internet , falls ihr meinen Kanal unterstützen wollt, freue ich mich natürlich aber auch über einen Einkauf über den Amazon Link.

Verkabelung Wemos D1 Mini mit HC-SR04

Verkabelung M5Stack ATom Lite mit HC-SR04

ESPHome Code ( hier sind für Euch die Stellen ab sensor: -> Enable logger interessant):

substitutions:
  name: esphome-web-684d66
  friendly_name: Wemos_D1Mini_Ultraschall_V1

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp8266:
  board: esp01_1m

# Example configuration entry
sensor:
  - platform: ultrasonic
    trigger_pin: GPIO2
    echo_pin: GPIO0
    name: "Ultraschall für Video"
    id: ultraschall_video
    update_interval: 1s
    # Example filters:
    filters:
      - filter_out: nan
      - median:
          window_size: 5
          send_every: 5
          send_first_at: 1


  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"
    device_class: ""


binary_sensor:
  - platform: template
    name: "PKW unter Carport"
    lambda: |-
      if ((id(ultraschall_video).state >= 0.5) ) {
        // Pkw ist nicht unter Carport
        return false;
      } else {
        // PKW ist unter Carport
        return true;
      }

# Enable logging
logger:

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
  platform: esphome
  password: xxxxxxxxxxxxxxxxxxxxx


# Allow provisioning Wi-Fi via serial
improv_serial:

wifi:
  # Set up a wifi access point
  ap: {}

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
  import_full_config: true

# To have a "next url" for improv serial
web_server:

Visualisierung auf dem Dashboard

Falls ihr nicht den binären Sensor aus dem ESP nutzen wollt, könnt ihr euch auch einen binären Template Helfer anlegen und die Schwellen für “PKW vorhanden” und “PKW nicht vorhanden” darüber definieren.

Template Helfer binärer Sensor:

{% if float(states.sensor.esphome_web_684d66_ultraschall_f_r_video.state) >= 0.5 %}
false
{% else %}
true
{% endif %}

YAML Code Bildelement Karte:

show_state: true
show_name: false
type: picture-entity
entity: binary_sensor.esphome_web_684d66_pkw_unter_carport
state_image:
  'on': /local/image/on_Carport.png
  'off': /local/image/off_Carport.png

Flussdiagramm der Automatisierung

In dieser Playlist findet ihr noch weitere Informationen zu EVCC , PV – Überschussladen und auch MQTT Sensoren wie z.B. den Charge Mode:

YouTube player

PV-Modus Prognose Template Helfer:

{% set value_prognose = (float(states.sensor.solcast_pv_forecast_prognose_nachste_stunde.state) / 1000.0) %}
{% if  value_prognose > 1.5 %}
pv
{% elif value_prognose > 0 %}
minpv
{% else %}
now
{%endif%}

Update 20.06.2024: Um beim Neustart von Home Assistant keine fehlerhaften Ergebnisse zu erhalten, ist es besser den Status mit state(‘sensor.entity’) abzufragen. In diesem Beispiel wäre es:

{% set value_prognose = (float(states('sensor.solcast_pv_forecast_prognose_nachste_stunde')) / 1000.0) %}
{% if  value_prognose > 1.5 %}
pv
{% elif value_prognose > 0 %}
minpv
{% else %}
now
{%endif%}

Ultraschall Sensor Automatisierung YAML :

alias: Carport_Ultraschallsensor
description: ""
trigger:
  - platform: state
    entity_id:
      -  binary_sensor.esphome_web_684d66_pkw_unter_carport
    to: "on"
    id: PKW Trigger On
  - platform: state
    entity_id:
      -  binary_sensor.esphome_web_684d66_pkw_unter_carport
    to: "off"
  - platform: time_pattern
    minutes: /30
  - platform: sun
    event: sunrise
    offset: 0
  - platform: sun
    event: sunset
    offset: 0
condition: []
action:
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id:  binary_sensor.esphome_web_684d66_pkw_unter_carport
            state: "on"
          - condition: or
            conditions:
              - condition: state
                entity_id: device_tracker.tlerch
                state: home
              - condition: state
                entity_id: device_tracker.slerch
                state: home
            alias: Eine Person ist zu Hause & Auto steht unter Carport
    then:
      - service: select.select_option
        metadata: {}
        data:
          option: "{{ states.sensor.helfer_pv_prognose_lademodus.state }}"
        target:
          entity_id: select.charge_mode
      - condition: trigger
        id:
          - PKW Trigger On
      - service: media_player.volume_set
        metadata: {}
        data:
          volume_level: 0.33
        target:
          entity_id: media_player.kuche
      - service: notify.alexa_media_kuche
        metadata: {}
        data:
          message: >-
            PKW unter Carport angekommen. Lademodus {{
            states.sensor.helfer_pv_prognose_lademodus.state }} selektiert
      - service: media_player.volume_set
        metadata: {}
        data:
          volume_level: 0.1
        target:
          entity_id: media_player.kuche
      - service: notify.mobile_app_tlerch
        metadata: {}
        data:
          message: >-
            Fahrzeug unter Carport angekommen. Lademodus {{
            states.sensor.helfer_pv_prognose_lademodus.state }} eingeschaltet
      - if:
          - condition: and
            conditions:
              - condition: sun
                before: sunrise
                after: sunrise
                enabled: false
              - condition: trigger
                id:
                  - PKW Trigger On
        then:
          - service: light.turn_on
            metadata: {}
            data:
              brightness_pct: 100
            target:
              entity_id: light.aussenbeleuchtung
          - delay:
              hours: 0
              minutes: 3
              seconds: 0
              milliseconds: 0
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.aussenbeleuchtung
    else:
      - condition: trigger
        id:
          - PKW Trigger On
      - service: select.select_option
        metadata: {}
        data:
          option: "off"
        target:
          entity_id: select.charge_mode
      - service: notify.mobile_app_tlerch
        metadata: {}
        data:
          message: Unbekanntes Fahrzeug unter Carport erkannt!
          title: 🚨🚨 CARPORT 🚨🚨
          data:
            notification_icon: mdi:alert
            channel: Notfall
            priority: high
            ttl: 0
            color: red
            push:
              sound:
                name: default
                critical: 1
                volume: 1
mode: single

Update der ESPHome funktioniert nicht (mehr) 20.06.2024:

Solltet ihr das Problem haben, dass ihr beim Update der ESPHome Revision bei eurem Device eine Fehlermeldung bekommt, dass das Update nicht durchgeführt werden kann, dann muss eine Zeile im YAML Code ergänzt werden ( ich habe das im veröffentlichten Code korrigiert ! )

# Allow Over-The-Air updates
ota:
  platform: esphome
  password: xxxxxxxxxxxxxxxxx

Infos zu dem Thema findet ihr in den Release Notes der ESPHome Version:

ESPHome 2024.6.0 – 19th June 2024 — ESPHome

🚀 Enthülle das Geheimnis: Home Assistant + ESPHome für präzise Wassertankmessung im Camper! 💧🌟”

Entdecke in diesem Video, wie du mit Home Assistant und ESPHome den Füllstand deines Wassertanks präzise messen kannst – egal ob im Camper, Wohnmobil oder sogar Zuhause! 🚐💧 Wir zeigen dir Schritt für Schritt, wie du mit einfachen Mitteln und ohne Vorkenntnisse in die Welt von Home Assistant und ESPHome einsteigst. Erfahre, wie du die Daten deines Wassertanks überwachen und in Echtzeit auslesen kannst. Perfekt für Anfänger und alle Technikbegeisterten! 🌟

📌 Inhalt:

1. Einführung in Home Assistant und ESPHome

2. Notwendige Hardware und Software

3. Schritt-für-Schritt-Anleitung zur Installation und Konfiguration

4. Live-Demo: Wassertankfüllstand im Camper ermitteln

5. Tipps und Tricks zur Optimierung und Anwendung auch in anderen Bereichen

6. Verpasse nicht diese einfache und effektive Lösung zur Füllstandsmessung. Abonniere jetzt und bleibe auf dem Laufenden! 👍🔔 Wenn du weitere Anpassungen oder Ideen hast, lass es mich wissen! 😊👍

Wichtiger Hinweis:

Hallo Zusammen, kurzer Hinweis und viele Dank an @bernhardpasman157 👍

Im Video habe ich ein paarmal vom Widerstand des Kondensators gesprochen, was natürlich Blödsinn ist. Ein Kodensator hat eine Kapazität😊

Links in diesem Video:

Web-Flash ESPhome : https://web.esphome.io

Doku ESPhome : https://esphome.io

Icons: https://pictogrammers.com

Stückliste* :

StückzahlArtikelAmazon LinkBeschreibung
1M5 Stack Atom Litehttps://amzn.to/4cfTOg0ESP Controller
1Votronic Tankelektrode 15-50 Khttps://amzn.to/3KAzlqeVotronic Tankelektrode für Tanks von 15-50cm
1Votronic Tankelektrode 12-24 Khttps://amzn.to/3VgGtwRVotronic Tankelektrode für Tanks von 12-24cm
1DC/DC Buck Converter 8-32V zu 5Vhttps://amzn.to/3RkiKusKonvertiert die Spannung auf konstante 5 V
1Jumper Kabel Sethttps://amzn.to/3XihoEtZur Verbindung der Komponenten
1WAGO Verbindungsklemmen Sethttps://amzn.to/4bRPdRmZur Verbindung der Komponenten
14-42 mm Stufenbohrerhttps://amzn.to/45nE6x8Stufenbohrer/Kegelbohrer für die Bohrung im Tank

Hinweis: Den M5 Stack Atom Lite kann man bei anderen Quellen günstiger bekommen. Sucht danach im Internet , falls ihr meinen Kanal unterstützen wollt, freue ich mich natürlich aber auch über einen Einkauf über den Amazon Link.

Die Verdahtung lässt sich relativ einfach gestalten. Wer es etwas professioneller möchte, verwendet noch PinHeader und lötet sich die Kabel zusammen ( entweder auf einer Platine oder direkt). Mir ging es hier darum euch eine Lösung zu zeigen, die man auch ohne Lötkenntnisse umsetzen kann.

Sollte Interesse an einer fertigen Platinen mit Anschlussklemmen bestehen, so könnt ihr mir das gerne auf meinem Discord Server smart home & more Discord Server mitteilen. Sollte es genügend Anfragen geben, so werden wir gerne eine Platine dafür erstellen.

Code ESPHome ( ersetzt bei euch nur den Teil unter “sensor:” , die anderen Elemente werden automatisch angelegt ):

esphome:
  name: fuellstand-camper
  friendly_name: Fuellstand_Camper

esp32:
  board: m5stack-atom
  framework:
    type: arduino

# Example configuration entry
sensor:
  - platform: adc
    pin: GPIO33
    name: "Füllstand Frischwasser"
    update_interval: 1s
    attenuation: auto
    unit_of_measurement: "%"
    icon: mdi:water-pump
    # Example filters:
    filters:
      - filter_out: nan # Update: 20.06.2024 Filter, falls keine Werte vom Sensor erhalten werden
      - calibrate_linear:
          - 0.0 -> 0.0
          - 1.1 -> 50.0
          - 2.2 -> 100.0
      - median:
          window_size: 5
          send_every: 5
          send_first_at: 1

  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"
    device_class: ""

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "junLQaHVpQKVMtpZx04qQwpLx6qbZLail8/PWfQsefw="
ota:
  platform: esphome # Wichtiger Hinweis!: mit dem Update der ESPHome Software vom 20.06.2024, muss diese Zeile ergänzt werden, um für die Version ein Update durchzuführen
  password: "1520ab9d0c8fea0f99fd36dceafb902e"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.101.156
    gateway: 192.168.101.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Fuellstand-Camper"
    password: "gE2KT8jGjALI"

captive_portal:
    

Solltet ihr nicht die Buchsenleiste verwenden wollen, so steht euch auch der Steckanschluss zur Verfügung. Geeignete Kabel könnt ihr hier z.B. beziehen. Eine Seite vom Kabel müsstet ihr dann abschneiden und die Kabelenden abisolieren.

Im Code muss jetzt noch diese Zeile verändert werden:

  #  pin: GPIO33 # wir ändern GPIO33 in GPIO32
     pin: GPIO22 # damit nutzen wir den Steckanschluss am Atom Lite

Grundsätzlich könnt ihr darüber auch eine zweite Sonde anschließen, z.B. für den Füllstand eures Abwassers. Dazu ergänzt unter den Sensoren lediglich einen weiteren Sensor und nutzt den zweiten ADC Eingang (GPIO22) für einen weiteren Sensor.

  - platform: adc
    pin: GPIO32
    name: "Füllstand Abwasser"
    update_interval: 1s
    attenuation: auto
    unit_of_measurement: "%"
    icon: mdi:water-pump
    # Example filters:
    filters:
      - calibrate_linear:
          - 0.0 -> 0.0
          - 1.1 -> 50.0
          - 2.2 -> 100.0
      - median:
          window_size: 5
          send_every: 5
          send_first_at: 1

Für die Visualisierung empfehle ich euch dieses Video aus meiner Reihe “Smarter-Camper” anzuschauen:

YouTube player

Code der gezeigten Bildelemente Kartenkonfiguration:

type: picture-elements
elements:
  - type: state-icon
    entity: binary_sensor.fenster_hinten
    style:
      top: 43%
      left: 4%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_rechts
    style:
      top: 85%
      left: 21%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_mitte_rechts
    style:
      top: 85%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_unten
    style:
      top: 85%
      left: 73%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_oben
    style:
      top: 85%
      left: 78%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_links
    style:
      top: 10%
      left: 21%
      '--mdc-icon-size': 100%
      background_colour: green
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_links
    style:
      top: 10%
      left: 60%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_hinten
    style:
      top: 48%
      left: 22%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte
    style:
      top: 48%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_vorne
    style:
      top: 48%
      left: 74%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte_links
    style:
      top: 29%
      left: 41%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.tuer
    style:
      top: 73%
      left: 36%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: input_boolean.unterwegs
    tap_action:
      action: toggle
    style:
      top: 88%
      left: 34%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-badge
    entity: sensor.fuellstand_camper_f_llstand_frischwasser
    name: Füllstand
    show_name: true
    style:
      '--label-badge-background-color': blue
      '--ha-label-badge-label-color': white
      '--label-badge-text-color': white
      '--label-badge-red': black
      '--ha-label-badge-title-width': 150px
      top: 70%
      left: 94%
      color: blue
image: /local/images/510TK.png

Die gezeigte Automatisierung:

Ich habe den Code anders als im Video noch erweitert, so dass auch der Füllstand in Prozent mit ausgeben wird.

alias: Wasserstand ist niedrig
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.fuellstand_camper_f_llstand_frischwasser
    below: 20
condition: []
action:
  - service: notify.notify
    metadata: {}
    data:
      message: >-
        Achtung: Wasserstand ist bei
        {{states.sensor.fuellstand_camper_f_llstand_frischwasser.state}}% .
        Bitte auffüllen! 
      title: Camper Info!
mode: single

Für den Einbau habe ich den Buck Converter und den M5Stack mit 3M Klebeband an der Wand unter der Sitzleiste neben dem Wassertank angebracht. Dort stört er nicht und ist im Bedarfsfall aber noch zugänglich.

Weitere Videos zum Thema Camper findest du in folgender Playlist:

(Fernzugriff, Fenstersensoren, Alarme, etc.. )

YouTube player

🔍 Home Assistant: Deine Lieblingskanäle im Blick! 🎥

YouTube player

In diesem Video zeige ich dir, wie du mit Home Assistant deine Lieblings-YouTube-Kanäle im Blick behältst und du automatisch benachrichtigt wirst, wenn neue Videos veröffentlicht werden. Dabei verwenden wir Templates, For-Schleifen und erstellen sogar ein Pie-Chart für die Creator.

🔍 Inhalte des Videos:

1. YouTube-Tracking: Wir setzen Sensoren ein, um die Veröffentlichungen deiner Lieblingskanäle zu überwachen.

2. Automatisierung mit Notification: Du erhältst Benachrichtigungen, sobald neue Videos verfügbar sind.

3. For-Schleife und Variablen in Templates: Wir nutzen diese leistungsstarken Funktionen, um unsere Automatisierung zu optimieren.

4. Pie-Chart für die Creator: Wir visualisieren die Daten mit einem schicken Diagramm. Bleib auf dem Laufenden und abonniere meinen Kanal!

🚀 Wenn du weitere Anpassungen oder Ideen hast, lass es mich wissen! 😊👍

In meinem Shop findest du Produkte * aus meinen Videos und andere interessante Dinge

Die verwendeten Integrationen lassen sich über HACS installieren. Wie du HACS installierst, erfährst du in diesem Video:

YouTube player

Weitere Links:

Home Assistant: Wie du HACS installierst (in 3 Minuten ) – smarthome & more (smarthomeundmore.de)

Den verwendeten Channel ID Finder, kannst du hier finden 🙂

So kann dein Ergebnis dann aussehen :

Konfiguration der Youtube Sensoren in der configuration.yaml:

sensor: 
  - platform: youtube
    channel_id: UCd-TcFifNC20TrnEiESNumw #smart home & more
    
  - platform: youtube
    channel_id: UCkwdS6Kc2yibIyjM04A0bFQ #smarthomeyourself

  - platform: youtube
    channel_id: UC6tOdC66bmw1PTYZ9Mxup0g #SteuerdeinLeben
    
  - platform: youtube
    channel_id: UCiU--5PKQOMdfMTG7dTKc7g #Simon42
    
  - platform: youtube
    channel_id: UC9GhECy9pXpEnzedm_w07wA #Smartzeug

  - platform: youtube
    channel_id: UCNvXHh8fiVdYo4NkbHph-9w #Smartrev

  - platform: youtube
    channel_id: UCYh0OOdITnYFgkO_vjuvupA #verdrahtet
    
  - platform: youtube
    channel_id: UCe06G4hqXjUlYhB-rDmns4g #Tristan

  - platform: youtube
    channel_id: UC9rJWdu8-jyyxo73DPevpKg #Smartlivenet

  - platform: youtube
    channel_id: UCvgSyOl0NdnpBEYF7fX7Y_A #The Alkly

  - platform: youtube
    channel_id: UCUSC1_KwZp_6GZ8IyIW2yRQ #Smarthomebastler

  - platform: youtube
    channel_id: UCPpzG1lA071gQegxfKoKiqQ #Meine digitale Welt

Konfiguration der “published” Sensoren in der configuration.yaml:

  - platform: attributes
    friendly_name: "Youtube Views"
    attribute: views
    entities:
     - sensor.smart_home_more
     - sensor.smarthome_yourself
     - sensor.steuer_dein_leben
     - sensor.simon42
     - sensor.smartzeug
     - sensor.smartrev
     - sensor.verdrahtet
     - sensor.tristan_s_smartes_heim
     - sensor.smart_live_net
     - sensor.alkly
     - sensor.smart_home_bastler
     - sensor.meinedigitalewelt

Automatisierung aus dem Video:

alias: Notification, neues YT Video meiner Kanäle verfügbar
description: >-
  Immer, wenn eines der Kanäle ein neues Video bringt, bekomme ich eine
  Notifikation
trigger:
  - platform: state
    entity_id:
      - sensor.smart_home_more
      - sensor.smarthome_yourself
      - sensor.steuer_dein_leben
      - sensor.simon42
      - sensor.smartrev
      - sensor.smartzeug
      - sensor.verdrahtet
      - sensor.tristan_s_smartes_heim
      - sensor.smart_live_net
      - sensor.alkly
      - sensor.smart_home_bastler
      - sensor.meinedigitalewelt
    attribute: url
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition: []
action:
  - service: notify.notify
    metadata: {}
    data:
      message: >-
        {% set buffer = namespace(videos=[]) %}  {% for sensor in [            
        states.sensor.smart_home_more_published,            
        states.sensor.smarthome_yourself_published,            
        states.sensor.steuer_dein_leben_published,
        states.sensor.tristan_s_smartes_heim_published,
        states.sensor.smart_live_net_published,  states.sensor.alkly_published,
        states.sensor.smart_home_bastler_published,
        states.sensor.smartrev_published,     
        states.sensor.smartzeug_published, states.sensor.verdrahtet_published, 
        states.sensor.meinedigitalewelt_published,
        states.sensor.simon42_published     ] %}       {% if
        strptime(sensor.state,     '%Y-%m-%dT%H:%M:%S+00:00').date() ==
        now().date() %}             {% set video_name =
        sensor.entity_id.split('.')[1].replace('_published', '')     %}        
        {% set buffer.videos = buffer.videos + [video_name] %}       {%    
        endif %}     {% endfor %}      {% if buffer.videos %}  Neues Video
        veröffentlicht von: {{'\n'}}{{ buffer.videos | join(',\n') }}     {%
        endif %}
mode: single

Bonusmaterial für Creator 🙂 und Andere …

Attribute “views” in der Configuration.yaml

  - platform: attributes
    friendly_name: "Youtube Veröffentlicht"
    attribute: published
    entities:
     - sensor.smart_home_more
     - sensor.smarthome_yourself
     - sensor.steuer_dein_leben
     - sensor.simon42
     - sensor.smartzeug
     - sensor.smartrev
     - sensor.verdrahtet
     - sensor.tristan_s_smartes_heim
     - sensor.smart_live_net
     - sensor.alkly
     - sensor.smart_home_bastler
     - sensor.meinedigitalewelt

YAML Code der Apex Chart Card

type: custom:apexcharts-card
apex_config:
  chart:
    height: 350px
chart_type: pie
header:
  show: true
  show_states: true
  colorize_states: true
  title: Youtube Views der letzen Videos
series:
  - entity: sensor.smart_home_more_views
    name: smart home & more
    type: column
  - entity: sensor.simon42_views
    name: simon42
    type: column
  - entity: sensor.smarthome_yourself_views
    name: smarthome yourself
    type: column
  - entity: sensor.steuer_dein_leben_views
    name: Steuer dein Leben
    type: column
  - entity: sensor.smartrev_views
    name: Smart Rev
    type: column
  - entity: sensor.smartzeug_views
    name: Smartzeug
    type: column
  - entity: sensor.verdrahtet_views
    name: Verdrahtet
    type: column
  - entity: sensor.tristan_s_smartes_heim_views
    name: Tristans Smartes Heim
    type: column
  - entity: sensor.smart_live_net_views
    name: SmartLive.Net
    type: column
  - entity: sensor.alkly_views
    name: The Alkly
    type: column
  - entity: sensor.smart_home_bastler_views
    name: Smart Home Basler
    type: column
  - entity: sensor.meinedigitalewelt_views
    name: Meine digitale Welt
    type: column

YAML Code des gesamten Dashbords, mit zwei Vertikalen Stapeln

  - title: Youtube
    path: youtube
    icon: mdi:youtube
    type: panel
    cards:
      - type: horizontal-stack
        cards:
          - type: vertical-stack
            cards:
              - type: tile
                entity: sensor.smart_home_more
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.simon42
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.smartrev
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.smartzeug
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.verdrahtet
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.smart_home_bastler
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
          - type: vertical-stack
            cards:
              - type: tile
                entity: sensor.steuer_dein_leben
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.smarthome_yourself
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.tristan_s_smartes_heim
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.smart_live_net
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: tile
                entity: sensor.alkly
                show_entity_picture: true
                vertical: true
                state_content:
                  - published
                  - state
                  - views
                  - stars
              - type: custom:apexcharts-card
                apex_config:
                  chart:
                    height: 350px
                chart_type: pie
                header:
                  show: true
                  show_states: true
                  colorize_states: true
                  title: Youtube Views der letzen Videos
                series:
                  - entity: sensor.smart_home_more_views
                    name: smart home & more
                    type: column
                  - entity: sensor.simon42_views
                    name: simon42
                    type: column
                  - entity: sensor.smarthome_yourself_views
                    name: smarthome yourself
                    type: column
                  - entity: sensor.steuer_dein_leben_views
                    name: Steuer dein Leben
                    type: column
                  - entity: sensor.smartrev_views
                    name: Smart Rev
                    type: column
                  - entity: sensor.smartzeug_views
                    name: Smartzeug
                    type: column
                  - entity: sensor.verdrahtet_views
                    name: Verdrahtet
                    type: column
                  - entity: sensor.tristan_s_smartes_heim_views
                    name: Tristans Smartes Heim
                    type: column
                  - entity: sensor.smart_live_net_views
                    name: SmartLive.Net
                    type: column
                  - entity: sensor.alkly_views
                    name: The Alkly
                    type: column
                  - entity: sensor.smart_home_bastler_views
                    name: Smart Home Basler
                    type: column
                  - entity: sensor.meinedigitalewelt_views
                    name: Meine digitale Welt
                    type: column
              - show_name: true
                show_icon: true
                type: button
                tap_action:
                  action: toggle

Ich würde mich sehr über einige Dashboards auf Basis dieses Videos freuen. Kommt dazu gerne auf meinen Discord Server https://discord.gg/tCGy3RWFwJ und teilt Eure Ideen. Vielen Dank 🙂

Home Assistant: Fensterstatus, Regenschutz, Einbruchwarnung für Camper/Haus (mit Floorplan)🚐

Willkommen zu unserem neuen Video! Erfahre, wie Home Assistant dein Zuhause, ob mobil oder nicht schützt, indem es offene Fenster oder Türen erkennt, und damit vor Regen warnt und Einbrüche verhindert! Entdecke auch unseren Camper-Floorplan und triff unseren spannenden Gast, der dir auch einen Einblick in seine Lösungen gibt. Verpasse nicht diese spannende Einführung in die Welt der Smart (mobil) Home-Sicherheit!

In meinem Shop findest du auch die verwendeten Produkte * aus dem Video

Um Alarmo installieren zu können benötigst du HACS. Wie du HACS installierst, erfährst du in diesem Video:

YouTube player

Wie du Home Assistant auf deinem Raspberry PI 4 oder 5 für z.B. deinen Camper installieren kannst, zeige ich dir in diesem kurzen Video:

YouTube player

Den Kanal von Daniel (smarthomeyourself) findest du hier:

Das ausführliche Alarmo Tutorial von Daniel könnt ihr hier finden:

YouTube player

Vielen Dank auch an Maxx für sein tolles Berechnungstool und natürlich auch für seine Klasse Videos im Blick auf Dashboards und Flurplänen. Schaut bei ihm gerne mal vorbei:

Position auf der Picture Elements Card berechnen! Von Pixel auf % – Smart Home Bastler

Den Kanal von Maxx findest du hier: Kanal

Im Video zeige ich euch , wie ihr einen einfachen Flurplan erstellt. Egal ob Camper oder Haus. Hier habt ihr den Beispielcode (Bildelemente Karte) aus dem Video:

type: picture-elements
elements:
  - type: state-icon
    entity: binary_sensor.fenster_hinten
    style:
      top: 43%
      left: 4%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_rechts
    style:
      top: 85%
      left: 21%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_mitte_rechts
    style:
      top: 85%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_unten
    style:
      top: 85%
      left: 73%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_rechts_oben
    style:
      top: 85%
      left: 78%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_hinten_links
    style:
      top: 10%
      left: 21%
      '--mdc-icon-size': 100%
      background_colour: green
      color: transparent
  - type: state-icon
    entity: binary_sensor.fenster_vorne_links
    style:
      top: 10%
      left: 74%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_hinten
    style:
      top: 48%
      left: 22%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte
    style:
      top: 48%
      left: 48%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_vorne
    style:
      top: 48%
      left: 74%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.dachluke_mitte_links
    style:
      top: 29%
      left: 41%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: binary_sensor.tuer
    style:
      top: 73%
      left: 36%
      '--mdc-icon-size': 100%
      color: transparent
  - type: state-icon
    entity: input_boolean.unterwegs
    tap_action:
      action: toggle
    style:
      top: 88%
      left: 34%
      '--mdc-icon-size': 100%
      color: transparent
image: /local/images/510TK.png

Um die Fenster zu überwachen wurde auch eine kleine Automatisierung vorgestellt.

Den YAML Code dazu findest du hier:

alias: Benachrichtigung , wenn Fenster noch geöffnet ist
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.unterwegs
    to: "on"
  - platform: time_pattern
    minutes: /30
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: binary_sensor.fenster_und_dachluken
        state: "on"
      - condition: state
        entity_id: input_boolean.unterwegs
        state: "on"
action:
  - service: notify.notify
    metadata: {}
    data:
      message: >-
        Achtung: {{ expand('binary_sensor.fenster_und_dachluken') |
        selectattr('state','eq','on') | map(attribute='name') | list | join
        (',\n') }} ist noch geöffnet
mode: single

Update 01.07.2024: Da mich schon ein paar Fragen zur Einbindung des Rauchmelders ereilt haben, möchte ich euch das Script für den Aqara Rauchmelder hier noch ergänzend zur Verfügung stellen.

Script Sirene einschalten:

alias: Rauchmelder Sirene einschalten
sequence:
  - device_id: cb8b15beb28b9adf6ddcc79b2d193bea
    domain: select
    entity_id: 1a08cf7364ee5aee41aba55636f6db6b
    type: select_option
    option: alarm
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  - device_id: cb8b15beb28b9adf6ddcc79b2d193bea
    domain: select
    entity_id: 1a08cf7364ee5aee41aba55636f6db6b
    type: select_option
    option: mute
description: ""
icon: mdi:alarm-light

Rauchmelder Sirene ausschalten:

alias: Rauchmelder Sirene ausschalten
sequence:
  - device_id: cb8b15beb28b9adf6ddcc79b2d193bea
    domain: select
    entity_id: 1a08cf7364ee5aee41aba55636f6db6b
    type: select_option
    option: mute
description: ""
icon: mdi:alarm-light-off

Home Assistant: EVCC-Daten zu dynamischen Strompreisen auslesen, visualisieren und damit rechnen

Verwandle dein Smart Home mit dynamischen Strompreisen! In diesem Video zeigen wir dir, wie du mit Home Assistant und EVCC nicht nur die aktuellen Strompreise ausliest, sondern auch visualisierst und clever damit rechnest. Spare bares Geld und optimiere deinen Energieverbrauch – jetzt reinschauen und profitieren! Plus: Erfahre alles über eine exklusive Bonusautomatisierung, die dir noch mehr Effizienz bringt! 💡🔌💸

Wenn du mehr über EVCC kennenlernen willst, dann findest du hier weitere nützliche Informationen.

Aus meiner Sicht ist EVCC nicht nur eine Managementsoftware für eure Wallbox und Elektroauto. Mit EVCC könnt ihr unabhängig von der Schnittstelle eures Wechselrichters, Batteriespeichers, dynamischen Stromanbieter etc… auf aufbereiteten Daten agieren und diese für tolle Automatisierungen und Visualisierungen in Home Assistant nutzen.

Um die Inhalte besser verstehen zu können, empfehle ich euch folgende Videos ebenfalls anzuschauen:

YouTube player
Hier erfährst du in wenigen Minuten, wie man HACS installiert.
YouTube player
Basisinstallation der Software EVCC
YouTube player
In diesem Video zeige ich euch, wie man mit Home Assistant aus den Daten von EVCC MQTT Sensoren erstellt.

Links , in denen ihr weitere Informationen findet:

Restful Sensor in der Configuration.yaml

sensor:

  - platform: rest
    name: EVCC Tariff Forecast
    unique_id: evcc_tariff_forecast
    resource: http://192.168.101.3:7070/api/tariff/grid
    value_template: "{{value_json.result.rates[0].price}}"
    json_attributes:
       - result
    scan_interval: 60

Template Helfer : sensor.evcc_tibber_forecast_max_value_today

{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', now().strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt', now().strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | max }}

Template Helfer: evcc_tibber_forecast_min_value_today

{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', now().strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt', now().strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | min }}

Template Helfer: evcc_tibber_forecast_max_value_tomorrow

{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', (now() + timedelta(days=1)).strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt',(now() + timedelta(days=1)).strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | max | default(0) }}

Template Helfer: evcc_tibber_forecast_min_value_tomorrow

{{state_attr('sensor.evcc_tariff_forecast', 'result')['rates'] | selectattr('start', 'ge', (now() + timedelta(days=1)).strftime('%Y-%m-%dT00:00:00%z')) | selectattr('start','lt',(now() + timedelta(days=1)).strftime('%Y-%m-%dT23:59:59%z')) | map(attribute='price') | min| default(0) }}

Für die Visualisierung habe ich die Apex Chart Card aus dem Video ein wenig optimiert. Hier findet ihr die optimierte Variante als Code Beispiel ( die nötigen MQTT Sensoren aus EVCC findet ihr weiter unten ) :

Weitere Infos zum Umgang mit der Apex Chart Card, habe ich in diesem Video erklärt:

YouTube player
Forecastdaten mit Apex Chart Card visualisieren.
type: custom:apexcharts-card
apex_config:
  chart:
    height: 268px
all_series_config:
  unit: kWh
header:
  title: Evcc Tibber 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.evcc_tariff_forecast
    yaxis_id: kwh
    type: area
    name: Forecast heute
    color: green
    data_generator: >
      let now = new Date().getTime();

      let rates = entity.attributes.result.rates;

      let filteredRates = rates.filter(rate => new Date(rate["start"]).getTime()
      <= now);

      return filteredRates.map(rate => [new Date(rate["start"]).getTime(),
      rate["price"]]);
    show:
      legend_value: false
      in_header: false
    stroke_width: 4
    float_precision: 2
    extend_to: false
  - entity: sensor.evcc_tariff_forecast
    yaxis_id: kwh
    type: area
    name: Forecast heute (nach Jetzt)
    color: yellow
    data_generator: >
      let now = new Date().getTime()- 3600000;

      let rates = entity.attributes.result.rates;

      let filteredRates = rates.filter(rate => new Date(rate["start"]).getTime()
      > now);

      return filteredRates.map(rate => [new Date(rate["start"]).getTime(),
      rate["price"]]);
    show:
      legend_value: false
      in_header: false
    stroke_width: 4
    float_precision: 2
    extend_to: false
  - entity: sensor.evcc_tariff_grid
    color: green
    yaxis_id: header
    name: Aktueller Preis
    unit: ' € '
    float_precision: 2
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.evcc_tibber_forecast_min_value_today
    color: yellow
    yaxis_id: header
    name: Min(heute)
    unit: ' € '
    float_precision: 2
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.evcc_tibber_forecast_max_value_today
    color: yellow
    yaxis_id: header
    name: Max(heute)
    unit: ' € '
    float_precision: 2
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.evcc_tibber_forecast_min_value_tomorrow
    color: yellow
    yaxis_id: header
    name: Min(morgen)
    unit: ' € '
    float_precision: 2
    show:
      legend_value: true
      in_header: true
      in_chart: false
  - entity: sensor.evcc_tibber_forecast_max_value_tomorrow
    color: yellow
    yaxis_id: header
    name: Max(morgen)
    unit: ' € '
    float_precision: 2
    show:
      legend_value: true
      in_header: true
      in_chart: false

Alle diese Daten habe ich auch aus EVCC extrahiert. Hier findet ihr die nötigen MQTT-Sensoren:

mqtt: 

  sensor:
   - name: "EVCC Grid Power"
     unique_id: evcc_grid_power
     state_topic: "evcc/site/gridPower"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"
     
   - 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"
     
   - 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 Tariff Feed In"
     unique_id: 3bd64d9d-0e8d-41ad-9db3-b0a4774120c1
     state_topic: "evcc/site/tariffFeedIn"
     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"
     
   - name: "EVCC Battery Power"
     unique_id: evcc_battery_Power
     state_topic: "evcc/site/batteryPower"
     unit_of_measurement: "W"
     availability_topic: "evcc/status"

Bonus shell_command Sensor für das Deaktivieren der EVCC Batteriemanagement Funktion über die REST API von EVCC in der Configuration.yaml

shell_command:
  batterie_aus: curl -X POST http://192.168.101.3:7070/api/batterydischargecontrol/false
  batterie_an: curl -X POST http://192.168.101.3:7070/api/batterydischargecontrol/true

Automatisierung , um bei sehr günstigem Strompreis ( Preis liegt unter der Einspeisevergütung) den Batteriespeicher zu laden:

alias: Speicher Laden und abschalten, da so günstiger
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.evcc_tariff_grid
    below: sensor.evcc_tariff_feed_in
    id: Es ist günstiger aus dem Netz zu beziehen
  - platform: numeric_state
    entity_id:
      - sensor.evcc_tariff_grid
    id: Es ist teurer aus dem Netz zu beziehen
    above: sensor.evcc_tariff_feed_in
  - platform: numeric_state
    entity_id:
      - sensor.evcc_battery_soc
    above: 99
    id: Speicher hat 100 % erreicht
condition:
  - condition: time
    after: "06:00:00"
    before: "20:00:00"
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Es ist günstiger aus dem Netz zu beziehen
        sequence:
          - service: shell_command.batterie_aus
            metadata: {}
            data: {}
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: select
            entity_id: 6427b7e3fd03320c47261c2767cc0c41
            type: select_option
            option: Charge from Solar Power and Grid
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: number
            entity_id: cedb1c19907bf5f26d82807c7a46b72e
            type: set_value
            value: 36000
      - conditions:
          - condition: trigger
            id:
              - Es ist teurer aus dem Netz zu beziehen
        sequence:
          - service: shell_command.batterie_an
            metadata: {}
            data: {}
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: select
            entity_id: 6427b7e3fd03320c47261c2767cc0c41
            type: select_option
            option: Maximize Self Consumption
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: number
            entity_id: cedb1c19907bf5f26d82807c7a46b72e
            type: set_value
            value: 3600
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id:
                  - Speicher hat 100 % erreicht
              - condition: numeric_state
                entity_id: sensor.evcc_tariff_grid
                below: sensor.evcc_tariff_feed_in
        sequence:
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: select
            entity_id: 6427b7e3fd03320c47261c2767cc0c41
            type: select_option
            option: Solar Power Only (Off)
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - device_id: 1659e926aef842a56f4fc8960bf10ca1
            domain: number
            entity_id: cedb1c19907bf5f26d82807c7a46b72e
            type: set_value
            value: 36000
mode: single

Viel Spaß 🙂

Wenn ihr ebenfalls noch Automatisierungsideen oder Lösungen in diesem Zusammenhang habt, kommt gerne auf meinen Discord Server und präsentiert dort eure Lösung.