{
  "common": {
    "name": "sun2000",
    "version": "1.5.0",
    "news": {
      "1.5.0": {
        "en": "update dependencies\nfix: surplus power during battery discharge\ncontrol: new control value `sun2000.0.control.usableSurplus.bufferHysteresis`",
        "de": "aktualisierung der abhängigkeiten\nfix: überschussleistung während der batterieentladung\nsteuerung: neuer Steuerwert `sun2000.0.control.usableSurplus.bufferHysteresis`",
        "ru": "обновление зависимостей\nисправление: избыточная мощность во время разрядки батареи\nконтроль: новое значение управления 'sun2000.0.control.usableSurplus.bufferHysteresis'",
        "pt": "dependências\ncorreção: energia excedente durante a descarga da bateria\ncontrol: novo valor de controle `sun2000.0.control.usableSurplus.bufferHysteresis`",
        "nl": "afhankelijkheden bijwerken\nfix: overtollig vermogen tijdens batterijontlading\ncontrole: nieuwe controlewaarde ",
        "fr": "mettre à jour les dépendances\nfix: puissance excédentaire pendant la décharge de la batterie\ncontrôle: nouvelle valeur de contrôle `sun2000.0.control.usableSurplus.bufferHystérésis`",
        "it": "aggiornamento dipendenze\nfix: potenza in eccesso durante la scarica della batteria\ncontrollo: nuovo valore di controllo `sun2000.0.control.usableSurplus.bufferHysteresis`",
        "es": "dependencias de actualización\nfijación: superávit durante la descarga de la batería\ncontrol: nuevo valor de control `sun2000.0.control.usableSurplus.bufferHysteresis`",
        "pl": "aktualizacji zależności\nfix: nadwyżka mocy podczas rozładowania akumulatora\ncontrol: nowa wartość kontrolna 'sun2000.0.control.usableSurplus.buverHysteresis'",
        "uk": "оновлення залежності\nвиправити: надлишок живлення при розряді акумулятора\n`sun2000.0.control.usableSurplus.bufferHysteresis`",
        "zh-cn": "更新依赖关系\n固定:电池放电时的剩余功率\n控制: 新的控制值 `sun2000.control.ulySurplus.bufferHysteresis'"
      },
      "1.4.0": {
        "en": "control: new control state `sun2000.0.control.externalPower` #76\nfixed issue detected by repository checker #166",
        "de": "steuerung: neuer Steuerzustand `sun2000.0.control.externalPower` #76\nbehobenes problem erkannt von repository checker #166",
        "ru": "новый контрольный режим «sun2000.0.control.externalPower» #76\nфиксированная проблема, обнаруженная проверкой репозитория #166",
        "pt": "controle: novo estado de controle `sun2000.0.control.externalPower` #76\nproblema fixo detectado pelo verificador de repositório #166",
        "nl": "controle: nieuwe controle staat  #76\nvaste uitgifte gedetecteerd door repository checker #166",
        "fr": "contrôle: nouvel état de contrôle `sun2000.0.control.externalPower` #76\nproblème corrigé détecté par le vérificateur de dépôt #166",
        "it": "controllo: nuovo stato di controllo `sun2000.0.control.externalPower` #76\nproblema fisso rilevato da repository checker #166",
        "es": "control: nuevo estado de control `sun2000.0.control.externalPower` #76\nnúmero fijo detectado por el repositorio #166",
        "pl": "control: nowy stan kontroli 'sun2000.0.control.externalPower' # 76\nstała emisja wykryta przez kontroler repozytorium # 166",
        "uk": "контроль: новий стан управління `sun2000.0.control.externalPower` #76\nвиправлено проблему, виявлену репозиторійною перевіркою #166",
        "zh-cn": "控制:新的控制状态`sun 2000.0.control.external Power ' 76号\n仓库检查器检测到的固定问题 # 166"
      },
      "1.3.0": {
        "en": "usableSurplusPower: new control state `sun2000.0.control.usableSurplus.allowNegativeValue`",
        "de": "usableSurplusPower: neuer Steuerzustand `sun2000.0.control.usableSurplus.allowNegativeValue `",
        "ru": "usableSurplusPower: новое состояние управления 'sun2000.0.control.usableSurplus.allowНегативная ценность пункт",
        "pt": "usableSurplusPower: novo estado de controle `sun2000.0.control.usableSurplus.allowValue negativo \"",
        "nl": "bruikbareSurplusPower: nieuwe controlestatus  Wat",
        "fr": "utilisableSurplusPower: nouvel état de contrôle `sun2000.0.control.usableSurplus.allowNegativeValue \"",
        "it": "usableSurplusPower: nuovo stato di controllo `sun2000.0.control.usableSurplus.allowValore negativo #",
        "es": "usableSurplusPower: nuevo estado de control `sun2000.0.control.usableSurplus.allowNegativeValue `",
        "pl": "usableSurplusPower: nowy stan kontroli 'Sun2000.0.control.usableSurplus.allowNegativeValue'",
        "uk": "english, Українська, Français... й",
        "zh-cn": "可用SurpusPower: 新的控制状态 `sun 2000.control.usurplus.allow NegativeValue ' `"
      },
      "1.2.2": {
        "en": "deploy 1.2",
        "de": "bereitstellung 1.2",
        "ru": "развернуть 1.2",
        "pt": "implementação 1.2",
        "nl": "1.2 inzetten",
        "fr": "déploiement 1,2",
        "it": "distribuzione 1.2",
        "es": "despliegue 1.2",
        "pl": "rozmieszczenie 1.2",
        "uk": "розгортання 1.2",
        "zh-cn": "部署"
      },
      "1.2.2-alpha.0": {
        "en": "test release",
        "de": "prüfbericht",
        "ru": "испытательный выпуск",
        "pt": "liberação de teste",
        "nl": "loslaten van de test",
        "fr": "libération d'essai",
        "it": "rilascio del test",
        "es": "prueba de liberación",
        "pl": "uwalnianie testowe",
        "uk": "тестовий реліз",
        "zh-cn": "测试发布"
      },
      "1.1.0": {
        "en": "startupTime/shutdownTime are read from the inverter as local time and not as UTC - fixed times are saved in path `derived`\nnew state [usableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus))\ncontrol: checking and rounding integer numbers\nbetter solution for math rounding",
        "de": "startzeit/Shutdown Zeit wird vom Wechselrichter als Ortszeit gelesen und nicht als UTC - Festzeiten werden im Pfad gespeichert `derived `\nneuer Staat [usableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus))\nsteuerung: überprüfung und rundung ganzzahliger zahlen\nbessere lösung für matherundung",
        "ru": "startupTime/Sutdown Время считывается с инвертора как локальное время, а не как UTC - фиксированное время сохраняется в пути пункт\nновое состояние [usableSurplusPower] (https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus))\nконтроль: проверка и округление целых чисел\nлучшее решение для математического округления",
        "pt": "startupTime/shutdown O tempo é lido do inversor como hora local e não como UTC - os tempos fixos são salvos no caminho `derivod \"\nnovo estado [usableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus)))\ncontrole: números inteiros de verificação e arredondamento\nmelhor solução para arredondamento de matemática",
        "nl": "opstartenTijd/afsluiten De tijd wordt van de inverter gelezen als lokale tijd en niet als UTC - vaste tijden worden opgeslagen in het pad uit Wat\nnieuwe staat [bruikbaarSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus))\ncontrole: controle en afronding van gehele getallen\nbetere oplossing voor wiskunde afronden",
        "fr": "startupTime/shutdown Le temps est lu à partir de l'onduleur en tant qu'heure locale et non pas en tant que UTC - les temps fixes sont sauvegardés dans le chemin « dérivé \"\nnouvel état [utilisableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus))\ncontrôle: contrôle et arrondi des nombres entiers\nmeilleure solution pour arrondir les maths",
        "it": "startupTime/shutdown Il tempo viene letto dall'inverter come ora locale e non come UTC - i tempi fissi vengono salvati nel percorso `derivati #\nnuovo stato [usableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(plus)\ncontrollo: controllo e arrotondamento numeri interi\nmigliore soluzione per arrotondamento di matematica",
        "es": "startupTime/shutdown El tiempo se lee desde el inversor como hora local y no como UTC - los tiempos fijos se salvan en el camino `derived `\nnuevo estado [utilizableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(superávit))\ncontrol: números enteros de comprobación y redondeo\nmejor solución para redondeo de matemáticas",
        "pl": "startupTime / shutdown Czas jest odczytywany z inwertera jako czasu lokalnego, a nie jako UTC - stałe czasy są zapisywane w ścieżce 'pochodnej'\nnową ustawę [usableSurplusPower] (https: / / github.com / bolliy / ioBroker.sun2000 / wiki /% C3% 9Cberschuss- (nadwyżka))\nkontrola: sprawdzanie i zaokrąglanie liczb całkowitych\nlepsze rozwiązanie do zaokrąglania matematycznego",
        "uk": "javaScript licenses API Веб-сайт Час читає з інвертора як локальний час, так і не як UTC - виправлені часи зберігаються в шляху `derived й\nновий стан [usableSurplusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9Cberschuss-(surplus)))\nконтроль: перевірка та округлення цілих чисел\nкраще рішення для закруглення математики",
        "zh-cn": "启动时间/下调 时间从反转器读作本地时间,而不是世界协调时 - 固定时间保存在路径中`衍生' `\n新状态[可使用SurpusPower](https://github.com/bolliy/ioBroker.sun2000/wiki/%C3%9 Cberschuss-(盈余))\n控件: 检查和四舍五入整数\n更好的数学四舍五入解决方案"
      },
      "1.0.1": {
        "en": "updated further case sensitivity of the object status name\nrequire ioBroker admin 7.4.10 or higher #154",
        "de": "aktualisierte weitere fallempfindlichkeit des objektstatusnamens\nioBroker admin 7.4.10 oder höher #154",
        "ru": "обновлена дополнительная деловая чувствительность названия статуса объекта\nтребуется админ ioBroker 7.4.10 или выше #154",
        "pt": "sensibilidade de caso adicional atualizada do nome de status do objeto\nexigir ioBroker admin 7.4.10 ou superior #154",
        "nl": "bijgewerkte verdere gevoeligheid van de statusnaam van het object\nvereisen ioBroker admin 7.4.10 of hoger #154",
        "fr": "mise à jour de la sensibilité du nom d'état de l'objet\nrequiert ioBroker admin 7.4.10 ou supérieur #154",
        "it": "aggiornato ulteriore sensibilità caso del nome di stato dell'oggetto\nrichiedono ioBroker admin 7.4.10 o superiore #154",
        "es": "actualizado más sensibilidad de caso del nombre del estado del objeto\nrequiere ioBroker admin 7.4.10 o superior #154",
        "pl": "zaktualizowana dalsza wrażliwość przypadku nazwy statusu obiektu\nwymagają joBroker admin 7.4.10 lub wyższy # 154",
        "uk": "оновлений подальший випадок чутливості назви стану об'єкта\nпотрібно ioBroker admin 7.4.10 або вище #154",
        "zh-cn": "更新对象状态名称的进一步大小写灵敏度\n需要 ioBroker 管理员 7.4.10 或 以上 # 154"
      }
    },
    "titleLang": {
      "en": "Huawei sun2000 inverter",
      "de": "Huawei sun2000 Wechselrichter",
      "ru": "Huawei sun2000 inverter",
      "pt": "Huawei sun2000 inverter",
      "nl": "Huawei sun2000 inverter",
      "fr": "Huawei sun2000 inverter",
      "it": "Huawei sun2000 inverter",
      "es": "Huawei sun2000 inverter",
      "pl": "Huawei sun2000 inverter",
      "uk": "Huawei sun2000 inverter",
      "zh-cn": "Huawei sun2000 inverter"
    },
    "desc": {
      "en": "To read and write data from up to 5 Huawei SUN2000 inverters and LUNA2000 batteries via Modbus TCP. Third-party devices can be integrated via the modbus proxy.",
      "de": "Zum Lesen und Schreiben von Daten von bis zu 5 Huawei SUN2000 Wechselrichtern und LUNA2000 Batterien über Modbus TCP. Drittgeräte können über den Modbus Proxy integriert werden.",
      "ru": "Прочитать и писать данные до 5 инверторов Huawei SUN2000 и батарей LUNA2000 через Modbus TCP. Сторонние устройства могут быть интегрированы через modbus proxy.",
      "pt": "Para ler e escrever dados de até 5 inversores Huawei SUN2000 e baterias LUNA2000 via Modbus TCP. Dispositivos de terceiros podem ser integrados através do proxy modbus.",
      "nl": "Gegevens lezen en schrijven van maximaal 5 Huawei SUN2000 omvormers en LUNA2000 batterijen via Modbus TCP. De apparaten van derden kunnen worden geïntegreerd via de modbus proxy.",
      "fr": "Pour lire et écrire des données de jusqu'à 5 onduleurs Huawei SUN2000 et batteries LUNA2000 via Modbus TCP. Les périphériques tiers peuvent être intégrés via le proxy modbus.",
      "it": "Per leggere e scrivere dati da un massimo di 5 inverter Huawei SUN2000 e batterie LUNA2000 tramite Modbus TCP. I dispositivi di terze parti possono essere integrati tramite il proxy modbus.",
      "es": "Para leer y escribir datos de hasta 5 inversores Huawei SUN2000 y baterías LUNA2000 a través de Modbus TCP. Los dispositivos de terceros se pueden integrar a través del modbus proxy.",
      "pl": "Do odczytu i zapisu danych z do 5 Huawei SUN2000 inwerterów i akumulatorów LUNA2000 za pośrednictwem Modbus TCP. Urządzenia trójstronne mogą być zintegrowane za pośrednictwem proxy modbus.",
      "uk": "Щоб читати та писати дані від 5 інверторів Huawei SUN2000 та батарей LUNA2000 через Modbus TCP. Сторонні пристрої можуть бути інтегровані через проксі модбуса.",
      "zh-cn": "通过Modbus TCP读取和写入最多5个Huawei SUN2000反转器和LUNA2000电池的数据。 第三方设备可以通过modbus代理集成."
    },
    "authors": [
      "bolliy <stephan@mante.info>"
    ],
    "keywords": [
      "huawei",
      "modbus",
      "sun2000",
      "luna2000",
      "inverter",
      "smartcharger",
      "sdongle"
    ],
    "tier": 2,
    "licenseInformation": {
      "license": "MIT",
      "link": "https://opensource.org/license/mit/",
      "type": "free"
    },
    "platform": "Javascript/Node.js",
    "icon": "sun2000.png",
    "enabled": true,
    "extIcon": "https://raw.githubusercontent.com/bolliy/ioBroker.sun2000/main/admin/sun2000.png",
    "readme": "https://github.com/bolliy/ioBroker.sun2000/blob/main/README.md",
    "loglevel": "info",
    "mode": "daemon",
    "type": "energy",
    "compact": true,
    "connectionType": "local",
    "dataSource": "poll",
    "adminUI": {
      "config": "json"
    },
    "docs": {
      "en": [
        "docs/README.md"
      ]
    },
    "messages": [
      {
        "condition": {
          "operand": "and",
          "rules": [
            "oldVersion<=0.18.1",
            "newVersion>0.18.1"
          ]
        },
        "title": {
          "en": "node.js 20.x or higher required",
          "de": "node.js 20.x oder höher erforderlich",
          "ru": "node.js 20.x или выше требуется",
          "pt": "node.js 20.x ou superior requerido",
          "nl": "node.js 20.x of hoger vereist",
          "fr": "node.js 20.x ou plus requis",
          "it": "node.js 20.x o superiore richiesto",
          "es": "node.js 20.x o superior requerido",
          "pl": "node.js 20,x lub wyższa wymagana",
          "uk": "node.js 20.x або вище потрібно",
          "zh-cn": "节点.js 20.x或更高"
        },
        "text": {
          "en": "Please try to stay current with your Node.js version because the support is limited in time. As of now all Node.js versions below 20.x are no longer supported. (End Of Life).",
          "de": "Bitte versuchen Sie die Node.js-Version aktuell zu halten, da die Unterstützung zeitlich begrenzt ist. Ab sofort werden alle Node.js Versionen unter 20.x nicht mehr unterstützt. (End Of Life).",
          "ru": "Пожалуйста, попытайтесь оставаться в курсе своей версии Node.js, потому что поддержка ограничена во времени. На данный момент все версии Node.js ниже 20.x больше не поддерживаются. (Конец жизни).",
          "pt": "Por favor, tente manter-se atual com sua versão Node.js porque o suporte é limitado a tempo. A partir de agora todas as versões do Node.js abaixo de 20.x não são mais suportadas. (End Of Life).",
          "nl": "Probeer om actueel te blijven met uw Node.js-versie omdat de ondersteuning beperkt is in de tijd. Vanaf nu worden alle Node.js versies onder 20.x niet meer ondersteund. (Einde van het leven).",
          "fr": "Veuillez essayer de rester à jour avec votre version Node.js car le support est limité dans le temps. Toutes les versions de Node.js sous 20.x ne sont plus prises en charge. (Fin de vie).",
          "it": "Si prega di cercare di rimanere corrente con la versione Node.js perché il supporto è limitato nel tempo. A partire da ora tutte le versioni Node.js inferiori a 20.x non sono più supportate. (End Of Life).",
          "es": "Por favor, trate de mantenerse actualizado con su versión Node.js porque el soporte es limitado en el tiempo. A partir de ahora todas las versiones Node.js debajo de 20.x ya no están soportadas. (End Of Life).",
          "pl": "Proszę spróbować pozostać na bieżąco z wersją Node.js ponieważ wsparcie jest ograniczone w czasie. Od teraz wszystkie wersje Node.js poniżej 20.x nie są już obsługiwane. (Koniec życia).",
          "uk": "Будь-ласка, будь ласка, намагайтеся постійно триматися з версією Node.js, оскільки підтримка обмежена в часі. Зараз всі версії Node.js нижче 20.x не підтримуються. (Для життя).",
          "zh-cn": "请尝试保留您的 Node.js 版本, 因为支持时间有限 。 到目前为止,20x以下的所有Node.js版本不再被支持. (寿终."
        },
        "level": "info",
        "buttons": [
          "agree",
          "cancel"
        ],
        "link": "https://github.com/bolliy/ioBroker.sun2000/wiki/Update-node.js",
        "linkText": {
          "en": "The node.js update procedure is described here.",
          "de": "Der Aktualisierungsvorgang für node.js wird hier beschrieben.",
          "ru": "Процедура обновления node.js описана здесь.",
          "pt": "O procedimento de atualização do node.js é descrito aqui.",
          "nl": "De updateprocedure voor node.js wordt hier beschreven.",
          "fr": "La procédure de mise à jour de node.js est décrite ici.",
          "it": "La procedura di aggiornamento di node.js è descritta qui.",
          "es": "El procedimiento de actualización de node.js se describe aquí.",
          "pl": "Procedura aktualizacji node.js jest opisana tutaj.",
          "uk": "Процедура оновлення node.js описана тут.",
          "zh-cn": "此处描述了 Node.js 更新过程。"
        }
      }
    ],
    "dependencies": [
      {
        "js-controller": ">=6.0.11"
      }
    ],
    "globalDependencies": [
      {
        "admin": ">=7.4.10"
      }
    ],
    "plugins": {
      "sentry": {
        "dsn": "https://db3e5fdd0eb6d8d72f68cac7b0970180@o4506370651652096.ingest.sentry.io/4506371101818880"
      }
    }
  },
  "native": {
    "address": "",
    "port": 502,
    "modbusIds": "1",
    "updateInterval": 20,
    "sd_active": false,
    "sDongleId": "100",
    "timeout": 10000,
    "delay": 0,
    "connectDelay": 5000,
    "autoAdjust": true,
    "ms_active": false,
    "ms_address": "0.0.0.0",
    "ms_port": 502,
    "ms_log": false,
    "sl_meterId": 11,
    "ds_bu": true,
    "integration": 0
  },
  "objects": [],
  "instanceObjects": [
    {
      "_id": "info",
      "type": "channel",
      "common": {
        "name": {
          "en": "Information",
          "de": "Informationen",
          "ru": "Информация",
          "pt": "Informação",
          "nl": "Informatie",
          "fr": "Information",
          "it": "Informazioni",
          "es": "Información",
          "pl": "Informacja",
          "uk": "Інформація",
          "zh-cn": "信息"
        },
        "role": "info"
      },
      "native": {}
    },
    {
      "_id": "info.connection",
      "type": "state",
      "common": {
        "name": {
          "en": "device connected",
          "de": "Gerät angeschlossen"
        },
        "type": "boolean",
        "role": "indicator.connected",
        "read": true,
        "write": false,
        "desc": "Is the device connected?"
      }
    },
    {
      "_id": "info.ip",
      "type": "state",
      "common": {
        "name": {
          "en": "Device IP",
          "de": "Geräte IP"
        },
        "type": "string",
        "role": "indicator.ip",
        "read": true,
        "write": false,
        "desc": "Device IP address"
      }
    },
    {
      "_id": "info.port",
      "type": "state",
      "common": {
        "name": {
          "en": "Modbus port",
          "de": "Modbusport"
        },
        "type": "number",
        "role": "indicator.port",
        "read": true,
        "write": false,
        "desc": "Device modbus port"
      }
    },
    {
      "_id": "info.modbusIds",
      "type": "state",
      "common": {
        "name": {
          "en": "Modbus IDs of devices",
          "de": "Modbus IDs der Geräte"
        },
        "type": "string",
        "role": "indicator.id",
        "read": true,
        "write": false,
        "desc": "device modbus IDs"
      }
    },
    {
      "_id": "info.modbusUpdateInterval",
      "type": "state",
      "common": {
        "name": {
          "en": "modbus update interval",
          "de": "modbus Update Intervall"
        },
        "type": "number",
        "role": "value",
        "read": true,
        "write": false,
        "desc": "modbus update interval",
        "unit": "sec"
      }
    },
    {
      "_id": "info.modbusTimeout",
      "type": "state",
      "common": {
        "name": {
          "en": "modbus timeout",
          "de": "modbus timeout"
        },
        "type": "number",
        "role": "value",
        "read": true,
        "write": false,
        "desc": "modbus timeout",
        "unit": "ms"
      }
    },
    {
      "_id": "info.modbusDelay",
      "type": "state",
      "common": {
        "name": {
          "en": "modbus delay",
          "de": "modbus delay"
        },
        "type": "number",
        "role": "value",
        "read": true,
        "write": false,
        "desc": "delay between modbus requests",
        "unit": "ms"
      }
    },
    {
      "_id": "info.modbusConnectDelay",
      "type": "state",
      "common": {
        "name": {
          "en": "modbus connect delay",
          "de": "modbus connect delay"
        },
        "type": "number",
        "role": "value",
        "read": true,
        "write": false,
        "desc": "delay after modbus connected",
        "unit": "ms"
      }
    },
    {
      "_id": "info.JSONhealth",
      "type": "state",
      "common": {
        "name": {
          "en": "health information",
          "de": "Gesundheitsinformation"
        },
        "type": "string",
        "role": "indicator.alarm.health",
        "read": true,
        "write": false,
        "desc": "",
        "unit": ""
      }
    },
    {
      "_id": "info.modbusTcpServer",
      "type": "state",
      "common": {
        "name": {
          "en": "modbus server active",
          "de": "modbus Server aktiv"
        },
        "type": "boolean",
        "role": "value",
        "read": true,
        "write": false,
        "desc": "",
        "unit": ""
      }
    }
  ]
}
