Files
N22/include/scripts/overvaagning.yaml
T

152 lines
5.8 KiB
YAML

overvaagning:
alias: AI indkorsel
sequence:
- variables:
ai_pause_until: "{{ states('input_datetime.ai_indkorsel_ai_pause_until') }}"
ai_is_paused: >-
{{
ai_pause_until not in ['unknown', 'unavailable', '']
and as_timestamp(ai_pause_until) > as_timestamp(now())
}}
- metadata: {}
data:
filename: /config/www/indkorsel_snapshot.jpg
target:
device_id: cf4f218aae515c84aea9f37f190dcfd5
enabled: true
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
enabled: true
- metadata: {}
data:
filename: /config/www/indkorsel_snapshot_1.jpg
target:
device_id: cf4f218aae515c84aea9f37f190dcfd5
enabled: true
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
enabled: true
- metadata: {}
data:
filename: /config/www/indkorsel_snapshot_2.jpg
target:
device_id: cf4f218aae515c84aea9f37f190dcfd5
enabled: true
action: camera.snapshot
- metadata: {}
choose:
- conditions:
- condition: template
value_template: "{{ not ai_is_paused }}"
sequence:
- continue_on_error: true
data:
entity_id: ai_task.google_ai_task
task_name: indkoersel_motion_notification
instructions: >-
Bevægelse er blevet opdaget ved indkørslen. Se på
kamerabilledet og afgør, om der er en synlig årsag til
bevægelsen.
Hvis du ser en person eller et køretøj, så skriv en meget
kort dansk notifikationstekst egnet til iPhone. Medtag kun
nyttige detaljer som tøj, farve, retning eller nummerplade,
hvis det faktisk er synligt.
Ignorer bygninger, parkerede biler og andre stationære
objekter. Hvis der ikke er nogen åbenlys synlig årsag til
bevægelsen, skal du markere det som ingen bevægelse og bruge
teksten 'Ingen åbenlys bevægelse detekteret.'
structure:
motion_detected:
description: >-
True hvis en person eller et køretøj tydeligt er den
synlige årsag til bevægelsen. False hvis der ikke er
nogen åbenlys synlig årsag.
required: true
selector:
boolean:
summary:
description: >-
En meget kort dansk notifikationstekst. Brug præcist
'Ingen åbenlys bevægelse detekteret.' hvis ingen synlig
årsag findes.
required: true
selector:
text:
attachments:
- media_content_id: media-source://camera/camera.indkoersel_sub
media_content_type: image/jpeg
response_variable: generated_content
action: ai_task.generate_data
- choose:
- conditions:
- condition: template
value_template: >-
{{ generated_content is defined
and generated_content.data is defined
and generated_content.data.motion_detected is defined
and not generated_content.data.motion_detected }}
sequence:
- stop: ""
- conditions:
- condition: template
value_template: >-
{{ generated_content is defined
and generated_content.data is defined
and generated_content.data.summary is defined
and generated_content.data.motion_detected is defined
and generated_content.data.motion_detected }}
sequence:
- metadata: {}
data:
title: Bevægelse i indkørsel
message: >-
{{ generated_content.data.summary }} - Tid: {{
now().strftime('%Y-%m-%d %H:%M:%S') }}
data:
image: /local/indkorsel_snapshot.jpg
action: notify.mobile_app_claus_iphone_15pro
- data:
entity_id: input_text.last_notification_message
value: >-
{{ generated_content.data.summary }} - Tid: {{
now().strftime('%Y-%m-%d %H:%M:%S') }}
action: input_text.set_value
default:
- choose:
- conditions:
- condition: template
value_template: "{{ not ai_is_paused }}"
sequence:
- data:
entity_id: input_datetime.ai_indkorsel_ai_pause_until
datetime: >-
{{ (now() + timedelta(hours=1)).isoformat() }}
action: input_datetime.set_datetime
- metadata: {}
data:
title: Bevægelse i indkørsel
message: >-
Bevægelse registreret, men AI-beskrivelse er ikke tilgængelig lige
nu. Tid: {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
data:
image: /local/indkorsel_snapshot.jpg
action: notify.mobile_app_claus_iphone_15pro
- data:
entity_id: input_text.last_notification_message
value: >-
Bevægelse registreret, men AI-beskrivelse er ikke tilgængelig lige
nu. Tid: {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
action: input_text.set_value
mode: single
description: ""