iobroker.hassemu 1.0.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 krobi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,163 @@
1
+ # ioBroker.hassemu
2
+
3
+ [![npm version](https://img.shields.io/npm/v/iobroker.hassemu)](https://www.npmjs.com/package/iobroker.hassemu)
4
+ ![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen)
5
+ ![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)
6
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
7
+ [![npm downloads](https://img.shields.io/npm/dt/iobroker.hassemu)](https://www.npmjs.com/package/iobroker.hassemu)
8
+ ![Installations](https://iobroker.live/badges/hassemu-installed.svg)
9
+ [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-ff5e5b?logo=ko-fi)](https://ko-fi.com/krobipd)
10
+ [![PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/krobipd)
11
+
12
+ <img src="https://raw.githubusercontent.com/krobipd/ioBroker.hassemu/main/admin/hassemu.svg" width="100" />
13
+
14
+ Emulates a minimal [Home Assistant](https://www.home-assistant.io) server so that devices like the [Shelly Wall Display XL](https://www.shelly.com) can be redirected to any custom web URL — without running a real Home Assistant Core.
15
+
16
+ > Previously known as `ioBroker.homeassistant-bridge`. Renamed to better reflect that this adapter emulates, not bridges.
17
+
18
+ ---
19
+
20
+ ## Features
21
+
22
+ - **Home Assistant Emulation** — minimal HA API compatible with Shelly Wall Display XL
23
+ - **mDNS Discovery** — automatic detection via `_home-assistant._tcp` (cross-platform)
24
+ - **OAuth2-like Auth Flow** — full login flow emulation, optional credential validation
25
+ - **Flexible Redirect** — send the display to any ioBroker VIS, VIS-2, or custom web URL
26
+ - **Modern Admin UI** — JSON-Config for easy configuration
27
+
28
+ ---
29
+
30
+ ## Requirements
31
+
32
+ - **Node.js >= 20**
33
+ - **ioBroker js-controller >= 7.0.0**
34
+ - **ioBroker Admin >= 7.6.20**
35
+
36
+ ---
37
+
38
+ ## Ports
39
+
40
+ | Port | Protocol | Purpose | Configurable |
41
+ |------|----------|---------|--------------|
42
+ | 8123 | TCP/HTTP | Home Assistant emulation (Shelly requires exactly this port) | No — fixed |
43
+
44
+ ---
45
+
46
+ ## Configuration
47
+
48
+ Configuration is done via the Admin UI (jsonConfig):
49
+
50
+ | Option | Description | Default |
51
+ |--------|-------------|---------|
52
+ | **Bind to Interface** | Network interface to listen on | 0.0.0.0 (all) |
53
+ | **Redirect URL** | Target URL for the display (e.g., VIS) | *must be set* |
54
+ | **mDNS Enabled** | mDNS Service Discovery | enabled |
55
+ | **Service Name** | Name in the network | "ioBroker" |
56
+ | **Auth Required** | Validate credentials | disabled |
57
+ | **Username** | Login name (if auth enabled) | "admin" |
58
+ | **Password** | Login password (stored encrypted) | - |
59
+
60
+ > **Important: Port 8123 is mandatory.** The adapter always listens on port 8123 — this is hardcoded and cannot be changed. Shelly displays and other Home Assistant-compatible devices expect exactly this port. Make sure port 8123 is not already in use on your ioBroker server.
61
+
62
+ **Important:** The redirect URL must be a network-accessible address, e.g.:
63
+ ```
64
+ http://192.168.1.100:8082/vis/index.html
65
+ ```
66
+
67
+ `localhost` will not work because the display calls the URL!
68
+
69
+ ---
70
+
71
+ ## State Tree
72
+
73
+ ```
74
+ hassemu.0.
75
+ └── info.connection — Server is running (bool)
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Troubleshooting
81
+
82
+ ### Display cannot find the server (mDNS)
83
+
84
+ The adapter broadcasts a `_home-assistant._tcp` mDNS service. If the display does not find the server automatically, configure it manually:
85
+
86
+ ```
87
+ IP: <ioBroker-IP>
88
+ Port: 8123
89
+ ```
90
+
91
+ 1. Check if the adapter log shows "mDNS: Broadcasting" on startup.
92
+
93
+ 2. Verify the service is visible on the network:
94
+ ```bash
95
+ # macOS
96
+ dns-sd -B _home-assistant._tcp
97
+ # Linux (if avahi-utils installed)
98
+ avahi-browse _home-assistant._tcp -r -t
99
+ ```
100
+
101
+ 3. Make sure mDNS port 5353/UDP is not blocked by a firewall.
102
+
103
+ 4. If mDNS doesn't work, use manual configuration on the display with the ioBroker server's IP address.
104
+
105
+ ### Health Check
106
+
107
+ The adapter provides a health endpoint:
108
+ ```
109
+ http://<IP>:8123/health
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Changelog
115
+
116
+ ### 1.0.0 (2026-04-08)
117
+ - Renamed from homeassistant-bridge to hassemu
118
+
119
+ Older changelog: [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
120
+
121
+ ---
122
+
123
+ ## Support
124
+
125
+ - [ioBroker Forum](https://forum.iobroker.net/)
126
+ - [GitHub Issues](https://github.com/krobipd/ioBroker.hassemu/issues)
127
+
128
+ ### Support Development
129
+
130
+ This adapter is free and open source. If you find it useful, consider buying me a coffee:
131
+
132
+ [![Ko-fi](https://img.shields.io/badge/Ko--fi-Support-ff5e5b?style=for-the-badge&logo=ko-fi)](https://ko-fi.com/krobipd)
133
+ [![PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg?style=for-the-badge)](https://paypal.me/krobipd)
134
+
135
+ ---
136
+
137
+ ## License
138
+
139
+ MIT License
140
+
141
+ Copyright (c) 2026 krobi <krobi@power-dreams.com>
142
+
143
+ Permission is hereby granted, free of charge, to any person obtaining a copy
144
+ of this software and associated documentation files (the "Software"), to deal
145
+ in the Software without restriction, including without limitation the rights
146
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
147
+ copies of the Software, and to permit persons to whom the Software is
148
+ furnished to do so, subject to the following conditions:
149
+
150
+ The above copyright notice and this permission notice shall be included in all
151
+ copies or substantial portions of the Software.
152
+
153
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
154
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
155
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
156
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
157
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
158
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
159
+ SOFTWARE.
160
+
161
+ ---
162
+
163
+ *Developed with assistance from Claude.ai*
@@ -0,0 +1,14 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <!-- Background circle -->
3
+ <circle cx="32" cy="32" r="30" fill="#41BDF5"/>
4
+
5
+ <!-- Home icon (simplified Home Assistant style) -->
6
+ <path d="M32 12 L12 28 L12 52 L24 52 L24 38 L40 38 L40 52 L52 52 L52 28 Z"
7
+ fill="white" stroke="white" stroke-width="2" stroke-linejoin="round"/>
8
+
9
+ <!-- Bridge connection symbol -->
10
+ <path d="M20 44 Q32 36 44 44"
11
+ fill="none" stroke="#41BDF5" stroke-width="3" stroke-linecap="round"/>
12
+ <circle cx="20" cy="44" r="3" fill="#41BDF5"/>
13
+ <circle cx="44" cy="44" r="3" fill="#41BDF5"/>
14
+ </svg>
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Dieser Adapter ist kostenlos und Open Source. Wenn er dir nützlich ist, unterstütze die Entwicklung gerne mit einer kleinen Spende.",
3
+ "authInfo": "Hinweis: Authentifizierung ist optional. Das Display durchläuft immer den Authentifizierungsablauf, aber die Anmeldedaten werden nur geprüft, wenn diese Option aktiviert ist.",
4
+ "authRequired": "Authentifizierung erforderlich",
5
+ "authRequiredTooltip": "Wenn aktiviert, müssen Geräte gültige Anmeldedaten eingeben",
6
+ "bindAddress": "Interface binden",
7
+ "bindAddressTooltip": "Netzwerk-Interface auswählen (0.0.0.0 = alle Interfaces)",
8
+ "donateKofi": "Unterstützen auf Ko-fi",
9
+ "donatePaypal": "Über PayPal spenden",
10
+ "header_auth": "Authentifizierung",
11
+ "header_mdns": "mDNS-Erkennung",
12
+ "header_server": "Server",
13
+ "mdnsEnabled": "mDNS-Erkennung aktivieren",
14
+ "mdnsEnabledTooltip": "Service per mDNS broadcasten damit Geräte ihn automatisch finden (funktioniert auf allen Plattformen)",
15
+ "mdnsInfo": "mDNS sendet den Service im lokalen Netzwerk, damit Geräte (z.B. Shelly Wall Display) ihn automatisch finden können.\n\nWenn mDNS deaktiviert oder nicht funktioniert, geben Sie die URL manuell am Display ein:\n`http://IHRE_IP:8123`",
16
+ "password": "Passwort",
17
+ "serviceName": "Service-Name",
18
+ "serviceNameTooltip": "Name der auf dem Display während der Erkennung angezeigt wird",
19
+ "username": "Benutzername",
20
+ "visUrl": "Weiterleitungs-URL",
21
+ "visUrlTooltip": "URL zu der Geräte nach der Authentifizierung weitergeleitet werden (z.B. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Wichtig:** Verwenden Sie nicht 'localhost' oder '127.0.0.1' — nutzen Sie die echte IP-Adresse Ihres ioBroker-Servers!",
23
+ "supportHeader": "Unterstützung"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "This adapter is free and open source. If you find it useful, please consider supporting its development with a small donation.",
3
+ "authInfo": "Note: Authentication is optional. The display will always go through the authentication flow, but credentials are only validated if this option is enabled.",
4
+ "authRequired": "Require Authentication",
5
+ "authRequiredTooltip": "If enabled, devices must enter valid credentials to authenticate",
6
+ "bindAddress": "Bind to Interface",
7
+ "bindAddressTooltip": "Select the network interface to listen on (0.0.0.0 = all interfaces)",
8
+ "donateKofi": "Support on Ko-fi",
9
+ "donatePaypal": "Donate via PayPal",
10
+ "header_auth": "Authentication",
11
+ "header_mdns": "mDNS Discovery",
12
+ "header_server": "Server",
13
+ "mdnsEnabled": "Enable mDNS Discovery",
14
+ "mdnsEnabledTooltip": "Broadcast the service via mDNS so devices can find it automatically (works on all platforms)",
15
+ "mdnsInfo": "mDNS broadcasts the service on the local network so devices (e.g. Shelly Wall Display) can discover it automatically.\n\nIf mDNS is disabled or not working, enter the URL manually on the display:\n`http://YOUR_IP:8123`",
16
+ "password": "Password",
17
+ "serviceName": "Service Name",
18
+ "serviceNameTooltip": "Name shown on the display during discovery",
19
+ "username": "Username",
20
+ "visUrl": "Redirect URL",
21
+ "visUrlTooltip": "URL to redirect devices to after authentication (e.g. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Important:** Do not use 'localhost' or '127.0.0.1' — use the actual IP address of your ioBroker server!",
23
+ "supportHeader": "Support"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Este adaptador es gratuito y de código abierto. Si te resulta útil, considera apoyar su desarrollo con una pequeña donación.",
3
+ "authInfo": "Nota: La autenticación es opcional. La pantalla siempre pasará por el flujo de autenticación, pero las credenciales solo se validan si esta opción está habilitada.",
4
+ "authRequired": "Requerir Autenticación",
5
+ "authRequiredTooltip": "Si está habilitado, los dispositivos deben ingresar credenciales válidas para autenticarse",
6
+ "bindAddress": "Vincular a la Interfaz",
7
+ "bindAddressTooltip": "Seleccione la interfaz de red en la que escuchar (0.0.0.0 = todas las interfaces)",
8
+ "donateKofi": "Apoyar en Ko-fi",
9
+ "donatePaypal": "Donar vía PayPal",
10
+ "header_auth": "Autenticación",
11
+ "header_mdns": "Descubrimiento de mDNS",
12
+ "header_server": "Servidor",
13
+ "mdnsEnabled": "Habilitar Descubrimiento mDNS",
14
+ "mdnsEnabledTooltip": "Difundir el servicio via mDNS para que los dispositivos lo encuentren automáticamente (funciona en todas las plataformas)",
15
+ "mdnsInfo": "mDNS difunde el servicio en la red local para que los dispositivos (ej. Shelly Wall Display) puedan descubrirlo automáticamente.\n\nSi mDNS está deshabilitado o no funciona, ingrese la URL manualmente en la pantalla:\n`http://YOUR_IP:8123`",
16
+ "password": "Contraseña",
17
+ "serviceName": "Nombre del Servicio",
18
+ "serviceNameTooltip": "Nombre mostrado en la pantalla durante el descubrimiento",
19
+ "username": "Nombre de usuario",
20
+ "visUrl": "URL de Redirección",
21
+ "visUrlTooltip": "URL a la que redirigir los dispositivos tras la autenticación (ej. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Importante:** No use 'localhost' ni '127.0.0.1' — use la dirección IP real de su servidor ioBroker!",
23
+ "supportHeader": "Apoyo"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Cet adaptateur est gratuit et open source. Si vous le trouvez utile, soutenez son développement par un petit don.",
3
+ "authInfo": "Remarque: L'authentification est optionnelle. L'écran passera toujours par le flux d'authentification, mais les identifiants ne sont validés que si cette option est activée.",
4
+ "authRequired": "Exiger l'Authentification",
5
+ "authRequiredTooltip": "Si activé, les appareils doivent saisir des identifiants valides pour s'authentifier",
6
+ "bindAddress": "Lier à l'Interface",
7
+ "bindAddressTooltip": "Sélectionnez l'interface réseau sur laquelle écouter (0.0.0.0 = toutes les interfaces)",
8
+ "donateKofi": "Soutenir sur Ko-fi",
9
+ "donatePaypal": "Faire un don via PayPal",
10
+ "header_auth": "Authentification",
11
+ "header_mdns": "Découverte mDNS",
12
+ "header_server": "Serveur",
13
+ "mdnsEnabled": "Activer la Découverte mDNS",
14
+ "mdnsEnabledTooltip": "Diffuser le service via mDNS pour que les appareils le trouvent automatiquement (fonctionne sur toutes les plateformes)",
15
+ "mdnsInfo": "mDNS diffuse le service sur le réseau local pour que les appareils (ex. Shelly Wall Display) puissent le découvrir automatiquement.\n\nSi mDNS est désactivé ou ne fonctionne pas, entrez l'URL manuellement sur l'écran:\n`http://YOUR_IP:8123`",
16
+ "password": "Mot de passe",
17
+ "serviceName": "Nom du Service",
18
+ "serviceNameTooltip": "Nom affiché sur l'écran pendant la découverte",
19
+ "username": "Nom d'utilisateur",
20
+ "visUrl": "URL de Redirection",
21
+ "visUrlTooltip": "URL vers laquelle les appareils seront redirigés après authentification (ex: http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Important:** N'utilisez pas 'localhost' ou '127.0.0.1' — utilisez l'adresse IP réelle de votre serveur ioBroker!",
23
+ "supportHeader": "Soutien"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Questo adapter è gratuito e open source. Se lo trovi utile, considera di supportare lo sviluppo con una piccola donazione.",
3
+ "authInfo": "Nota: L'autenticazione è opzionale. Il display passerà sempre attraverso il flusso di autenticazione, ma le credenziali vengono validate solo se questa opzione è abilitata.",
4
+ "authRequired": "Richiedi Autenticazione",
5
+ "authRequiredTooltip": "Se abilitato, i dispositivi devono inserire credenziali valide per autenticarsi",
6
+ "bindAddress": "Associa all'Interfaccia",
7
+ "bindAddressTooltip": "Seleziona l'interfaccia di rete su cui ascoltare (0.0.0.0 = tutte le interfacce)",
8
+ "donateKofi": "Supporta su Ko-fi",
9
+ "donatePaypal": "Dona tramite PayPal",
10
+ "header_auth": "Autenticazione",
11
+ "header_mdns": "Individuazione mDNS",
12
+ "header_server": "Server",
13
+ "mdnsEnabled": "Abilita Scoperta mDNS",
14
+ "mdnsEnabledTooltip": "Trasmetti il servizio via mDNS in modo che i dispositivi possano trovarlo automaticamente (funziona su tutte le piattaforme)",
15
+ "mdnsInfo": "mDNS trasmette il servizio sulla rete locale in modo che i dispositivi (es. Shelly Wall Display) possano scoprirlo automaticamente.\n\nSe mDNS è disabilitato o non funziona, inserisci l'URL manualmente sul display:\n`http://YOUR_IP:8123`",
16
+ "password": "Password",
17
+ "serviceName": "Nome del Servizio",
18
+ "serviceNameTooltip": "Nome mostrato sul display durante il rilevamento",
19
+ "username": "Nome utente",
20
+ "visUrl": "URL di Reindirizzamento",
21
+ "visUrlTooltip": "URL a cui reindirizzare i dispositivi dopo l'autenticazione (es. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Importante:** Non usare 'localhost' o '127.0.0.1' — usa l'indirizzo IP reale del tuo server ioBroker!",
23
+ "supportHeader": "Supporto"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Deze adapter is gratis en open source. Als je hem nuttig vindt, overweeg dan de ontwikkeling te steunen met een kleine donatie.",
3
+ "authInfo": "Opmerking: Authenticatie is optioneel. Het scherm doorloopt altijd de authenticatiestroom, maar inloggegevens worden alleen gevalideerd als deze optie is ingeschakeld.",
4
+ "authRequired": "Authenticatie vereisen",
5
+ "authRequiredTooltip": "Indien ingeschakeld moeten apparaten geldige inloggegevens invoeren om te authenticeren",
6
+ "bindAddress": "Binden aan Interface",
7
+ "bindAddressTooltip": "Selecteer de netwerkinterface om op te luisteren (0.0.0.0 = alle interfaces)",
8
+ "donateKofi": "Steunen op Ko-fi",
9
+ "donatePaypal": "Doneer via PayPal",
10
+ "header_auth": "Authenticatie",
11
+ "header_mdns": "mDNS-detectie",
12
+ "header_server": "Server",
13
+ "mdnsEnabled": "mDNS-detectie inschakelen",
14
+ "mdnsEnabledTooltip": "De service via mDNS uitzenden zodat apparaten deze automatisch kunnen vinden (werkt op alle platformen)",
15
+ "mdnsInfo": "mDNS zendt de service uit op het lokale netwerk zodat apparaten (bijv. Shelly Wall Display) deze automatisch kunnen ontdekken.\n\nAls mDNS uitgeschakeld is of niet werkt, voer de URL handmatig in op het scherm:\n`http://YOUR_IP:8123`",
16
+ "password": "Wachtwoord",
17
+ "serviceName": "Servicenaam",
18
+ "serviceNameTooltip": "Naam weergegeven op het scherm tijdens detectie",
19
+ "username": "Gebruikersnaam",
20
+ "visUrl": "Doorstuur-URL",
21
+ "visUrlTooltip": "URL waarnaar apparaten worden doorgestuurd na authenticatie (bijv. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Belangrijk:** Gebruik geen 'localhost' of '127.0.0.1' — gebruik het echte IP-adres van uw ioBroker-server!",
23
+ "supportHeader": "Steun"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Ten adapter jest darmowy i otwartoźródłowy. Jeśli jest dla ciebie przydatny, rozważ wsparcie rozwoju małą darowizną.",
3
+ "authInfo": "Uwaga: Uwierzytelnianie jest opcjonalne. Ekran zawsze przechodzi przez przepływ uwierzytelniania, ale dane logowania są weryfikowane tylko jeśli ta opcja jest włączona.",
4
+ "authRequired": "Wymagaj Uwierzytelniania",
5
+ "authRequiredTooltip": "Jeśli włączone, urządzenia muszą podać prawidłowe dane logowania",
6
+ "bindAddress": "Przypisz do Interfejsu",
7
+ "bindAddressTooltip": "Wybierz interfejs sieciowy do nasłuchiwania (0.0.0.0 = wszystkie interfejsy)",
8
+ "donateKofi": "Wesprzyj na Ko-fi",
9
+ "donatePaypal": "Przekaż darowiznę przez PayPal",
10
+ "header_auth": "Uwierzytelnianie",
11
+ "header_mdns": "Wykrywanie mDNS",
12
+ "header_server": "Serwer",
13
+ "mdnsEnabled": "Włącz Wykrywanie mDNS",
14
+ "mdnsEnabledTooltip": "Rozgłaszaj usługę przez mDNS, aby urządzenia mogły ją znaleźć automatycznie (działa na wszystkich platformach)",
15
+ "mdnsInfo": "mDNS rozgłasza usługę w sieci lokalnej, aby urządzenia (np. Shelly Wall Display) mogły ją odkryć automatycznie.\n\nJeśli mDNS jest wyłączone lub nie działa, wprowadź URL ręcznie na ekranie:\n`http://YOUR_IP:8123`",
16
+ "password": "Hasło",
17
+ "serviceName": "Nazwa Usługi",
18
+ "serviceNameTooltip": "Nazwa wyświetlana na ekranie podczas wykrywania",
19
+ "username": "Nazwa użytkownika",
20
+ "visUrl": "URL Przekierowania",
21
+ "visUrlTooltip": "URL do przekierowania urządzeń po uwierzytelnieniu (np. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Ważne:** Nie używaj 'localhost' ani '127.0.0.1' — użyj rzeczywistego adresu IP swojego serwera ioBroker!",
23
+ "supportHeader": "Wsparcie"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Este adaptador é gratuito e de código aberto. Se o achar útil, considere apoiar o desenvolvimento com uma pequena doação.",
3
+ "authInfo": "Nota: A autenticação é opcional. O display sempre passará pelo fluxo de autenticação, mas as credenciais só são validadas se esta opção estiver habilitada.",
4
+ "authRequired": "Exigir Autenticação",
5
+ "authRequiredTooltip": "Se habilitado, os dispositivos devem inserir credenciais válidas para autenticar",
6
+ "bindAddress": "Vincular à Interface",
7
+ "bindAddressTooltip": "Selecione a interface de rede para escutar (0.0.0.0 = todas as interfaces)",
8
+ "donateKofi": "Apoiar no Ko-fi",
9
+ "donatePaypal": "Doar via PayPal",
10
+ "header_auth": "Autenticação",
11
+ "header_mdns": "Descoberta de mDNS",
12
+ "header_server": "Servidor",
13
+ "mdnsEnabled": "Habilitar Descoberta mDNS",
14
+ "mdnsEnabledTooltip": "Transmitir o serviço via mDNS para que os dispositivos o encontrem automaticamente (funciona em todas as plataformas)",
15
+ "mdnsInfo": "O mDNS transmite o serviço na rede local para que dispositivos (ex. Shelly Wall Display) possam descobri-lo automaticamente.\n\nSe o mDNS estiver desativado ou não funcionar, insira a URL manualmente no display:\n`http://YOUR_IP:8123`",
16
+ "password": "Senha",
17
+ "serviceName": "Nome do Serviço",
18
+ "serviceNameTooltip": "Nome exibido no display durante a descoberta",
19
+ "username": "Nome de Usuário",
20
+ "visUrl": "URL de Redirecionamento",
21
+ "visUrlTooltip": "URL para redirecionar dispositivos após autenticação (ex: http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Importante:** Não use 'localhost' ou '127.0.0.1' — use o endereço IP real do seu servidor ioBroker!",
23
+ "supportHeader": "Apoiar"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Этот адаптер бесплатный и с открытым исходным кодом. Если он вам полезен, поддержите разработку небольшим пожертвованием.",
3
+ "authInfo": "Примечание: Аутентификация необязательна. Дисплей всегда проходит через поток аутентификации, но учётные данные проверяются только если эта опция включена.",
4
+ "authRequired": "Требовать аутентификацию",
5
+ "authRequiredTooltip": "Если включено, устройства должны вводить корректные учётные данные",
6
+ "bindAddress": "Привязать к интерфейсу",
7
+ "bindAddressTooltip": "Выберите сетевой интерфейс для прослушивания (0.0.0.0 = все интерфейсы)",
8
+ "donateKofi": "Поддержать на Ko-fi",
9
+ "donatePaypal": "Пожертвовать через PayPal",
10
+ "header_auth": "Аутентификация",
11
+ "header_mdns": "обнаружение mDNS",
12
+ "header_server": "Сервер",
13
+ "mdnsEnabled": "Включить mDNS обнаружение",
14
+ "mdnsEnabledTooltip": "Транслировать службу через mDNS, чтобы устройства могли найти её автоматически (работает на всех платформах)",
15
+ "mdnsInfo": "mDNS транслирует службу в локальной сети, чтобы устройства (напр. Shelly Wall Display) могли обнаружить её автоматически.\n\nЕсли mDNS отключён или не работает, введите URL вручную на дисплее:\n`http://YOUR_IP:8123`",
16
+ "password": "Пароль",
17
+ "serviceName": "Имя службы",
18
+ "serviceNameTooltip": "Имя, отображаемое на дисплее во время обнаружения",
19
+ "username": "Имя пользователя",
20
+ "visUrl": "URL перенаправления",
21
+ "visUrlTooltip": "URL для перенаправления устройств после аутентификации (например http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Важно:** Не используйте 'localhost' или '127.0.0.1' — используйте реальный IP-адрес вашего сервера ioBroker!",
23
+ "supportHeader": "Поддерживать"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "Цей адаптер безкоштовний і з відкритим кодом. Якщо він вам корисний, підтримайте розробку невеликою пожертвою.",
3
+ "authInfo": "Примітка: Автентифікація необов'язкова. Дисплей завжди проходить через потік автентифікації, але облікові дані перевіряються лише якщо ця опція увімкнена.",
4
+ "authRequired": "Вимагати Автентифікацію",
5
+ "authRequiredTooltip": "Якщо увімкнено, пристрої повинні вводити дійсні облікові дані для автентифікації",
6
+ "bindAddress": "Прив'язати до Інтерфейсу",
7
+ "bindAddressTooltip": "Оберіть мережевий інтерфейс для прослуховування (0.0.0.0 = всі інтерфейси)",
8
+ "donateKofi": "Підтримати на Ko-fi",
9
+ "donatePaypal": "Пожертвувати через PayPal",
10
+ "header_auth": "Аутентифікація",
11
+ "header_mdns": "Виявлення mDNS",
12
+ "header_server": "Сервер",
13
+ "mdnsEnabled": "Увімкнути mDNS Виявлення",
14
+ "mdnsEnabledTooltip": "Транслювати службу через mDNS, щоб пристрої могли знайти її автоматично (працює на всіх платформах)",
15
+ "mdnsInfo": "mDNS транслює службу в локальній мережі, щоб пристрої (напр. Shelly Wall Display) могли виявити її автоматично.\n\nЯкщо mDNS вимкнено або не працює, введіть URL вручну на дисплеї:\n`http://YOUR_IP:8123`",
16
+ "password": "Пароль",
17
+ "serviceName": "Назва Служби",
18
+ "serviceNameTooltip": "Назва, що відображається на дисплеї під час виявлення",
19
+ "username": "Ім'я користувача",
20
+ "visUrl": "URL Переспрямування",
21
+ "visUrlTooltip": "URL для переспрямування пристроїв після автентифікації (напр. http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**Важливо:** Не використовуйте 'localhost' або '127.0.0.1' — використовуйте реальну IP-адресу вашого сервера ioBroker!",
23
+ "supportHeader": "Підтримка"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "aboutInfo": "此适配器免费且开源。如果您觉得有用,请考虑通过小额捐款支持开发。",
3
+ "authInfo": "注意:身份验证是可选的。显示屏始终会经历身份验证流程,但只有在启用此选项时才会验证凭据。",
4
+ "authRequired": "需要身份验证",
5
+ "authRequiredTooltip": "如果启用,设备必须输入有效凭据才能进行身份验证",
6
+ "bindAddress": "绑定到接口",
7
+ "bindAddressTooltip": "选择要监听的网络接口(0.0.0.0 = 所有接口)",
8
+ "donateKofi": "在Ko-fi上支持",
9
+ "donatePaypal": "通过PayPal捐赠",
10
+ "header_auth": "验证",
11
+ "header_mdns": "mDNS 发现",
12
+ "header_server": "服务器",
13
+ "mdnsEnabled": "启用 mDNS 发现",
14
+ "mdnsEnabledTooltip": "通过 mDNS 广播服务,使设备能够自动找到它(适用于所有平台)",
15
+ "mdnsInfo": "mDNS 在本地网络上广播服务,使设备(如 Shelly Wall Display)能够自动发现它。\n\n如果 mDNS 已禁用或无法正常工作,请在显示屏上手动输入 URL:\n`http://YOUR_IP:8123`",
16
+ "password": "密码",
17
+ "serviceName": "服务名称",
18
+ "serviceNameTooltip": "发现期间在显示屏上显示的名称",
19
+ "username": "用户名",
20
+ "visUrl": "重定向 URL",
21
+ "visUrlTooltip": "认证后将设备重定向到的 URL(例如 http://192.168.1.100:8082/vis/)",
22
+ "warningLocalhost": "**重要:** 请勿使用 'localhost' 或 '127.0.0.1' — 请使用您的 ioBroker 服务器的实际 IP 地址!",
23
+ "supportHeader": "支持"
24
+ }
package/admin/icon.svg ADDED
@@ -0,0 +1,14 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <!-- Background circle -->
3
+ <circle cx="32" cy="32" r="30" fill="#41BDF5"/>
4
+
5
+ <!-- Home icon (simplified Home Assistant style) -->
6
+ <path d="M32 12 L12 28 L12 52 L24 52 L24 38 L40 38 L40 52 L52 52 L52 28 Z"
7
+ fill="white" stroke="white" stroke-width="2" stroke-linejoin="round"/>
8
+
9
+ <!-- Bridge connection symbol -->
10
+ <path d="M20 44 Q32 36 44 44"
11
+ fill="none" stroke="#41BDF5" stroke-width="3" stroke-linecap="round"/>
12
+ <circle cx="20" cy="44" r="3" fill="#41BDF5"/>
13
+ <circle cx="44" cy="44" r="3" fill="#41BDF5"/>
14
+ </svg>