Dieses Video soll Einblicke im erweiterten Umgang mit Home Assistant , ApexChartCard, Templates und Abfragen und die Nutzung von Device Tracking Diensten geben. Wie automatisiere ich meine persönliche Dokumentation einer Arbeitszeiterfassung. Wie das mit Automatisierung funktionierten kann, erklärt dieses Video.
Beschreibung Home Assistant History Stats: History Stats – Home Assistant (home-assistant.io)
Wie du HACS installierst wird dir hier erklärt:
HACS Integration Apex Charts-Card: GitHub – RomRider/apexcharts-card: 📈 A Lovelace card to display advanced graphs and charts based on ApexChartsJS for Home Assistant
Code Beispiel configuration.yaml für history_stats
sensor:
- platform: history_stats
name: "Tobias ist auf der Arbeit (heute)"
entity_id: device_tracker.tobias # Eure Entitäts ID eines Device Trackers
state: 'Arbeit' # die Entität muss den Status Arbeit haben
type: time
start: '{{ now().replace(hour=0, minute=0, second=0) }}' # Startzeitpunkt der Aufnahme
end: '{{ now() }}' # geht immer so lange, wie der Status Arbeit ist
- platform: history_stats
name: "Tobias ist im Home Office"
entity_id: input_boolean.home_office # Entität Schalter - Home Office
state: 'on' # Der Schalter muss umgelegt sein
type: time
start: '{{ now().replace(hour=0, minute=0, second=0) }}' # ist der Schalter umgelegt, beginnt die Aufzeichnung der Zeit
end: '{{ now() }}' # sie endet, wenn der Schalter wieder umgelegt wird.
ApexCharts-Kartenkonfiguration:
type: custom:apexcharts-card
stacked: true
apex_config:
char:
height: 180px
header:
show: true
title: Arbeitzeiten (heute)
show_states: true
colorize_states: true
graph_span: 7d
span:
end: day
series:
- entity: sensor.tobias_ist_auf_der_arbeit_heute
type: column
color: green
opacity: 0.7
unit: h
group_by:
func: last
duration: 1d
fill: zero
- entity: sensor.tobias_ist_im_home_office
type: column
color: blue
opacity: 0.7
unit: h
group_by:
func: last
duration: 1d
fill: zero
Home Assistant Helfer Template ( Summe der Arbeitszeiten) :
{% set total = states('sensor.tobias_ist_auf_der_arbeit_heute')|float + states('sensor.tobias_ist_im_home_office')|float %}
{{ total }}
Automatisierung Arbeitzeit senden (hier ist die Message wichtig. Diese könnt ihr für WhatsApp, Email etc.. verwenden )
alias: Arbeitszeit senden
description: ""
trigger:
- platform: time
at: "00:00:00"
condition: []
action:
- service: notify.persistent_notification
data:
message: >-
{{ now().strftime('%d.%m.%Y') }} : Summe: {{
states('sensor.summe_der_arbeitzeiten') }}h Office: {{
states('sensor.tobias_ist_auf_der_arbeit_heute')}} h Home-Office: {{
states( 'sensor.tobias_ist_im_home_office') }}h
title: Arbeitzeit am Tag
mode: single

