Home Assistant: evcc Basisinstallation und Konfiguration

Willkommen zur Installation des Home Assistant EVCC Add-Ons – Ihrer Tür zu einem nahtlosen und intelligenten Energiemanagement für Ihr Zuhause! Mit EVCC integrieren Sie Ihre Ladestation spielend leicht in Ihr Smart Home, steuern Ladevorgänge optimal und senken Ihre Energiekosten. Folgen Sie einfach den Schritten in der Videopräsentation, passen Sie die Konfiguration an Ihre Bedürfnisse an und genießen Sie die Vorteile eines intelligenten Energiemanagements. Machen Sie sich bereit, Ihr Zuhause smarter und grüner zu gestalten – mit EVCC und Home Assistant an Ihrer Seite.

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

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

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

Links aus dem Video:

EVCC Home Assistant Add-On: https://github.com/evcc-io/hassio-addon

Modbusproxy Home Assistant Add-On: https://github.com/Akulatraxas/ha-modbusproxy

Hinweis von @kmreuther: Im Netzwerkproxy muss der Listenport und der Netzwerkport immer auf 502 bleiben. Ansonsten gibt es eine Fehlermeldung (failed to connect) .

evcc.yaml Beispielkonfiguration:

network:
  # schema is the HTTP schema
  # setting to `https` does not enable https, it only changes the way URLs are generated
  schema: http
  # host is the hostname or IP address
  # if the host name contains a `.local` suffix, the name will be announced on MDNS
  # docker: MDNS announcements don't work. host must be set to the docker host's name.
  host: 192.168.101.3 # Home Assistant IP-Adresse
  # port is the listening port for UI and api
  # evcc will listen on all available interfaces
  port: 7070

interval: 30s # control cycle interval. Interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval

# database configuration for persisting charge sessions and settings
# database:
#   type: sqlite
#   dsn: <path-to-db-file>

# sponsor token enables optional features (request at https://sponsor.evcc.io)
# sponsortoken:

# telemetry enables aggregated statistics
#
# Telemetry allows collecting usage data (grid and green energy, charge power).
# Data is aggregated, no individual charging sessions are tracked. The collected,
# anonymous data can be retrieved using https://api.evcc.io.
#
# See https://github.com/evcc-io/evcc/pull/4343 or details.
#
# For time being, this is only available to sponsors, hence data is associated with
# the sponsor token's identity.
#
# telemetry: true

# log settings
log: info
levels:
  site: debug
  lp-1: debug
  lp-2: debug
  cache: error
  db: error

# modbus proxy for allowing external programs to reuse the evcc modbus connection
# each entry will start a proxy instance at the given port speaking Modbus TCP and
# relaying to the given modbus downstream device (either TCP or RTU, RS485 or TCP)
modbusproxy:
  #  - port: 5200
  #    uri: solar-edge:502
  #    # rtu: true
  #    # readonly: true # use `deny` to raise modbus errors

# meter definitions
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
# for documentation see https://docs.evcc.io/docs/devices/meters
meters:
  - name: my_grid
    type: template
    template: solaredge-hybrid
    usage: grid
    
    # Modbus TCP
    modbus: tcpip
    id: 1
    host: 192.168.101.3 # Hostname
    port: 502 # Port
    timeout: 10s # optional 
    
  - name: my_pv
    type: template
    template: solaredge-hybrid
    usage: pv
    
    # Modbus TCP
    modbus: tcpip
    id: 1
    host: 192.168.101.3 # Hostname
    port: 502 # Port
    timeout: 10s # optional   
    
  - name: my_battery
    type: template
    template: solaredge-hybrid
    usage: battery

    # Modbus TCP
    modbus: tcpip
    id: 1
    host: 192.168.101.3 # Hostname
    port: 502 # Port
    timeout: 10s # optional     

# charger definitions
# name can be freely chosen and is used as reference when assigning charger to vehicle
# for documentation see https://docs.evcc.io/docs/devices/chargers
chargers:
  - name: my_charger
    type: template
    template: openwb-pro
    host: 192.168.101.82 # IP-Adresse oder Hostname 

