Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Invented" data #10

Open
Omirax opened this issue Jun 28, 2024 · 10 comments
Open

"Invented" data #10

Omirax opened this issue Jun 28, 2024 · 10 comments

Comments

@Omirax
Copy link

Omirax commented Jun 28, 2024

Hello!

Is the integration working? Is everything complete?
I constantly get the "invented" temperature from the sensors and - "I do not have access to the current sensor data"
Maybe I am doing something wrong? I use Any scale.

@gritaro
Copy link
Owner

gritaro commented Jun 29, 2024

Please check you have "Process HA Builtin Sentences" enabled in integration settings
Screenshot_20240629-155355_Home Assistant
And your sensor entity is exposed in HA Assist settings
Screenshot_20240629-160019_Home Assistant

@Omirax
Copy link
Author

Omirax commented Jun 29, 2024

That's what I'm writing about. I have a built-in dialog system that works fine and controls devices and receives data from sensors.

Screenshot 2024-06-29 at 12-37-52 Настройки – Home Assistant
Screenshot 2024-06-29 at 12-43-13 Настройки – Home Assistant

@gritaro
Copy link
Owner

gritaro commented Jun 29, 2024

Ok, what version of HA Core do you have? I still haven't tested it with the latest version, my current one is 2024.5.3
image

@Omirax
Copy link
Author

Omirax commented Jun 29, 2024

