Homeassistant: Automatisch Arbeitszeit erfassen
Ich möchte gerne meine Arbeitszeit automatisch erfassen und über eine Statistik auswerten können.
Der Plan
- Wenn Arbeit betreten wird soll Zeit erfasst
- Wenn die Arbeit verlassen wird, soll die Messung beendet werden
- Bei Verlassen voll eine Benachteiligung auf das Smartphone geschickt werden
Zonen
Die Arbeit wird in Homeassistant als Zone eingetragen, damit die Standorterkennung als Standort nicht Abwesend anzeigt sondern Arbeit.
Code
Über den File Editor wird in die configuration.yaml
folgendes eingefügt:
sensor:
- platform: history_stats
name: "stat_arbeit"
entity_id: device_tracker.iphone_von_x
state: 'Arbeit'
type: time
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
Dieser Sensor erstellt eine Statistik mit der Entity "stat_arbeit" als Medium für den Standort wird das Smartphone ausgewählt. Bei state
wird der Name der Zone Angegeben. Beim Start wird die Zeit überschrieben.
Benachrichtigung über die APP
Dafür wird die automations.yaml
im Fileeditor bearbeitet und folgender Code eingefügt.
- id: '1707139092390'
alias: Tages Arbeitszeit
description: ''
trigger:
- platform: zone
entity_id: device_tracker.iphone_von_x
zone: zone.arbeit #Zonen ID
event: leave
condition: []
action:
- service: notify.mobile_app_iphone_von_x
metadata: {}
data:
title: Arbeitszeit
message: '{{ states(''sensor.stat_arbeit'') }}'
mode: single
Nun wird bei dem Verlassen der Arbeit eine Message mit dem Titel Arbeitszeit und der Arbeitszeit verschickt.