# vehicle definitions
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
# for documentation see https://docs.evcc.io/docs/devices/vehicles
vehicles:
  - name: my_car
    type: template
    template: tesla
    title: # Wird in der Benutzeroberfläche angezeigt (optional)
    accessToken: [ dein Access Token ] # Tesla Access Token
    refreshToken: [ dein Refresh Token] # Tesla Refresh Token
    capacity: 60 # Akkukapazität in kWh (optional) 

# site describes the EVU connection, PV and home battery
site:
  title: Home # display name for UI
  meters:
    grid: my_grid # grid meter
    pv:
      - my_pv # list of pv inverters/ meters
    battery:
      - my_battery # list of battery meters

  residualPower: 100 # additional household usage margin
  maxGridSupplyWhileBatteryCharging: 0 # ignore battery charging if AC consumption is above this value

# loadpoint describes the charger, charge meter and connected vehicle
loadpoints:
  - title: Carport # display name for UI
    charger: my_charger # charger
    #meter: charge # charge meter
    mode: "off" # default charge mode to apply when vehicle is disconnected; use "off" to disable by default if charger is publicly available

    # remaining settings are experts-only and best left at default values
    priority: 0 # relative priority for concurrent charging in PV mode with multiple loadpoints (higher values have higher priority)
    soc:
      # polling defines usage of the vehicle APIs
      # Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
      # or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
      poll:
        # poll mode defines under which condition the vehicle API is called:
        #   charging: update vehicle ONLY when charging (this is the recommended default)
        #   connected: update vehicle when connected (not only charging), interval defines how often
        #   always: always update vehicle regardless of connection state, interval defines how often (only supported for single vehicle)
        mode: charging
        # poll interval defines how often the vehicle API may be polled if NOT charging
        interval: 60m
      estimate: true # set false to disable interpolating between api updates (not recommended)
    enable: # pv mode enable behavior
      delay: 1m # threshold must be exceeded for this long
      threshold: 0 # grid power threshold (in Watts, negative=export). If zero, export must exceed minimum charge power to enable
    disable: # pv mode disable behavior
      delay: 3m # threshold must be exceeded for this long
      threshold: 0 # maximum import power (W)

# tariffs are the fixed or variable tariffs
tariffs:
  currency: EUR # three letter ISO-4217 currency code (default EUR)
  grid:
    # either static grid price (or price zones)
    type: fixed
    price: 0.35 # EUR/kWh


    # or variable tariffs
    # type: tibber
    # token: "476c477d8a039529478ebd690d35ddd80e3308ffc49b59c65b142321aee963a4" # access token
    # homeid: "cc83e83e-8cbf-4595-9bf7-c3cf192f7d9c" # optional if multiple homes associated to account

    # type: awattar
    # region: de # optional, choose at for Austria
    # charges: # optional, additional charges per kWh
    # tax: # optional, additional tax (0.1 for 10%)

    # type: octopusenergy
    # tariff: AGILE-FLEX-22-11-25 # Tariff code
    # region: A # optional

    # type: elering # Nordpool
    # region: ee # or lt, lv, fi
    # charges: # optional, additional charges per kWh
    # tax: # optional, additional tax (0.1 for 10%)

    # type: energinet # Energinet using the price in DKK
    # region: dk1 # or dk2
    # charges: # optional, additional charges per kWh
    # tax: # optional, additional tax (0.1 for 10%)

    # type: entsoe # Entso-E european market data
    # domain: BZN|DE-LU # https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas
    # securitytoken: # api token
    # charges: # optional, additional charges per kWh
    # tax: # optional, additional tax (0.1 for 10%)

    # type: pun # PUN - Prezzo unico nazionale - Hourly Italian wholesale prices
    # charges: 0 # optional, additional charges per kWh
    # tax: 0 # optional, additional tax (0.1 for 10%)

    # type: amber
    # token: # api token from https://app.amber.com.au/developers/
    # siteid: # site ID returned by the API
    # channel: general

    # type: custom # price from a plugin source; see https://docs.evcc.io/docs/reference/plugins
    # price:
    #   source: http
    #   uri: https://example.org/price.json
    #   jq: .price.current

  feedin:
    # rate for feeding excess (pv) energy to the grid
    type: fixed
    price: 0.08 # EUR/kWh

    # type: octopusenergy
    # tariff: AGILE-FLEX-22-11-25 # Tariff code
    # region: A # optional

    # type: amber
    # token: # api token from https://app.amber.com.au/developers/
    # siteid: # site ID returned by the API
    # channel: feedIn
  co2:
    # co2 tariff provides co2 intensity forecast and is for co2-optimized target charging if no variable grid tariff is specified
    # type: grünstromindex # GrünStromIndex (Germany only)
    # zip: <zip>

    # type: electricitymaps # https://app.electricitymaps.com/map
    # uri: <uri>
    # token: <token> # needs to be a token with forecast (not in the free tier)
    # zone: DE

    # type: ngeso # National Grid Electricity System Operator data (United Kingdom only) https://carbonintensity.org.uk/
    # provides national data if both region and postcode are omitted - do not supply both at the same time!
    # region: 1 # optional, coarser than using a postcode - see https://api.carbonintensity.org.uk/ for full list
    # postcode: SW1A1AA # optional

