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

Дополнительные плагины #1

Open
janvarev opened this issue Feb 5, 2022 · 31 comments
Open

Дополнительные плагины #1

janvarev opened this issue Feb 5, 2022 · 31 comments
Labels
misc Разное side feature Сторонняя фича

Comments

@janvarev
Copy link
Owner

janvarev commented Feb 5, 2022

Пожалуйста, оставляйте здесь ссылки с коротким описанием, если вы разработали плагин для Ирины.
Пожалуйста, НЕ оставляйте здесь другие сообщения и не устраивайте обсуждения.

@janvarev
Copy link
Owner Author

janvarev commented Feb 8, 2022

Здесь есть пример реализации взаимодействия с MTQQ:
https://github.com/zoboff/Irene-Voice-Assistant
требуются файлы config.py + plugin_2mqtt_run.py

@timhok
Copy link

timhok commented Apr 8, 2022

Плагин для запуска скриптов в Home Assistant:
https://github.com/timhok/IreneVA-hassio-script-trigger-plugin
Ирина - отличное решение для тех кто уже обладает умным домом на HA, но не осилил Rhasspy или не имеет достаточно ресурсов для его запуска

@janvarev janvarev pinned this issue Apr 10, 2022
Repository owner deleted a comment from AndyZ2121 Apr 15, 2022
@janvarev janvarev added the misc Разное label Apr 15, 2022
@SergeyMi37
Copy link
Contributor

Плагин для озвучивания доступных текущих команд VA

https://github.com/SergeyMi37/va-jaa/blob/f1744d09090f832fce5e168d8fde527c7eff40e5/plugins/plugin_cmd_help.py#L1

@aquaratixc
Copy link

Плагин для управления громкостью, через команды amixer.
Плагин для выключения и перезагрузки компьютера.
https://github.com/aquaratixc/irene_va_plugins

@CyberAristocracy
Copy link

https://github.com/Lolipol/Irine-plugin/blob/main/plugin_open_win.py
Открывает приложения на винде название и добавление нового приложения доступно в настройках. Сделано аналогично plugin_urlopener.py Проверено: win10, python 3.10

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_weather_wttr.py
Погодный плагин, получает погоду с wttr.in, не требует ключей API. Местоположение (пока) настраивается в исходном файле плагина.

@aquaratixc
Copy link

Альтернативный плагин приветствий/прощаний.
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_greetings_alt.py

@aquaratixc
Copy link

Запускатель команд (для Linux) по мотивам плагина: https://github.com/Lolipol/Irine-plugin/blob/main/plugin_open_win.py
https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_apprunner.py

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_datetime.py
Несколько модифицированный плагин даты/времени из штатной поставки Ирины. Переработан немного код, а также добавлено произнесение дня недели. Возможно что то еще будет добавлено.

@CyberAristocracy
Copy link

https://github.com/Lolipol/Irine-plugin/blob/main/plugin_control_window.py
Проверено: win10, py 3.10
плагин позволяет взаимодействовать с активным окном
закрыть окно, свернуть окно, открыть в полноэкранном режиме
реализованы комбинации клавиш: alt+tab, alt+shift+tab (для переключения между окнами)
ctrl+tab, ctrl+shift+tab (для вкладок),
ctrl+w (для закрытия вкладок в браузере)

@leontyko
Copy link

leontyko commented Jul 1, 2022

https://github.com/leontyko/reman_plugin
Плагин управления медиа-функциями и функциями питания компьютеров в сети
Позволяет выполнять те команды, которые будут прописаны в конфигурации.

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_random_alt.py

Альтернативный плагин для случайного выбора. Также как и оригинальная версия умеет бросать кубик, монетку, кости, а также выдает случайное число от 1 до 100

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_statistics.py

Плагин информации о системе. Ирина проговаривает IP, информацию о свободном месте на диске, нагрузке, о свободной RAM.

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_mpg123_control.py
Управление плеером mpg123. Умеет выбор случайного трека, останавливать воспроизвдение, а также проигрывать следующий и предыдущий трек.

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_volume_control2.py
Управление громкость через pamixer. Альтернативное управление громкостью.

@aquaratixc
Copy link

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_cpu_temperature.py
Температура процессора устами Ирины

@CyberAristocracy
Copy link

CyberAristocracy commented Aug 2, 2022

