iobroker.tint 0.3.6 → 0.3.8
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/README.md +5 -7
- package/admin/build/assets/{bootstrap-BRCtoLNa.js → bootstrap-CUFlvkv7.js} +1 -1
- package/admin/build/assets/panels-BRhThcCQ.js +1 -0
- package/admin/build/assets/{virtualExposes-AmscZd2m.js → virtualExposes-BsxctXFn.js} +1 -1
- package/admin/build/assets/{virtual_mf-exposes-ssr___mfe_internal__tintComponents__customComponents_js-CYIanCZX.js → virtual_mf-exposes-ssr___mfe_internal__tintComponents__customComponents_js-B0U1S-Ho.js} +2 -2
- package/admin/build/customComponents.js +1 -1
- package/admin/build/customComponents.ssr.js +1 -1
- package/admin/build/tab.js +170 -0
- package/admin/i18n/de.json +36 -33
- package/admin/i18n/en.json +36 -33
- package/admin/i18n/es.json +36 -33
- package/admin/i18n/fr.json +36 -33
- package/admin/i18n/it.json +36 -33
- package/admin/i18n/nl.json +36 -33
- package/admin/i18n/pl.json +36 -33
- package/admin/i18n/pt.json +36 -33
- package/admin/i18n/ru.json +36 -33
- package/admin/i18n/uk.json +36 -33
- package/admin/i18n/zh-cn.json +36 -33
- package/admin/jsonConfig.json +59 -10
- package/admin/tab_m.html +15 -0
- package/io-package.json +29 -28
- package/lib/deconz-ws.js +3 -1
- package/main.js +31 -0
- package/package.json +3 -2
- package/admin/build/assets/panels-lGhb6anI.js +0 -1
package/README.md
CHANGED
|
@@ -184,6 +184,11 @@ iobroker add tint
|
|
|
184
184
|
### **WORK IN PROGRESS**
|
|
185
185
|
-->
|
|
186
186
|
|
|
187
|
+
### 0.3.8 (2026-06-28)
|
|
188
|
+
* (ssbingo) Add admin sidebar tab for device control (Lights, Groups, Plugs, Covers, Switches, Sensors, Thermostats); activate via "enableAdminTab" in adapter settings Connection tab
|
|
189
|
+
### 0.3.7 (2026-06-28)
|
|
190
|
+
* (ssbingo) Fix: add xs/md/lg/xl grid attributes to jsonConfig staticText items (E5507); add deCONZ Pairing i18n key (E5612); pass adapter.setTimeout to DeconzWebSocket (E5005); update CI Node.js to 24 and add needs: check-and-lint for adapter-tests (E3022/E3014); add dependabot cooldown and @types/node major-version ignore rule (E8917/E8915)
|
|
191
|
+
|
|
187
192
|
### 0.3.6 (2026-06-28)
|
|
188
193
|
* (ssbingo) Fix: set repository URL to HTTPS format in package.json so the ioBroker adapter checker can resolve the GitHub raw file URL
|
|
189
194
|
|
|
@@ -193,13 +198,6 @@ iobroker add tint
|
|
|
193
198
|
### 0.3.4 (2026-06-23)
|
|
194
199
|
* (ssbingo) Fix: logo (admin/tint.png) was 300×358 (not square), which the repository checker flags; padded to 358×358 with a transparent border, no content cropped or distorted
|
|
195
200
|
|
|
196
|
-
### 0.3.3 (2026-06-23)
|
|
197
|
-
* (ssbingo) Repository hygiene: bump minimum admin version to 7.6.20, drop common.news entries for versions never published to npm, use this.setTimeout() in the pairing poll loop, add ioBroker keyword, migrate tsconfig to @tsconfig/node22, remove obsolete .prettierignore, add dependabot config
|
|
198
|
-
|
|
199
|
-
### 0.3.2 (2026-06-23)
|
|
200
|
-
* (ssbingo) Remove redundant "Other languages" line from README.md (already covered by the Documentation section); disable the Sentry release-notification step in CI (was failing with no token configured)
|
|
201
|
-
|
|
202
|
-
|
|
203
201
|
## Documentation
|
|
204
202
|
|
|
205
203
|
- 🇩🇪 [Deutsche Dokumentation](doc/de/README.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";import"./virtualExposes-
|
|
1
|
+
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";import"./virtualExposes-BsxctXFn.js";var t=`__mf_module_cache__`;globalThis[t]||={share:{},remote:{}},globalThis[t].share||={},globalThis[t].remote||={};var n=globalThis[t];for(let e of Object.keys(n.share))if(e.startsWith(`default:`)){let t=e.slice(8);n.share[t]===void 0&&(n.share[t]=n.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;n.share[t]===void 0&&(n.share[t]=n.share[e])}(async()=>{let t=await e(()=>import(`./hostInit-Ch9uK6Xv.js`),[]);await t.__tla;let{initHost:n}=t;await n()})().then(()=>e(()=>import(`./bootstrap-BvRk9kiK.js`),[]));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,L as t,N as n,O as r}from"./_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-DLP82tjJ.js";import{C as i,E as a,S as o,T as s,_ as c,a as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,o as v,p as y,r as b,s as x,u as S,v as C,w,y as T}from"./_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_mui_mf_1_material__loadShare__.js-GEK3uLIP.js";t();function E(e){return(e?.type||``).toLowerCase().includes(`plug`)}function D(e){return(e?.type||``).toLowerCase().includes(`window covering`)}function O(e){return!!(e?.type&&e.type.includes(`Switch`)&&e.manufacturername===`MLI`)}function k(e){return e?.type===`ZHAThermostat`}function A(e,t=e=>e){let n=e?.state||{};switch(e?.type){case`ZHATemperature`:return n.temperature===void 0?`–`:`${(n.temperature/100).toFixed(1)} °C`;case`ZHAHumidity`:return n.humidity===void 0?`–`:`${(n.humidity/100).toFixed(1)} %`;case`ZHAPressure`:return n.pressure===void 0?`–`:`${n.pressure} hPa`;case`ZHAOpenClose`:return n.open===void 0?`–`:t(n.open?`stateOpen`:`stateClosed`);case`ZHAPresence`:return n.presence===void 0?`–`:t(n.presence?`statePresence`:`stateNoPresence`);case`ZHALightLevel`:{let e=n.lux;return e===void 0&&n.lightlevel!==void 0&&(e=Math.round(10**((n.lightlevel-1)/1e4))),e===void 0?`–`:`${e} lx`}case`ZHAPower`:return n.power===void 0?`–`:`${n.power} W`;case`ZHAConsumption`:return n.consumption===void 0?`–`:`${(n.consumption/1e3).toFixed(2)} kWh`;default:return Object.keys(n).length>0?JSON.stringify(n):`–`}}var j={ZHATemperature:`Temperature`,ZHAHumidity:`Humidity`,ZHAPressure:`Pressure`,ZHAOpenClose:`Open/Close`,ZHAPresence:`Motion`,ZHALightLevel:`Light level`,ZHAPower:`Power`,ZHAConsumption:`Consumption`,Daylight:`Daylight`};function M(e){return j[e?.type]||e?.type||`–`}var N=e=>({display:`flex`,alignItems:`center`,gap:1,padding:`8px 16px`,marginBottom:2,borderRadius:1,border:`1px solid`,borderColor:`divider`,background:e.palette.mode===`dark`?`rgba(255,255,255,0.04)`:`#f5f5f5`}),P={width:10,height:10,borderRadius:`50%`,flexShrink:0,transition:`background 0.3s`},F={backgroundColor:`#4caf50`},I={backgroundColor:`#f44336`},L={backgroundColor:`#bdbdbd`},R={flex:1},z={display:`flex`,alignItems:`flex-start`,gap:1,padding:`12px 16px`,borderRadius:1,marginBottom:2,fontSize:`0.875rem`,lineHeight:1.5},B={background:`#fdecea`,border:`1px solid #ef9a9a`,color:`#b71c1c`},V={background:`#fff8e1`,border:`1px solid #ffe082`,color:`#7b5000`},H={background:`#e3f2fd`,border:`1px solid #90caf9`,color:`#0d47a1`},U=e=>({background:e.palette.mode===`dark`?`rgba(255,255,255,0.06)`:`#fafafa`}),W=e=>({"&:hover":{background:e.palette.action.hover}}),G={color:`#2e7d32`,fontWeight:`bold`},K={color:`#c62828`,fontWeight:`bold`},q={display:`flex`,flexDirection:`column`,alignItems:`center`,padding:4,gap:1,color:`text.secondary`};function J({ok:e,loading:t}){return t?s(i,{size:10}):s(C,{component:`span`,sx:[P,e?F:e===null?L:I]})}function ee({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),D=e(async()=>{y(!0),S(``);let e=await t(`getLights`,{});y(!1),e&&e.error?S(e.error):e&&e.lights&&m(e.lights)},[t]);if(r(()=>{f!==!1&&D()},[D,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let O=p?Object.entries(p).filter(([,e])=>!E(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${O.length} ${d(`lightsCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:D,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&O.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoLights`)})]}),O.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{children:s(`strong`,{children:d(`colModel`)})}),s(x,{children:s(`strong`,{children:d(`colManufacturer`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colOnOff`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colBrightness`)})})]})}),s(u,{children:O.map(([e,t])=>{let n=t.state||{},r=n.bri==null?null:Math.round(n.bri/2.54);return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{children:s(o,{variant:`body2`,children:t.modelid||`–`})}),s(x,{children:s(o,{variant:`body2`,children:t.manufacturername||`–`})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.reachable?G:K,children:n.reachable?`✔`:`✗`})}),s(x,{align:`center`,children:s(T,{label:n.on?d(`stateOn`):d(`stateOff`),size:`small`,sx:{background:n.on?`#fff3e0`:`#f5f5f5`,color:n.on?`#e65100`:`#757575`,fontWeight:600,fontSize:`0.7rem`,height:20}})}),s(x,{align:`right`,children:n.reachable&&r!==null?a(C,{sx:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:`6px`},children:[s(C,{sx:{width:48,height:5,background:`#e0e0e0`,borderRadius:`3px`,overflow:`hidden`},children:s(C,{sx:{width:`${r}%`,height:`100%`,background:`#ff9800`,borderRadius:`3px`}})}),a(o,{variant:`caption`,children:[r,` %`]})]}):s(o,{variant:`body2`,color:`textSecondary`,children:`–`})})]},e)})})]})})]})}var Y={en:{"tint adapter settings":`Adapter settings for tint`,connectionHeader:`deCONZ Connection`,ip:`deCONZ IP address`,port:`REST port`,wsPort:`WebSocket port`,apiKey:`API key`,behaviorHeader:`Behavior`,pollingInterval:`Polling interval (seconds)`,transitionTime:`Transition time (×100 ms)`,remoteHeader:`Tint Remote`,autoApplyColorWheel:`Auto-apply color wheel to lights`,watchdogMinutes:`Remote watchdog (minutes)`,tabLights:`Lights`,tabGroups:`Groups`,colName:`Name`,colModel:`Model`,colManufacturer:`Manufacturer`,colReachable:`Reachable`,colOnOff:`On/Off`,colBrightness:`Brightness`,colLightCount:`Lights`,colAllOn:`All on`,colAnyOn:`Any on`,colScenes:`Scenes`,colActions:`Actions`,colPosition:`Position`,colTemperature:`Temperature`,colSetpoint:`Setpoint`,colValve:`Valve`,colValue:`Value`,colType:`Type`,colBattery:`Battery`,colLastEvent:`Last event`,colGroup:`Group`,colScene:`Scene`,btnNewGroup:`New group`,btnRefresh:`Refresh`,btnEdit:`Edit`,btnDelete:`Delete`,btnSave:`Save`,btnCancel:`Cancel`,btnActivate:`Activate`,dlgNewGroup:`Create new group`,dlgEditGroup:`Edit group`,dlgGroupName:`Group name`,dlgSelectLights:`Select lights`,stateOn:`On`,stateOff:`Off`,stateYes:`Yes`,stateNo:`No`,stateOpen:`Open`,stateClosed:`Closed`,statePresence:`Motion`,stateNoPresence:`No motion`,msgLoading:`Loading data…`,msgNoLights:`No lights found`,msgNoGroups:`No groups found`,msgNoPlugs:`No plugs found`,msgNoScenes:`No scenes found`,msgNoCovers:`No covers found`,msgNoSwitches:`No switches found`,msgNoSensors:`No sensors found`,msgNoThermostats:`No thermostats found`,msgNotConnected:`Adapter not connected. Please check the instance and deCONZ connection.`,msgError:`Error`,msgConfirmDelete:`Really delete group "%s"?`,msgSaving:`Saving…`,msgDeleting:`Deleting…`,msgAdapterOffline:`The adapter instance is not running. Please start it first in the ioBroker instances view.`,msgTimeout:`No response from adapter (timeout). Is the instance running?`,lightsCount:`light(s) found`,groupsCount:`group(s) found`,plugsCount:`plug(s) found`,scenesCount:`scene(s) found`,coversCount:`cover(s) found`,switchesCount:`switch(es) found`,sensorsCount:`sensor(s) found`,thermostatsCount:`thermostat(s) found`,pairingHeader:`API Key`,pairingHint:`Click the button below first, then open Phoscon in your browser (http://IP:Port/) and go to ☰ → Gateway → Authenticate app. The adapter detects the pairing window automatically (polls every 3 s for up to 60 s) and fills in the API key.`,btnRequestApiKey:`Wait for deCONZ pairing…`,tabPlugs:`Plugs`,tabCovers:`Covers`,tabSwitches:`Switches`,tabSensors:`Sensors`,tabThermostats:`Thermostats`},de:{"tint adapter settings":`Adaptereinstellungen für tint`,connectionHeader:`deCONZ-Verbindung`,ip:`deCONZ IP-Adresse`,port:`REST-Port`,wsPort:`WebSocket-Port`,apiKey:`API-Schlüssel`,behaviorHeader:`Verhalten`,pollingInterval:`Abfrageintervall (Sekunden)`,transitionTime:`Übergangszeit (×100 ms)`,remoteHeader:`Tint-Fernbedienung`,autoApplyColorWheel:`Farbrad automatisch auf Leuchten anwenden`,watchdogMinutes:`Fernbedienung Watchdog (Minuten)`,tabLights:`Leuchten`,tabGroups:`Gruppen`,colName:`Name`,colModel:`Modell`,colManufacturer:`Hersteller`,colReachable:`Erreichbar`,colOnOff:`An/Aus`,colBrightness:`Helligkeit`,colLightCount:`Lampen`,colAllOn:`Alle an`,colAnyOn:`Mind. eine an`,colScenes:`Szenen`,colActions:`Aktionen`,colPosition:`Position`,colTemperature:`Temperatur`,colSetpoint:`Sollwert`,colValve:`Ventil`,colValue:`Wert`,colType:`Typ`,colBattery:`Batterie`,colLastEvent:`Letztes Ereignis`,colGroup:`Gruppe`,colScene:`Szene`,btnNewGroup:`Neue Gruppe`,btnRefresh:`Aktualisieren`,btnEdit:`Bearbeiten`,btnDelete:`Löschen`,btnSave:`Speichern`,btnCancel:`Abbrechen`,btnActivate:`Aktivieren`,dlgNewGroup:`Neue Gruppe anlegen`,dlgEditGroup:`Gruppe bearbeiten`,dlgGroupName:`Gruppenname`,dlgSelectLights:`Lampen auswählen`,stateOn:`An`,stateOff:`Aus`,stateYes:`Ja`,stateNo:`Nein`,stateOpen:`Offen`,stateClosed:`Geschlossen`,statePresence:`Bewegung`,stateNoPresence:`Keine Bewegung`,msgLoading:`Lade Daten …`,msgNoLights:`Keine Lampen gefunden`,msgNoGroups:`Keine Gruppen gefunden`,msgNoPlugs:`Keine Steckdosen gefunden`,msgNoScenes:`Keine Szenen gefunden`,msgNoCovers:`Keine Rollos gefunden`,msgNoSwitches:`Keine Schalter gefunden`,msgNoSensors:`Keine Sensoren gefunden`,msgNoThermostats:`Keine Thermostate gefunden`,msgNotConnected:`Adapter nicht verbunden. Bitte Instanz und deCONZ-Verbindung prüfen.`,msgError:`Fehler`,msgConfirmDelete:`Gruppe "%s" wirklich löschen?`,msgSaving:`Speichern …`,msgDeleting:`Löschen …`,msgAdapterOffline:`Die Adapterinstanz ist nicht gestartet. Bitte starten Sie sie zuerst in der ioBroker-Instanzübersicht.`,msgTimeout:`Keine Antwort vom Adapter (Zeitüberschreitung). Läuft die Instanz?`,lightsCount:`Leuchte(n) gefunden`,groupsCount:`Gruppe(n) gefunden`,plugsCount:`Steckdose(n) gefunden`,scenesCount:`Szene(n) gefunden`,coversCount:`Rollo(s) gefunden`,switchesCount:`Schalter gefunden`,sensorsCount:`Sensor(en) gefunden`,thermostatsCount:`Thermostat(e) gefunden`,pairingHeader:`API-Schlüssel`,pairingHint:`Klicken Sie zuerst auf den Button unten, und öffnen Sie dann Phoscon im Browser (http://IP:Port/) und gehen Sie zu ☰ → Gateway → App verbinden. Der Adapter erkennt das Pairing-Fenster automatisch (alle 3 s, bis zu 60 s) und trägt den API-Schlüssel selbständig ein.`,btnRequestApiKey:`Auf deCONZ-Pairing warten…`,tabPlugs:`Steckdosen`,tabCovers:`Rollos`,tabSwitches:`Schalter`,tabSensors:`Sensoren`,tabThermostats:`Thermostate`},ru:{"tint adapter settings":`Настройки адаптера tint`,connectionHeader:`Подключение deCONZ`,ip:`IP-адрес deCONZ`,port:`REST-порт`,wsPort:`WebSocket-порт`,apiKey:`API-ключ`,behaviorHeader:`Поведение`,pollingInterval:`Интервал опроса (секунды)`,transitionTime:`Время перехода (×100 мс)`,remoteHeader:`Пульт Tint`,autoApplyColorWheel:`Автоматически применять цветовое колесо`,watchdogMinutes:`Сторожевой таймер пульта (минуты)`,tabLights:`Светильники`,tabGroups:`Группы`,colName:`Название`,colModel:`Модель`,colManufacturer:`Производитель`,colReachable:`Доступна`,colOnOff:`Вкл/Выкл`,colBrightness:`Яркость`,colLightCount:`Лампы`,colAllOn:`Все вкл.`,colAnyOn:`Хотя бы одна`,colScenes:`Сцены`,colActions:`Действия`,colPosition:`Положение`,colTemperature:`Температура`,colSetpoint:`Заданное значение`,colValve:`Клапан`,colValue:`Значение`,colType:`Тип`,colBattery:`Батарея`,colLastEvent:`Последнее событие`,colGroup:`Группа`,colScene:`Сцена`,btnNewGroup:`Новая группа`,btnRefresh:`Обновить`,btnEdit:`Изменить`,btnDelete:`Удалить`,btnSave:`Сохранить`,btnCancel:`Отмена`,btnActivate:`Активировать`,dlgNewGroup:`Создать группу`,dlgEditGroup:`Изменить группу`,dlgGroupName:`Название группы`,dlgSelectLights:`Выбрать лампы`,stateOn:`Вкл`,stateOff:`Выкл`,stateYes:`Да`,stateNo:`Нет`,stateOpen:`Открыто`,stateClosed:`Закрыто`,statePresence:`Движение`,stateNoPresence:`Нет движения`,msgLoading:`Загрузка…`,msgNoLights:`Лампы не найдены`,msgNoGroups:`Группы не найдены`,msgNoPlugs:`Розетки не найдены`,msgNoScenes:`Сцены не найдены`,msgNoCovers:`Жалюзи не найдены`,msgNoSwitches:`Выключатели не найдены`,msgNoSensors:`Датчики не найдены`,msgNoThermostats:`Термостаты не найдены`,msgNotConnected:`Адаптер не подключён.`,msgError:`Ошибка`,msgConfirmDelete:`Удалить группу "%s"?`,msgSaving:`Сохранение…`,msgDeleting:`Удаление…`,msgAdapterOffline:`Экземпляр адаптера не запущен. Запустите его в разделе экземпляров ioBroker.`,msgTimeout:`Нет ответа от адаптера (тайм-аут). Запущен ли экземпляр?`,lightsCount:`светильник(ов) найдено`,groupsCount:`групп(а) найдено`,plugsCount:`розетка(и) найдено`,scenesCount:`сцена(ы) найдено`,coversCount:`жалюзи найдено`,switchesCount:`выключатель(и) найдено`,sensorsCount:`датчик(и) найдено`,thermostatsCount:`термостат(ы) найдено`,pairingHeader:`API-ключ`,pairingHint:`Сначала нажмите кнопку ниже, затем откройте Phoscon в браузере и перейдите в ☰ → Шлюз → Аутентификация приложения. Адаптер сам обнаружит окно сопряжения (каждые 3 с, до 60 с) и заполнит ключ.`,btnRequestApiKey:`Ожидать сопряжения deCONZ…`,tabPlugs:`Розетки`,tabCovers:`Жалюзи`,tabSwitches:`Выключатели`,tabSensors:`Датчики`,tabThermostats:`Термостаты`},pt:{"tint adapter settings":`Configurações do adaptador tint`,connectionHeader:`Ligação deCONZ`,ip:`Endereço IP do deCONZ`,port:`Porta REST`,wsPort:`Porta WebSocket`,apiKey:`Chave API`,behaviorHeader:`Comportamento`,pollingInterval:`Intervalo de sondagem (segundos)`,transitionTime:`Tempo de transição (×100 ms)`,remoteHeader:`Controlo remoto Tint`,autoApplyColorWheel:`Aplicar roda de cores automaticamente`,watchdogMinutes:`Watchdog do controlo remoto (minutos)`,tabLights:`Luzes`,tabGroups:`Grupos`,colName:`Nome`,colModel:`Modelo`,colManufacturer:`Fabricante`,colReachable:`Alcançável`,colOnOff:`Liga/Desliga`,colBrightness:`Brilho`,colLightCount:`Luzes`,colAllOn:`Todas ligadas`,colAnyOn:`Alguma ligada`,colScenes:`Cenas`,colActions:`Ações`,colPosition:`Posição`,colTemperature:`Temperatura`,colSetpoint:`Ponto de ajuste`,colValve:`Válvula`,colValue:`Valor`,colType:`Tipo`,colBattery:`Bateria`,colLastEvent:`Último evento`,colGroup:`Grupo`,colScene:`Cena`,btnNewGroup:`Novo grupo`,btnRefresh:`Atualizar`,btnEdit:`Editar`,btnDelete:`Eliminar`,btnSave:`Guardar`,btnCancel:`Cancelar`,btnActivate:`Ativar`,dlgNewGroup:`Criar novo grupo`,dlgEditGroup:`Editar grupo`,dlgGroupName:`Nome do grupo`,dlgSelectLights:`Selecionar luzes`,stateOn:`Ligado`,stateOff:`Desligado`,stateYes:`Sim`,stateNo:`Não`,stateOpen:`Aberto`,stateClosed:`Fechado`,statePresence:`Movimento`,stateNoPresence:`Sem movimento`,msgLoading:`A carregar…`,msgNoLights:`Nenhuma luz encontrada`,msgNoGroups:`Nenhum grupo encontrado`,msgNoPlugs:`Nenhuma tomada encontrada`,msgNoScenes:`Nenhuma cena encontrada`,msgNoCovers:`Nenhum estore encontrado`,msgNoSwitches:`Nenhum interruptor encontrado`,msgNoSensors:`Nenhum sensor encontrado`,msgNoThermostats:`Nenhum termostato encontrado`,msgNotConnected:`Adaptador não ligado.`,msgError:`Erro`,msgConfirmDelete:`Eliminar grupo "%s"?`,msgSaving:`A guardar…`,msgDeleting:`A eliminar…`,msgAdapterOffline:`A instância do adaptador não está em execução. Por favor, inicie-a primeiro na vista de instâncias do ioBroker.`,msgTimeout:`Sem resposta do adaptador (tempo esgotado). A instância está em execução?`,lightsCount:`luz(es) encontrada(s)`,groupsCount:`grupo(s) encontrado(s)`,plugsCount:`tomada(s) encontrada(s)`,scenesCount:`cena(s) encontrada(s)`,coversCount:`estore(s) encontrado(s)`,switchesCount:`interruptor(es) encontrado(s)`,sensorsCount:`sensor(es) encontrado(s)`,thermostatsCount:`termostato(s) encontrado(s)`,pairingHeader:`Chave API`,pairingHint:`Clique primeiro no botão abaixo, depois abra o Phoscon no browser e vá a ☰ → Gateway → Autenticar app. O adaptador deteta a janela de emparelhamento automaticamente (a cada 3 s, até 60 s) e preenche a chave.`,btnRequestApiKey:`Aguardar emparelhamento deCONZ…`,tabPlugs:`Tomadas`,tabCovers:`Estores`,tabSwitches:`Interruptores`,tabSensors:`Sensores`,tabThermostats:`Termostatos`},nl:{"tint adapter settings":`Adapterinstellingen voor tint`,connectionHeader:`deCONZ-verbinding`,ip:`deCONZ IP-adres`,port:`REST-poort`,wsPort:`WebSocket-poort`,apiKey:`API-sleutel`,behaviorHeader:`Gedrag`,pollingInterval:`Polling-interval (seconden)`,transitionTime:`Overgangstijd (×100 ms)`,remoteHeader:`Tint afstandsbediening`,autoApplyColorWheel:`Kleurenwiel automatisch toepassen`,watchdogMinutes:`Watchdog afstandsbediening (minuten)`,tabLights:`Lampen`,tabGroups:`Groepen`,colName:`Naam`,colModel:`Model`,colManufacturer:`Fabrikant`,colReachable:`Bereikbaar`,colOnOff:`Aan/Uit`,colBrightness:`Helderheid`,colLightCount:`Lampen`,colAllOn:`Alle aan`,colAnyOn:`Minstens één aan`,colScenes:`Scènes`,colActions:`Acties`,colPosition:`Positie`,colTemperature:`Temperatuur`,colSetpoint:`Instelpunt`,colValve:`Klep`,colValue:`Waarde`,colType:`Type`,colBattery:`Batterij`,colLastEvent:`Laatste gebeurtenis`,colGroup:`Groep`,colScene:`Scène`,btnNewGroup:`Nieuwe groep`,btnRefresh:`Vernieuwen`,btnEdit:`Bewerken`,btnDelete:`Verwijderen`,btnSave:`Opslaan`,btnCancel:`Annuleren`,btnActivate:`Activeren`,dlgNewGroup:`Nieuwe groep aanmaken`,dlgEditGroup:`Groep bewerken`,dlgGroupName:`Groepsnaam`,dlgSelectLights:`Lampen selecteren`,stateOn:`Aan`,stateOff:`Uit`,stateYes:`Ja`,stateNo:`Nee`,stateOpen:`Open`,stateClosed:`Gesloten`,statePresence:`Beweging`,stateNoPresence:`Geen beweging`,msgLoading:`Gegevens laden…`,msgNoLights:`Geen lampen gevonden`,msgNoGroups:`Geen groepen gevonden`,msgNoPlugs:`Geen stekkers gevonden`,msgNoScenes:`Geen scènes gevonden`,msgNoCovers:`Geen rolluiken gevonden`,msgNoSwitches:`Geen schakelaars gevonden`,msgNoSensors:`Geen sensoren gevonden`,msgNoThermostats:`Geen thermostaten gevonden`,msgNotConnected:`Adapter niet verbonden.`,msgError:`Fout`,msgConfirmDelete:`Groep "%s" verwijderen?`,msgSaving:`Opslaan…`,msgDeleting:`Verwijderen…`,msgAdapterOffline:`De adapterinstantie is niet gestart. Start deze eerst in de ioBroker-instanties weergave.`,msgTimeout:`Geen reactie van de adapter (time-out). Draait de instantie?`,lightsCount:`lamp(en) gevonden`,groupsCount:`groep(en) gevonden`,plugsCount:`stekker(s) gevonden`,scenesCount:`scène(s) gevonden`,coversCount:`rolluik(en) gevonden`,switchesCount:`schakelaar(s) gevonden`,sensorsCount:`sensor(en) gevonden`,thermostatsCount:`thermostaat/thermostaten gevonden`,pairingHeader:`API-sleutel`,pairingHint:`Klik eerst op de knop hieronder en open dan Phoscon in uw browser via ☰ → Gateway → App koppelen. De adapter detecteert het koppelvenster automatisch (elke 3 s, tot 60 s) en vult de sleutel in.`,btnRequestApiKey:`Wachten op deCONZ-koppeling…`,tabPlugs:`Stekkers`,tabCovers:`Rolluiken`,tabSwitches:`Schakelaars`,tabSensors:`Sensoren`,tabThermostats:`Thermostaten`},fr:{"tint adapter settings":`Paramètres de l'adaptateur tint`,connectionHeader:`Connexion deCONZ`,ip:`Adresse IP deCONZ`,port:`Port REST`,wsPort:`Port WebSocket`,apiKey:`Clé API`,behaviorHeader:`Comportement`,pollingInterval:`Intervalle d'interrogation (secondes)`,transitionTime:`Temps de transition (×100 ms)`,remoteHeader:`Télécommande Tint`,autoApplyColorWheel:`Appliquer la roue chromatique automatiquement`,watchdogMinutes:`Chien de garde télécommande (minutes)`,tabLights:`Lampes`,tabGroups:`Groupes`,colName:`Nom`,colModel:`Modèle`,colManufacturer:`Fabricant`,colReachable:`Accessible`,colOnOff:`Allumé/Éteint`,colBrightness:`Luminosité`,colLightCount:`Lampes`,colAllOn:`Toutes allumées`,colAnyOn:`Au moins une`,colScenes:`Scènes`,colActions:`Actions`,colPosition:`Position`,colTemperature:`Température`,colSetpoint:`Consigne`,colValve:`Vanne`,colValue:`Valeur`,colType:`Type`,colBattery:`Batterie`,colLastEvent:`Dernier événement`,colGroup:`Groupe`,colScene:`Scène`,btnNewGroup:`Nouveau groupe`,btnRefresh:`Actualiser`,btnEdit:`Modifier`,btnDelete:`Supprimer`,btnSave:`Enregistrer`,btnCancel:`Annuler`,btnActivate:`Activer`,dlgNewGroup:`Créer un groupe`,dlgEditGroup:`Modifier le groupe`,dlgGroupName:`Nom du groupe`,dlgSelectLights:`Sélectionner les lampes`,stateOn:`Allumé`,stateOff:`Éteint`,stateYes:`Oui`,stateNo:`Non`,stateOpen:`Ouvert`,stateClosed:`Fermé`,statePresence:`Mouvement`,stateNoPresence:`Pas de mouvement`,msgLoading:`Chargement…`,msgNoLights:`Aucune lampe trouvée`,msgNoGroups:`Aucun groupe trouvé`,msgNoPlugs:`Aucune prise trouvée`,msgNoScenes:`Aucune scène trouvée`,msgNoCovers:`Aucun volet trouvé`,msgNoSwitches:`Aucun interrupteur trouvé`,msgNoSensors:`Aucun capteur trouvé`,msgNoThermostats:`Aucun thermostat trouvé`,msgNotConnected:`Adaptateur non connecté.`,msgError:`Erreur`,msgConfirmDelete:`Supprimer le groupe "%s" ?`,msgSaving:`Enregistrement…`,msgDeleting:`Suppression…`,msgAdapterOffline:`L'instance de l'adaptateur n'est pas démarrée. Veuillez d'abord la démarrer dans la vue des instances ioBroker.`,msgTimeout:`Pas de réponse de l'adaptateur (délai dépassé). L'instance est-elle en cours d'exécution ?`,lightsCount:`lampe(s) trouvée(s)`,groupsCount:`groupe(s) trouvé(s)`,plugsCount:`prise(s) trouvée(s)`,scenesCount:`scène(s) trouvée(s)`,coversCount:`volet(s) trouvé(s)`,switchesCount:`interrupteur(s) trouvé(s)`,sensorsCount:`capteur(s) trouvé(s)`,thermostatsCount:`thermostat(s) trouvé(s)`,pairingHeader:`Clé API`,pairingHint:`Cliquez d'abord sur le bouton ci-dessous, puis ouvrez Phoscon dans votre navigateur et allez dans ☰ → Passerelle → Authentifier l'application. L'adaptateur détecte automatiquement la fenêtre de couplage (toutes les 3 s, jusqu'à 60 s) et remplit la clé.`,btnRequestApiKey:`Attendre le couplage deCONZ…`,tabPlugs:`Prises`,tabCovers:`Volets`,tabSwitches:`Interrupteurs`,tabSensors:`Capteurs`,tabThermostats:`Thermostats`},it:{"tint adapter settings":`Impostazioni adattatore tint`,connectionHeader:`Connessione deCONZ`,ip:`Indirizzo IP deCONZ`,port:`Porta REST`,wsPort:`Porta WebSocket`,apiKey:`Chiave API`,behaviorHeader:`Comportamento`,pollingInterval:`Intervallo di polling (secondi)`,transitionTime:`Tempo di transizione (×100 ms)`,remoteHeader:`Telecomando Tint`,autoApplyColorWheel:`Applicare la ruota dei colori automaticamente`,watchdogMinutes:`Watchdog telecomando (minuti)`,tabLights:`Luci`,tabGroups:`Gruppi`,colName:`Nome`,colModel:`Modello`,colManufacturer:`Produttore`,colReachable:`Raggiungibile`,colOnOff:`Acceso/Spento`,colBrightness:`Luminosità`,colLightCount:`Luci`,colAllOn:`Tutte accese`,colAnyOn:`Almeno una`,colScenes:`Scene`,colActions:`Azioni`,colPosition:`Posizione`,colTemperature:`Temperatura`,colSetpoint:`Valore impostato`,colValve:`Valvola`,colValue:`Valore`,colType:`Tipo`,colBattery:`Batteria`,colLastEvent:`Ultimo evento`,colGroup:`Gruppo`,colScene:`Scena`,btnNewGroup:`Nuovo gruppo`,btnRefresh:`Aggiorna`,btnEdit:`Modifica`,btnDelete:`Elimina`,btnSave:`Salva`,btnCancel:`Annulla`,btnActivate:`Attiva`,dlgNewGroup:`Crea nuovo gruppo`,dlgEditGroup:`Modifica gruppo`,dlgGroupName:`Nome gruppo`,dlgSelectLights:`Seleziona luci`,stateOn:`Acceso`,stateOff:`Spento`,stateYes:`Sì`,stateNo:`No`,stateOpen:`Aperto`,stateClosed:`Chiuso`,statePresence:`Movimento`,stateNoPresence:`Nessun movimento`,msgLoading:`Caricamento…`,msgNoLights:`Nessuna luce trovata`,msgNoGroups:`Nessun gruppo trovato`,msgNoPlugs:`Nessuna presa trovata`,msgNoScenes:`Nessuna scena trovata`,msgNoCovers:`Nessuna tenda trovata`,msgNoSwitches:`Nessun interruttore trovato`,msgNoSensors:`Nessun sensore trovato`,msgNoThermostats:`Nessun termostato trovato`,msgNotConnected:`Adattatore non connesso.`,msgError:`Errore`,msgConfirmDelete:`Eliminare il gruppo "%s"?`,msgSaving:`Salvataggio…`,msgDeleting:`Eliminazione…`,msgAdapterOffline:`L'istanza dell'adattatore non è in esecuzione. Avviarla prima nella vista delle istanze di ioBroker.`,msgTimeout:`Nessuna risposta dall'adattatore (timeout). L'istanza è in esecuzione?`,lightsCount:`luce/luci trovata/e`,groupsCount:`gruppo/i trovato/i`,plugsCount:`presa/e trovata/e`,scenesCount:`scena/e trovata/e`,coversCount:`tenda/e trovata/e`,switchesCount:`interruttore/i trovato/i`,sensorsCount:`sensore/i trovato/i`,thermostatsCount:`termostato/i trovato/i`,pairingHeader:`Chiave API`,pairingHint:`Fai prima clic sul pulsante in basso, poi apri Phoscon nel browser e vai su ☰ → Gateway → Autentica app. L'adattatore rileva automaticamente la finestra di accoppiamento (ogni 3 s, fino a 60 s) e compila la chiave.`,btnRequestApiKey:`Attendi accoppiamento deCONZ…`,tabPlugs:`Prese`,tabCovers:`Tende`,tabSwitches:`Interruttori`,tabSensors:`Sensori`,tabThermostats:`Termostati`},es:{"tint adapter settings":`Configuración del adaptador tint`,connectionHeader:`Conexión deCONZ`,ip:`Dirección IP de deCONZ`,port:`Puerto REST`,wsPort:`Puerto WebSocket`,apiKey:`Clave API`,behaviorHeader:`Comportamiento`,pollingInterval:`Intervalo de sondeo (segundos)`,transitionTime:`Tiempo de transición (×100 ms)`,remoteHeader:`Mando a distancia Tint`,autoApplyColorWheel:`Aplicar rueda de colores automáticamente`,watchdogMinutes:`Watchdog del mando (minutos)`,tabLights:`Luces`,tabGroups:`Grupos`,colName:`Nombre`,colModel:`Modelo`,colManufacturer:`Fabricante`,colReachable:`Alcanzable`,colOnOff:`Encendido/Apagado`,colBrightness:`Brillo`,colLightCount:`Luces`,colAllOn:`Todas encendidas`,colAnyOn:`Al menos una`,colScenes:`Escenas`,colActions:`Acciones`,colPosition:`Posición`,colTemperature:`Temperatura`,colSetpoint:`Valor de consigna`,colValve:`Válvula`,colValue:`Valor`,colType:`Tipo`,colBattery:`Batería`,colLastEvent:`Último evento`,colGroup:`Grupo`,colScene:`Escena`,btnNewGroup:`Nuevo grupo`,btnRefresh:`Actualizar`,btnEdit:`Editar`,btnDelete:`Eliminar`,btnSave:`Guardar`,btnCancel:`Cancelar`,btnActivate:`Activar`,dlgNewGroup:`Crear nuevo grupo`,dlgEditGroup:`Editar grupo`,dlgGroupName:`Nombre del grupo`,dlgSelectLights:`Seleccionar luces`,stateOn:`Encendido`,stateOff:`Apagado`,stateYes:`Sí`,stateNo:`No`,stateOpen:`Abierto`,stateClosed:`Cerrado`,statePresence:`Movimiento`,stateNoPresence:`Sin movimiento`,msgLoading:`Cargando…`,msgNoLights:`No se encontraron luces`,msgNoGroups:`No se encontraron grupos`,msgNoPlugs:`No se encontraron enchufes`,msgNoScenes:`No se encontraron escenas`,msgNoCovers:`No se encontraron persianas`,msgNoSwitches:`No se encontraron interruptores`,msgNoSensors:`No se encontraron sensores`,msgNoThermostats:`No se encontraron termostatos`,msgNotConnected:`Adaptador no conectado.`,msgError:`Error`,msgConfirmDelete:`¿Eliminar el grupo "%s"?`,msgSaving:`Guardando…`,msgDeleting:`Eliminando…`,msgAdapterOffline:`La instancia del adaptador no está en ejecución. Por favor, iníciela primero en la vista de instancias de ioBroker.`,msgTimeout:`Sin respuesta del adaptador (tiempo de espera agotado). ¿Está en ejecución la instancia?`,lightsCount:`luz/luces encontrada(s)`,groupsCount:`grupo(s) encontrado(s)`,plugsCount:`enchufe(s) encontrado(s)`,scenesCount:`escena(s) encontrada(s)`,coversCount:`persiana(s) encontrada(s)`,switchesCount:`interruptor(es) encontrado(s)`,sensorsCount:`sensor(es) encontrado(s)`,thermostatsCount:`termostato(s) encontrado(s)`,pairingHeader:`Clave API`,pairingHint:`Haga clic primero en el botón de abajo y luego abra Phoscon en su navegador y vaya a ☰ → Gateway → Autenticar app. El adaptador detecta automáticamente la ventana de emparejamiento (cada 3 s, hasta 60 s) y rellena la clave.`,btnRequestApiKey:`Esperar emparejamiento deCONZ…`,tabPlugs:`Enchufes`,tabCovers:`Persianas`,tabSwitches:`Interruptores`,tabSensors:`Sensores`,tabThermostats:`Termostatos`},pl:{"tint adapter settings":`Ustawienia adaptera tint`,connectionHeader:`Połączenie deCONZ`,ip:`Adres IP deCONZ`,port:`Port REST`,wsPort:`Port WebSocket`,apiKey:`Klucz API`,behaviorHeader:`Zachowanie`,pollingInterval:`Interwał odpytywania (sekundy)`,transitionTime:`Czas przejścia (×100 ms)`,remoteHeader:`Pilot Tint`,autoApplyColorWheel:`Automatyczne stosowanie koła kolorów`,watchdogMinutes:`Watchdog pilota (minuty)`,tabLights:`Lampy`,tabGroups:`Grupy`,colName:`Nazwa`,colModel:`Model`,colManufacturer:`Producent`,colReachable:`Dostępna`,colOnOff:`Wł/Wył`,colBrightness:`Jasność`,colLightCount:`Lampy`,colAllOn:`Wszystkie wł.`,colAnyOn:`Przynajmniej jedna`,colScenes:`Sceny`,colActions:`Akcje`,colPosition:`Pozycja`,colTemperature:`Temperatura`,colSetpoint:`Wartość zadana`,colValve:`Zawór`,colValue:`Wartość`,colType:`Typ`,colBattery:`Bateria`,colLastEvent:`Ostatnie zdarzenie`,colGroup:`Grupa`,colScene:`Scenariusz`,btnNewGroup:`Nowa grupa`,btnRefresh:`Odśwież`,btnEdit:`Edytuj`,btnDelete:`Usuń`,btnSave:`Zapisz`,btnCancel:`Anuluj`,btnActivate:`Aktywuj`,dlgNewGroup:`Utwórz nową grupę`,dlgEditGroup:`Edytuj grupę`,dlgGroupName:`Nazwa grupy`,dlgSelectLights:`Wybierz lampy`,stateOn:`Wł`,stateOff:`Wył`,stateYes:`Tak`,stateNo:`Nie`,stateOpen:`Otwarte`,stateClosed:`Zamknięte`,statePresence:`Ruch`,stateNoPresence:`Brak ruchu`,msgLoading:`Ładowanie…`,msgNoLights:`Nie znaleziono lamp`,msgNoGroups:`Nie znaleziono grup`,msgNoPlugs:`Nie znaleziono gniazdek`,msgNoScenes:`Nie znaleziono scenariuszy`,msgNoCovers:`Nie znaleziono rolet`,msgNoSwitches:`Nie znaleziono przełączników`,msgNoSensors:`Nie znaleziono czujników`,msgNoThermostats:`Nie znaleziono termostatów`,msgNotConnected:`Adapter nie jest połączony.`,msgError:`Błąd`,msgConfirmDelete:`Usunąć grupę "%s"?`,msgSaving:`Zapisywanie…`,msgDeleting:`Usuwanie…`,msgAdapterOffline:`Instancja adaptera nie jest uruchomiona. Uruchom ją najpierw w widoku instancji ioBroker.`,msgTimeout:`Brak odpowiedzi od adaptera (przekroczenie czasu). Czy instancja jest uruchomiona?`,lightsCount:`lampa/lampy znaleziono`,groupsCount:`grupa/grupy znaleziono`,plugsCount:`gniazdko/a znaleziono`,scenesCount:`scenariusz/e znaleziono`,coversCount:`roleta/y znaleziono`,switchesCount:`przełącznik(i) znaleziono`,sensorsCount:`czujnik(i) znaleziono`,thermostatsCount:`termostat(y) znaleziono`,pairingHeader:`Klucz API`,pairingHint:`Najpierw kliknij przycisk poniżej, a następnie otwórz Phoscon w przeglądarce i przejdź do ☰ → Bramka → Uwierzytelnij aplikację. Adapter automatycznie wykryje okno parowania (co 3 s, do 60 s) i wpisze klucz.`,btnRequestApiKey:`Czekaj na parowanie deCONZ…`,tabPlugs:`Gniazdka`,tabCovers:`Rolety`,tabSwitches:`Przełączniki`,tabSensors:`Czujniki`,tabThermostats:`Termostaty`},uk:{"tint adapter settings":`Налаштування адаптера tint`,connectionHeader:`Підключення deCONZ`,ip:`IP-адреса deCONZ`,port:`REST-порт`,wsPort:`WebSocket-порт`,apiKey:`API-ключ`,behaviorHeader:`Поведінка`,pollingInterval:`Інтервал опитування (секунди)`,transitionTime:`Час переходу (×100 мс)`,remoteHeader:`Пульт Tint`,autoApplyColorWheel:`Автоматично застосовувати колесо кольорів`,watchdogMinutes:`Сторожовий таймер пульта (хвилини)`,tabLights:`Світильники`,tabGroups:`Групи`,colName:`Назва`,colModel:`Модель`,colManufacturer:`Виробник`,colReachable:`Доступна`,colOnOff:`Увімк/Вимк`,colBrightness:`Яскравість`,colLightCount:`Лампи`,colAllOn:`Всі увімк.`,colAnyOn:`Хоча б одна`,colScenes:`Сцени`,colActions:`Дії`,colPosition:`Положення`,colTemperature:`Температура`,colSetpoint:`Задане значення`,colValve:`Клапан`,colValue:`Значення`,colType:`Тип`,colBattery:`Батарея`,colLastEvent:`Остання подія`,colGroup:`Група`,colScene:`Сцена`,btnNewGroup:`Нова група`,btnRefresh:`Оновити`,btnEdit:`Редагувати`,btnDelete:`Видалити`,btnSave:`Зберегти`,btnCancel:`Скасувати`,btnActivate:`Активувати`,dlgNewGroup:`Створити групу`,dlgEditGroup:`Редагувати групу`,dlgGroupName:`Назва групи`,dlgSelectLights:`Вибрати лампи`,stateOn:`Увімк`,stateOff:`Вимк`,stateYes:`Так`,stateNo:`Ні`,stateOpen:`Відкрито`,stateClosed:`Закрито`,statePresence:`Рух`,stateNoPresence:`Немає руху`,msgLoading:`Завантаження…`,msgNoLights:`Лампи не знайдено`,msgNoGroups:`Групи не знайдено`,msgNoPlugs:`Розетки не знайдено`,msgNoScenes:`Сцени не знайдено`,msgNoCovers:`Жалюзі не знайдено`,msgNoSwitches:`Вимикачі не знайдено`,msgNoSensors:`Датчики не знайдено`,msgNoThermostats:`Термостати не знайдено`,msgNotConnected:`Адаптер не підключено.`,msgError:`Помилка`,msgConfirmDelete:`Видалити групу "%s"?`,msgSaving:`Збереження…`,msgDeleting:`Видалення…`,msgAdapterOffline:`Екземпляр адаптера не запущено. Будь ласка, спочатку запустіть його в переліку екземплярів ioBroker.`,msgTimeout:`Немає відповіді від адаптера (тайм-аут). Чи запущено екземпляр?`,lightsCount:`світильник(ів) знайдено`,groupsCount:`групу(п) знайдено`,plugsCount:`розетку(и) знайдено`,scenesCount:`сцену(и) знайдено`,coversCount:`жалюзі знайдено`,switchesCount:`вимикач(і) знайдено`,sensorsCount:`датчик(и) знайдено`,thermostatsCount:`термостат(и) знайдено`,pairingHeader:`API-ключ`,pairingHint:`Спочатку натисніть кнопку нижче, потім відкрийте Phoscon у браузері та перейдіть до ☰ → Шлюз → Автентифікація додатка. Адаптер автоматично виявить вікно сполучення (кожні 3 с, до 60 с) і заповнить ключ.`,btnRequestApiKey:`Очікувати сполучення deCONZ…`,tabPlugs:`Розетки`,tabCovers:`Жалюзі`,tabSwitches:`Вимикачі`,tabSensors:`Датчики`,tabThermostats:`Термостати`},"zh-cn":{"tint adapter settings":`tint 适配器设置`,connectionHeader:`deCONZ 连接`,ip:`deCONZ IP 地址`,port:`REST 端口`,wsPort:`WebSocket 端口`,apiKey:`API 密钥`,behaviorHeader:`行为`,pollingInterval:`轮询间隔(秒)`,transitionTime:`过渡时间(×100 毫秒)`,remoteHeader:`Tint 遥控器`,autoApplyColorWheel:`自动应用色轮到灯具`,watchdogMinutes:`遥控器看门狗(分钟)`,tabLights:`灯具`,tabGroups:`群组`,colName:`名称`,colModel:`型号`,colManufacturer:`制造商`,colReachable:`可达`,colOnOff:`开/关`,colBrightness:`亮度`,colLightCount:`灯具数`,colAllOn:`全部开启`,colAnyOn:`至少一个开`,colScenes:`场景`,colActions:`操作`,colPosition:`位置`,colTemperature:`温度`,colSetpoint:`设定值`,colValve:`阀门`,colValue:`数值`,colType:`类型`,colBattery:`电池`,colLastEvent:`最后事件`,colGroup:`群组`,colScene:`场景`,btnNewGroup:`新建群组`,btnRefresh:`刷新`,btnEdit:`编辑`,btnDelete:`删除`,btnSave:`保存`,btnCancel:`取消`,btnActivate:`激活`,dlgNewGroup:`创建新群组`,dlgEditGroup:`编辑群组`,dlgGroupName:`群组名称`,dlgSelectLights:`选择灯具`,stateOn:`开`,stateOff:`关`,stateYes:`是`,stateNo:`否`,stateOpen:`打开`,stateClosed:`关闭`,statePresence:`有动作`,stateNoPresence:`无动作`,msgLoading:`加载中…`,msgNoLights:`未找到灯具`,msgNoGroups:`未找到群组`,msgNoPlugs:`未找到插座`,msgNoScenes:`未找到场景`,msgNoCovers:`未找到卷帘`,msgNoSwitches:`未找到开关`,msgNoSensors:`未找到传感器`,msgNoThermostats:`未找到恒温器`,msgNotConnected:`适配器未连接。`,msgError:`错误`,msgConfirmDelete:`确定删除群组"%s"?`,msgSaving:`保存中…`,msgDeleting:`删除中…`,msgAdapterOffline:`适配器实例未运行。请先在ioBroker实例视图中启动它。`,msgTimeout:`适配器无响应(超时)。实例是否正在运行?`,lightsCount:`个灯具已找到`,groupsCount:`个群组已找到`,plugsCount:`个插座已找到`,scenesCount:`个场景已找到`,coversCount:`个卷帘已找到`,switchesCount:`个开关已找到`,sensorsCount:`个传感器已找到`,thermostatsCount:`个恒温器已找到`,pairingHeader:`API密钥`,pairingHint:`首先点击下方按钮,然后在浏览器中打开Phoscon,进入☰→网关→验证应用。适配器会自动检测配对窗口(每3秒检测一次,最多60秒)并填入密钥。`,btnRequestApiKey:`等待deCONZ配对…`,tabPlugs:`插座`,tabCovers:`卷帘`,tabSwitches:`开关`,tabSensors:`传感器`,tabThermostats:`恒温器`}};function X(e){let t=Y[e]||Y.en;return e=>t[e]||Y.en[e]||e}t();function te({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(ee,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();var ne={maxHeight:320,overflowY:`auto`,border:`1px solid`,borderColor:`divider`,borderRadius:1,padding:`0 8px`},re={color:`text.secondary`,fontSize:`0.75rem`};function ie({open:e,group:t,allLights:l,onSave:u,onClose:h,t:g}){let[v,x]=n(``),[S,w]=n({}),[T,E]=n(!1),[D,O]=n(!1);r(()=>{if(!e)return;x(t?t.name:``);let n={};t&&Array.isArray(t.lights)&&t.lights.forEach(e=>{n[e]=!0}),w(n),E(!1),O(!1)},[e,t]);let k=e=>{w(t=>({...t,[e]:!t[e]}))},A=async()=>{if(!v.trim()){O(!0);return}E(!0);let e=Object.entries(S).filter(([,e])=>e).map(([e])=>e);await u(v.trim(),e),E(!1)},j=l?Object.entries(l):[];return a(m,{open:e,onClose:(e,t)=>{t===`backdropClick`&&T||h()},maxWidth:`xs`,fullWidth:!0,children:[s(f,{children:g(t?`dlgEditGroup`:`dlgNewGroup`)}),a(y,{children:[s(b,{sx:{marginBottom:2},label:g(`dlgGroupName`),value:v,onChange:e=>{x(e.target.value),O(!1)},error:D,helperText:D?g(`msgError`):``,fullWidth:!0,autoFocus:!0,disabled:T,variant:`outlined`,size:`small`}),s(o,{variant:`subtitle2`,gutterBottom:!0,children:g(`dlgSelectLights`)}),s(C,{sx:ne,children:j.length===0?s(o,{variant:`body2`,sx:{padding:`8px`},children:g(`msgNoLights`)}):j.map(([e,t])=>s(d,{control:s(p,{checked:!!S[e],onChange:()=>k(e),size:`small`,disabled:T,color:`primary`}),label:a(`span`,{children:[s(`span`,{style:{fontSize:`0.875rem`},children:t.name}),t.modelid&&a(C,{component:`span`,sx:re,children:[` (`,t.modelid,`)`]})]})},e))})]}),a(_,{children:[s(c,{onClick:h,disabled:T,children:g(`btnCancel`)}),s(c,{onClick:A,color:`primary`,variant:`contained`,disabled:T,startIcon:T?s(i,{size:16}):void 0,children:g(T?`msgSaving`:`btnSave`)})]})]})}t();var Z={color:`#e65100`,fontWeight:`bold`},Q={color:`#9e9e9e`},ae={margin:`2px`,height:20,fontSize:`0.7rem`},$={minWidth:0,padding:`3px 10px`,fontSize:`0.75rem`,marginLeft:`4px`};function oe({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n({}),[b,E]=n(!1),[D,O]=n(``),[k,A]=n(!1),[j,M]=n(null),P=e(async()=>{E(!0),O(``);let[e,n]=await Promise.all([t(`getGroups`,{}),t(`getLights`,{})]);if(E(!1),e&&e.error){O(e.error);return}e&&e.groups&&m(e.groups),n&&n.lights&&y(n.lights)},[t]);if(r(()=>{f!==!1&&P()},[P,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let F=()=>{M(null),A(!0)},I=(e,t)=>{M({id:e,name:t.name,lights:t.lights||[]}),A(!0)},L=async(e,n)=>{j?await t(`updateGroup`,{id:j.id,name:e,lights:n}):await t(`createGroup`,{name:e,lights:n}),A(!1),await P()},G=async(e,n)=>{window.confirm(d(`msgConfirmDelete`).replace(`%s`,n))&&(await t(`deleteGroup`,{id:e}),await P())},K=p?Object.entries(p):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:D?!1:p===null?null:!0,loading:b}),s(o,{variant:`body2`,color:`textSecondary`,children:b&&!p?d(`msgLoading`):D?d(`msgNotConnected`):p===null?`–`:`${K.length} ${d(`groupsCount`)}`}),s(C,{sx:R}),s(c,{variant:`contained`,color:`primary`,size:`small`,onClick:F,disabled:b||!!D,children:d(`btnNewGroup`)}),s(c,{variant:`outlined`,size:`small`,onClick:P,disabled:b,children:b?s(i,{size:14}):d(`btnRefresh`)})]}),D&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,D]})]}),b&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!b&&!D&&p!==null&&K.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),a(`span`,{children:[d(`msgNoGroups`),` `,s(c,{size:`small`,color:`primary`,onClick:F,sx:{verticalAlign:`baseline`,padding:`0 4px`,minHeight:`unset`},children:d(`btnNewGroup`)})]})]}),K.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colLightCount`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colAllOn`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colAnyOn`)})}),s(x,{children:s(`strong`,{children:d(`colScenes`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colActions`)})})]})}),s(u,{children:K.map(([e,t])=>{let n=t.state||{},r=Array.isArray(t.scenes)?t.scenes:[];return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{align:`center`,children:s(o,{variant:`body2`,children:(t.lights||[]).length})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.all_on?Z:Q,children:n.all_on?d(`stateYes`):d(`stateNo`)})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.any_on?Z:Q,children:n.any_on?d(`stateYes`):d(`stateNo`)})}),s(x,{children:r.length===0?s(o,{variant:`caption`,color:`textSecondary`,children:`–`}):r.map(e=>s(T,{label:e.name,size:`small`,sx:ae},e.id))}),a(x,{align:`right`,children:[s(S,{title:d(`btnEdit`),children:s(c,{sx:$,size:`small`,variant:`outlined`,onClick:()=>I(e,t),children:d(`btnEdit`)})}),s(S,{title:d(`btnDelete`),children:s(c,{sx:$,size:`small`,variant:`outlined`,color:`secondary`,onClick:()=>G(e,t.name),children:d(`btnDelete`)})})]})]},e)})})]})}),s(ie,{open:k,group:j,allLights:_,onSave:L,onClose:()=>A(!1),t:d})]})}t();function se({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(oe,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function ce({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),D=e(async()=>{y(!0),S(``);let e=await t(`getLights`,{});y(!1),e&&e.error?S(e.error):e&&e.lights&&m(e.lights)},[t]);if(r(()=>{f!==!1&&D()},[D,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let O=p?Object.entries(p).filter(([,e])=>E(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${O.length} ${d(`plugsCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:D,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&O.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoPlugs`)})]}),O.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{children:s(`strong`,{children:d(`colModel`)})}),s(x,{children:s(`strong`,{children:d(`colManufacturer`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colOnOff`)})})]})}),s(u,{children:O.map(([e,t])=>{let n=t.state||{};return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{children:s(o,{variant:`body2`,children:t.modelid||`–`})}),s(x,{children:s(o,{variant:`body2`,children:t.manufacturername||`–`})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.reachable?G:K,children:n.reachable?`✔`:`✗`})}),s(x,{align:`center`,children:s(T,{label:n.on?d(`stateOn`):d(`stateOff`),size:`small`,sx:{background:n.on?`#fff3e0`:`#f5f5f5`,color:n.on?`#e65100`:`#757575`,fontWeight:600,fontSize:`0.7rem`,height:20}})})]},e)})})]})})]})}t();function le({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(ce,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function ue({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),[T,E]=n(null),D=e(async()=>{y(!0),S(``);let e=await t(`getGroups`,{});if(y(!1),e&&e.error){S(e.error);return}if(e&&e.groups){let t=[];for(let[n,r]of Object.entries(e.groups))for(let e of r.scenes||[])t.push({groupId:n,groupName:r.name,sceneId:e.id,sceneName:e.name});m(t)}},[t]);r(()=>{f!==!1&&D()},[D,f]);let O=async e=>{E(`${e.groupId}/${e.sceneId}`),S(``);let n=await t(`activateScene`,{groupId:e.groupId,sceneId:e.sceneId,sceneName:e.sceneName});E(null),n&&n.error&&S(n.error)};if(f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let k=p||[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${k.length} ${d(`scenesCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:D,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&k.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoScenes`)})]}),k.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colGroup`)})}),s(x,{children:s(`strong`,{children:d(`colScene`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colActions`)})})]})}),s(u,{children:k.map(e=>{let t=`${e.groupId}/${e.sceneId}`,n=T===t;return a(h,{sx:W,children:[s(x,{children:s(o,{variant:`body2`,children:e.groupName})}),s(x,{children:s(o,{variant:`body2`,children:s(`strong`,{children:e.sceneName})})}),s(x,{align:`right`,children:s(c,{size:`small`,variant:`outlined`,onClick:()=>O(e),disabled:T!==null,startIcon:n?s(i,{size:14}):void 0,children:d(`btnActivate`)})})]},t)})})]})})]})}t();function de({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(ue,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function fe({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),T=e(async()=>{y(!0),S(``);let e=await t(`getLights`,{});y(!1),e&&e.error?S(e.error):e&&e.lights&&m(e.lights)},[t]);if(r(()=>{f!==!1&&T()},[T,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let E=p?Object.entries(p).filter(([,e])=>D(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${E.length} ${d(`coversCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:T,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&E.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoCovers`)})]}),E.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{children:s(`strong`,{children:d(`colModel`)})}),s(x,{children:s(`strong`,{children:d(`colManufacturer`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colPosition`)})})]})}),s(u,{children:E.map(([e,t])=>{let n=t.state||{},r=n.lift===void 0?n.open?100:0:100-n.lift;return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{children:s(o,{variant:`body2`,children:t.modelid||`–`})}),s(x,{children:s(o,{variant:`body2`,children:t.manufacturername||`–`})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.reachable?G:K,children:n.reachable?`✔`:`✗`})}),s(x,{align:`right`,children:a(C,{sx:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:`6px`},children:[s(C,{sx:{width:48,height:5,background:`#e0e0e0`,borderRadius:`3px`,overflow:`hidden`},children:s(C,{sx:{width:`${r}%`,height:`100%`,background:`#1976d2`,borderRadius:`3px`}})}),a(o,{variant:`caption`,children:[r,` %`]})]})})]},e)})})]})})]})}t();function pe({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(fe,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function me({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),T=e(async()=>{y(!0),S(``);let e=await t(`getSensors`,{});y(!1),e&&e.error?S(e.error):e&&e.sensors&&m(e.sensors)},[t]);if(r(()=>{f!==!1&&T()},[T,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let E=p?Object.entries(p).filter(([,e])=>e.type&&e.type.includes(`Switch`)&&!O(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${E.length} ${d(`switchesCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:T,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&E.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoSwitches`)})]}),E.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{children:s(`strong`,{children:d(`colModel`)})}),s(x,{children:s(`strong`,{children:d(`colManufacturer`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colBattery`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colLastEvent`)})})]})}),s(u,{children:E.map(([e,t])=>{let n=t.config||{},r=t.state||{};return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{children:s(o,{variant:`body2`,children:t.modelid||`–`})}),s(x,{children:s(o,{variant:`body2`,children:t.manufacturername||`–`})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.reachable?G:K,children:n.reachable?`✔`:`✗`})}),s(x,{align:`center`,children:s(o,{variant:`body2`,children:n.battery===void 0?`–`:`${n.battery} %`})}),s(x,{align:`right`,children:s(o,{variant:`body2`,children:r.buttonevent===void 0?`–`:r.buttonevent})})]},e)})})]})})]})}t();function he({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(me,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function ge({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),T=e(async()=>{y(!0),S(``);let e=await t(`getSensors`,{});y(!1),e&&e.error?S(e.error):e&&e.sensors&&m(e.sensors)},[t]);if(r(()=>{f!==!1&&T()},[T,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let E=p?Object.entries(p).filter(([,e])=>!(e.type&&e.type.includes(`Switch`))&&!k(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${E.length} ${d(`sensorsCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:T,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&E.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoSensors`)})]}),E.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{children:s(`strong`,{children:d(`colType`)})}),s(x,{children:s(`strong`,{children:d(`colValue`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colBattery`)})})]})}),s(u,{children:E.map(([e,t])=>{let n=t.config||{};return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{children:s(o,{variant:`body2`,children:M(t)})}),s(x,{children:s(o,{variant:`body2`,children:A(t,d)})}),s(x,{align:`center`,children:s(C,{component:`span`,sx:n.reachable?G:K,children:n.reachable?`✔`:`✗`})}),s(x,{align:`center`,children:s(o,{variant:`body2`,children:n.battery===void 0?`–`:`${n.battery} %`})})]},e)})})]})})]})}t();function _e({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(ge,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}t();function ve({sendToAdapter:t,t:d,alive:f}){let[p,m]=n(null),[_,y]=n(!1),[b,S]=n(``),T=e(async()=>{y(!0),S(``);let e=await t(`getSensors`,{});y(!1),e&&e.error?S(e.error):e&&e.sensors&&m(e.sensors)},[t]);if(r(()=>{f!==!1&&T()},[T,f]),f===!1)return a(C,{sx:[z,V],children:[s(`span`,{children:`⚠️`}),s(`span`,{children:s(`strong`,{children:d(`msgAdapterOffline`)})})]});let E=p?Object.entries(p).filter(([,e])=>k(e)):[];return a(C,{sx:{padding:`0 0 16px 0`},children:[a(C,{sx:N,children:[s(J,{ok:b?!1:p===null?null:!0,loading:_}),s(o,{variant:`body2`,color:`textSecondary`,children:_&&!p?d(`msgLoading`):b?d(`msgNotConnected`):p===null?`–`:`${E.length} ${d(`thermostatsCount`)}`}),s(C,{sx:R}),s(c,{variant:`outlined`,size:`small`,onClick:T,disabled:_,children:_?s(i,{size:14}):d(`btnRefresh`)})]}),b&&a(C,{sx:[z,B],children:[s(`span`,{children:`✖`}),a(`div`,{children:[a(`strong`,{children:[d(`msgError`),`:`]}),` `,b]})]}),_&&!p&&a(C,{sx:q,children:[s(i,{size:36}),s(o,{variant:`body2`,children:d(`msgLoading`)})]}),!_&&!b&&p!==null&&E.length===0&&a(C,{sx:[z,H],children:[s(`span`,{children:`ℹ`}),s(`span`,{children:d(`msgNoThermostats`)})]}),E.length>0&&s(v,{component:w,variant:`outlined`,children:a(g,{size:`small`,children:[s(l,{sx:U,children:a(h,{children:[s(x,{children:s(`strong`,{children:d(`colName`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colReachable`)})}),s(x,{align:`center`,children:s(`strong`,{children:d(`colBattery`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colTemperature`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colSetpoint`)})}),s(x,{align:`right`,children:s(`strong`,{children:d(`colValve`)})})]})}),s(u,{children:E.map(([e,t])=>{let n=t.state||{},r=t.config||{};return a(h,{sx:W,children:[a(x,{children:[s(o,{variant:`body2`,children:s(`strong`,{children:t.name})}),a(o,{variant:`caption`,color:`textSecondary`,children:[`ID `,e]})]}),s(x,{align:`center`,children:s(C,{component:`span`,sx:r.reachable?G:K,children:r.reachable?`✔`:`✗`})}),s(x,{align:`center`,children:s(o,{variant:`body2`,children:r.battery===void 0?`–`:`${r.battery} %`})}),s(x,{align:`right`,children:s(o,{variant:`body2`,children:n.temperature===void 0?`–`:`${(n.temperature/100).toFixed(1)} °C`})}),s(x,{align:`right`,children:s(o,{variant:`body2`,children:r.heatsetpoint===void 0?`–`:`${(r.heatsetpoint/100).toFixed(1)} °C`})}),s(x,{align:`right`,children:s(o,{variant:`body2`,children:n.valve===void 0?`–`:`${n.valve} %`})})]},e)})})]})})]})}t();function ye({socket:t,instance:n,systemConfig:r,alive:i}){let a=r?.language,o=X(a||`en`);return s(ve,{sendToAdapter:e((e,r)=>new Promise(i=>{let a=setTimeout(()=>i({error:o(`msgTimeout`)}),1e4);t.sendTo(`tint.${n}`,e,r||{}).then(e=>{clearTimeout(a),i(e)}).catch(e=>{clearTimeout(a),i({error:e?.message||String(e)})})}),[t,n,a]),t:o,alive:i})}var be={LightsPanel:te,GroupsPanel:se,PlugsPanel:le,ScenesPanel:de,CoversPanel:pe,SwitchesPanel:he,SensorsPanel:_e,ThermostatsPanel:ye};export{be as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";var t={},n=new Set,r=Promise.resolve();async function i(e){let t=r.then(e,e);return r=t.then(()=>void 0,()=>void 0),t}async function a(e){if(typeof document>`u`)return;let r=t[e]||[];await Promise.all(r.map(e=>{let t=new URL(e,import.meta.url).href;return n.has(t)||(n.add(t),document.querySelector(`link[rel="stylesheet"][data-mf-href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.setAttribute(`data-mf-href`,t),r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var o={"./Components":async()=>{await a(`./Components`);let t=await i(()=>e(()=>import(`./panels-
|
|
1
|
+
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";var t={},n=new Set,r=Promise.resolve();async function i(e){let t=r.then(e,e);return r=t.then(()=>void 0,()=>void 0),t}async function a(e){if(typeof document>`u`)return;let r=t[e]||[];await Promise.all(r.map(e=>{let t=new URL(e,import.meta.url).href;return n.has(t)||(n.add(t),document.querySelector(`link[rel="stylesheet"][data-mf-href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.setAttribute(`data-mf-href`,t),r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var o={"./Components":async()=>{await a(`./Components`);let t=await i(()=>e(()=>import(`./panels-BRhThcCQ.js`),[])),n={};return Object.assign(n,t),Object.defineProperty(n,"__esModule",{value:!0,enumerable:!1}),n}};export{o as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panels-
|
|
2
|
-
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";var t={"./Components":async()=>{let t=await e(()=>import(`./panels-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panels-BRhThcCQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./vite-preload-helper-CZgWQFsJ.js";var t={"./Components":async()=>{let t=await e(()=>import(`./panels-BRhThcCQ.js`),__vite__mapDeps([0])),n={};return Object.assign(n,t),Object.defineProperty(n,"__esModule",{value:!0,enumerable:!1}),n}};export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./assets/vite-preload-helper-CZgWQFsJ.js";import{t}from"./assets/dist-afGLfQ9e.js";typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var n=`__mf_init__virtual:mf:__mfe_internal__tintComponents__mf_v__runtimeInit__mf_v__.js__`,r=globalThis[n];if(!r){let e,t,i=new Promise((n,r)=>{e=n,t=r});r=globalThis[n]={initPromise:i,initResolve:e,initReject:t}}var i=r.initResolve,a=`__mf_module_cache__`;globalThis[a]||={share:{},remote:{}},globalThis[a].share||={},globalThis[a].remote||={};var o=globalThis[a];for(let e of Object.keys(o.share))if(e.startsWith(`default:`)){let t=e.slice(8);o.share[t]===void 0&&(o.share[t]=o.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;o.share[t]===void 0&&(o.share[t]=o.share[e])}var s={},c=`default`,l=`tintComponents`,u,d;async function f(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}async function p(){return u||=f(()=>e(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__tintComponents-D-g99Ilb.js`),[])).catch(e=>{throw u=void 0,e}),u}async function m(){return d||=f(()=>e(()=>import(`./assets/virtualExposes-
|
|
1
|
+
import{t as e}from"./assets/vite-preload-helper-CZgWQFsJ.js";import{t}from"./assets/dist-afGLfQ9e.js";typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var n=`__mf_init__virtual:mf:__mfe_internal__tintComponents__mf_v__runtimeInit__mf_v__.js__`,r=globalThis[n];if(!r){let e,t,i=new Promise((n,r)=>{e=n,t=r});r=globalThis[n]={initPromise:i,initResolve:e,initReject:t}}var i=r.initResolve,a=`__mf_module_cache__`;globalThis[a]||={share:{},remote:{}},globalThis[a].share||={},globalThis[a].remote||={};var o=globalThis[a];for(let e of Object.keys(o.share))if(e.startsWith(`default:`)){let t=e.slice(8);o.share[t]===void 0&&(o.share[t]=o.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;o.share[t]===void 0&&(o.share[t]=o.share[e])}var s={},c=`default`,l=`tintComponents`,u,d;async function f(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}async function p(){return u||=f(()=>e(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__tintComponents-D-g99Ilb.js`),[])).catch(e=>{throw u=void 0,e}),u}async function m(){return d||=f(()=>e(()=>import(`./assets/virtualExposes-BsxctXFn.js`),[])).then(e=>e.default??e).catch(e=>{throw d=void 0,e}),d}async function h(n={},r=[]){let a=(e,t,n,r)=>{let i=((Array.isArray(r)?r[0]:r)||`default`)+`:`;return t||!n?i+e:i+e+`@`+n},{usedShared:u,usedRemotes:d}=await p();try{let e=globalThis.__FEDERATION__?.__SHARE__;if(e){let t=e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t};for(let[,n]of Object.entries(e)){let e=n?.default;if(e)for(let[n,r]of Object.entries(e)){let e=u?.[n],i=e?.shareConfig?.import===!1?__mfSelectSharedProvider(r,n,e,`version-first`):void 0,s=e?.shareConfig?.import===!1?Object.entries(r).filter(([,e])=>e===i):Object.entries(r);for(let[r,i]of s){if(!i.lib)continue;let s=a(n,i.shareConfig?.singleton,r,`default`);if(o.share[s]!==void 0)continue;let c=typeof i.lib==`function`?i.lib():i.lib,l=t(await Promise.resolve(c));if(o.share[s]=l,i.shareConfig?.singleton&&e){let t=a(n,e.shareConfig?.singleton,e.version,e.scope);o.share[t]===void 0&&(o.share[t]=l)}}}}}}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}for(let[e,t]of Object.entries(u)){let n=a(e,t.shareConfig?.singleton,t.version,t.scope);if(o.share[n]!==void 0)continue;let r=a(e,!0,t.version,t.scope);o.share[r]!==void 0&&(o.share[n]=o.share[r])}if(o.share[`default:react`]===void 0){let t=await e(()=>import(`./assets/_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-DLP82tjJ.js`).then(e=>(e.L(),e.I)),[]),n=(e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(t),r=n===t?{...t}:n;Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),o.share[`default:react`]=r}if(o.share[`default:react-dom`]===void 0){let t=await e(()=>import(`./assets/_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_mui_mf_1_material__loadShare__.js-GEK3uLIP.js`).then(e=>e.b),[]),n=(e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(t),r=n===t?{...t}:n;Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),o.share[`default:react-dom`]=r}if(o.share[`default:@emotion/react`]===void 0){let t=await e(()=>import(`./assets/_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-DLP82tjJ.js`).then(e=>e.s),[]),n=(e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(t),r=n===t?{...t}:n;Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),o.share[`default:@emotion/react`]=r}if(o.share[`default:@emotion/styled`]===void 0){let t=await e(()=>import(`./assets/_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-Cot9EG3x.js`).then(e=>e.n),[]),n=(e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(t),r=n===t?{...t}:n;Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),o.share[`default:@emotion/styled`]=r}if(o.share[`default:@mui/material`]===void 0){let t=await e(()=>import(`./assets/_virtual_mf___mfe_internal__tintComponents__loadShare___mf_0_mui_mf_1_material__loadShare__.js-GEK3uLIP.js`).then(e=>e.t),[]),n=(e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(t),r=n===t?{...t}:n;Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),o.share[`default:@mui/material`]=r}let m=[],h=globalThis.window===void 0?await Promise.all([]):[],g=t({name:l,remotes:d,shared:u,plugins:[...m,...h],shareStrategy:`version-first`});var _=s[c];if(_||=s[c]={from:l},!(r.indexOf(_)>=0)){r.push(_),g.initShareScopeMap(`default`,n),i(g);try{await f(async()=>{await Promise.all(await g.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:r}))})}catch(e){console.error(`[Module Federation]`,e)}for(let[e,t]of Object.entries(u)){let r=a(e,t.shareConfig?.singleton,t.version,t.scope);if(t.shareConfig?.import!==!1||o.share[r]!==void 0)continue;let i=e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t},s=n?.[e],c=__mfSelectSharedProvider(s,e,t,`version-first`);if(!c)continue;let l=c.lib||(c.loading?await c.loading:await c.get?.()),u=typeof l==`function`?l():l,d=await Promise.resolve(u);o.share[r]=i(d)}return g}}async function g(e){let t=await m();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return t[e]().then(e=>()=>e)}export{g as get,h as init};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./assets/vite-preload-helper-CZgWQFsJ.js";import{init as t}from"@module-federation/runtime";var n;async function r(){return n??=e(()=>import(`./assets/virtual_mf-exposes-ssr___mfe_internal__tintComponents__customComponents_js-
|
|
1
|
+
import{t as e}from"./assets/vite-preload-helper-CZgWQFsJ.js";import{init as t}from"@module-federation/runtime";var n;async function r(){return n??=e(()=>import(`./assets/virtual_mf-exposes-ssr___mfe_internal__tintComponents__customComponents_js-B0U1S-Ho.js`).then(e=>e.default??e),[]),n}async function i(e={},n=[]){let r=t({name:`tintComponents`,remotes:[],shared:{}}),i={from:`tintComponents`};if(!(n.indexOf(i)>=0)){n.push(i),r.initShareScopeMap(`default`,e);try{await Promise.all(await r.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:n}))}catch(e){console.error(`[Module Federation SSR]`,e)}return r}}async function a(e){let t=await r();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return t[e]().then(e=>()=>e)}export{a as get,i as init};
|