# mqtt message broker
mqtt:
  # broker: localhost:1883
  # topic: evcc # root topic for publishing, set empty to disable
  # user:
  # password:

# influx database
influx:
  # url: http://localhost:8086
  # database: evcc
  # user:
  # password:

# eebus credentials
eebus:
  # uri: # :4712
  # interfaces: # limit eebus to specific network interfaces
  # - en0
  # certificate: # local signed certificate, required, can be generated via `evcc eebus-cert`
  #   public: # public key
  #   private: # private key

# push messages
messaging:
  events:
    start: # charge start event
      title: Charge started
      msg: Started charging in "${mode}" mode
    stop: # charge stop event
      title: Charge finished
      msg: Finished charging ${chargedEnergy:%.1fk}kWh in ${chargeDuration}.
    connect: # vehicle connect event
      title: Car connected
      msg: "Car connected at ${pvPower:%.1fk}kW PV"
    disconnect: # vehicle connected event
      title: Car disconnected
      msg: Car disconnected after ${connectedDuration}
    soc: # vehicle soc update event
      title: Soc updated
      msg: Battery charged to ${vehicleSoc:%.0f}%
    guest: # vehicle could not be identified
      title: Unknown vehicle
      msg: Unknown vehicle, guest connected?
  services:
  # - type: pushover
  #   app: # app id
  #   recipients:
  #   - # list of recipient ids
  # - type: telegram
  #   token: # bot id
  #   chats:
  #   - # list of chat ids
  # - type: email
  #   uri: smtp://<user>:<password>@<host>:<port>/?fromAddress=<from>&toAddresses=<to>
  # - type: ntfy
  #   uri: https://<host>/<topics>
  #   priority: <priority>
  #   tags: <tags>

Home Assistant: Deine Fragen, Deine Lösungen, Teil 2

Willkommen zu meinem neuen Format, in dem wir uns mit Deinen Automatisierungsfragen auseinandersetzen und Lösungen präsentieren. Im heutigen Beispiel geht es um die Umrechnung von Temperatur und eine automatische Sommerzeit Umschaltung. Vielen Dank für Eure Fragen.

Umrechnung Fahrenheit in °C

{{ ((float(states.sensor.temperatursensor_buro_temperature.state) -32.0 ) * 5/9) | round(2)}}

History Stat Sensor für die Sommerzeiterfassung:

sensor:
  - platform: history_stats
    name: Sommerzeit Timer
    entity_id: input_boolean.helfer_sommerzeit_schalter
    unique_id: 'sommerzeit_timer'
    state: "on"
    type: time
    start:  >
            {% set status= states('input_button.helfer_sommerzeit_taster') %}
            {% if status in ['unknown', 'unavailable'] %}
            {{ now() }}
            {% else %}
            {{ status | as_datetime }}
            {% endif %}
    end: "{{ now() }}"

Automatisierung Sommerzeit Maikel:

alias: SomerZeit_Maikel
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.temperatursensor_buro_temperature
    above: 15
  - platform: numeric_state
    entity_id:
      - sensor.temperatursensor_buro_temperature
    below: 15
  - platform: time_pattern
    hours: /1
  - platform: numeric_state
    entity_id:
      - sensor.sommerzeit_timer
    above: 168
