iobroker.assistant 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "assistant",
4
- "version": "1.3.0",
4
+ "version": "1.3.1",
5
5
  "news": {
6
+ "1.3.1": {
7
+ "en": "pi-agent: the language of the satellites goes along with every request, so pi-agent asks its confirmation questions (\"… Say yes or no.\") in it instead of the system language. Before, a Russian satellite was asked \"Sag ja oder nein\", and the German \"Ja\" came back empty from the speech recognition: nothing happened. Needs a pi-agent version that knows the field\nRequests about a script (\"Skript\", \"script\", \"скрипт\", also JavaScript/Blockly) always go to the cloud model: routines, rule engine and local LLM read their details as commands of their own (\"write a script that switches the kitchen light every hour\" was answered with the time). A reply to a question of the cloud model about the script goes there too\nVoice: speech that the recognition returns as empty text is now logged (\"Voice Q (…): (empty)\") for ESPHome and native satellites too, instead of ending without a trace\nChat: opens at the newest entry, and a new request scrolls into view again. Before, the tab often opened at the oldest entries",
8
+ "de": "pi-agent: Die Sprache der Satelliten folgt jeder Anfrage, also stellt Pi-Agent die Bestätigungsfragen („... Sag ja oder nein.“) darin statt in der Systemsprache. Vorher fragte ein russischer Satellit „Sag ja oder nein“ und das deutsche „Ja“ war leer aus der Spracherkennung: nichts geschah. Benötigt Pi-Agent-Version, die das Feld kennt\nAnfragen zu einem Skript („Skript“, „Script“, „auch JavaScript/Blockly“) gehen immer an das Cloud-Modell: Routinen, Rule Engine und lokales LLM lesen ihre Daten als eigene Befehle („write a script that switch the kitchen light every hour“ wurde mit der Zeit beantwortet). Eine Antwort zum Cloud-Modell zum Skript gibt es auch\nStimme: Sprache, die die Erkennung als Leertext ausgibt, wird jetzt protokolliert („Voice Q (...): (leer)“) auch für ESPhome und native Satelliten, statt spurlos zu enden\nChat: Öffnet beim neuesten Eintrag und eine neue Anfrage. Vorher öffnete der Tab oft die ältesten Einträge",
9
+ "ru": "pi-agent: язык спутников соответствует каждому запросу, поэтому pi-agent задает в нем подтверждающие вопросы («... Скажи да или нет») вместо системного языка. Ранее российскому спутнику задавали вопрос «Sag ja oder nein», а немецкое «Да» при распознавании речи давало пустое слово: ничего не произошло. Нужна версия pi-agent, которая разбирается в полевых условиях\nЗапросы о скрипте («Skript», «script», «script», также JavaScript/Blockly) всегда поступают в облачную модель: программы, движок правил и локальный LLM считывают их данные в виде собственных команд («напишите сценарий, включающий кухонное освещение каждый час» отвечали вместе со временем). Ответ на вопрос об облачной модели, касающийся сценария, также приводится здесь\nГолос: речь, которую распознавание возвращает в виде пустого текста, теперь записывается в журнал («Voice Q (...): (пусто)») для EspHome и нативных спутников, а не оканчивается бесследно\nЧат: открывается при самой новой записи, а новый запрос снова появляется в поле зрения. Раньше вкладка часто открывалась для самых старых записей",
10
+ "pt": "pi-agent: o idioma dos satélites acompanha cada solicitação, então o pi-agent faz perguntas de confirmação (“... Diga sim ou não”) em vez do idioma do sistema. Antes, perguntavam a um satélite russo “Sag ja oder nein” e o alemão “Ja” voltava vazio do reconhecimento de voz: nada acontecia. Precisa de um pi-agent que conheça a área\nPedidos sobre um script (“Skript”, “script”, “e também JavaScript/Blockly) sempre seguem o modelo de nuvem: rotinas, motor de regras e LLM local lêem seus detalhes como comandos próprios (“escreva um script que acenda a luz da cozinha a cada hora” foi respondido com a hora). A resposta à pergunta do modelo de nuvem sobre o script também\nVoz: a fala que o reconhecimento retorna como texto vazio agora é registrada (“Voice Q (...): (empty)”) para ESPHome e satélites nativos, em vez de terminar sem deixar rasto\nChat: abre na entrada mais recente e uma nova solicitação é exibida. Antes, a aba abria nas entradas mais antigas",
11
+ "nl": "pi-Agent: de taal van de satellieten hoort bij elk verzoek, dus stelt pi-agent daarin de bevestigingsvragen („... Zeg ja of nee.”) in plaats van in de systeemtaal. Vroeger werd aan een Russische satelliet gevraagd „Sag ja oder nein”, en het Duitse „Ja” kwam met lege handen terug na de spraakherkenning: er gebeurde niets. Heeft een pi-Agent-versie nodig die het veld kent\nVerzoeken over een script („Skript”, „script”, „\" Сμμμμμμμβ\"”, ook JavaScript/Blockly) gaan altijd naar het cloudmodel: routines, regelengine en lokale LLM lezen hun gegevens als hun eigen opdrachten („\" schrijf een script dat elk uur de keukenverlichting schakelt \"” werd met de tijd beantwoord).” Een antwoord op een vraag van het cloudmodel over het script hoort daar ook bij\nSpraak: spraak die door de herkenning als lege tekst wordt teruggestuurd, wordt nu ook geregistreerd („Voice Q (...): (leeg)”) voor ESPhome en lokale satellieten, in plaats van dat de tekst spoorloos eindigt\nChat: wordt geopend bij het nieuwste item en er wordt weer een nieuw verzoek weergegeven. Vroeger werd het tabblad vaak geopend bij de oudste items",
12
+ "fr": "pi-agent : la langue des satellites correspond à chaque demande, donc pi-agent pose ses questions de confirmation («... Dites oui ou non ») dans cette langue plutôt que dans la langue du système. Avant, on demandait « Sag ja oder nein » à un satellite russe, et le mot allemand « Ja » revenait vide grâce à la reconnaissance vocale : rien ne s'est passé. Il faut une version pi-agent adaptée\nLes demandes concernant un script (« Skript », « script », « скрипт », également Javascript/Blockly) sont toujours traitées dans le cloud : les routines, le moteur de règles et le LLM local les lisent comme des commandes propres (« Rédiger un script qui allume l'éclairage de la cuisine toutes les heures » a reçu l'heure). La réponse à une question sur le modèle cloud du script y figure aussi\nVoix : le discours renvoyé en texte vide est désormais enregistré (« Voice Q (...) : (vide) ») pour ESPHome et les satellites natifs, au lieu de se terminer sans laisser de trace\nChat : s'ouvre à la dernière entrée, et une nouvelle demande réapparaît. Avant, les entrées les plus anciennes s'ouvraient",
13
+ "it": "pi-agent: la lingua dei satelliti soddisfa ogni richiesta, quindi pi-agent pone le domande di conferma («... Dica sì o no») anziché nella lingua di sistema. Prima si chiedeva a un satellite russo «Sag ja oder nein» e il tedesco «Ja» era vuoto dal riconoscimento vocale: niente. Serve un pi-agent che conosca il campo\nLe richieste su uno script («Skript», «script», anche Javascript/Blockly) vanno sempre al modello cloud: routine, rule engine e LLM locale leggono i dati come comandi («scrivi uno script che accenda la luce della cucina ogni ora» è stato risposto con l'ora). Anche una risposta a una domanda del modello cloud sullo script\nVoce: la voce restituita come testo vuoto è ora registrata («Voice Q (...): (empty)») anche per ESPHome e i satelliti nativi, invece di terminare senza lasciare traccia\nChat: si apre all'ultima voce e si riapre una nuova richiesta. Prima, la scheda si apriva spesso ai vecchi",
14
+ "es": "pi-agent: el idioma de los satélites acompaña a cada solicitud, por lo que pi-agent hace sus preguntas de confirmación («... diga sí o no») en él y no en el idioma del sistema. Antes, a un satélite ruso se le preguntaba «Sag ja oder nein» y el alemán aparecía vacío en el reconocimiento de voz: no pasaba nada. Necesita una versión de pi-Agent que sepa\nLas solicitudes sobre un guion («Skript», «guion», también Javascript/Blockly) siempre van al modelo de nube: las rutinas, el motor de reglas y el LLM local leen sus detalles como órdenes propias («escriba un guion que cambie la luz de la cocina cada hora» se responde con la hora). La respuesta a una pregunta del modelo de nube sobre el guion va ahí\nVoz: voz que el reconocimiento devuelve como texto vacío ahora se registra («Voice Q (...): (vacía)») para ESPhome y los satélites nativos también, en lugar de terminar sin dejar rastro\nChat: se abre en la última entrada y vuelve a aparecer una nueva solicitud. Antes, la pestaña solía abrir en las entradas más antiguas",
15
+ "pl": "pi-agent: język satelitów idzie w parze z każdym żądaniem, więc pi-agent zadaje pytania potwierdzające („Powiedz tak lub nie”) zamiast języka systemowego. Wcześniej rosyjski satelita został zapytany „Sag ja oder nein”, a niemiecki „Ja” wrócił pusty z rozpoznawania mowy: nic się nie stało. Potrzebuje wersji pi-agenta, która zna tę dziedzinę\nŻądania dotyczące skryptu („Skript”, „script”, „програмпт”, także JavaScript/Blockly) zawsze trafiają do modelu chmury: procedury, silnik reguł i lokalne LLM odczytują swoje dane jako własne polecenia („napisz skrypt, który przełącza światło kuchenne co godzinę” odpowiadano z czasem). Odpowiedź na pytanie o model chmury dotyczący skryptu również znajduje się tam\nGłos: mowa, którą rozpoznawanie zwraca jako pusty tekst, jest teraz rejestrowana („Voice Q (...): (empty)”) również dla ESPHome i natywnych satelitów, zamiast kończyć się bez śladu\nCzat: otwiera się przy najnowszym wpisie, a nowa prośba ponownie przewija się do widoku. Wcześniej zakładka często otwierała się przy najstarszych wpisach",
16
+ "uk": "pi-agent: мова супутників йде разом з кожним запитом, тому pi-agent задає свої запитання підтвердження («... Скажи так чи ні.») замість системної мови. Раніше російський супутник запитували «Sag ja oder nein», а німецький «Ja» повернувся порожнім з розпізнавання мови: нічого не сталося. Потрібна версія pi-агента, яка знає поле\nЗапити щодо скрипту («Скрипт», «скрипт», «скрипт», також JavaScript/Blockly) завжди надходять до хмарної моделі: рутини, механізм правил та локальний LLM читають свої деталі як власні команди («писати скрипт, який перемикає світло кухні щогодини» відповідали з часом). Відповідь на питання хмарної моделі про сценарій теж йде туди\nГолос: мова, яку розпізнавання повертає як порожній текст, тепер реєструється («Voice Q (...): (порожній)») також для ESPHome та рідних супутників, замість того, щоб закінчуватися безслідно\nЧат: відкривається при найновішому записі, і новий запит знову прокручується до перегляду. Раніше вкладка часто відкривалася при найстаріших записах",
17
+ "zh-cn": "pi-agent:卫星的语言与每个请求一致,因此 pi-agent 用它而不是系统语言询问其确认问题(“... 说是或否。”)。以前,一颗俄罗斯卫星被问到 “Sag ja oder nein”,而德国的 “Ja” 则在语音识别中空无一人:什么也没发生。需要一个知道该领域的 pi-agent 版本\n有关脚本(“Skript”、“脚本”、“cq”,也是 JavaScript/Blockly)的请求总是会转到云端模型:例程、规则引擎和本地 LLM 将它们的详细信息作为自己的命令来读取(“编写一个每小时切换厨房灯光的脚本” 会随着时间的推移得到答复)。关于脚本的云模型问题的答案也在那里\n语音:对于ESpHome和原生卫星,识别后以空文本形式返回的语音现在也会被记录(“Voice Q (...):(空)”),而不是无影无踪地结束\n聊天:在最新的条目处打开,新的请求再次滚动到视图中。以前,该选项卡通常在最旧的条目处打开"
18
+ },
6
19
  "1.3.0": {
7
20
  "en": "Commands for later: \"turn off the light in 2 hours\" or \"blinds to 50 % at 10 pm\" becomes an event in the calendar (fullcalendar adapter) instead of running now; the AI can plan, list and cancel events. Before, the rule engine switched such commands at once. Needs a fullcalendar version with the new event API (after 3.0.5)\nSettings: the state of a presence row is picked with the object browser, the kind of a presence row or announcement target is a dropdown\nNew provider \"System-wide AI settings (admin)\", the default for new instances: provider, model and key come from the AI settings of the admin system settings, a change there restarts the instance. An instance without a key of its own takes them too\nNew provider OpenRouter\nOpenRouter for speech recognition and voice: one key for the speech models of many vendors (Whisper, Deepgram, ElevenLabs, Gemini TTS, …), models and voices are listed in the settings (default voice model: ElevenLabs Flash v2.5)\nVoice test on the Voice tab: speak a test sentence, and test speech recognition with the browser microphone, an audio file or a round trip, all with the unsaved settings\n\"Confirm switch commands with a tone\" now also covers commands the AI (or pi-agent) carried out\nSpelled-out numbers up to 100 in commands (\"Lautstärke auf fünfzig Prozent\", \"twenty five percent\", \"двадцать пять процентов\"), and the AI sees the volume of each voice satellite, so it no longer turns up a media device of the room instead\nNew provider \"Adapter pi-agent\": the durable agent of the pi-agent adapter answers what the local tiers cannot, with one conversation per satellite/chat",
8
21
  "de": "Befehle für später: „Mach das Licht in 2 Stunden aus“ oder „Um 22 Uhr auf 50%“ wird ein Ereignis im Kalender (Fullcalendar Adapter) statt jetzt; die KI kann Termine planen, auflisten und stornieren. Vorher hat das Rule Engine die Befehle sofort geändert. Benötigt eine Vollversion mit neuer Event-API (nach 3.0.5)\nEinstellungen: Der Status einer Präsenzzeile wird im Objektbrowser ausgewählt, ein Dropdown\nNeuer Anbieter „Systemweite KI-Einstellungen (admin)“, Standard für neue Instanzen: Anbieter, Modell und Schlüssel stammen aus den KI-Einstellungen. Eine Änderung dort startet die Instanz neu. Eine Instanz ohne eigenen Schlüssel nimmt sie auch\nNeuer Anbieter OpenRouter\nOpenRouter für Spracherkennung und Stimme: eine Taste für Sprachmodelle vieler Anbieter (Whisper, Deepgram, ElevenLabs, Gemini TTS,...), Modelle und Stimmen sind in den Einstellungen aufgeführt (Standardmodell: ElevenLabs Flash v2.5)\nSprachtest im Tab Voice: Testsatz sprechen und Spracherkennung mit dem Browsermikrofon, Audiodatei oder Hin- und Rückfahrt testen, alles mit ungespeicherten Einstellungen\n„Schaltbefehle mit Ton bestätigen“ umfasst nun auch Befehle der KI (oder Pi-Agent)\nBuchstabiert Zahlen bis zu 100 in Befehlen („Lautstärke auf fünfzig Prozent“, „fünfundzwanzig Prozent“, „und die KI sieht die Lautstärke jedes Sprachsatelliten, also nicht mehr das Mediengerät des Raums)\nNeuer Anbieter „Adapter Pi-Agent“: Der dauerhafte Agent beantwortet, was lokale Ebenen nicht können, mit einem Gespräch pro Satellit/Chat",
@@ -80,19 +93,6 @@
80
93
  "pl": "Użyj pierwszego modelu, jeśli nie jest ustawiony\nDozwolone uruchamianie tylko z lokalnym LLM\nDodano procedury: fraza („dobranoc”) wyświetla listę działań i odpowiedzi raz. Dopasowane przed silnikiem reguł offline i przed LLM, więc zapisane makro nigdy nie jest reinterpretowane\nSilnik reguł offline odpowiada teraz na pytania dotyczące pewnego rodzaju pomiaru bez nazwy urządzenia: „jak jest tu powietrze”, „jak jest wszędzie ciepło”, „jak jasne jest” odpowiadają z każdego tego rodzaju czujnika, ze słowem oznaczającym numer jakości powietrza\nTekst mówiony jest buforowany na dysku, więc powtarzane odpowiedzi („OK. „, „Timer zakończony”) nie kosztuje połączenia w chmurze i brak opóźnień. Odpowiedź przekraczająca 400 znaków jest wycinana w ostatnim zdaniu, które pasuje, a „<speak>...</speak>” jest teraz wypowiadane jako prawdziwy SSML przez Azure i Polly\nDodano opcjonalny silnik drugiej mowy w zależności od kierunku: jeśli skonfigurowany dostawca ulegnie awarii (awaria, wygasły klucz, pusty limit), mowa na tekst i tekst na mowę wrócą do innego - z Vosk/Piper za dostawcą chmury dom nadal pracuje bez Internetu\nDodano dwa opcjonalne ustawienia poleceń przełączania: potwierdź krótkim sygnałem dźwiękowym zamiast wypowiedzianego zdania i sprawdź potwierdzenie urządzenia przed zgłoszeniem sukcesu\nWłasne pomiary satelity ESPhome (temperatura, obecność, teksty stanu) pojawiają się teraz jako stany tylko do odczytu w `satelitach. <id>.sterowanie. *`\nOgłoszenia mogą dotyczyć grupy pomieszczeń lub osoby: wymień zestaw satelitów w nowej tabeli „Cele ogłoszenia” i użyj go wszędzie tam, gdzie cel jest akceptowany („powiadomienie”, „Askuser”, pomieszczenie wyzwalacza, stan „tts” na satelitę). LLM dostał również narzędzie „ogłoszenia”, więc „powiedz Denisowi, że obiad jest gotowy” dociera do jego mówców - skonfigurowane nazwy są częścią opisu narzędzia. Pytanie zadane grupie liczy pierwszą odpowiedź, a tekst jest syntetyzowany raz dla całej grupy\nAsystent może teraz wiedzieć, kto jest w domu: skieruj nową tabelę „Obecność” na stany, które już masz (adapter mieszkańców, ping telefonu, własną flagę) i nazwij osobę. Mówi LLM, kto jest w pobliżu, wstrzymuje ogłoszenia do pustego domu na żądanie („powiadomić” z `OnlyWhenHome`) i ujawnia `Presence.AnyoneHome`/`Presence.List`/`Presence.LastarRival` - więc powitanie kogoś po przyjeździe jest tylko wyzwalaczem tego stanu\nPowiadomienia systemowe mogą być teraz wypowiadane: napisz do `notify.text`/`notify.alert`, zadzwoń do `sendTo ('assistant.0', 'notification', {text, severity}) `lub wybierz asystenta w menedżerze powiadomień ioBroker. LLM zamienia surowy tekst w jedno zdanie naturalne, którego ton jest zgodny z surowością (`info`/`notify`/`alert`, plus `bezpośredni`, aby wypowiedzieć to dosłownie)\nDodano Do-Not-Disturb, wymuszone przez adapter dla każdego transportu: `dnd` globalnie i `satelitów. <id>.dnd` na satelitę. Ogłoszenia są wyłączane, gdy są włączone; alerty i teksty zaczynające się od `! `nadal są odtwarzane, a odpowiedzi na własne pytania nigdy nie są dotknięte\nDodano proaktywne wyzwalacze (nowa zakładka „Wyzwalacze”): wyzwalacz obserwuje stany lub zegar, a następnie ogłasza coś, zapisuje stan lub zadaje pytanie i działa zgodnie z Twoją odpowiedzią („Frytkownica jest włączona przez 5 godzin. Mam to wyłączyć?” — LLM klasyfikuje odpowiedź mówioną do skonfigurowanych reguł odpowiedzi). Obsługuje alternatywne warunki, udoskonalenia `also`/`unless`, opóźnienie z `CancelWhen „i czas odnowienia; każdy wyzwalacz ma `triggers.items. <id>. Stan {enabled, fire, lastFired, nextFireAt} `plus przełącznik główny `triggers.enabled`\nAsystent może teraz zadać pytanie i czekać na odpowiedź: `sendTo ('assistant.0', 'askUser', {question, room}) 'wypowiada je na satelicie, ponownie otwiera mikrofon bez słowa budzącego i zwraca to, co zostało powiedziane. Podczas gdy pytanie jest otwarte, odpowiedź jest kierowana do dzwoniącego zamiast być odczytywana jako nowe polecenie\nDodano czwarty transport głosowy: satelity głosowe ESPhome (ThirdReality Voice & Music Assistant, Home Assistant Voice PE, Linux-Voice-Assistant). Adapter wybierze urządzenia w TCP 6053, sam wykrywa koniec mowy i obsługuje odpowiedź mówioną na małym serwerze multimedialnym HTTP",
81
94
  "uk": "Використовуйте першу модель, якщо не встановлено\nДозволено працювати тільки з локальним LLM\nДодані процедури: фраза («на добраніч») запускає список дій і відповідей один раз. Відповідає перед механізмом правил офлайн та перед LLM, тому записаний вами макрос ніколи не переосмислюється\nОфлайн-механізм правил тепер відповідає на запитання щодо свого роду вимірювання без назви пристрою: «як повітря тут», «як тепло скрізь», «наскільки яскраво» відповідають кожен датчик такого роду зі словом для числа якості повітря\nРозмовний текст кешується на диску, тому повторюються відповіді («Гаразд. «, «Таймер закінчений») не коштує хмарного дзвінка та затримки. Відповідь понад 400 символів вирізана в останньому реченні, яке підходить, і `<speak>...</speak>` тепер називається справжнім SSML Azure та Polly\nДодано додатковий другий мовний механізм для кожного напрямку: якщо налаштований провайдер виходить з ладу (відключення, термін дії ключа закінчився, порожня квота), перехід мовлення до тексту та перетворення тексту в мову повертаються до іншого - з Vosk/Piper за хмарним провайдером, будинок продовжує працювати без Інтернету\nДодано два додаткові налаштування для команд перемикання: підтвердіть коротким звуковим сигналом замість вимовленого речення та перевірте підтвердження пристрою, перш ніж повідомити про успіх\nВласні вимірювання супутника ESPHome (температура, присутність, тексти статусу) тепер відображаються як стани лише для читання під `супутниками. <id>.елементи керування. *`\nОголошення можуть звертатися до групи кімнат або до людини: назвати набір супутників у новій таблиці «Цілі оголошення» і використовувати його в будь-якому місці, де приймається ціль (`notify`, `AskUser`, кімната тригера, стан `tts` для кожного супутника). LLM також отримав інструмент «анонсу», тому «повідомте Денису, що вечеря готова» доходить до його спікерів - налаштовані назви є частиною опису інструменту. Запитання, поставлене групі, враховує першу відповідь, і текст синтезується один раз для всієї групи\nТепер помічник може знати, хто вдома: наведіть нову таблицю «Присутність» на вже наявні у вас стани (адаптер мешканців, пінг телефону, власний прапор) та назвіть людину. Він повідомляє LLM, хто поруч, стримує оголошення до порожнього будинку за запитом (`повідомляти` з `onlyWhenHome`) і викриває `Presence.anyoneHome`/`presence.list`/`Presence.LastArrival` - тому вітання когось після прибуття є лише тригером цього стану\nСистемні сповіщення тепер можна вимовляти: пишіть на `notify.text`/`notify.alert`, викликайте `SendTo ('assistant.0', 'notice', {text, severity}) `або виберіть помічника в диспетчері сповіщень IObroker. LLM перетворює необроблений текст в одне природне речення, тон якого відповідає суворості (`info`/`notify`/`alert`, плюс `direct`, щоб висловити його дослівно)\nДодано Do-Not-Disturb, що застосовується адаптером для кожного транспорту: `dnd` глобально та `супутники. <id>.dnd` на супутник. Оголошення пригнічуються, поки він увімкнений; сповіщення та тексти починаються з `! `все ще відтворюються, і відповіді на ваші власні запитання ніколи не впливають\nДодані проактивні тригери (нова вкладка «Тригери»): тригер спостерігає за станами або годинником, а потім щось повідомляє, пише стан або задає вам запитання та діє відповідно до вашої відповіді («Фритюрниця увімкнена протягом 5 годин. Чи варто вимкнути його?» — LLM класифікує розмовну відповідь відповідно до налаштованих правил відповіді). Підтримує альтернативні умови, «також`/`unless` уточнення, затримку з `cancelWhen` та зарядку; кожен тригер має `triggers.items. <id>. Стани {enabled, fire, lastFired, nextFireAt} `плюс головний перемикач `triggers.enabled`\nТепер помічник може задати питання і чекати відповіді: `sendTo ('assistant.0', 'askUser', {query, room}) `розмовляє його на супутнику, знову відкриває мікрофон без пробудження і повертає сказане. Поки питання відкрите, відповідь направляється на абонента замість того, щоб читатися як нова команда\nДодано четвертий голосовий транспорт: голосові супутники ESPHome (голосовий та музичний помічник ThirdReality, домашній помічник голосовий PE, голосовий помічник Linux). Адаптер набирає пристрої на TCP 6053, сам виявляє кінець мови і подає розмовну відповідь через невеликий медіа-сервер HTTP",
82
95
  "zh-cn": "如果未设置,则使用第一个模型\n仅允许使用本地 LLM 运行\n添加了例程:一个短语(“晚安”)会运行一次操作和答案列表。在离线规则引擎之前和 LLM 之前匹配,因此您写下的宏永远不会被重新解释\n离线规则引擎现在可以回答有关一种测量的问题,无需为设备命名:“这里的空气怎么样”、“到处都有多温暖”、“有多亮”,每个此类传感器都会回答,并用一个词来表示空气质量数字\n口头文字缓存在磁盘上,因此重复回复(“好吧。“,“计时器已完成”)无需花费云通话,也没有延迟。在最后一句话中删掉了超过 400 个字符的答案,Azure 和 Polly 现在将 “<speak>...</speak>” 说成了真正的 SSML\n为每个方向添加了可选的第二个语音引擎:如果配置的提供商出现故障(中断、密钥过期、配额为空),语音转文本和文字转语音将退回到另一个语音引擎——Vosk/Piper 在云提供商后面,则公司在没有互联网的情况下继续工作\n为交换机命令添加了两个可选设置:用短蜂鸣声而不是口头句子进行确认,并在报告成功之前验证设备的确认\n现在,ESPhome卫星自己的测量结果(温度、存在状态、状态文本)在 “卫星” 下显示为只读状态。<id>. 控件。*`\n公告可以针对一组房间或一个人:在新的 “公告目标” 表中命名一组卫星,并在接受目标的任何地方使用它(`notify`、`askUser`、触发器房间、每颗卫星的`ts`状态)。LLM 还有一个 “公告” 工具,所以 “告诉丹尼斯晚餐准备好了” 会传到他的演讲者手中——配置的名称是工具描述的一部分。向小组提出的问题算作第一个答案,整个小组的文本只合成一次\n助手现在可以知道谁在家:将新的 “Presence” 表对准你已经拥有的州(居民适配器、电话 ping、你自己的旗帜),然后给这个人起名字。它告诉 LLM 谁在附近,应要求不向空房子发布公告(使用 `onlyWhenHome` 进行`通知'),并公开 `presence.anyoneHome`/`presence.list`/`presence.lastarRival` — 所以在某人抵达时问候只是该状态的触发因素\n现在可以说出系统通知了:写信给 `notify.text`/`notify.alert`,致电 `sendTo('assistant.0','通知',{文本,严重性})`,或者在 ioBroker 通知管理器中选择助手。LLM 将原始文本变成一句自然的句子,其语气遵循严重程度(`info`/`notify`/`alert`,再加上逐字说出的 “直接”)\n添加了 “请勿打扰”,由适配器在每次传输时强制执行:全局 “dnd” 和 “卫星”。<id>每颗卫星 .dnd`。公告开启时会被抑制;警报和以 `! 开头的短信`仍在播放,你自己的问题的答案永远不会受到影响\n增加了主动触发器(新的 “触发器” 选项卡):触发器监视状态或时钟,然后宣布某件事、写下状态或问你一个问题并根据你的答案采取行动(“炸锅已经开启了 5 个小时。我应该把它关掉吗?”— LLM 根据配置的响应规则对语音回复进行分类)。支持替代条件、“还有”/“除非” 改进、“CancelWhen” 延迟和冷却时间;每个触发器都有 “triggers.items”。<id>。{enabled、fire、lastFireAt、nextFireAT} `状态加上`trigers.enabled`主开关\n助手现在可以提问并等待答案:`sendTo ('assistant.0', 'askUser', {question, room}) `在卫星上说话,在没有叫醒词的情况下重新打开麦克风并返回所说的内容。当问题处于打开状态时,该答案将发送给调用者,而不是作为新命令读取\n添加了第四种语音传输:espHome 语音卫星(ThirdReality 语音和音乐助手、家庭助理语音 PE、linux-voice-assistant)。适配器通过 TCP 6053 拨打设备,自行检测语音结束,并通过小型 HTTP 媒体服务器提供语音回复"
83
- },
84
- "0.1.6": {
85
- "en": "The offline rule engine now understands combined commands: \"switch the light on and set the blind to 30 %\", and one verb for several devices (\"switch the light and the lamp on\")\nFixed: \"50 percent\" was not recognised as a level in English\nThe selected weather adapter is now fed to the LLM as context (current conditions plus today/tomorrow), so weather questions are answered without an extra tool round-trip\nThe local LLM receives the weather context too, so it no longer invents a forecast\nDocumented the weather source selection in the user documentation",
86
- "de": "Die Offline-Regel-Engine versteht nun kombinierte Befehle: \"Schalte das Licht ein und stelle die Jalousie auf 30 %\", sowie ein Verb für mehrere Geräte (Schalte das Licht und die Lampe ein).\nBehoben: „50 Prozent“ wurde im Englischen nicht als Niveau anerkannt.\nDer ausgewählte Wetteradapter wird nun als Kontext (aktuelle Bedingungen plus heutige/morgen) an das LLM übermittelt, sodass Wetterfragen ohne zusätzlichen Tool-Rundlauf beantwortet werden.\nDas lokale LLM erhält ebenfalls die Wetterkontextinformationen, sodass es keine Vorhersage mehr erstellt.\nDie Auswahl der Wetterdatenquelle wurde in der Benutzerdokumentation dokumentiert.",
87
- "ru": "Автономный механизм правил теперь распознает комбинированные команды: «включить свет и установить жалюзи на 30 %», а также один глагол для нескольких устройств («включить свет и лампу»).\nИсправлено: \"50 процентов\" не признавалось уровнем в английском языке.\nВыбранный адаптер погоды теперь передается в LLM в качестве контекста (текущие условия плюс сегодня/завтра), поэтому на вопросы о погоде даются ответы без дополнительного обращения к другому инструменту.\nМестный лаборант также получает информацию о погоде, поэтому он больше не составляет собственные прогнозы.\nВыбор источника метеорологических данных задокументирован в пользовательской документации.",
88
- "pt": "O mecanismo de regras offline agora entende comandos combinados: \"acenda a luz e ajuste a persiana para 30%\", e um verbo para vários dispositivos (\"acenda a luz e o abajur\").\nCorrigido: \"50 por cento\" não era reconhecido como um nível em inglês.\nO adaptador meteorológico selecionado é agora enviado ao LLM como contexto (condições atuais mais informações de hoje/amanhã), de modo que as perguntas sobre o clima são respondidas sem a necessidade de uma comunicação adicional entre as ferramentas.\nO LLM local também recebe o contexto meteorológico, portanto não precisa mais criar uma previsão.\nDocumentamos a seleção da fonte de dados meteorológicos na documentação do usuário.",
89
- "nl": "De offline regelengine begrijpt nu gecombineerde commando's: \"zet het licht aan en stel de jaloezie in op 30%\", en één werkwoord voor meerdere apparaten (\"zet het licht en de lamp aan\").\nOpgelost: \"50 procent\" werd niet herkend als een niveau in het Engels.\nDe geselecteerde weeradapter wordt nu als context (huidige omstandigheden plus vandaag/morgen) aan het LLM doorgegeven, zodat weervragen beantwoord kunnen worden zonder dat daarvoor een extra tool nodig is.\nHet lokale LLM ontvangt ook de weersinformatie, waardoor het geen voorspellingen meer hoeft te verzinnen.\nDe selectie van de weerbron is gedocumenteerd in de gebruikersdocumentatie.",
90
- "fr": "Le moteur de règles hors ligne comprend désormais les commandes combinées : « allumer la lumière et régler le store à 30 % », et un verbe pour plusieurs appareils (« allumer la lumière et la lampe »).\nCorrigé : « 50 pour cent » n'était pas reconnu comme un niveau en anglais\nL'adaptateur météo sélectionné est maintenant transmis au LLM comme contexte (conditions actuelles et prévisions pour aujourd'hui/demain), ce qui permet de répondre aux questions météo sans avoir à effectuer un aller-retour supplémentaire avec un outil.\nLe LLM local reçoit également les informations météorologiques, il n'a donc plus besoin d'établir de prévisions.\nLa sélection de la source météorologique a été documentée dans la documentation utilisateur.",
91
- "it": "Il motore di regole offline ora comprende comandi combinati: \"accendi la luce e imposta la tapparella al 30%\", e un unico comando per più dispositivi (\"accendi la luce e la lampada\").\nRisolto: \"50 percento\" non veniva riconosciuto come livello in inglese\nL'adattatore meteo selezionato viene ora fornito all'LLM come contesto (condizioni attuali più previsioni per oggi/domani), in modo che le domande sul meteo vengano risolte senza dover ricorrere a strumenti aggiuntivi.\nAnche il modello LLM locale riceve il contesto meteorologico, quindi non inventa più una previsione\nLa selezione della fonte meteo è stata documentata nella documentazione per l'utente.",
92
- "es": "El motor de reglas sin conexión ahora entiende comandos combinados: \"enciende la luz y ajusta la persiana al 30 %\", y un verbo para varios dispositivos (\"enciende la luz y la lámpara\").\nCorregido: \"50 por ciento\" no se reconocía como un nivel en inglés.\nEl adaptador meteorológico seleccionado ahora se introduce en el LLM como contexto (condiciones actuales más las de hoy/mañana), por lo que las preguntas meteorológicas se responden sin necesidad de una herramienta adicional.\nEl LLM local también recibe el contexto meteorológico, por lo que ya no inventa un pronóstico.\nDocumenté la selección de la fuente meteorológica en la documentación del usuario.",
93
- "pl": "Silnik reguł offline rozumie teraz łączone polecenia: „włącz światło i ustaw rolety na 30%” oraz jedno polecenie dla kilku urządzeń („włącz światło i lampę”)\nNaprawiono: „50 procent” nie było uznawane za poziom w języku angielskim\nWybrany adapter pogodowy jest teraz przekazywany do LLM jako kontekst (bieżące warunki plus dziś/jutro), dzięki czemu na pytania dotyczące pogody można uzyskać odpowiedź bez konieczności korzystania z dodatkowych narzędzi.\nLokalny LLM również otrzymuje kontekst pogodowy, więc nie musi już tworzyć prognozy\nUdokumentowano wybór źródła pogody w dokumentacji użytkownika",
94
- "uk": "Механізм правил для автономного режиму тепер розуміє комбіновані команди: «увімкнути світло та встановити жалюзі на 30 %» та одне дієслово для кількох пристроїв («увімкнути світло та лампу»).\nВиправлено: «50 відсотків» не розпізнавалося як рівень в англійській мові.\nВибраний погодний адаптер тепер передається до LLM як контекст (поточні умови плюс сьогодні/завтра), тому відповіді на питання щодо погоди отримуються без використання додаткового інструменту.\nЛокальний LLM також отримує інформацію про погоду, тому він більше не створює прогноз.\nВибір джерела погоди задокументовано в документації користувача",
95
- "zh-cn": "离线规则引擎现在可以理解组合命令:“打开灯并将百叶窗设置为 30%”,以及一个动词控制多个设备(“打开灯和台灯”)。\n已修复:“50%”在英语中未被识别为一个等级\n现在,选定的天气适配器会作为上下文信息(当前天气状况以及今天/明天的天气状况)提供给 LLM,因此无需额外的工具往返即可回答天气问题。\n本地LLM也能接收到天气信息,因此不再自行预测天气。\n在用户文档中记录了天气源的选择过程。"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.assistant",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "LLM assistant for ioBroker — ask about and control any state via an LLM with tool-calling",
5
5
  "author": "ioBroker",
6
6
  "license": "MIT",