{
  "common": {
    "name": "hoymiles",
    "version": "0.4.1",
    "titleLang": {
      "en": "Hoymiles HMS-xxxW-xT",
      "de": "Hoymiles HMS-xxxW-xT",
      "ru": "Hoymiles HMS-xxxW-xT",
      "pt": "Hoymiles HMS-xxxW-xT",
      "nl": "Hoymiles HMS-xxxW-xT",
      "fr": "Hoymiles HMS-xxxW-xT",
      "it": "Hoymiles HMS-xxxW-xT",
      "es": "Hoymiles HMS-xxxW-xT",
      "pl": "Hoymiles HMS-xxxW-xT",
      "uk": "Hoymiles HMS-xxxW-xT",
      "zh-cn": "Hoymiles HMS-xxxW-xT"
    },
    "desc": {
      "en": "Monitor Hoymiles HMS inverters via local TCP/Protobuf and/or S-Miles Cloud API",
      "de": "Hoymiles HMS Wechselrichter per lokalem TCP/Protobuf und/oder S-Miles Cloud-API überwachen",
      "ru": "Мониторинг инверторов Hoymiles HMS через локальный TCP/Protobuf и/или облачный API S-Miles",
      "pt": "Monitorar inversores Hoymiles HMS via TCP/Protobuf local e/ou API Cloud S-Miles",
      "nl": "Hoymiles HMS omvormers monitoren via lokaal TCP/Protobuf en/of S-Miles Cloud API",
      "fr": "Surveiller les onduleurs Hoymiles HMS via TCP/Protobuf local et/ou API Cloud S-Miles",
      "it": "Monitorare inverter Hoymiles HMS tramite TCP/Protobuf locale e/o API Cloud S-Miles",
      "es": "Monitorear inversores Hoymiles HMS vía TCP/Protobuf local y/o API Cloud S-Miles",
      "pl": "Monitorowanie falowników Hoymiles HMS przez lokalny TCP/Protobuf i/lub API Cloud S-Miles",
      "uk": "Моніторинг інверторів Hoymiles HMS через локальний TCP/Protobuf та/або хмарний API S-Miles",
      "zh-cn": "通过本地TCP/Protobuf和/或S-Miles云API监控Hoymiles HMS逆变器"
    },
    "authors": [
      "Eistee"
    ],
    "keywords": [
      "solar",
      "hoymiles",
      "inverter",
      "photovoltaic",
      "HMS",
      "dtu",
      "energy"
    ],
    "licenseInformation": {
      "license": "MIT",
      "type": "free"
    },
    "platform": "Javascript/Node.js",
    "mode": "daemon",
    "type": "energy",
    "tier": 3,
    "compact": true,
    "messagebox": true,
    "connectionType": "local",
    "dataSource": "poll",
    "adminUI": {
      "config": "json"
    },
    "dependencies": [
      {
        "js-controller": ">=6.0.11"
      }
    ],
    "globalDependencies": [
      {
        "admin": ">=7.6.20"
      }
    ],
    "enabled": true,
    "news": {
      "0.4.1": {
        "en": "Packaging: removed the npm `prepare` install script — installs from GitHub now use the committed `build/` output directly, so no dev dependencies are downloaded onto the target system; npm releases are still built freshly via `prepublishOnly`\nCI/test reliability: added a global Mocha timeout and switched the test TLS certificates to fast EC keys, so the adapter-tests no longer time out on loaded CI runners",
        "de": "Paketierung: Das npm-Installationsskript `prepare` wurde entfernt – Installationen von GitHub verwenden nun direkt die Ausgabe des `build/`-Repositorys, sodass keine Entwicklungsabhängigkeiten auf das Zielsystem heruntergeladen werden; npm-Releases werden weiterhin über `prepublishOnly` neu erstellt.\nCI/Testzuverlässigkeit: Ein globales Mocha-Timeout wurde hinzugefügt und die Test-TLS-Zertifikate wurden auf schnelle EC-Schlüssel umgestellt, sodass die Adaptertests auf ausgelasteten CI-Runnern nicht mehr zeitüberschreiten.",
        "ru": "Упаковка: удален скрипт `prepare` установки npm — теперь при установке из GitHub используется непосредственно результат `build/`, поэтому зависимости для разработки не загружаются в целевую систему; релизы npm по-прежнему собираются заново с помощью `prepublishOnly`.\nНадежность CI/тестирования: добавлен глобальный таймаут Mocha и заменены тестовые TLS-сертификаты на быстрые ключи EC, поэтому адаптерные тесты больше не выдают ошибку таймаута на загруженных CI-раннерах.",
        "pt": "Empacotamento: removemos o script `prepare` do npm para instalação — as instalações do GitHub agora usam diretamente a saída do `build/` do commit, portanto, nenhuma dependência de desenvolvimento é baixada para o sistema de destino; as versões do npm ainda são compiladas do zero via `prepublishOnly`.\nConfiabilidade de CI/teste: adicionamos um tempo limite global do Mocha e trocamos os certificados TLS de teste por chaves EC rápidas, para que os testes de adaptador não apresentem mais timeout em executores de CI sobrecarregados.",
        "nl": "Verpakking: het `prepare` installatiescript van npm is verwijderd — installaties vanuit GitHub gebruiken nu direct de gecommitteerde `build/`-output, waardoor er geen ontwikkelafhankelijkheden naar het doelsysteem worden gedownload; npm-releases worden nog steeds vers gebouwd via `prepublishOnly`.\nCI/testbetrouwbaarheid: een algemene Mocha-time-out toegevoegd en de TLS-testcertificaten vervangen door snelle EC-sleutels, waardoor de adaptertests geen time-outs meer geven bij zware CI-runners.",
        "fr": "Gestion des paquets : suppression du script d’installation `prepare` de npm — les installations depuis GitHub utilisent désormais directement la sortie `build/` validée, ce qui évite le téléchargement de dépendances de développement sur le système cible ; les versions npm sont toujours générées à la demande via `prepublishOnly`.\nFiabilité CI/test : ajout d’un délai d’expiration global pour Mocha et passage aux clés EC rapides pour les certificats TLS de test, afin que les tests d’adaptateur n’expirent plus sur les exécuteurs CI chargés.",
        "it": "Packaging: rimosso lo script di installazione `prepare` di npm: le installazioni da GitHub ora utilizzano direttamente l'output `build/` del commit, quindi non vengono scaricate dipendenze di sviluppo sul sistema di destinazione; le release di npm vengono ancora compilate da zero tramite `prepublishOnly`.\nAffidabilità CI/test: aggiunto un timeout globale di Mocha e convertiti i certificati TLS di test in chiavi EC veloci, in modo che i test dell'adattatore non vadano più in timeout sui runner CI caricati.",
        "es": "Empaquetado: se eliminó el script de instalación `prepare` de npm; las instalaciones desde GitHub ahora usan directamente la salida de `build/` confirmada, por lo que no se descargan dependencias de desarrollo en el sistema de destino; las versiones de npm todavía se compilan desde cero a través de `prepublishOnly`.\nConfiabilidad de CI/pruebas: se agregó un tiempo de espera global de Mocha y se cambiaron los certificados TLS de prueba a claves EC rápidas, por lo que las pruebas del adaptador ya no agotan el tiempo de espera en los ejecutores de CI cargados.",
        "pl": "Pakowanie: usunięto skrypt instalacyjny npm `prepare` — instalacje z GitHub teraz bezpośrednio korzystają z zatwierdzonego wyjścia `build/`, więc żadne zależności deweloperskie nie są pobierane na system docelowy; wydania npm są nadal kompilowane na świeżo za pomocą `prepublishOnly`\nNiezawodność CI/testu: dodano globalny limit czasu Mocha i zmieniono certyfikaty testowe TLS na szybkie klucze EC, dzięki czemu testy adaptera nie będą już przekraczać limitu czasu na załadowanych serwerach CI",
        "uk": "Пакування: видалено скрипт встановлення npm `prepare` — встановлення з GitHub тепер використовують вивід `build/` безпосередньо, тому жодні залежності від розробників не завантажуються на цільову систему; релізи npm все ще збираються свіжими через `prepublishOnly`.\nНадійність CI/тестування: додано глобальний тайм-аут Mocha та переключено тестові сертифікати TLS на швидкі ключі EC, тому тести адаптерів більше не зависають на завантажених запускачах CI.",
        "zh-cn": "打包：移除了 npm `prepare` 安装脚本——现在从 GitHub 安装直接使用已提交的 `build/` 输出，因此不会将开发依赖项下载到目标系统；npm 发布版本仍然通过 `prepublishOnly` 全新构建。\nCI/测试可靠性：添加了全局Mocha超时设置，并将测试TLS证书切换到快速EC密钥，因此在负载较高的CI运行器上，适配器测试不再超时。"
      },
      "0.4.0": {
        "en": "Cloud-only support for WB inverters (\"HiFlow Pro\", e.g. HMS-800-2WB): read power and energy over the S-Miles cloud and switch the inverter on/off, reboot it or reboot the DTU — no local connection needed\nFaster live values: new realtime channel updates power every few seconds instead of every ~80 s, like the app's live view\nMore local data: inverter grid profile, a persistent power limit, per-string error codes and complete alarm lists\nMore reliable and readable: alarm texts in your ioBroker language, fixed offline/online detection, S-Miles Home account support, and better data quality handling\nMaintenance and security: dependency and GitHub Actions updates that close known security advisories, admin translations migrated to the current i18n file format, and connection timers are now managed by ioBroker so they are reliably cleaned up on stop/restart",
        "de": "Cloud-Unterstützung für WB-Wechselrichter („HiFlow Pro“, z. B. HMS-800-2WB): Leistungs- und Energiedaten werden über die S-Miles-Cloud ausgelesen, der Wechselrichter kann ein-/ausgeschaltet, neu gestartet oder die DTU neu gestartet werden – eine lokale Verbindung ist nicht erforderlich.\nSchnellere Live-Werte: Der neue Echtzeitkanal aktualisiert die Leistung alle paar Sekunden anstatt alle ca. 80 Sekunden, wie die Live-Ansicht der App.\nWeitere lokale Daten: Wechselrichter-Netzprofil, eine permanente Leistungsbegrenzung, Fehlercodes pro String und vollständige Alarmlisten\nZuverlässiger und besser lesbar: Alarmmeldungen in Ihrer ioBroker-Sprache, verbesserte Offline-/Online-Erkennung, Unterstützung für S-Miles Home-Konten und optimierte Datenqualitätsverarbeitung\nWartung und Sicherheit: Aktualisierungen von Abhängigkeiten und GitHub Actions beheben bekannte Sicherheitslücken, administrative Übersetzungen wurden in das aktuelle i18n-Dateiformat migriert und Verbindungstimer werden nun von ioBroker verwaltet und somit beim Stoppen/Neustart zuverlässig bereinigt.",
        "ru": "Поддержка инверторов WB (например, HiFlow Pro, HMS-800-2WB) только через облако: считывание данных о мощности и энергии через облако S-Miles, включение/выключение инвертора, его перезагрузка или перезагрузка DTU — локальное подключение не требуется.\nБолее быстрые обновления данных в реальном времени: новые обновления канала в реальном времени происходят каждые несколько секунд вместо каждых ~80 секунд, как в режиме просмотра в реальном времени в приложении.\nДополнительные локальные данные: профиль сети инвертора, постоянное ограничение мощности, коды ошибок для каждой цепочки и полные списки аварийных сигналов.\nБолее надежная и понятная система: тексты оповещений на языке вашего ioBroker, исправленное определение подключения к сети/офлайн, поддержка учетной записи S-Miles Home и улучшенная обработка данных для повышения их качества.\nТехническое обслуживание и безопасность: обновления зависимостей и GitHub Actions, закрывающие известные уведомления о безопасности, переводы административных файлов переведены в текущий формат файлов i18n, а таймеры соединений теперь управляются ioBroker, поэтому они надежно очищаются при остановке/перезапуске.",
        "pt": "Suporte exclusivo em nuvem para inversores WB (\"HiFlow Pro\", por exemplo, HMS-800-2WB): leitura de potência e energia na nuvem S-Miles e possibilidade de ligar/desligar o inversor, reiniciá-lo ou reiniciar a DTU — sem necessidade de conexão local.\nValores em tempo real mais rápidos: as novas atualizações de canais em tempo real mostram a potência a cada poucos segundos, em vez de a cada ~80 segundos, como na visualização ao vivo do aplicativo.\nMais dados locais: perfil da rede do inversor, limite de potência persistente, códigos de erro por string e listas completas de alarmes.\nMais confiável e legível: mensagens de alarme no seu idioma ioBroker, detecção fixa de status offline/online, suporte para conta S-Miles Home e melhor gerenciamento da qualidade dos dados.\nManutenção e segurança: atualizações de dependências e do GitHub Actions que resolvem problemas de segurança conhecidos, traduções administrativas migradas para o formato de arquivo i18n atual e temporizadores de conexão agora gerenciados pelo ioBroker, garantindo sua limpeza confiável ao parar/reiniciar.",
        "nl": "Cloud-only ondersteuning voor WB-omvormers (\"HiFlow Pro\", bijvoorbeeld HMS-800-2WB): lees vermogen en energie via de S-Miles-cloud en schakel de omvormer in/uit, herstart deze of herstart de DTU — geen lokale verbinding nodig\nSnellere live-waarden: nieuwe realtime kanaalupdates geven het vermogen elke paar seconden weer in plaats van elke ~80 seconden, zoals bij de liveweergave van de app.\nMeer lokale gegevens: netprofiel van de omvormer, een permanente vermogenslimiet, foutcodes per string en complete alarmlijsten.\nBetrouwbaarder en leesbaarder: alarmberichten in uw ioBroker-taal, vaste offline/online-detectie, ondersteuning voor S-Miles Home-accounts en betere gegevenskwaliteit.\nOnderhoud en beveiliging: updates van afhankelijkheden en GitHub Actions die bekende beveiligingswaarschuwingen verhelpen, beheerdersvertalingen gemigreerd naar het huidige i18n-bestandsformaat en verbindingstimers worden nu beheerd door ioBroker, zodat ze betrouwbaar worden opgeruimd bij het stoppen/herstarten.",
        "fr": "Assistance exclusivement via le cloud pour les onduleurs WB (« HiFlow Pro », par exemple HMS-800-2WB) : lecture de la puissance et de l’énergie via le cloud S-Miles et mise en marche/arrêt de l’onduleur, redémarrage de celui-ci ou du DTU – aucune connexion locale requise\nValeurs en direct plus rapides : la nouvelle chaîne de mise à jour en temps réel affiche la consommation d’énergie toutes les quelques secondes au lieu de toutes les 80 secondes environ, comme c’est le cas pour l’affichage en direct de l’application.\nDonnées locales supplémentaires : profil réseau de l’onduleur, limite de puissance permanente, codes d’erreur par chaîne et listes d’alarmes complètes\nPlus fiable et plus lisible : messages d’alerte dans votre langue ioBroker, détection hors ligne/en ligne corrigée, prise en charge du compte S-Miles Home et meilleure gestion de la qualité des données\nMaintenance et sécurité : mises à jour des dépendances et de GitHub Actions corrigeant les failles de sécurité connues, migration des traductions d’administration vers le format de fichier i18n actuel et gestion des temporisateurs de connexion assurée par ioBroker pour un nettoyage fiable lors de l’arrêt/redémarrage.",
        "it": "Supporto esclusivamente cloud per gli inverter WB (\"HiFlow Pro\", ad esempio HMS-800-2WB): leggi la potenza e l'energia tramite il cloud S-Miles e accendi/spegni l'inverter, riavvialo o riavvia l'unità DTU, senza bisogno di connessione locale.\nValori live più rapidi: i nuovi aggiornamenti dei canali in tempo reale si aggiornano ogni pochi secondi anziché ogni ~80 secondi, come nella visualizzazione live dell'app.\nMaggiori dati locali: profilo di rete dell'inverter, limite di potenza persistente, codici di errore per stringa ed elenchi completi degli allarmi.\nPiù affidabile e leggibile: messaggi di allarme nella tua lingua ioBroker, rilevamento offline/online fisso, supporto per l'account S-Miles Home e migliore gestione della qualità dei dati.\nManutenzione e sicurezza: aggiornamenti delle dipendenze e di GitHub Actions che risolvono avvisi di sicurezza noti, le traduzioni amministrative sono state migrate al formato di file i18n corrente e i timer di connessione sono ora gestiti da ioBroker in modo che vengano eliminati in modo affidabile all'arresto/riavvio",
        "es": "Soporte exclusivamente en la nube para inversores WB (\"HiFlow Pro\", p. ej., HMS-800-2WB): lea la potencia y la energía a través de la nube S-Miles y encienda/apague el inversor, reinícielo o reinicie la DTU; no se requiere conexión local.\nValores en vivo más rápidos: las nuevas actualizaciones de canales en tiempo real se actualizan cada pocos segundos en lugar de cada ~80 s, como la vista en vivo de la aplicación.\nMás datos locales: perfil de red del inversor, límite de potencia persistente, códigos de error por cadena y listas completas de alarmas.\nMás fiable y legible: mensajes de alarma en el idioma de ioBroker, detección fija de conexión/desconexión, compatibilidad con la cuenta S-Miles Home y mejor gestión de la calidad de los datos.\nMantenimiento y seguridad: actualizaciones de dependencias y de GitHub Actions que cierran las vulnerabilidades de seguridad conocidas, migraciones de traducciones de administración al formato de archivo i18n actual, y los temporizadores de conexión ahora son administrados por ioBroker para que se limpien de forma fiable al detener/reiniciar.",
        "pl": "Obsługa wyłącznie w chmurze dla falowników WB („HiFlow Pro”, np. HMS-800-2WB): odczyt mocy i energii przez chmurę S-Miles oraz włączanie/wyłączanie falownika, jego ponowne uruchamianie lub ponowne uruchamianie jednostki DTU — nie jest wymagane połączenie lokalne\nSzybsze wartości na żywo: nowy kanał w czasie rzeczywistym aktualizuje moc co kilka sekund, a nie co ok. 80 s, jak w przypadku podglądu na żywo w aplikacji\nWięcej danych lokalnych: profil sieci falownika, stały limit mocy, kody błędów dla każdego łańcucha i kompletne listy alarmów\nWiększa niezawodność i czytelność: teksty alarmów w języku ioBroker, poprawione wykrywanie trybu offline/online, obsługa konta domowego S-Miles i lepsza jakość obsługi danych\nKonserwacja i bezpieczeństwo: aktualizacje zależności i GitHub Actions, które zamykają znane ostrzeżenia dotyczące bezpieczeństwa, tłumaczenia administratorów przeniesione do bieżącego formatu pliku i18n, a liczniki połączeń są teraz zarządzane przez ioBroker, dzięki czemu są niezawodnie czyszczone po zatrzymaniu/ponownym uruchomieniu",
        "uk": "Підтримка лише хмарних технологій для інверторів WB (\"HiFlow Pro\", наприклад, HMS-800-2WB): зчитування потужності та енергії через хмару S-Miles та вмикання/вимикання інвертора, перезавантаження його або перезавантаження DTU — локальне підключення не потрібне.\nШвидші значення в реальному часі: нові оновлення каналів у реальному часі відбуваються кожні кілька секунд замість приблизно 80 секунд, як у режимі перегляду в реальному часі в додатку.\nБільше локальних даних: профіль мережі інвертора, постійне обмеження потужності, коди помилок для кожного рядка та повні списки аварійних сигналів.\nБільш надійний та читабельний: тексти тривог мовою ioBroker, виправлене виявлення офлайн/онлайн, підтримка облікового запису S-Miles Home та покращена обробка даних.\nТехнічне обслуговування та безпека: оновлення залежностей та дій GitHub, які закривають відомі рекомендації щодо безпеки, адміністративні переклади перенесено до поточного формату файлу i18n, а таймери підключення тепер керуються ioBroker, тому вони надійно очищуються під час зупинки/перезапуску.",
        "zh-cn": "仅支持云端WB逆变器（“HiFlow Pro”，例如HMS-800-2WB）：通过S-Miles云端读取功率和能量数据，并可开关逆变器、重启逆变器或重启DTU——无需本地连接\n更快的实时数值：新的实时频道更新频率更高，每隔几秒更新一次，而不是像应用程序的实时视图那样每隔约 80 秒更新一次。\n更多本地数据：逆变器并网曲线、持续功率限制、每组错误代码和完整报警列表\n更可靠、更易读：报警文本以您的 ioBroker 语言显示，修复了离线/在线检测问题，支持 S-Miles Home 账户，并改进了数据质量处理。\n维护和安全：依赖项和 GitHub Actions 的更新已修复已知的安全漏洞，管理员翻译已迁移到最新的 i18n 文件格式，连接计时器现在由 ioBroker 管理，以便在停止/重启时可靠地清理。"
      },
      "0.3.5": {
        "en": "Adapter requires node.js >= 22 now\nStop retry loop on permanent cloud auth errors to prevent Hoymiles account lockout\nAdd `info.cloudLastError` state and raise an ioBroker alert notification with reset instructions on permanent cloud auth errors\nBump axios to 1.15.0 and protobufjs to 8.0.1\nAdd S-Miles Home account support (Argon2id login + `/pvmc/.../*_c` data API)\nDecide cloud profile (installer / home) via a post-login probe against `/pvm/.../select_by_page` instead of `pre-insp.v` — Hoymiles unified all accounts onto Argon2id in 2026\nDrop the dead v0 auth fallback\nSkip cloud-station states for fields the home-profile API doesn't provide (no empty placeholders for `latitude`/`longitude`/firmware version strings)\nAdd a \"Test cloud login\" diagnostic button to the admin UI with per-phase results (`region_c`, `pre-insp`, `login`, `probe`) for forum bug reports\nBump `protobufjs` to 8.2.0 to address seven security advisories (4 high, 3 medium — code injection, prototype pollution, DoS variants) affecting 8.0.0–8.0.1\nBump dev-only transitive `follow-redirects` to 1.16.0 (security: leaked auth headers on cross-domain redirects) and `deepl-node` to 1.27.0 (drops the unused `uuid` dependency)",
        "de": "Adapter benötigt jetzt node.js >= 22\nRetry-Schleife bei permanenten Cloud-Authentifizierungsfehlern stoppen, um eine Sperre des Hoymiles-Accounts zu verhindern\nStatus `info.cloudLastError` hinzugefügt und ioBroker-Alert-Benachrichtigung mit Reset-Anleitung bei permanenten Cloud-Authentifizierungsfehlern ausgelöst\naxios auf 1.15.0 und protobufjs auf 8.0.1 aktualisiert\nUnterstützung für S-Miles Home Accounts ergänzt (Argon2id-Login + Daten-API `/pvmc/.../*_c`)\nCloud-Profil (installer / home) per Post-Login-Probe gegen `/pvm/.../select_by_page` ermitteln statt `pre-insp.v` — Hoymiles hat 2026 alle Accounts auf Argon2id vereinheitlicht\nToten v0-Auth-Fallback entfernt\nCloud-Stations-Status für Felder überspringen, die die Home-Profil-API nicht liefert (keine leeren Platzhalter für `latitude`/`longitude`/Firmware-Versions-Strings)\nDiagnose-Button \"Test cloud login\" in der Admin-UI mit Ergebnissen pro Phase (`region_c`, `pre-insp`, `login`, `probe`) für Forum-Bugreports hinzugefügt\n`protobufjs` auf 8.2.0 aktualisiert, um sieben Sicherheitswarnungen (4 hoch, 3 mittel — Code-Injection, Prototype Pollution, DoS-Varianten) in 8.0.0–8.0.1 zu beheben\nDev-only transitive Abhängigkeiten aktualisiert: `follow-redirects` auf 1.16.0 (Sicherheit: ausgelaufene Auth-Header bei Cross-Domain-Redirects) und `deepl-node` auf 1.27.0 (entfernt ungenutzte `uuid`-Abhängigkeit)",
        "ru": "Адаптер теперь требует node.js >= 22\nОстановка цикла повторных попыток при постоянных ошибках облачной аутентификации для предотвращения блокировки аккаунта Hoymiles\nДобавлено состояние `info.cloudLastError` и выводится уведомление ioBroker с инструкциями по сбросу при постоянных ошибках облачной аутентификации\nОбновлены axios до 1.15.0 и protobufjs до 8.0.1\nДобавлена поддержка аккаунтов S-Miles Home (вход Argon2id + API данных `/pvmc/.../*_c`)\nПрофиль облака (installer / home) определяется через пост-логин-пробу к `/pvm/.../select_by_page` вместо `pre-insp.v` — Hoymiles в 2026 году унифицировал все аккаунты на Argon2id\nУдалён неактуальный fallback аутентификации v0\nПропуск состояний облачных станций для полей, которые home-profile API не предоставляет (без пустых заполнителей для `latitude`/`longitude`/строк версии прошивки)\nДобавлена кнопка диагностики \"Test cloud login\" в админ-интерфейсе с результатами по фазам (`region_c`, `pre-insp`, `login`, `probe`) для отчётов с форума\nОбновлён `protobufjs` до 8.2.0 для устранения семи уязвимостей безопасности (4 высоких, 3 средних — code injection, prototype pollution, варианты DoS), затрагивающих 8.0.0–8.0.1\nОбновлены транзитивные dev-зависимости: `follow-redirects` до 1.16.0 (безопасность: утечка auth-заголовков при кросс-доменных перенаправлениях) и `deepl-node` до 1.27.0 (удаляет неиспользуемую зависимость `uuid`)",
        "pt": "O adaptador agora requer node.js >= 22\nParar o loop de tentativas em erros permanentes de autenticação na cloud para evitar o bloqueio da conta Hoymiles\nAdicionado o estado `info.cloudLastError` e disparada notificação de alerta do ioBroker com instruções de reset em erros permanentes de autenticação na cloud\nAtualizados axios para 1.15.0 e protobufjs para 8.0.1\nAdicionado suporte para contas S-Miles Home (login Argon2id + API de dados `/pvmc/.../*_c`)\nDeterminar o perfil da cloud (installer / home) através de uma sonda pós-login em `/pvm/.../select_by_page` em vez de `pre-insp.v` — a Hoymiles unificou todas as contas em Argon2id em 2026\nRemovido o fallback obsoleto de autenticação v0\nIgnorar os estados das estações na cloud para campos que a API home-profile não fornece (sem placeholders vazios para `latitude`/`longitude`/strings de versão de firmware)\nAdicionado o botão de diagnóstico \"Test cloud login\" na UI de admin com resultados por fase (`region_c`, `pre-insp`, `login`, `probe`) para relatórios de bugs no fórum\nAtualizado `protobufjs` para 8.2.0 para corrigir sete avisos de segurança (4 altos, 3 médios — code injection, prototype pollution, variantes de DoS) que afetam 8.0.0–8.0.1\nAtualizadas dependências transitivas apenas-dev: `follow-redirects` para 1.16.0 (segurança: cabeçalhos de auth vazados em redirecionamentos cross-domain) e `deepl-node` para 1.27.0 (remove a dependência `uuid` não utilizada)",
        "nl": "Adapter vereist nu node.js >= 22\nRetry-lus bij permanente cloud-authenticatiefouten stoppen om blokkering van het Hoymiles-account te voorkomen\nStatus `info.cloudLastError` toegevoegd en ioBroker-meldingsalarm met reset-instructies bij permanente cloud-authenticatiefouten geactiveerd\naxios bijgewerkt naar 1.15.0 en protobufjs naar 8.0.1\nOndersteuning voor S-Miles Home-accounts toegevoegd (Argon2id-login + `/pvmc/.../*_c` data-API)\nCloud-profiel (installer / home) bepalen via een post-login probe op `/pvm/.../select_by_page` in plaats van `pre-insp.v` — Hoymiles heeft in 2026 alle accounts gemigreerd naar Argon2id\nDe dode v0-auth-fallback verwijderd\nCloud-stationsstatussen overslaan voor velden die de home-profile API niet levert (geen lege placeholders voor `latitude`/`longitude`/firmware-versie-strings)\nDiagnoseknop \"Test cloud login\" toegevoegd aan de admin-UI met resultaten per fase (`region_c`, `pre-insp`, `login`, `probe`) voor bugmeldingen op het forum\n`protobufjs` bijgewerkt naar 8.2.0 om zeven beveiligingswaarschuwingen (4 hoog, 3 medium — code injection, prototype pollution, DoS-varianten) in 8.0.0–8.0.1 op te lossen\nDev-only transitieve afhankelijkheden bijgewerkt: `follow-redirects` naar 1.16.0 (beveiliging: gelekte auth-headers bij cross-domain redirects) en `deepl-node` naar 1.27.0 (verwijdert de ongebruikte `uuid`-afhankelijkheid)",
        "fr": "L'adaptateur nécessite désormais node.js >= 22\nArrêt de la boucle de réessai en cas d'erreurs d'authentification cloud permanentes pour éviter le verrouillage du compte Hoymiles\nAjout de l'état `info.cloudLastError` et déclenchement d'une notification d'alerte ioBroker avec instructions de réinitialisation en cas d'erreurs d'authentification cloud permanentes\nMise à jour d'axios vers 1.15.0 et de protobufjs vers 8.0.1\nAjout de la prise en charge des comptes S-Miles Home (connexion Argon2id + API de données `/pvmc/.../*_c`)\nDétermination du profil cloud (installer / home) via une sonde post-connexion sur `/pvm/.../select_by_page` au lieu de `pre-insp.v` — Hoymiles a unifié tous les comptes sur Argon2id en 2026\nSuppression du fallback d'authentification v0 obsolète\nIgnorer les états des stations cloud pour les champs que l'API home-profile ne fournit pas (pas de placeholders vides pour `latitude`/`longitude`/chaînes de version du firmware)\nAjout d'un bouton de diagnostic \"Test cloud login\" dans l'interface admin avec résultats par phase (`region_c`, `pre-insp`, `login`, `probe`) pour les rapports de bugs du forum\nMise à jour de `protobufjs` vers 8.2.0 pour corriger sept alertes de sécurité (4 élevées, 3 moyennes — injection de code, pollution de prototype, variantes DoS) affectant 8.0.0–8.0.1\nMise à jour des dépendances transitives dev-only : `follow-redirects` vers 1.16.0 (sécurité : en-têtes d'authentification fuités lors de redirections cross-domain) et `deepl-node` vers 1.27.0 (supprime la dépendance `uuid` inutilisée)",
        "it": "L'adattatore ora richiede node.js >= 22\nArrestato il ciclo di retry su errori permanenti di autenticazione cloud per evitare il blocco dell'account Hoymiles\nAggiunto lo stato `info.cloudLastError` e attivata notifica di allerta ioBroker con istruzioni di reset in caso di errori permanenti di autenticazione cloud\nAggiornati axios a 1.15.0 e protobufjs a 8.0.1\nAggiunto supporto per gli account S-Miles Home (login Argon2id + API dati `/pvmc/.../*_c`)\nDeterminazione del profilo cloud (installer / home) tramite probe post-login su `/pvm/.../select_by_page` invece di `pre-insp.v` — Hoymiles ha unificato tutti gli account su Argon2id nel 2026\nRimosso il fallback di autenticazione v0 obsoleto\nSaltati gli stati delle stazioni cloud per i campi che l'API home-profile non fornisce (nessun placeholder vuoto per `latitude`/`longitude`/stringhe di versione firmware)\nAggiunto pulsante diagnostico \"Test cloud login\" nella UI admin con risultati per fase (`region_c`, `pre-insp`, `login`, `probe`) per le segnalazioni di bug sul forum\nAggiornato `protobufjs` a 8.2.0 per risolvere sette avvisi di sicurezza (4 alti, 3 medi — code injection, prototype pollution, varianti DoS) presenti in 8.0.0–8.0.1\nAggiornate dipendenze transitive dev-only: `follow-redirects` a 1.16.0 (sicurezza: header di auth trapelati nei redirect cross-domain) e `deepl-node` a 1.27.0 (rimuove la dipendenza `uuid` inutilizzata)",
        "es": "El adaptador ahora requiere node.js >= 22\nDetener el bucle de reintentos en errores permanentes de autenticación en la nube para evitar el bloqueo de la cuenta Hoymiles\nAñadido el estado `info.cloudLastError` y lanzada notificación de alerta de ioBroker con instrucciones de reseteo en errores permanentes de autenticación en la nube\nActualizado axios a 1.15.0 y protobufjs a 8.0.1\nAñadido soporte para cuentas S-Miles Home (login Argon2id + API de datos `/pvmc/.../*_c`)\nDeterminación del perfil de la nube (installer / home) mediante una sonda post-login a `/pvm/.../select_by_page` en lugar de `pre-insp.v` — Hoymiles unificó todas las cuentas en Argon2id en 2026\nEliminado el fallback de autenticación v0 obsoleto\nOmitir los estados de estación en la nube para campos que la API home-profile no proporciona (sin placeholders vacíos para `latitude`/`longitude`/cadenas de versión de firmware)\nAñadido botón de diagnóstico \"Test cloud login\" en la UI de admin con resultados por fase (`region_c`, `pre-insp`, `login`, `probe`) para informes de bugs en el foro\nActualizado `protobufjs` a 8.2.0 para corregir siete avisos de seguridad (4 altos, 3 medios — code injection, prototype pollution, variantes DoS) que afectan a 8.0.0–8.0.1\nActualizadas dependencias transitivas dev-only: `follow-redirects` a 1.16.0 (seguridad: cabeceras de auth filtradas en redirecciones cross-domain) y `deepl-node` a 1.27.0 (elimina la dependencia `uuid` no utilizada)",
        "pl": "Adapter wymaga teraz node.js >= 22\nZatrzymanie pętli ponawiania prób przy trwałych błędach uwierzytelniania w chmurze, aby zapobiec zablokowaniu konta Hoymiles\nDodano stan `info.cloudLastError` i wywoływane powiadomienie alarmowe ioBroker z instrukcjami resetowania przy trwałych błędach uwierzytelniania w chmurze\nZaktualizowano axios do 1.15.0 i protobufjs do 8.0.1\nDodano obsługę kont S-Miles Home (logowanie Argon2id + API danych `/pvmc/.../*_c`)\nOkreślanie profilu chmury (installer / home) poprzez próbkę po zalogowaniu do `/pvm/.../select_by_page` zamiast `pre-insp.v` — Hoymiles ujednolicił wszystkie konta na Argon2id w 2026 roku\nUsunięto przestarzały fallback uwierzytelniania v0\nPomijanie stanów stacji w chmurze dla pól, których API home-profile nie udostępnia (brak pustych placeholderów dla `latitude`/`longitude`/ciągów wersji firmware)\nDodano przycisk diagnostyczny \"Test cloud login\" w UI administratora z wynikami dla każdej fazy (`region_c`, `pre-insp`, `login`, `probe`) dla raportów błędów z forum\nZaktualizowano `protobufjs` do 8.2.0 w celu naprawienia siedmiu ostrzeżeń bezpieczeństwa (4 wysokie, 3 średnie — code injection, prototype pollution, warianty DoS) w 8.0.0–8.0.1\nZaktualizowano transytywne zależności dev-only: `follow-redirects` do 1.16.0 (bezpieczeństwo: wycieki nagłówków auth przy przekierowaniach cross-domain) i `deepl-node` do 1.27.0 (usuwa nieużywaną zależność `uuid`)",
        "uk": "Адаптер тепер потребує node.js >= 22\nЗупинено цикл повторних спроб при постійних помилках хмарної автентифікації для запобігання блокуванню облікового запису Hoymiles\nДодано стан `info.cloudLastError` і викликається сповіщення ioBroker з інструкціями для скидання при постійних помилках хмарної автентифікації\nОновлено axios до 1.15.0 та protobufjs до 8.0.1\nДодано підтримку облікових записів S-Miles Home (вхід Argon2id + API даних `/pvmc/.../*_c`)\nВизначення хмарного профілю (installer / home) через пост-логін-пробу до `/pvm/.../select_by_page` замість `pre-insp.v` — Hoymiles об'єднав усі облікові записи на Argon2id у 2026 році\nВидалено застарілий fallback автентифікації v0\nПропуск станів хмарних станцій для полів, які home-profile API не надає (без порожніх заповнювачів для `latitude`/`longitude`/рядків версії прошивки)\nДодано діагностичну кнопку \"Test cloud login\" в адмін-UI з результатами по фазах (`region_c`, `pre-insp`, `login`, `probe`) для звітів про помилки з форуму\nОновлено `protobufjs` до 8.2.0 для усунення семи попереджень безпеки (4 високих, 3 середніх — code injection, prototype pollution, варіанти DoS) у 8.0.0–8.0.1\nОновлено транзитивні dev-залежності: `follow-redirects` до 1.16.0 (безпека: витік auth-заголовків при крос-доменних перенаправленнях) та `deepl-node` до 1.27.0 (видаляє невикористовувану залежність `uuid`)",
        "zh-cn": "适配器现在需要 node.js >= 22\n在永久云认证错误时停止重试循环，以防止 Hoymiles 账户被锁定\n新增 `info.cloudLastError` 状态，并在永久云认证错误时触发包含重置说明的 ioBroker 警报通知\n升级 axios 到 1.15.0，protobufjs 到 8.0.1\n新增 S-Miles Home 账户支持（Argon2id 登录 + `/pvmc/.../*_c` 数据 API）\n通过登录后向 `/pvm/.../select_by_page` 发送探测请求来确定云端配置（installer / home），取代 `pre-insp.v` —— Hoymiles 已于 2026 年将所有账户统一为 Argon2id\n移除已失效的 v0 认证回退\n跳过 home-profile API 未提供字段的云端站点状态（`latitude`/`longitude`/固件版本字符串不再有空占位符）\n在 admin UI 中新增 \"Test cloud login\" 诊断按钮，提供各阶段（`region_c`、`pre-insp`、`login`、`probe`）的结果，便于论坛 bug 反馈\n升级 `protobufjs` 到 8.2.0，以修复影响 8.0.0–8.0.1 的七个安全公告（4 高危、3 中危 —— 代码注入、原型污染、DoS 变体）\n升级仅开发用的传递依赖：`follow-redirects` 到 1.16.0（安全：跨域重定向时泄漏 auth 头）和 `deepl-node` 到 1.27.0（移除未使用的 `uuid` 依赖）"
      },
      "0.3.4": {
        "en": "Fix disabled property type in jsonConfig table items (string, not boolean)\nAdd local repochecker script (`npm run test:repo`)",
        "de": "Beheben Sie den Typ der Behindertenimmobilien in jsonConfig-Tabellen (String, nicht boolean)\nLokales Repochecker-Skript hinzufügen (`npm Run Test:repo`)",
        "ru": "Исправьте тип неисправного имущества в элементах таблицы jsonConfig (струнная, а не булевая)\nДобавить сценарий локального репочекера ('npm run test:repo')",
        "pt": "Corrigir o tipo de propriedade desactivada nos itens da tabela jsonConfig (texto, não booleano)\nAdicionar script de repochecker local (`npm execute test:repo`)",
        "nl": "Fix uitgeschakeld eigenschap type in jsonConfig tabel items (string, niet boolean)\nVoeg lokaal repochecker script toe ( npm run test:repo",
        "fr": "Correction du type de propriété handicapé dans les éléments de table de jsonConfig (chaîne, pas booléenne)\nAjouter le script local repochecker (`npm run test:repo`)",
        "it": "Fix disabilitati tipo di proprietà in jsonConfig articoli da tavolo (string, non boolean)\nAggiungi script repochecker locale (`npm run test:repo`)",
        "es": "Tipo de propiedad discapacitada en jsonConfig table items (string, not boolean)\nAñada el script de repochecker local (`npm prueba de ejecución:repo`)",
        "pl": "Naprawiono nieaktywny typ właściwości w pozycji tabeli jsonConfig (ciąg znaków, nie boolean)\nDodaj lokalny skrypt repochecker ('npm run test: repo')",
        "uk": "Фіксувати відключений тип нерухомості в jsonConfig Table items (string, не boolean)\nДодати локальний репочекерний скрипт (`npm run test:repo`)",
        "zh-cn": "在 jsonConfig 表格项目中修复已禁用的属性类型( 字符串, 不是布尔)\n添加本地复检脚本( “ npm 运行测试 : repo ” )"
      },
      "0.3.3": {
        "en": "Fix jsonConfig schema warnings: button color, remove unsupported table properties",
        "de": "JsonConfig-Schemawarnungen beheben: Knopffarbe, ununterstützte Tabelleneigenschaften entfernen",
        "ru": "Предупреждения по схеме Fix jsonConfig: цвет кнопки, удаление неподдерживаемых свойств стола",
        "pt": "Corrigir os avisos do esquema jsonConfig: cor do botão, remover as propriedades da tabela não suportadas",
        "nl": "Fix jsonConfig schema waarschuwingen: knop kleur, verwijder niet ondersteunde tabel eigenschappen",
        "fr": "Correction des avertissements de schéma de jsonConfig : couleur du bouton, supprimer les propriétés de table non prises en charge",
        "it": "Fissare jsonConfig avvisi di schema: colore del pulsante, rimuovere le proprietà della tabella non supportate",
        "es": "Arreglar jsonConfig schema advertencias: color botón, eliminar las propiedades de la mesa sin soporte",
        "pl": "Fix jsonConfig schematy ostrzeżenia: kolor przycisku, usunąć nieobsługiwane właściwości tabeli",
        "uk": "Виправлення jsonConfig schema попередження: колір кнопки, видалення непідтримуваних властивостей таблиці",
        "zh-cn": "修复 jsonFig 计划警告: 按钮颜色, 删除不支持的表格属性"
      },
      "0.3.2": {
        "en": "Fix remaining responsive layout issues for repochecker (staticText, header, divider)",
        "de": "Verbleibende responsive Layout-Probleme für Repochecker behoben (staticText, header, divider)",
        "ru": "Исправлены оставшиеся проблемы адаптивной разметки для repochecker",
        "pt": "Corrigidos problemas restantes de layout responsivo para repochecker",
        "nl": "Resterende responsieve layout problemen voor repochecker opgelost",
        "fr": "Correction des problèmes de layout responsive restants pour repochecker",
        "it": "Corretti i problemi di layout responsive rimanenti per repochecker",
        "es": "Corregidos los problemas de diseño responsivo restantes para repochecker",
        "pl": "Naprawiono pozostałe problemy z responsywnym układem dla repochecker",
        "uk": "Виправлено залишкові проблеми адаптивного макета для repochecker",
        "zh-cn": "修复repochecker剩余的响应式布局问题"
      },
      "0.3.1": {
        "en": "Fix admin UI responsive layout, fix news translations for repochecker",
        "de": "Admin-UI responsive Layout repariert, News-Übersetzungen für Repochecker korrigiert",
        "ru": "Исправлена адаптивная разметка интерфейса администратора, исправлены переводы новостей",
        "pt": "Correção do layout responsivo da UI admin, correção de traduções de notícias",
        "nl": "Admin UI responsieve layout gerepareerd, nieuwsvertalingen gecorrigeerd",
        "fr": "Correction du layout responsive de l'interface admin, correction des traductions des actualités",
        "it": "Corretto il layout responsive dell'interfaccia admin, corrette le traduzioni delle news",
        "es": "Corrección del diseño responsivo de la UI admin, corrección de traducciones de noticias",
        "pl": "Naprawiono responsywny układ interfejsu administracyjnego, poprawiono tłumaczenia wiadomości",
        "uk": "Виправлено адаптивний макет інтерфейсу адміністратора, виправлено переклади новин",
        "zh-cn": "修复管理界面响应式布局，修复新闻翻译"
      }
    },
    "extIcon": "https://raw.githubusercontent.com/Eistee82/ioBroker.hoymiles/main/admin/hoymiles.png",
    "icon": "hoymiles.png",
    "readme": "https://github.com/Eistee82/ioBroker.hoymiles/blob/main/README.md",
    "loglevel": "info",
    "stopBeforeUpdate": true,
    "stopTimeout": 6000
  },
  "notifications": [
    {
      "scope": "hoymiles",
      "name": {
        "en": "Hoymiles",
        "de": "Hoymiles",
        "ru": "Hoymiles",
        "pt": "Hoymiles",
        "nl": "Hoymiles",
        "fr": "Hoymiles",
        "it": "Hoymiles",
        "es": "Hoymiles",
        "pl": "Hoymiles",
        "uk": "Hoymiles",
        "zh-cn": "Hoymiles"
      },
      "description": {
        "en": "Notifications from the Hoymiles adapter",
        "de": "Benachrichtigungen vom Hoymiles-Adapter",
        "ru": "Уведомления от адаптера Hoymiles",
        "pt": "Notificações do adaptador Hoymiles",
        "nl": "Meldingen van de Hoymiles-adapter",
        "fr": "Notifications de l'adaptateur Hoymiles",
        "it": "Notifiche dall'adattatore Hoymiles",
        "es": "Notificaciones del adaptador Hoymiles",
        "pl": "Powiadomienia z adaptera Hoymiles",
        "uk": "Сповіщення від адаптера Hoymiles",
        "zh-cn": "来自 Hoymiles 适配器的通知"
      },
      "categories": [
        {
          "category": "cloudAuth",
          "name": {
            "en": "Cloud login failed",
            "de": "Cloud-Anmeldung fehlgeschlagen",
            "ru": "Ошибка входа в облако",
            "pt": "Falha no login na nuvem",
            "nl": "Cloud-aanmelding mislukt",
            "fr": "Échec de connexion au cloud",
            "it": "Accesso cloud fallito",
            "es": "Fallo de inicio de sesión en la nube",
            "pl": "Logowanie do chmury nie powiodło się",
            "uk": "Помилка входу в хмару",
            "zh-cn": "云登录失败"
          },
          "severity": "alert",
          "description": {
            "en": "Cloud login failed — automatic retries have been stopped to prevent your Hoymiles account from being locked out. Please verify email and password, then save.",
            "de": "Cloud-Anmeldung fehlgeschlagen — automatische Wiederholungsversuche wurden gestoppt, damit dein Hoymiles-Konto nicht gesperrt wird. Bitte E-Mail und Passwort prüfen und speichern.",
            "ru": "Не удалось войти в облако — автоматические повторные попытки остановлены, чтобы ваша учётная запись Hoymiles не была заблокирована. Пожалуйста, проверьте e-mail и пароль, затем сохраните.",
            "pt": "Falha no login na nuvem — as tentativas automáticas foram paradas para evitar o bloqueio da sua conta Hoymiles. Por favor, verifique o e-mail e a senha e salve.",
            "nl": "Cloud-aanmelding mislukt — automatische herhalingen zijn gestopt om te voorkomen dat je Hoymiles-account wordt vergrendeld. Controleer e-mail en wachtwoord en sla op.",
            "fr": "Échec de connexion au cloud — les tentatives automatiques ont été arrêtées pour éviter le verrouillage de votre compte Hoymiles. Veuillez vérifier l'e-mail et le mot de passe, puis enregistrer.",
            "it": "Accesso al cloud non riuscito — i tentativi automatici sono stati interrotti per evitare il blocco del tuo account Hoymiles. Verifica e-mail e password, quindi salva.",
            "es": "Inicio de sesión en la nube fallido — los reintentos automáticos se han detenido para evitar que tu cuenta Hoymiles sea bloqueada. Verifica el correo electrónico y la contraseña, luego guarda.",
            "pl": "Logowanie do chmury nie powiodło się — automatyczne ponawianie prób zostało zatrzymane, aby konto Hoymiles nie zostało zablokowane. Sprawdź adres e-mail i hasło, a następnie zapisz.",
            "uk": "Не вдалося увійти в хмару — автоматичні повторні спроби зупинено, щоб ваш обліковий запис Hoymiles не було заблоковано. Перевірте електронну пошту та пароль і збережіть.",
            "zh-cn": "云登录失败 — 已停止自动重试以防止您的 Hoymiles 帐户被锁定。请验证电子邮件和密码后保存。"
          },
          "regex": [
            "Cloud authentication failed"
          ],
          "limit": 1
        }
      ]
    }
  ],
  "native": {
    "enableLocal": true,
    "devices": [],
    "dataInterval": 5,
    "slowPollFactor": 6,
    "enableCloudRelay": true,
    "enableRealtimeBurst": true,
    "enableCloud": false,
    "cloudUser": "",
    "cloudPassword": ""
  },
  "encryptedNative": [
    "cloudPassword"
  ],
  "protectedNative": [
    "cloudPassword"
  ],
  "instanceObjects": [
    {
      "_id": "info",
      "type": "channel",
      "common": {
        "name": "Device information"
      },
      "native": {}
    },
    {
      "_id": "info.connection",
      "type": "state",
      "common": {
        "name": "Connected (local or cloud)",
        "role": "indicator.connected",
        "type": "boolean",
        "read": true,
        "write": false,
        "def": false
      },
      "native": {}
    },
    {
      "_id": "info.cloudConnected",
      "type": "state",
      "common": {
        "name": "Cloud connected",
        "role": "indicator.connected",
        "type": "boolean",
        "read": true,
        "write": false,
        "def": false
      },
      "native": {}
    },
    {
      "_id": "info.cloudLastError",
      "type": "state",
      "common": {
        "name": "Last cloud connection error",
        "role": "text",
        "type": "string",
        "read": true,
        "write": false,
        "def": ""
      },
      "native": {}
    }
  ],
  "objects": []
}