condition: []
action:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: numeric_state
                entity_id: sensor.temperatursensor_buro_temperature
                above: 15
              - condition: state
                entity_id: input_boolean.helfer_sommerzeit_schalter
                state: "off"
        sequence:
          - service: input_boolean.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.helfer_sommerzeit_schalter
          - service: input_button.press
            metadata: {}
            data: {}
            target:
              entity_id: input_button.helfer_sommerzeit_taster
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_buro_temperature
            below: 15
        sequence:
          - service: input_boolean.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.helfer_sommerzeit_schalter
      - conditions:
          - condition: numeric_state
            entity_id: sensor.sommerzeit_timer
            above: 167.9
        sequence:
          - service: notify.notify
            metadata: {}
            data:
              message: "Es ist Sommerzeit :-) "
mode: single

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

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

Links aus dem Video:

DrawIO : draw.io (drawio.com)

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

Nabu Casa: Nabu Casa

Flussdiagramm „ich entferne mich vom Haus“

Flussdiagramm „ich nähere mich meinem Haus“

Beispielautomatisierung YAML Code:

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

Home Assistant und Alexa Media Player, so gelingt die Installation 2024

Erlebe die Synergie zwischen Home Assistant und dem Alexa Media Player für eine nahtlose Integration in Deinem Smart Home. Entdecke, wie Du mithilfe dieser Technologien Deine Heimautomatisierung optimieren und Informationen mit Leichtigkeit wiedergeben lassen kannst.

Hier findest du noch weitere Informationen zur Integration:

Configuration · alandtse/alexa_media_player Wiki · GitHub

Beispiel Template für die Ausgabe eines Temperatursensors. Hier kann natürlich jeder Status eines Sensors ausgegeben werden, wenn man die Entität austauscht.

Die Temperatur im Studio ist {{ states.sensor.temperatursensor_buro_temperature.state }} Grad

Home Assistant: Deine Fragen, Deine Lösungen: Template ( if , then , else )

Willkommen zu meinem neuen Format, in dem wir uns mit Deinen Automatisierungsfragen auseinandersetzen und Lösungen präsentieren. Durch die Verwendung der renommierten Hausautomatisierungssoftware Home Assistant streben wir nach umfassenden Lösungen für Deine Bedürfnisse. Schließe dich der Home Assistant Community an, während wir gemeinsam die Welt der Automatisierung erkunden und Herausforderungen erfolgreich bewältigen.

Das sind die Sensoren, die ich für das Video verwendet habe *:

Für die Installation von ZigBee2Mqtt und der Einstieg in Templates, könnten diese Videos noch helfen:

YouTube player
Installation ZigBee2MQtt
YouTube player
Der Einstieg in Templates

History Stats Video Frage Zeit Fenster offen , aus der Configuration.yaml :

sensor:
  - platform: history_stats
    name: Video Frage Zeit Fenster offen 
    unique_id: 'video_frage_zeit_fenster_offen'
    entity_id: binary_sensor.fenster_studio_video_contact
    state: "on"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"

Helfer Template Video Zeit Fenster auf in Minuten:

{{ (float(states.sensor.video_frage_zeit_fenster_offen.state) * 60.0 )| round(2)}}

Helfer Template Trigger_fuer_Fenster:

{% if float(states.sensor.temperatur_aussen_temperature.state) < 18 and (float(states.sensor.video_frage_zeit_fenster_offen.state) * 60.0 ) > 10 %}
on
{% else %}
off
{% endif %}

Automatisierung: Deine Fragen Deine Lösungen als YAML File:

alias: Deine Fragen Deine Lösungen
description: Fenster
trigger:
  - platform: state
    entity_id:
      - binary_sensor.trigger_fuer_fenster
    to: "on"
condition: []
action:
  - service: notify.notify
    metadata: {}
    data:
      message: "Das Fenster im Studio ist noch geöffnet. "
      title: Fenster Hinweis
mode: single

Proxmox Backup Server Installation auf Synology NAS: Schritt-für-Schritt-Anleitung für effiziente Datensicherung