HA Core 2024.6.3 (docker, but it doesn't matter)
{{ states('sensor.bathroom_env_temperature')}} = 25.88
Humidity also lies
Screenshot 2024-06-29 at 13-03-07 Обзор – Home Assistant
Screenshot 2024-06-29 at 13-04-18 Обзор – Home Assistant

@Omirax
Copy link
Author

Omirax commented Jun 29, 2024

Here is an example of 2 assistants:

Screenshot 2024-06-29 at 13-16-25 Обзор – Home Assistant

Screenshot 2024-06-29 at 13-19-23 Обзор – Home Assistant
However, the type and id are indicated correctly.

Screenshot 2024-06-29 at 13-22-55 Обзор – Home Assistant

@gritaro
Copy link
Owner

gritaro commented Jun 29, 2024

Интересно. Я на неделе посмотрю как оно работает на свежей версии. Если готов помочь разобраться - сбрось свой контакт на [email protected]
Такое впечатление что отвечает нейронка, а у неё нет реальной информации о сенсорах, вот и выдумывает. А должен отвечать встроенный агент. Я прикрутил подобие функций в ChatGPT но оно сильно по разному ведёт себя в разных моделях, поэтому не выкатываю в доступ.

@Omirax
Copy link
Author

Omirax commented Jun 29, 2024

Отправил.

@3AXAPOB
Copy link

3AXAPOB commented Jul 8, 2024

+1
Присоединяюсь. Использую Gigachat. Выдумывает показания сенсоров. Прошу включить свет говорит что включен. Т.е. ситуацией не владеет. Вот как выглядит заполненный шаблон промпта:

Ты HAL 9000, компьютер из цикла произведений «Космическая одиссея» Артура Кларка, обладающий способностью к самообучению.
Мы находимся в умном доме под управлением системы Home Assistant.
В доме есть следующие помещения и устройства:

Гостиная:
- Яндекс Станция
- guestroomSwitch (Wireless switch with 3 buttons (TS0043))
- ТВгостиная (YNDX-0006)
- Валера (roborock.vacuum.m1s)
- DiscoLight (BASICR2)
- guestRoomTH (Mi temperature and humidity sensor (WSDCGQ01LM))
- guestroomSocket (Mi smart plug (ZNCZ02LM))
- Движение в гостиной (Mi motion sensor (RTCGQ01LM))
- guestroomCurtain1 (Curtain motor/roller blind motor/window pusher/tubular motor (TS0601_cover_1))
- guestroomCurtain2 (Curtain motor/roller blind motor/window pusher/tubular motor (TS0601_cover_1))
- guestroomCurtain3 (Curtain motor/roller blind motor/window pusher/tubular motor (TS0601_cover_1))
- lightSensor (Mi light sensor (GZCGQ01LM))
- guestroomBulb1 (Light bulb (ZNLDP12LM))
- guestroomBulb3 (Light bulb (ZNLDP12LM))
- guestroomBulb2 (Light bulb (ZNLDP12LM))
- aqaraCube (Mi/Aqara smart home cube (MFKZQ01LM))
- PS4-808 (PlayStation 4)
- Acsamsung (esp01_1m)
- Яндекс Станция Макс (Станция Макс (2020))
- guestroomAliceSocket (Smart plug (with power monitoring) (TS011F_plug_1))

Кухня:
- kitchenSwitch (Wireless switch with 3 buttons (TS0043))
- Kitchentvbacklight (nodemcuv2)
- Чайник (PWK 1725CGLD)
- svchSocket (Mi smart plug (ZNCZ02LM))
- kitchenTH (Mi temperature and humidity sensor (WSDCGQ01LM))
- relay_light_kitchen_1 (Aqara wireless relay controller (LLKZMK11LM))
- Движение на кухне (Mi motion sensor (RTCGQ01LM))
- kitchenSocket (Mi smart plug (ZNCZ02LM))
- kitchenCurtain (Curtain motor/roller blind motor/window pusher/tubular motor (TS0601_cover_1))
- kitchenBulb1 (Light bulb (ZNLDP12LM))
- workzoneStrip (Zigbee & RF 5 in 1 LED controller (RGBW mode) (WZ5_rgbw))
- ovenFan (Smart plug (with power monitoring) (TS011F_plug_1))
- kitchenBulb2 (Light bulb (ZNLDP12LM))
- kitchenPlug_washer (Smart plug (with power monitoring) (TS011F_plug_1))

Когда отвечаешь, обращайся к собеседнику по имени Дэйв.

@gritaro
Copy link
Owner

gritaro commented Jul 9, 2024

Да, разобрались - с обновлением это не связано.
Эта интеграция так и работает.

Промпт собирает данные только в самом начале диалога (например, данные сенсоров будут актуальны только в этот момент).
После, в процессе диалога, ИИ не имеет доступа к сенсорам и датчикам и может только либо взять информацию из промпта, либо сочинить (что они все делают с удовольствием).

То есть главный смысл этой интеграции - пообщаться с разными языковыми моделями.

Но она так же может управлять устройствами и возвращать актуальные данные - минуя ИИ вообще (т.е. он не будет знать что вы его просили включить свет, например). Для этого есть чекбокс "Process HA Builtin Sentences".
В этом случае все сообщения пользователя сначала отдаются ХА и если он узнаёт команду - выполняет. Если нет - отдаёт ИИ.
НО команды ХА - это строгий формат, список здесь https://www.home-assistant.io/voice_control/builtin_sentences
То-есть вы можете сказать "включи свет на кухне" - и это сработает (если правильно заданы алиасы устройств и комнат)
Но если вы скажете, "ХЭЛ9000, включи свет на кухне" - это уже уйдёт в ИИ и он вам насочиняет ответ.

Если хочется более умного поведения - посмотрите в сторону https://github.com/jekalmin/extended_openai_conversation
Оно работает как нужно, используя функции OpenAI - на просьбу пользователя, ИИ опрашивает ХА, собирая недостающую информацию, это делается незаметно для пользователя. И только когда информация собрана - формирует ответ.
extended_openai работает с Anyscale, что позволяет использовать интеграцию без ВПН и СМС.

Моя интеграция такого не поддерживает и врядли будет, хотя я делал положительные эксперементы с GigaChat без использования функций - он довольно умный и может просто грамотно эмулировать эти функции. Но вот, напримет, Яндекс вообще в такое не умеет. А интеграция должна работать со всеми моделями.

@Omirax
Copy link
Author

Omirax commented Jul 9, 2024

На самом деле, главная суть ИИ в умном доме как раз чтобы он умел "перефразировать" строгие запросы ХА и подправлять распознавание.
Изготовление колонок с Esphome на бору показало, что не все микрофоны одинаково хороши, как, впрочем, и fater-wisper и зачастую получаем "обращение не распознано" или "нет зоны вкабинете" (как пример). И да, пока приходится писать многовариантный custom_sentences, а вот тут заворачиваться не хотелось бы.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants