Same for me. Since the last update I have an issue with Mariadb. Is there any breaking change I missed?
Hm… one step closer, seems that as @petro suggested adding custom event section might be solution… but yet automation does not register, with conversation service call error. Here is the full code for this automation (it is a bit more complex, as it serves several different media_players at the same time, so I had to use some additional variables):
- id: 'update_media_info'
alias: Update Media Info
initial_state: true
variables:
player: >-
{{ trigger.entity_id }}
artist: >-
{% set string=trigger.entity_id %}
{% set result=state_attr(string, 'media_artist') %}
{{ result }}
album: >-
{% set string=trigger.entity_id %}
{% set result=state_attr(string, 'media_album_name') %}
{{ result }}
output: >-
{% set string=trigger.entity_id %}
{% set string=string.split('.') %}
{% set result="input_text." + string[1] + "_media_info" %}
{{ result }}
trigger:
- platform: state
entity_id:
- media_player.audiocast
- media_player.denon_heos_s750h
- media_player.marantz_sacd30n
- media_player.volumio_2
attribute: media_album_name
condition: []
action:
- service: conversation.process
data:
agent_id: 9194fb3fee4a1e2220e2f47a524fce92
text: Tell me about {{ artist }}'s album {{ album }} in less than 100 words
response_variable: chatgpt
event: >-
{{ trigger.entity_id }}_response
event_data:
response: "{{chatgpt.response.speech.plain.speech | trim | replace('\"','')}}"
Error I receive in the log seems to be related to actual service call, so this part:
action:
- service: conversation.process
data:
agent_id: 9794fb3fee4a1e2220e2f47a524fce93
text: Tell me about {{ artist }}'s album {{ album }} in less than 100 words
response_variable: chatgpt
And error itself:
2023-07-08 16:44:49.635 ERROR (MainThread) [homeassistant.components.automation] Automation with alias 'Update Media Info' could not be validated and has been disabled: extra keys not allowed @ data['action'][0]['data']. Got {'agent_id': '9194fb3fee4a1e2220e2f47a524fce92', 'text': "Tell me about {{ artist }}'s album {{ album }} in less than 100 words"}
extra keys not allowed @ data['action'][0]['response_variable']. Got 'chatgpt'
extra keys not allowed @ data['action'][0]['service']. Got 'conversation.process'
Configuration check does not indicate any errors. Error appears when the automation is executed.
Then the sensor to consume response looks like (for one of media players, volumio_2 inthis case):
template:
- trigger:
- platform: event
event_type: media_player.volumio_2_response
- platform: state
entity_id:
- media_player.volumio_2
attribute: media_title
sensor:
- name: volumio_2_album_description
state: 'on'
attributes:
album_description: >
{% if trigger.platform == 'event' %}
{{ trigger.event.data.response }}
{% else %}
{{ this.attributes.album_description | default('') }}
{% endif %}
album_title: "{{ state_attr('media_player.volumio_2', 'media_album_name') }}"
artist_name: "{{ state_attr('media_player.volumio_2', 'media_artist') }}"
song_title: "{{ state_attr('media_player.volumio_2', 'media_title') }}"
album_art: "{{ state_attr('media_player.volumio_2', 'entity_picture') }}"
But yet to be tested, as is not triggered due to error in automation…
you aren’t separating your conversation.process service call from the event call. add a - in front of event.
That’s a pity, no idea how to do a gauge is there a card that does that?
Mind you, still wouldn’t be able to change the default energy dashboard.
Edit: never mind can see gauge card
OK, better now, automation does not drop any errors and executes… but seems event:
cannot be templated… Here is output from traces for this automation:
Executed: 8 July 2023, 20:00:06
Result:
event: '{{ trigger.entity_id }}_response'
event_data:
response: >-
Cantoma's self-titled album, Cantoma, is a captivating musical journey that
combines elements of world music, downtempo electronica, and Balearic beats.
Released in 2003, the album features intricate layers of lush
instrumentation, soothing melodies, and hypnotic rhythms. With its dreamy
and atmospheric soundscapes, Cantoma creates a serene and exotic ambiance
that transports listeners to faraway destinations. Each track on the album
is meticulously crafted, showcasing Cantoma's talent for blending organic
and electronic sounds seamlessly. From the enchanting vocals to the
intricate production, Cantoma's self-titled album is a timeless and
immersive musical experience.
It should contain event: media_player.player_name_response
instead of event: {{ trigger.entity_id }}_response
Move the entity_id out of the event’s name and into the event’s data.
action:
- service: conversation.process
data:
agent_id: 9194fb3fee4a1e2220e2f47a524fce92
text: "Tell me about {{ artist }}'s album {{ album }} in less than 100 words"
response_variable: chatgpt
- event: chatgpt_response
event_data:
entity_id: "{{ trigger.entity_id }}"
response: "{{chatgpt.response.speech.plain.speech | trim | replace('\"','')}}"
Change the Event Trigger to listen for the “chatgpt_response” event and for a specific value of entity_id
.
template:
- trigger:
- platform: event
event_type: chatgpt_response
event_data:
entity_id: media_player.volumio_2
- platform: state
entity_id:
- media_player.volumio_2
attribute: media_title
sensor:
- name: volumio_2_album_description
... etc ...
more in general I would really appreciate a separate topic where we can share ideas and implementations of the new functionality, which I must confess, is still very fuzzy for me.
I don’t have many of those conversation agents installed (only use the Cloud Agent, and GA connected too HA), as I feel those are not adding to the experience just yet and still meet at lot of “I am sorry, I don;t understand” (who’s afraid of AI here…)
Maybe the new responding services, that have been marketed as the next big thing without a lot of further suggestions to go, on can bridge that gap.
Hope someone with a good and useful real life example can open a Topic posting it, and have others follow suit so we can all benefit from it.
btw, can we filter the ever so present Shelly errors
Error fetching shellyplug-s-A75005 data: Error fetching data: DeviceConnectionError()
for all devices which we’re seeing since this release with
homeassistant.components.shelly:
- DeviceConnectionError()
? I am never sure what part of that error we need to pick
Regarding the Shelly errors you can define a filter for the component throwing the error, e.g.:
logger:
filters:
homeassistant.components.shelly:
- "Error fetching .* data:*"
i’am playing around with the new response from the Conversation: Process service.
I succesvol created a sensor to store a response from openai, except I cannot figure out how I can use sensor data.
For starters I’'am trying to make a random summary for in the morning with calendar events, weather and driving time to work, but I need the sensor data.
Does somebody has an idea
Does filtering work in your setup?
Cause it does not in mine.
Thx, I used the subset text I posted, and seems to work.
Together with all other filters I have in place.
Never figured we could use wildcards there too!
Those can not be filtered. Loader is something special, though I don’t recall why, sorry.
Do you mean - messages of some components cannot be filtered?
Too bad this is not mentioned in Docs.
Update: tested with other components (now and earlier) - no filtering.
So this is not about just “loader”.
Need to check more.
Update: I see, for some components filtering works, for some - does not…
Well, anyway this is a good news for me)))
Although 95% of my filters do not work.
I wonder - is anyone using “Demo” platform?
Haven’t you noticed anything weird about the recent changes?
Updated to 2023.7.1 today, ever since I’ve been experiencing a lot of freezing in the front end just doing basic tasks.
I see there are a few others but I’m wondering if this is widespread with a known fix or just isolated incidents?
Thank You, Team Nabu Casa!
maybe bring this to a separate topic, because all of the filters work (can show what I use, but that might be considered spam here…), except the ‘Loader’ which probably isn’t even considered to be a ‘component’
could you please follow up on Taras earlier question too, and explains bit what brings about these triggers
It’s just that I am trying to figure out why and how, so even if this is a bit of a silly automation ( no offense meant ofc, but I dont think one would actually use this in HA as is currently, seems more of an experiment) Id still love to grasp the inner workings ;=)
If you set homeassistant.loader: error,
it will filter those out