Erfahre, wie du den Proxmox Backup Server auf deinem Synology NAS als virtuelle Maschine installierst. Diese Anleitung beinhaltet die Grundkonfiguration, zeigt die nahtlose Integration unter Proxmox VE und erklärt die effektive Nutzung der Prune Settings. Entdecke detaillierte Schritte für ein reibungsloses Backup und Restore.

Ergänzende Informationen:
Kompatibilität Synology NAS mit Virtual Machine Manager:

https://www.synology.com/de-de/dsm/packages/Virtualization

Hinweis: Der Virtual Machine Manager lässt sich nur nutzen, wenn der Speicher als Btrfs-Volume angelegt ist. Ext3 oder Ext4 wird nicht unterstützt.
https://kb.synology.com/de-de/DSM/help/Virtualization/storage?version=6

Synology Virtual Machine Manger spk Datei:
https://archive.synology.com/download/Package/Virtualization

Hier findest du eine Anleitung, wie du den Virtual Machine Manager installierst:

Prune Simulator: https://pbs.proxmox.com/docs/prune-simulator/
Proxmox Backup Server Download : https://www.proxmox.com/de/downloads

Home Assistant: Dokumentmanagement (DMS ) Paperless NGX , für den perfekten Workflow !

Entdecke die Möglichkeit, dein Zuhause zu organisieren und effizienter zu gestalten – mit dem Paperless NGX Home Assistant Add-On! Tauche ein in die Welt der digitalen Dokumentenverwaltung und erfahre in diesem Video, wie du das Add-On mühelos installierst. Ich begleite dich durch die notwendigen Schritte und du kannst die Vorteile eines fortschrittlichen Dokumentenmanagementsystems kennenlernen. Nie wieder mühsames Suchen nach physischen Dokumenten – mit Paperless NGX hast du alle wichtigen Unterlagen digital griffbereit. Erlebe die Freiheit, von überall aus auf deine Dateien zuzugreifen, und genieße die Sicherheit einer zuverlässigen und gut organisierten Dokumentenstruktur.

Das sind die Labels und der Scanner, den ich verwende *:

Links aus dem Video:

Paperless NGX Add – on : https://community.home-assistant.io/t/benoit-anastay-add-on-paperless-ngx/664789

Github Seite mit Doku vom Entwickler: https://github.com/BenoitAnastay/paperless-home-assistant-addon/blob/e8e07c0b719f8e74a604b34a821c8ff37194c619/paperless-ngx/DOCS.md#configuration

Avery Zweckform QR-Code Generator von Tobias L. Meier: https://tobiasmaier.info/asn-qr-code-label-generator/

So sieht unser Workflow aus:

Add-On Konfiguration:

filename: "{created_year}/{correspondent}/{title}"
language: deu
language_packages: eng deu fra ita spa
default_superuser:
  username: admin
  email: admin@mail.de
  password: admin
timezone: Europe/Berlin
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
barcodes_enabled: true
barcodes_asn: true

Home Assistant: Intelligent lüften ohne Programmieraufwand!

Erfahren Sie in diesem Video, wie Sie mit Home Assistant in zwei Stufen intelligent lüften können. Die detaillierte Anleitung bietet eine einfache Automatisierung ohne Verwendung von Templates. In der zweiten Stufe wird ein leicht verständliches Template hinzugefügt, um eine präzisere Automatisierung zu ermöglichen

Meine ZigBee Produkte, die ich einsetze *:

Links aus dem Video:

GitHub – dolezsa/thermal_comfort: Thermal Comfort sensor for HA (absolute humidity, heat index, dew point, thermal perception)

Automatisierungsbeispiel „einfache_Lüftungsprüfung“ :

alias: einfache_Lüftungsprüfung
description: ""
trigger:
  - platform: time_pattern
    hours: /1
condition: []
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.sensor_aussen_absolute_luftfeuchtigkeit
        below: sensor.sensor_innen_absolute_luftfeuchtigkeit
    then:
      - service: input_boolean.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: input_boolean.luftungshelfer_einfach
    else:
      - service: input_boolean.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: input_boolean.luftungshelfer_einfach
