🏡 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:

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:

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:

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.. )