Обзор
Адаптер ioBroker AI Assistant запускает интеллектуального помощника в вашей системе ioBroker. Помощник может использоваться для взаимодействия с вашей системой ioBroker, установки инструкций на основе времени, инструкций на основе триггеров и вызова пользовательских функций. Помощник может быть настроен с использованием различных языковых моделей от разных поставщиков (например, OpenAI, Anthropic, Perplexity, OpenRouter) или пользовательских/самостоятельно размещенных моделей. Помощник может использоваться для автоматизации задач, управления вашим умным домом или предоставления информации.
Функции
- Настройте имя и характер своего помощника.
- Получение списка, чтение и запись состояний ioBroker.
- Настройте тайм-ауты и задания cron для выполнения инструкций, привязанных ко времени.
- Настройте триггеры для состояний ioBroker с условиями, которые запускают инструкции при выполнении этих условий.
- Создавайте пользовательские функции, используя собственные данные и логику.
- Используйте вкладку «Администрирование», чтобы пообщаться со своим личным помощником.
Поддерживаемые поставщики
- Anthropic : anthropic.com
- OpenAI : openai.com
- Perplexity : perplexity.ai
- OpenRouter : openrouter.ai
- Deepseek : deepseek.com
- Пользовательские/самостоятельно размещаемые модели (например, LM Studio, LocalAI)
Быстрый старт
- Установите адаптер.
- Настройте поставщика услуг (например, OpenAI, Anthropic, Perplexity, OpenRouter) и получите API-токен.
- Настройте адаптер с использованием токена API.
- Выберите модель, которую вы хотите использовать в качестве ассистента.
- Добавьте несколько состояний ioBroker в раздел
Objectsвкладка, которая будет доступна ассистенту. - Начните общаться со своим ассистентом, отправляя текстовые запросы на его экран.
text_requestизложить свою позицию и получить ответы отtext_responseИспользуйте вкладку администратора с названием "Помощник" или настройте её вручную.
Протестированные модели
Следующие модели были протестированы с данным адаптером и, как известно, работают исправно:
- Сонет Клода 3.5 (антропический)
- gpt-4o-mini (OpenAI)
- meta-llama/llama-3.3-70b-instruct (OpenRouter)
- deepseek/deepseek-chat (OpenRouter)
- x-ai/grok-beta (OpenRouter)
- perplexity/llama-3.1-sonar-huge-128k-online (Perplexity)
- perplexity/llama-3.1-sonar-large-128k-online (Perplexity)
Конфигурация
Помощник
Настройте своего ассистента, используя следующие параметры:
| Параметр | Описание |
|---|---|
| Имя | Имя вашего помощника. |
| Модель | Выберите модель LLM, которую должен использовать ваш ассистент (настраивается в разделе «Поставщики»). |
| Личность | Опишите характер вашего ассистента. |
| Язык | Выберите язык, который должен использовать ваш ассистент (в настоящее время поддерживаются только английский/немецкий). |
| Вывод отладки / CoT | В активном состоянии внутренние мысли и процессы, используемые помощником, записываются в состояние text_response. |
| История сообщений | Включать предыдущие сообщения (для работы в режиме чат-бота). Установите значение 0 для инструментов одноразового использования, чтобы минимизировать расход токенов. |
| Температура | Контролирует креативность/последовательность ответов. |
| Макс. токенов | Ограничивает количество токенов ответа. |
| Задержка повторной попытки | Задержка между повторными попытками, если запрос не удался. |
| Максимальное количество повторных попыток | Максимальное количество повторных попыток на один запрос. |
Объекты
ВНИМАНИЕ: Будьте осторожны с тем, к каким состояниям вы предоставляете доступ помощнику, поскольку он может читать и записывать данные во все состояния, к которым у него есть доступ.
Настройте объекты и состояния ioBrokers, к которым ассистент должен иметь доступ.
ПРИМЕЧАНИЕ: При импорте или добавлении объектов убедитесь, что добавляете только точки данных типа «состояние», которые можно напрямую контролировать или которые содержат значение для чтения!
| Параметр | Описание |
|---|---|
| Импорт из Enum.Rooms | Импортирует все ваши состояния из перечисления enum.rooms, сортируемого в ioBroker. (Перезаписывает все ранее установленные объекты!) |
| Сортировка | Все объекты с одинаковым полем сортировки будут представлены ассистенту группой (например, комнатой). |
| Имя | Используйте описательное название, чтобы помощник понимал функцию объектов. |
| Объект | Идентификатор состояния ioBroker |
Функции
Настройте пользовательские функции, которые должны быть доступны помощнику. Ваши пользовательские функции должны записывать ответ в состояние, определенное вами.State (Response) поле послеState (Request) Результат может быть в любом удобном для вас формате (например, JSON, обычный текст), просто убедитесь, что ассистент может его понять. Совет: Вы можете использовать адаптер AI-Toolbox для интеграции вашего ассистента с пользовательскими инструментами ИИ.
ПРИМЕЧАНИЕ: Если вы не ответите наState (Response) Если значение поля изменится через 60 секунд, вызов функции завершится неудачей!
| Параметр | Описание |
|---|---|
| Сортировка | Все объекты с одинаковым полем сортировки будут представлены ассистенту группой (например, комнатой). |
| Имя | Используйте описательное имя для пользовательской функции. |
| Описание | Опишите, что делает ваша функция, чтобы ассистент понимал, когда её нужно вызвать. |
| Штат (Запрос) | При вызове функции помощник запишет в эту строку данные о состоянии. |
| Государство (Реакция) | Это состояние будет считано помощником для получения ответа от функции. |
Поставщики программ магистратуры в области права
Настройте каждого поставщика ИИ индивидуально:
Антропический
| Параметр | Описание |
|---|---|
| API-токен | Введите свой токен Anthropic API. |
| Модели | Укажите модели, которые следует использовать. |
OpenAI
| Параметр | Описание |
|---|---|
| API-токен | Введите свой API-токен OpenAI. |
| Модели | Укажите модели, которые следует использовать. |
Замешательство
| Параметр | Описание |
|---|---|
| API-токен | Введите свой API-токен Perplexity. |
| Модели | Укажите модели, которые следует использовать. |
OpenRouter
| Параметр | Описание |
|---|---|
| API-токен | Введите свой API-токен OpenRouter. |
| Модели | Укажите модели, которые следует использовать. |
Обычай
| Параметр | Описание |
|---|---|
| URL сервера вывода | URL пользовательского/самостоятельно размещенного сервера вывода результатов. |
| API-токен для сервера вывода | API-токен для вашего сервера вывода. |
| Модели | Укажите модели, которые следует использовать. |
| Примечание | Обеспечьте соответствие общим стандартам API AI LLM (например, API LM Studio). |
Использование
Простой разговор
Вы можете взаимодействовать со своим ассистентом, отправляя текстовые запросы.text_request государство и получение ответов отtext_response состояние.
Вызов функции
Ассистент может вызывать все доступные функции. Он делает это, определяя функцию для вызова на основе текстового запроса. Если у вас включен вывод отладки/CoT, вы можете увидеть внутренний процесс ассистента вtext_response состояние.
Взаимодействие состояний
Помощник может одновременно отображать, считывать и записывать несколько состояний ioBroker. Вы можете использовать его.Objects Вкладка для определения того, к каким состояниям должен иметь доступ помощник.
Инструкции, основанные на времени
Помощник может устанавливать тайм-ауты для инструкций относительного времени и заданий cron для заданного времени. Задания cron будут отображаться в дереве объектов помощника в разделеCronjobs Тайм-ауты будут временными и будут сняты после истечения срока действия тайм-аута или перезапуска адаптера. При срабатывании тайм-аута или cron-задания помощник будет разбужен, и инструкция будет выполнена.
Инструкции, основанные на триггерах
Помощник может устанавливать триггеры для состояний ioBroker с необязательными условиями, которые запускают инструкции при выполнении условий. Триггеры будут перечислены в дереве объектов помощника в разделеTriggers При срабатывании команды помощник активируется, и инструкция будет выполнена.
Пользовательские функции
Ассистент может вызывать пользовательские функции, которые вы определили вFunctions Вкладка. Ассистент запишет запрос на вкладку.State (Request) в поле и ожидает ответа вState (Response) поле.
Последовательность функций
Этот помощник позволяет объединять несколько функций в цепочку. Например, можно настроить cron-задание, которое при выполнении запускает проверку состояний ioBroker, а затем вызывает пользовательскую функцию с полученными результатами.
Очистка истории чата
Иногда может быть полезно сбросить историю чата. Для этого попросите голосового помощника очистить историю. Это удалит все предыдущие сообщения из памяти помощника. (например)Clear history илиForget the previous messages )
Дополнительная информация
Статистика
Статистические данные для вашего ассистента регистрируются и могут быть просмотрены вStatistics дерево объектов.
| Точка данных | Описание |
|---|---|
| .statistics.lastRequest | Отметка времени последнего запроса. |
| .statistics.requestCount | Количество отправленных запросов помощнику |
| .statistics.messages* | JSON-массив истории сообщений (если история сообщений > 0). |
| .statistics.clear_messages* | Кнопка «Очистить историю сообщений». |
| .statistics.tokens_input | Всего использовано входных токенов. |
| .statistics.tokens_output | Общее количество использованных выходных токенов. |
Разработка
Данный адаптер находится в стадии разработки и может содержать ошибки. Пожалуйста, сообщайте о любых обнаруженных проблемах.
Отладка
Установите уровень логирования наdebug Подробные журналы доступны в административном интерфейсе ioBroker.
Changelog
0.1.4 (2025-06-05)
- (@ToGe3688) Added tab to interact with the assitant in the admin adapter
- (@ToGe3688) Added a custom timeout parameter
- (@GermanBluefox) Corrected using of the states with the multi-language names
0.1.3 (2025-29-01)
- (@ToGe3688) Added support for Deepseek as api provider
- (@ToGe3688) Better display of providers in model selection for admin config
- (@ToGe3688) Fixed object hirarchy
- (@ToGe3688) Fixed state roles
- (@ToGe3688) Fixed onStateChange handler
0.1.2 (2025-12-01)
- (@ToGe3688) Better error handling for Provider APIs
- (@ToGe3688) Anthropic API Versioning
0.1.1 (2025-12-01)
- (@ToGe3688) Better error handling for Provider APIs
0.1.0 (2025-04-01)
- (@ToGe3688) Beta Release
0.0.3 (2024-31-12)
- (@ToGe3688) Improved handling of malformed model responses
- (@ToGe3688) Fixed a bug where the names of the states were not provided to the assistant
0.0.2 (2024-30-12)
- (@ToGe3688) Fixed Bug in OpenAI Provider
0.0.1 (2024-30-12)
- (@ToGe3688) initial release
License
The MIT License (MIT)
Copyright (c) 2024-2025 ToGe3688 toge3688@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.