mode: single

Automatisierungsbeispiel „komplexere Lüftungsprüfung mit Template Helfer“ :

alias: Lüftungsprüfung
description: ""
trigger:
  - platform: time_pattern
    hours: /1
condition: []
action:
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.sensor_aussen_absolute_luftfeuchtigkeit
            below: sensor.sensor_innen_absolute_luftfeuchtigkeit
          - condition: numeric_state
            entity_id: >-
              sensor.prozent_abweichung_innen_zu_aussen_absolute_luftfeuchtigkeit
            above: 19
    then:
      - service: input_boolean.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: input_boolean.luftungshelfer
    else:
      - service: input_boolean.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: input_boolean.luftungshelfer
mode: single

Template Helfer Prozent Abweichung absolute Innen zu Aussen-Feuchtigkeit:

{{((float(states.sensor.sensor_innen_absolute_luftfeuchtigkeit.state) - float(states.sensor.sensor_aussen_absolute_luftfeuchtigkeit.state)) * 100.00 / float(states.sensor.sensor_innen_absolute_luftfeuchtigkeit.state)) | round(1) | abs() }}

Home Assistant : Frigate NVR installieren für ultimative Sicherheit und tolle Automatisierungen!

Tauche ein in die Welt der Sicherheit! Erfahre in diesem Video, wie du Frigate NVR problemlos unter Home Assistant einrichtest. Von der nahtlosen Integration bis zur stylischen Lovelace Card – alles, was du für ultimativen Schutz brauchst! 🛡️🏡

Hier kannst du den Coral AI beziehen*:

Google Coral USB Edge TPU ML Beschleunigungscoprozessor für Raspberry Pi und andere eingebettete Einzelboard-Computer
  • Spezifikationen: Arm 32-Bit Cortex-M0+ Mikroprozessor (MCU): bis zu 32 MHz max 16 KB Flash-Speicher mit ECC 2 KB RAM-Anschlüsse: USB 3.1 (Gen 1) Port und Kabel (SuperSpeed, 5 Gb/s Übertragungsgeschwindigkeit)

Links aus dem Video:

Frigate: Introduction | Frigate

Coral AI: Get started with the USB Accelerator | Coral

Hinweis:

Bitte beachtet, dass man Frigate NVR nicht auf einem Raspberry Pi mit Micro SD Karte laufen lassen sollte. Durch die häufigen Schreib-/Lesezyklen kann es zu einem schnellen Defekt der Dateisystems kommen. Verwendet hier besser eine SSD !

Für die Verwendung des Coral AI Stick mit einem Raspberry PI, empfehle ich einen separat versorgten USB 3.0 HUB.

Netzwerkspeicher

Für das dauerhafte Recording empfehle ich die Verwendung eines Netzwerkspeichers. Die Einrichtung unter Home Assistant für die Verwendung eines Netzwerkspeichers ist hier beschrieben:

HA Network Storage | Frigate

Wie sich grundsätzlich unter HA ein Netzwerkspeicher z.B. über eine Synology NAS Freigabe einrichten lässt, habe ich in dem Video Backup & Restore erklärt. Hier wäre lediglich als Medium -> Media zu wählen und nicht Backup. Die Media Freigabe muss unter Home Assistant „frigate“ genannt werden.

YouTube player

Konfigurationen:

Hier findest du die frigate.yml :

mqtt:
  enabled: True
  host: 172.16.0.14
  user: smarthome
  password: smarthome
  topic_prefix: frigate
  # Optional: client id (default: shown below)
  # WARNING: must be unique if you are running multiple instances
  client_id: frigate
  # Optional: interval in seconds for publishing stats (default: shown below)
  stats_interval: 1


# Optional: Detectors configuration. Defaults to a single CPU detector
detectors:
  # Required: name of the detector
  detector_name:
    # Required: type of the detector
    # Frigate provided types include 'cpu', 'edgetpu', and 'openvino' (default: shown below)
    # Additional detector types can also be plugged in.
    # Detectors may require additional configuration.
    # Refer to the Detectors configuration page for more information.
    type: cpu 

birdseye:
  enabled: True
  restream: True
  mode: objects

