feat: implement rate limiting for Google Gemini API and update to ai_task.generate_data

This commit is contained in:
2026-03-16 18:16:41 +01:00
parent 8fa4db9d89
commit 06ddb003a5
4 changed files with 25 additions and 5 deletions
+3 -2
View File
@@ -2,8 +2,9 @@
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.indkorsel_sensor_motion entity_id: binary_sensor.indkorsel_sensor_motion
to: 'on' to: 'on' condition:
actions: - condition: template
value_template: "{{ states('input_number.ai_gemini_calls_today') | int < 20 }}" actions:
- action: script.overvaagning - action: script.overvaagning
metadata: {} metadata: {}
data: {} data: {}
+9
View File
@@ -0,0 +1,9 @@
- alias: Reset AI Gemini Calls Daily
trigger:
platform: time
at: '00:00:00'
action:
- service: input_number.set_value
data:
entity_id: input_number.ai_gemini_calls_today
value: 0
+7
View File
@@ -0,0 +1,7 @@
ai_gemini_calls_today:
name: AI Gemini Calls Today
min: 0
max: 50
step: 1
mode: box
unit_of_measurement: calls
+6 -3
View File
@@ -43,11 +43,14 @@ overvaagning:
eller stationære objekter. Hvis der ikke er nogen synlig årsag til eller stationære objekter. Hvis der ikke er nogen synlig årsag til
bevægelsen, svar blot med 'Ingen åbenlys bevægelse detekteret.' Hold bevægelsen, svar blot med 'Ingen åbenlys bevægelse detekteret.' Hold
beskeden kort og underholdende som en notifikation på Apple! beskeden kort og underholdende som en notifikation på Apple!
filenames: images:
- /config/www/indkorsel_snapshot.jpg - /config/www/indkorsel_snapshot.jpg
response_variable: generated_content response_variable: generated_content
action: google_generative_ai_conversation.generate_content action: ai_task.generate_data
- if: - service: input_number.set_value
data:
entity_id: input_number.ai_gemini_calls_today
value: "{{ states('input_number.ai_gemini_calls_today') | int + 1 }}"
- condition: template - condition: template
value_template: "{{ 'No Obvious Motion Detected.' in generated_content.text }}" value_template: "{{ 'No Obvious Motion Detected.' in generated_content.text }}"
then: then: