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