objects:
  track:
    - person
    - car
  filters:
    person:
      min_area: 5000
      max_area: 100000


go2rtc:
  streams:
    Treppenhaus: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    Treppenhaus_sub: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"

cameras:
  Treppenhaus_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Treppenhaus?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Treppenhaus_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14

Möchtest du weitere Kameras einbinden, habe ich dir das Beispiel frigate.yml um eine weitere Beispielkamera erweitert ( Beispiel für eine Reolink Kamera z.B. 410, 520, 520a, 511wa). Dieser Vorgang kann für die Anzahl eurer Kameras wiederholt werden. Achtet darauf, dass jede Kamera auch Kapazität von eurem Host-System in Anspruch nimmt.

Weitere Konfigurationsbeispiele für Kameras findest du an dieser Stelle auf der Frigate Dokumentation:

Camera Specific Configurations | Frigate

Beispiel für die Erweiterung um eine weitere Kamera.

mqtt:
  enabled: True
  host: 172.16.0.14
  user: smarthome
  password: smarthome
  topic_prefix: frigate
  # Optional: client id (default: shown below)
  # WARNING: must be unique if you are running multiple instances
  client_id: frigate
  # Optional: interval in seconds for publishing stats (default: shown below)
  stats_interval: 1


# Optional: Detectors configuration. Defaults to a single CPU detector
detectors:
  # Required: name of the detector
  detector_name:
    # Required: type of the detector
    # Frigate provided types include 'cpu', 'edgetpu', and 'openvino' (default: shown below)
    # Additional detector types can also be plugged in.
    # Detectors may require additional configuration.
    # Refer to the Detectors configuration page for more information.
    type: cpu 

birdseye:
  enabled: True
  restream: True
  mode: objects

objects:
  track:
    - person
    - car
  filters:
    person:
      min_area: 5000
      max_area: 100000


go2rtc:
  streams:
    Treppenhaus: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    Treppenhaus_sub: 
      - rtsp://smarthome:Smarthome&More@192.168.101.185:554/h264Preview_01_main
      - "ffmpeg:rtsp_cam#audio=opus"
    zweite_Kamera: 
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password#video=copy#audio=copy#audio=opus"
    zweite_Kamera_sub: 
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password"


cameras:
  Treppenhaus_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Treppenhaus?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Treppenhaus_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14

  zweite_Kamera_CAM:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/zweite_Kamera?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/zweite_Kamera_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1280 
      height: 720 
      fps: 5
    snapshots:
      enabled: True
    record:
      enabled: True
      retain: 
        days: 7
      events:
        retain: 
          default: 14
  

Möchtest du den Coral AI verwenden, dann setze an der Stelle Detectors folgende Zeilen ein und ersetzte damit die Zeilen mit dem CPU-Detector:

detectors:
  coral:
    type: edgetpu
    device: usb

Coral Edge TPU Proxmox :

Um den Coral AI unter Proxmox durchzureichen, führe folgende Zeilen in deiner PVE-Node Shell aus (nicht in der VM !) :

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update
sudo apt-get install libedgetpu1-std

Nun kannst du in deiner VM den USB Edge TPU Adapter wie folgt durchreichen:

Achte dabei darauf ,dass du den Port wählst, wo der Coral AI Stick eingesteckt ist. Bei mir wurde „Ausgesteckt“ angezeigt. Lass dich davon nicht irritieren, wenn das bei dir ebenfalls so sein sollte.

Für die Verwendung der TPU musst du zwingend einen USB 3.x Port verwenden.

Zuletzt muss die Home Assistant VM neu gestartet werden und die Änderung in der friagte.yml durchgeführt werden ( siehe oben ).

In eigener Sache:

Frigate bietet noch viele weitere Möglichkeiten. Diese lassen sich nicht alle in nur einem Video darlegen. Falls dich Frigate mit Home Assistant interessiert, kannst du mir gerne in den Kommentaren des Videos auf Youtube eine Nachricht hinterlassen. Wenn genügend Interesse besteht, werde ich gerne noch weitere Features von Frigate vorstellen ( Masken, Zonen, Beispielautomatisierungen etc. ) .