jekalmin / extended_openai_conversation

Home Assistant custom component of conversation agent. It uses OpenAI to control your devices.
916 stars 129 forks source link

Something went wrong: Service cover.open not found. #84

Open darkneo29 opened 8 months ago

darkneo29 commented 8 months ago

Here is how the conversation goes. cant seem to control garage doors. Lights and locks work fine Assistant:How can I assist? close garage doors Assistant:Garage doors are closed. open left garage door Assistant:Something went wrong: Service cover.open not found.

jekalmin commented 8 months ago

Thanks for reporting an issue.

I also experienced this with other entities, but I didn't figure out how to solve it yet. Could you try with named alias to garage doors?

I have cover entities (curtains and blinds) and they work fine.

joeljody77 commented 8 months ago

I have same issue. Seems that all my covers are working fine except the garage door. all the covers that work fine are tuya based and via cloud. The garage door is an esphome device. If I ask to open I get same response as [darkneo29] . If I ask to close, it will operate the door. So if the door is open it will close it but if the door is closed it will open it. Seems to be something to do with esphome cover component. Also I have noticed that the tuya based ones have slight different card image

This is the ESPhome Garage image

Not sure if this is significant or not.

jekalmin commented 8 months ago

We didn't pass anything about tuya or esphome yet. The information we passed to gpt is entity_id, name, state, and aliases.

Could you change entity_id to be something different from garage and try again? The gpt might have trained that uses cover.open to open garage doors while cover.open_cover is used for curtains and blinds.

joeljody77 commented 8 months ago

Just tried that still no change.

image

changed it to be a blind. I even change the class in esphome from garage to blind.

I have also tried changing the cover template to a time based cover in esphome, still same issue. "Could not find cover.open". Odd it only happens for open but close works fine.

joeljody77 commented 8 months ago

Found a work around I added If service cover.open is to be used, use cover.open_cover instead. to the prompt. Works great now.

jekalmin commented 8 months ago

Great! If we can guess where cover.open came from (eg. mqtt?), we can tell gpt not to use its grammar. However, @joeljody77's prompt is the only way so far.