Migrate AI driveway surveillance to AI Task
This commit is contained in:
@@ -3,6 +3,12 @@
|
|||||||
platform: state
|
platform: state
|
||||||
entity_id: binary_sensor.indkorsel_sensor_motion
|
entity_id: binary_sensor.indkorsel_sensor_motion
|
||||||
to: 'on'
|
to: 'on'
|
||||||
|
conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: >-
|
||||||
|
{% set last = state_attr('automation.ai_overvagning', 'last_triggered') %}
|
||||||
|
{% set someone_home = is_state('binary_sensor.family_presence', 'on') %}
|
||||||
|
{{ not someone_home or last is none or (now() - last).total_seconds() > 900 }}
|
||||||
actions:
|
actions:
|
||||||
- action: script.overvaagning
|
- action: script.overvaagning
|
||||||
metadata: {}
|
metadata: {}
|
||||||
|
|||||||
@@ -35,38 +35,91 @@ overvaagning:
|
|||||||
enabled: true
|
enabled: true
|
||||||
action: camera.snapshot
|
action: camera.snapshot
|
||||||
- metadata: {}
|
- metadata: {}
|
||||||
|
continue_on_error: true
|
||||||
data:
|
data:
|
||||||
prompt: >-
|
entity_id: ai_task.google_ai_task
|
||||||
Bevægelse er blevet opdaget – hvad ser du på billedet? Hvis du ser en
|
task_name: indkoersel_motion_notification
|
||||||
person eller en bil, giv en kort beskrivelse af dem. Forsøg at inkludere
|
instructions: >-
|
||||||
detaljer som tøj eller nummerplade, hvis muligt. Beskriv ikke bygninger
|
Bevægelse er blevet opdaget ved indkørslen. Se på kamerabilledet og
|
||||||
eller stationære objekter. Hvis der ikke er nogen synlig årsag til
|
afgør, om der er en synlig årsag til bevægelsen.
|
||||||
bevægelsen, svar blot med 'Ingen åbenlys bevægelse detekteret.' Hold
|
|
||||||
beskeden kort og underholdende – som en notifikation på Apple!
|
Hvis du ser en person eller et køretøj, så skriv en meget kort dansk
|
||||||
filenames:
|
notifikationstekst egnet til iPhone. Medtag kun nyttige detaljer som
|
||||||
- /config/www/indkorsel_snapshot.jpg
|
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
|
response_variable: generated_content
|
||||||
action: google_generative_ai_conversation.generate_content
|
action: ai_task.generate_data
|
||||||
- if:
|
- choose:
|
||||||
- condition: template
|
- conditions:
|
||||||
value_template: "{{ 'No Obvious Motion Detected.' in generated_content.text }}"
|
- condition: template
|
||||||
then:
|
value_template: >-
|
||||||
- stop: ""
|
{{ generated_content is defined
|
||||||
else:
|
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:
|
||||||
- metadata: {}
|
- metadata: {}
|
||||||
data:
|
data:
|
||||||
title: Bevægelse i indkørsel
|
title: Bevægelse i indkørsel
|
||||||
message: >-
|
message: >-
|
||||||
{{ generated_content['text'] }} - Tid: {{ now().strftime('%Y-%m-%d
|
Bevægelse registreret, men AI-beskrivelse er ikke tilgængelig lige
|
||||||
%H:%M:%S') }}
|
nu. Tid: {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
|
||||||
data:
|
data:
|
||||||
image: /local/indkorsel_snapshot.jpg
|
image: /local/indkorsel_snapshot.jpg
|
||||||
action: notify.mobile_app_claus_iphone_15pro
|
action: notify.mobile_app_claus_iphone_15pro
|
||||||
- data:
|
- data:
|
||||||
entity_id: input_text.last_notification_message
|
entity_id: input_text.last_notification_message
|
||||||
value: >-
|
value: >-
|
||||||
{{ generated_content['text'] }} - Tid: {{ now().strftime('%Y-%m-%d
|
Bevægelse registreret, men AI-beskrivelse er ikke tilgængelig lige
|
||||||
%H:%M:%S') }}
|
nu. Tid: {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
|
||||||
action: input_text.set_value
|
action: input_text.set_value
|
||||||
mode: single
|
mode: single
|
||||||
description: ""
|
description: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user