Witam próbuje utworzyć sensor który będzie miał informacje w postaci text.Probowalem wspomóc się czatgpt ale ciągle mija się w koło.
Przy ręcznym wywołaniu usługi wyświetla mi się text ,
z wywołania usługi przesyłam poniżej.
action: google_generative_ai_conversation.generate_content
data:
prompt: opisz
image_filename: /config/www/img/kamera.jpg
Jak próbuje utworzyć sensor →
sensor.generated_description wyświetla się stan unkown.
Próbowałem dodawać dane sensora do sensor.yaml oraz template.yaml i wszędzie występuje unkown stan
platform: template
sensors:
generated_description:
friendly_name: "Generated"
unit_of_measurement: "" # Pusta jednostka, ponieważ opis nie jest liczbą
value_template: "{{ state_attr('google_generative_ai_conversation.google_generative_ai', 'response_text') }}"
A tutaj sensor w template.yaml
- name: generated_description
unit_of_measurement: ' '
state: >
{{ state_attr('google_generative_ai_conversation.google_generative_ai', 'response_text') }}
artpc
(artur)
3 Styczeń 2025 13:23
2
Jeżeli nic do tego sensora nie jest aktualnie przesłane sensor będzie posiadał taki stan.
Lub masz złe formatowanie.
sensor: !include_dir_list ../entities/sensors
platform: template
sensors:
spotify_artist:
friendly_name: "Spotify - Artist"
value_template: "{{ state_attr('media_player.spotify_pc_artur', 'media_artist') }}"
Już zgłupiałem to ma być w template.yaml czy sensor.yaml ? Oczywiście kdrazu odpowiadam że nie mam nic porobione z dir…
Nadal unkown
platform: template
sensors:
ai_test:
friendly_name: "test"
value_template: "{{ state_attr('google_generative_ai_conversation.google_generative_ai', 'response_text') }}"
Jak zawsze półsłówkami…
To w takim razie najlepiej żebyś konfigurował sobie w configuration.yaml
, a potem przeniósł do pliku docelowego.
artpc
(artur)
3 Styczeń 2025 14:02
5
Wpisz jakikolwiek inny sensor który posiada attr
i sprawdź.
Pojawił się sensor poziomu baterii
- name: bateriaaaaa
unit_of_measurement: '%"
state: >
{{ state_attr('sensor.drzwi_alarm_battery', 'battery') }}
macek
3 Styczeń 2025 16:03
7
To stary i nierekomendowany format, proponuje zacząć używać nowego Template - Home Assistant , oszczędzisz sobie sporo problemów a możliwości jest zdecydowanie więcej. Na forum masz przykład - Zamiana atrybutu encji w osobną encję - #2 przez macek . Jeżeli sobie nie poradzisz, daj znać, pomogę .
artpc
(artur)
3 Styczeń 2025 16:17
8
To teraz sprawdź google_generative_ai_conversation.google_generative_ai
atrybut response_text
czy posiada jakieś dane → Narzędzia Developerskie → Stany → atrybuty
właśnie nie posiada ani text ani response_text.
@macek mam wszystko zrobione w nowym formacie , tylko czasami się mi myli.
posiada tylko te 2
friendly_name: Google Generative AI
supported_features: 1
jak ręcznie wyzwole akcje Google Generative AI: Generate content i wskazę link do zdjecia z kamery to wszystko działa i mówi co widzi
text: >-
Widzę nocny obraz z kamery bezpieczeństwa. Pokazuje on zaśnieżony podjazd i
część ulicy. Na podjeździe zaparkowane są dwa samochody. Widoczny jest również
płot oddzielający podjazd od ulicy. Na ulicy jeżdżą samochody. W tle widzę
świąteczne oświetlenie. Na obrazku widnieje data i godzina: 2025-01-03
17:17:41.
tylko jak to upakować zeby przychodziło powiadomienie
tak tez nie działa
alias: PlateKam
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.obraz
from: "off"
to: "on"
conditions: []
actions:
- action: camera.snapshot
metadata: {}
data:
filename: config/www/kamera/kamera.jpg
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: google_generative_ai_conversation.generate_content
metadata: {}
data:
image_filename: config/www/kamera/kamera.jpg
prompt: co widzisz na zdjęciu
- action: notify.mobile_app_moto_g200_5g
metadata: {}
data:
message: "{{ generated_content['text'] }}"
mode: single
Rejestrator: homeassistant.components.automation.platekam
Źródło: components/automation/__init__.py:764
integracja: Automatyzacja (dokumentacja, Problemy)
Pierwsze zdarzenie: 18:17:29 (1 zdarzenia)
Ostatnio zalogowany: 18:17:29
Error while executing automation automation.platekam: Script requires 'response_variable' for response data for service call google_generative_ai_conversation.generate_content
macek
3 Styczeń 2025 18:27
10
Zgodnie z dokumentacją Google Generative AI - Home Assistant powinno być:
- action: google_generative_ai_conversation.generate_content
data:
prompt: co widzisz na zdjęciu
image_filename: config/www/kamera/kamera.jpg
response_variable: generated_content
Message malformed: template value is None for dictionary value @ data['actions'][2]['data'
alias: PlateKam
alias: PlateKam
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.obraz
from: "off"
to: "on"
conditions: []
actions:
- action: camera.snapshot
metadata: {}
data:
filename: config/www/kamera/kamera.jpg
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: google_generative_ai_conversation.generate_content
data:
prompt: co widzisz na zdjęciu
image_filename: config/www/kamera/kamera.jpg
response_variable: generated_content
- action: notify.mobile_app_moto_g200_5g
metadata: {}
data:
message: "{{ generated_content['text'] }}"
mode: single
macek
3 Styczeń 2025 18:38
12
@oomichalekoo jezeli Twój kod wygląda dokładnie jak na pokazałeś to jest błędny ponieważ nie masz zachowanej składni yaml - brak odpowiednich odstepów - każda jedna spacja ma znaczenie.
Popatrz na mój przykład, ze spacjami:
Proponuje do edycji plików yam korzystać z
Notepad+ .
Bez poprawnej skladni yaml dalsza pomoc nie ma sensu, sorry, tak to działa.
Poprawiłem
alias: PlateKam
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.obraz
from: "off"
to: "on"
conditions: []
actions:
- action: camera.snapshot
metadata: {}
data:
filename: config/www/kamera/kamera.jpg
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: google_generative_ai_conversation.generate_content
data:
prompt: co widzisz na zdjęciu
image_filename: config/www/kamera/kamera.jpg
response_variable: generated_content
- action: notify.mobile_app_moto_g200_5g
metadata: {}
data:
message: "{{ generated_content['text'] }}"
mode: single
Błąd z logów
Error while executing automation automation.platekam: Script requires 'response_variable' for response data for service call google_generative_ai_conversation.generate_content
Error while executing automation automation.platekam: must contain at least one of entity_id, device_id, area_id, floor_id, label_id
macek
3 Styczeń 2025 18:55
14
Pokaż kod yaml z tego wywołania akcji.
action: google_generative_ai_conversation.generate_content
data:
prompt: opisz wszystko
image_filename: /config/www/kamera/kamera.jpg
Tutaj wszystko działa
macek
3 Styczeń 2025 18:59
16
W automatyzacji masz image_filename: config/www/kamera/kamera.jpg
, popraw i daj znac
Też nie
alias: PlateKam
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.obraz
from: "off"
to: "on"
conditions: []
actions:
- action: camera.snapshot
metadata: {}
data:
filename: /config/www/kamera/kamera.jpg
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: google_generative_ai_conversation.generate_content
data:
prompt: co widzisz na zdjęciu
image_filename: /config/www/kamera/kamera.jpg
response_variable: generated_content
- action: notify.mobile_app_moto_g200_5g
metadata: {}
data:
message: "{{ generated_content['text'] }}"
mode: single
Najwidoczniej problem jest z ostatnim etapem wysyłka na telefon 2 pierwsze automatyzację przechodzą bez problemu
Błąd jak próbuje ręcznie wyzwolić wysłanie na telefon.
Error rendering data template: UndefinedError: 'generated_content' is undefined
Jak usunolem text to przyszło puste powiadomienie teraz
macek
3 Styczeń 2025 19:08
18
Nie wiem skad to wziąłeś ale tam gdzie ja to znalazłem, później jest zamiana na:
message: " {{ generated_content.text }} "
Sprawdź.
Nie działa
action: notify.mobile_app_moto_g200_5g
metadata: {}
data:
message: " {{ generated_content.text }} "
Tutaj znalazłem taką podpowiedź
if:
- condition: template
value_template: >
{{ generated_content['text'] == 'Camera has detected motion however no obvious motion observed comparing snapshots' }}
then:
- stop: ""
else:
- service: notify.mobile_app_adams_iphone_15_pro_max
metadata: {}
data:
title: Driveway 1a Motion Detected
message: "{{generated_content['text'] }}"
data:
image: /local/snapshots/driveway1_snapshot2.jpg
macek
3 Styczeń 2025 19:19
20
oomichalekoo:
Nie działa
A co dostajesz na telefon przy takim wpisie: message: " {{ generated_content.text }} "
?
Prosty test: co dostaniesz dla: message: Teraz jest {{now().strftime("%H:%M")}} - {{generated_content.text}}
?