https://github.com/Lolipol/Irine-plugin/blob/main/plugin_start.py
(!переделано )Плагин запуска, запускает встроенную в windows команду start, для Linux..
Пути для windows:
"C:\Python310\python.exe" перед спец символами ставить "". Открывает и папки
"calc" Встроенные названия.
"shell:appsfolder\Microsoft.Windows.Computer", # В такой форме shell:appsfolder\{название}
для linux: взято из (https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_apprunner.py)

@CyberAristocracy
Copy link

CyberAristocracy commented Aug 2, 2022

https://github.com/Lolipol/Irine-plugin/blob/main/plugin_easy_notes.py
Добавляет и загружает в core модель, расставляющую знаки препинания в тексте (https://github.com/snakers4/silero-models)
Поддерживаемые языки: ['en', 'de', 'ru', 'es']. Расставляет следующие знаки препинания: '.,-!?—'
Чтобы воспользоваться в плагине core.te_model.enhance_text(text, 'ru'). Ввернет обработанный текст
требуется torch 1.10+
модель весит 90 мб

@CyberAristocracy
Copy link

CyberAristocracy commented Aug 2, 2022

https://github.com/Lolipol/Irine-plugin/blob/main/interface_tkinter/runva_vosk_interface.pyw
Графический интерфейс к Irine-Assistant написанный на tkinter
чтобы запустить необходимо файл положить в корень проекта
Реализован аналогичный Гугол или Алисы способ ввода, когда говорится "Ирина" и затем некоторое время ждет ответа команды например "Привет"
Можно говорить и полную команду "Ирина привет"
Настройки пока что находится в классе APP settings (в тексте ошибок тьма)
интерфейс проверялся на Linux программа проверялась на win10

@AzimovIz
Copy link

AzimovIz commented Nov 15, 2022

Плагин управления устройствами по mqtt с помощью фраз "Ирина включи свет"
Требует подключения к интернету (для локального брокера не нужен)
https://github.com/AzimovIz/Irine_mqtt_plugin

В будущем планируется двухстороннее общение для датчиков

Команды
Для управления используются фразы с любыми (не чувствителен к склонениям) словами, порядок бъекта/параметров не важен. Ограничение только на первые два слова - имя ассистента и триггер действия.

Примеры команд:
"Ирина сделай ночник на кухне красным" то-же самое, что "Ирина сделай красный цвет ночника на кухне"
"Ирина включи лампу на кухне" то же самое, что "Ирина включи пожалуйста лампу на моей кухне"
"Ирина выключи ночник в гостиной" не то-же самое, что "Ирина выключи ночник"

Изменено: В последней версии добавлена генерация ответов
"Включила лампу", "Закрыла окно на кухне"

@janvarev janvarev added the side feature Сторонняя фича label Jan 8, 2023
@aadegtyarev
Copy link

Простой MQTT-мост для Ирины, умеет:

  • отправлять в MQTT команды по триггерным словам;
  • получать из MQTT текст для озвучки.

Для каждого триггера можно привязать свою функцию. Наверное, не подойдёт при работе в варианте веб-апи — не проверил пока.

https://github.com/aadegtyarev/irene-voice-assistant-mqtt-bridge

@Mmm-Vvv
Copy link

Mmm-Vvv commented Feb 5, 2023

Воспроизведение интернет-радиостанций. Управление громкостью.

https://github.com/Mmm-Vvv/Romeo_plugins

@janvarev
Copy link
Owner Author

Болталка с OpenAI GPT-3 нейросетью. Требует API ключ от OpenAI.
https://github.com/janvarev/irene_plugin_boltalka_openai

@janvarev
Copy link
Owner Author

Второй вариант болталки с ChatGPT
https://github.com/janvarev/irene_plugin_boltalka2_openai

В сравнении с оригинальной болталкой https://github.com/janvarev/irene_plugin_boltalka_openai

Плюсы:

  • более дешевая нейросеть "gpt-3.5-turbo"
  • поддержка контекста диалога
  • возможность задавать стиль разговора с собеседником (параметр system в конфиге) - например "объясняй как маленькому ребенку"

Минусы:

  • по ощущениям эта нейросеть работает медленнее, ответа приходится ждать дольше

@AzimovIz
Copy link

AzimovIz commented Apr 15, 2023

Плагин перезагрузки плагинов
https://github.com/AzimovIz/plugin_reload/blob/main/plugin_reload.py

  • автоматическая перезагрузка при изменении файлов в plugins/ и options/
  • исключения для перезагрузки, исключенные плагины - не будут перезагружаться (по умолчанию core.py)
  • перезагрузка конкретного плагина
  • добавление плагинов "на лету"

@Localhost2005
Copy link

Плагин для воспроизведения видео камина на плеере Dune
https://github.com/Localhost2005/Irene-Voice-Assistant-Plugins/blob/main/plugin_fireplace.py

Dune HD API
http://dune-hd.com/firmware/ip_control/dune_ip_control_overview.txt

@Localhost2005
Copy link

Localhost2005 commented Jun 8, 2023

Метод для нечеткого сравнения строк - модификация

https://github.com/Localhost2005/Irene-Voice-Assistant-Plugins/blob/main/plugin_fuzzy_thefuzz.py

Было res = fuzz.ratio(cmdsub,key)
Fuzz.ratio он сравнивает строку и оценку на основе того, насколько данная строка соответствует.

Стало res = fuzz.WRatio(cmdsub,key)
WRatio дает лучший результат, чем простое соотношение. Он обрабатывает нижний и верхний регистры, а также некоторые другие параметры.

@janvarev
Copy link
Owner Author

Плагин для нечеткого сравнения команд на нейросетевых моделях:
https://github.com/janvarev/irene_plugin_fuzzy_ai_sentence

@SVerstov
Copy link

Идея - иметь возможность быстро голосом запускать короткие тренировочные видео из разных подпапок. Вам подойдёт, например, если у вас есть папка с видеотренировками
Например, команда 'тренировка руки' запустит случайное видео из папки 'Руки'

https://github.com/SVerstov/irene_plugin_random_video

@Ivan-Firefly
Copy link

Ivan-Firefly commented Feb 2, 2024

https://github.com/aquaratixc/irene_va_plugins/blob/main/plugin_weather_wttr.py Погодный плагин, получает погоду с wttr.in, не требует ключей API. Местоположение (пока) настраивается в исходном файле плагина.

Привел плагин к стандартному виду (настройки местоположения вынесены в JSON). Поправлена ошибка со скоростью ветра, скорость ветра переведена в м/с. Добавил короткий вывод погоды (без влажности и давления).

https://github.com/Ivan-Firefly/Irene-Voice-Assistant-Docker/blob/master/docker_plugins/plugin_weather_wttr.py

@Ivan-Firefly
Copy link

Ivan-Firefly commented Feb 10, 2024

Плагин для запуска существующих автоматизаций в Home Assistant.
https://github.com/Ivan-Firefly/Irene-Voice-Assistant-Docker/blob/master/docker_plugins/plugin_HA_automation_trigger.py

При минимальных настройках можно "подружить" Ирину с ранее созданными сценариями через REST API.
В нужную автоматизацию добавляем триггер по событию (хоть через интерфейс, хоть через yaml) - и на этом настройка закончена☺️

Тип события - это и есть фраза, по которой Ирина запустит автоматизацию.

  1. Тип события всегда должен начинаться со знака восклицания ! - по этому маркеру Ирина воспринимает команду.
  2. После "триггерного" слова указываем нужный девайс, зону, сцену (и т.д.) - по этому совпадению Ирина выполняет основную часть автоматизации
  3. Через знак ровно = можно указать фразу, которую Ирина произнесет после выполнения сценария.

Добавить через интерфейс:
Capture

Вариант автоматизации для yaml:

alias: Свет на кухне
description: ""
trigger:
#этот кусок нужно добавить
  - platform: event
    event_type: "!включи свет на кухне=свет на кухне включен"
    event_data: {}
#далее идет существующая автоматизация
  - platform: device
    domain: mqtt
    device_id: b9412dded67f033e9638e3a0e9d06a68
    type: action
    subtype: single
    discovery_id: 0x00158d0006b277b3 action_single
    enabled: false
condition: []
action:
  - type: toggle
    device_id: 5c00ce96c2c534f6de2592400ee68bca
    entity_id: 13bf612db6d61726e4e2cde5f151a7df
    domain: switch
mode: single

Произнеся фразу - "Ирина включи свет на кухне" - все сработает.

Спасибо за идеи вам и вам - в этом плагине, в отличие от источников не нужно специально создавать скрипты, которые дублируют уже созданные и настроенные автоматизации и не нужно ковырять json из mqtt в поисках нужных топиков и прописывать их для каждого устройства.

В настройках плагина надо будет указать адрес сервера с Home Assistant и долгосрочный токен доступа.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
misc Разное side feature Сторонняя фича
Projects
None yet
Development

No branches or pull requests