iobroker.faikout 0.0.5

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 Immanuel
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,129 @@
1
+ ![Logo](admin/faikout.png)
2
+
3
+ # ioBroker.faikout
4
+
5
+ Connect Daikin air conditioners equipped with a [faikout](https://codeberg.org/RevK/ESP32-Faikout)
6
+ module to ioBroker — purely over MQTT, entirely local, no cloud and no vendor API.
7
+
8
+ The adapter brings **its own MQTT broker**. You point the faikout modules at it and that is all;
9
+ no separate broker, no `mqtt` adapter instance, and no interference with any MQTT setup you
10
+ already run.
11
+
12
+ ## Why a dedicated adapter
13
+
14
+ A faikout module also emulates the old local Daikin HTTP API, so it can be used with the
15
+ `daikin` adapter. Over MQTT, however, it exposes considerably more — in particular values the
16
+ HTTP API does not provide at all:
17
+
18
+ | Value | HTTP (`daikin` adapter) | MQTT (this adapter) |
19
+ |---|---|---|
20
+ | Indoor humidity | not reported | yes |
21
+ | Energy counters (total / heating / cooling) | not reported | yes |
22
+ | Current power draw | not reported | yes |
23
+ | Compressor speed | reported as 0 | yes |
24
+ | Fan speed | not reported | yes |
25
+ | Refrigerant temperature | not reported | yes |
26
+ | Demand limit, louvre angle, presets | not reported | yes |
27
+ | WiFi and device diagnostics | version only | yes |
28
+
29
+ ## Data points are created dynamically
30
+
31
+ A faikout module only publishes a field when the attached air conditioner actually supports it,
32
+ and its own settings can hide further ones. There is therefore **no fixed list of fields**: the
33
+ adapter creates exactly the data points it receives and silently omits the rest. Two units of
34
+ different models will legitimately end up with different object trees.
35
+
36
+ Fields the adapter does not know yet are still created, with a type derived from the value, and
37
+ noted in the log.
38
+
39
+ Objects are grouped per device:
40
+
41
+ - `<device>.control.*` — writable: power, mode, target temperature, fan, swing, preset, demand,
42
+ econo, powerful, comfort, streamer, sensor, LED, quiet, humidify
43
+ - `<device>.status.*` — readings: temperatures, humidity, energy, power, compressor and fan speed
44
+ - `<device>.info.*` — device diagnostics: IP, WiFi signal, uptime, firmware
45
+
46
+ ## Setup
47
+
48
+ 1. Install the adapter and open the instance configuration.
49
+ 2. Choose the broker port (default `1888`). It must not collide with another MQTT broker.
50
+ Optionally set a user name and password; leaving the user name empty accepts unauthenticated
51
+ connections, which is the usual case inside a home network.
52
+ 3. Open the web interface of each faikout module, go to **Settings → Basic** and set
53
+ **MQTT host** to `<ioBroker IP>:<port>`. The module reconnects on its own.
54
+
55
+ ### Running ioBroker in Docker
56
+
57
+ The broker port has to be published by the container, otherwise the modules cannot reach it.
58
+ Add a port mapping for the configured port.
59
+
60
+ ### Faster feedback
61
+
62
+ Out of the box a module reports its state every 60 seconds (`reporting` setting), so a command
63
+ is only confirmed with the next report — expect up to a minute. Enabling `livestatus` in the
64
+ module's **Extra** settings makes it report immediately.
65
+
66
+ ## Changelog
67
+
68
+ ### 0.0.5
69
+ - Meet the ioBroker repository requirements: updated dev dependencies, removed the deprecated
70
+ `common.main`, fixed responsive column widths, and translated the admin texts into the nine
71
+ remaining languages.
72
+
73
+ ### 0.0.4
74
+ - Fix: the admin rejected the whole configuration with "invalid jsonConfig". `instance` fields
75
+ do not allow `visible` (their schema sets `additionalProperties: false`); the condition
76
+ belongs in `hidden`. The configuration is now validated against the official schema.
77
+
78
+ ### 0.0.3
79
+ - Fix: consumption tracking crashed on every meter reading after updating from 0.0.1
80
+ ("Cannot read properties of undefined") because the stored state predates the day and month
81
+ buffers. Stored state is merged into a fresh default now.
82
+ - Fix: with no month recorded yet, the month rollover booked the whole meter reading as last
83
+ month's consumption (3783 kWh instead of the difference).
84
+ - `npm test` only ran the package checks; the unit tests now run with it.
85
+
86
+ ### 0.0.2
87
+ - New VIS widget **Energy history**: bar chart switchable between day, month and year, with
88
+ cooling and heating shown separately.
89
+ - Consumption now also covers the current and previous month, and keeps three series ready for
90
+ charting: `stundenJson` (48 hours), `tageJson` (62 days) and `monateJson` (24 months).
91
+
92
+ ### 0.0.1
93
+ - Initial version: own MQTT broker, dynamically created data points, writable controls.
94
+
95
+ ## Trademark and relationship to the hardware project
96
+
97
+ *Faikout* is a registered trademark of Andrews & Arnold Ltd. This adapter is an independent
98
+ piece of software and is neither affiliated with nor endorsed by Andrews & Arnold Ltd or the
99
+ authors of [ESP32-Faikout](https://codeberg.org/RevK/ESP32-Faikout). The name is used solely to
100
+ state which hardware the adapter talks to.
101
+
102
+ No source code from the hardware project is included. The adapter was written from scratch
103
+ against the MQTT interface; field names and value lists necessarily match, because that is what
104
+ the protocol prescribes. The hardware project is licensed under the GPL, this adapter under MIT
105
+ — they are separate works that communicate over a network protocol.
106
+
107
+ ## License
108
+
109
+ MIT License
110
+
111
+ Copyright (c) 2026 Immanuel
112
+
113
+ Permission is hereby granted, free of charge, to any person obtaining a copy
114
+ of this software and associated documentation files (the "Software"), to deal
115
+ in the Software without restriction, including without limitation the rights
116
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
117
+ copies of the Software, and to permit persons to whom the Software is
118
+ furnished to do so, subject to the following conditions:
119
+
120
+ The above copyright notice and this permission notice shall be included in all
121
+ copies or substantial portions of the Software.
122
+
123
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
129
+ SOFTWARE.
Binary file
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT-Broker",
3
+ "tabHilfe": "Einrichtung",
4
+ "headerBroker": "Eigener MQTT-Broker",
5
+ "textBroker": "Dieser Adapter bringt einen eigenen MQTT-Broker mit. Die faikout-Module müssen nur darauf zeigen, mehr ist nicht nötig.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Port, auf dem der Broker lauscht. Muss sich von anderen MQTT-Brokern unterscheiden (z. B. dem mqtt-Adapter).",
8
+ "labelUser": "Benutzername",
9
+ "helpUser": "Leer lassen, um Verbindungen ohne Anmeldung zuzulassen.",
10
+ "labelPass": "Passwort",
11
+ "helpPass": "Wird nur ausgewertet, wenn ein Benutzername gesetzt ist.",
12
+ "headerSetup": "Ein faikout-Modul einrichten",
13
+ "textSetup": "Weboberfläche des Moduls öffnen, Settings, Reiter Basic, dort 'MQTT host' auf <IP des ioBroker>:<Port von oben> setzen. Das Modul verbindet sich selbständig neu.",
14
+ "headerDocker": "ioBroker im Docker-Container",
15
+ "textDocker": "Der Broker-Port muss vom Container nach außen gemappt sein, sonst erreichen ihn die Module nicht. Für den oben eingestellten Port ein Portmapping ergänzen.",
16
+ "headerLive": "Schnellere Rückmeldung",
17
+ "textLive": "Ab Werk meldet ein Modul seinen Zustand alle 60 Sekunden ('reporting') - ein Befehl wird deshalb erst mit der nächsten Meldung bestätigt. Die Einstellung 'livestatus' in den Extra-Einstellungen des Moduls lässt es sofort melden.",
18
+ "tabVerbrauch": "Verbrauch",
19
+ "headerVerbrauch": "Verbrauchshistorie",
20
+ "textVerbrauch": "Die Anlagen melden nur Gesamtzähler. Der Adapter bildet daraus Stunden- und Tagesverbrauch (verbrauch.*), lässt die Gesamtzähler unangetastet (status.*) und legt die letzten 48 Stunden als JSON für das Widget ab.",
21
+ "labelHistoryAnmelden": "Verbrauch über den History-Adapter aufzeichnen",
22
+ "helpHistoryAnmelden": "Meldet die Verbrauchs-Datenpunkte automatisch zur Aufzeichnung an, damit Diagramme ohne Handarbeit an jedem einzelnen Punkt funktionieren.",
23
+ "labelHistoryInstanz": "History-Instanz",
24
+ "helpHistoryInstanz": "Instanz, welche die Reihen speichert."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "This adapter runs its own MQTT broker. Point the faikout modules at it; nothing else is needed.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Port the broker listens on. Must differ from any other MQTT broker (e.g. the mqtt adapter).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Leave empty to accept connections without authentication.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Only used when a user name is set.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Open the module's web interface, go to Settings, tab Basic, and set 'MQTT host' to <ioBroker IP>:<port above>. The module reconnects on its own.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "The broker port must be published by the container, otherwise the modules cannot reach it. Add a port mapping for the port configured above.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "By default a module reports its status every 60 seconds ('reporting'), so a command is confirmed only with the next report. Enabling 'livestatus' in the module's Extra settings makes it report immediately.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "The units only report lifetime counters. The adapter derives hourly and daily consumption from them (verbrauch.*), keeps the totals unchanged (status.*) and stores the last 48 hours as JSON for the widget.",
21
+ "labelHistoryAnmelden": "Log consumption with the history adapter",
22
+ "helpHistoryAnmelden": "Registers the consumption data points for recording automatically, so charts work without configuring each point by hand.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Este adaptador ejecuta su propio broker MQTT. Apunte los módulos faikout hacia él; no se necesita nada más.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Puerto en el que escucha el broker. Debe ser distinto de cualquier otro broker MQTT (por ejemplo, el adaptador mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Déjelo vacío para aceptar conexiones sin autenticación.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Solo se utiliza cuando se ha indicado un nombre de usuario.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Abra la interfaz web del módulo, vaya a Ajustes, pestaña Basic, y ponga 'MQTT host' en <IP de ioBroker>:<puerto de arriba>. El módulo se reconecta solo.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "El contenedor debe publicar el puerto del broker; de lo contrario los módulos no pueden alcanzarlo. Añada una asignación de puerto para el puerto configurado arriba.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "De forma predeterminada, un módulo informa de su estado cada 60 segundos ('reporting'), por lo que una orden solo se confirma con el siguiente informe. Activar 'livestatus' en los ajustes Extra del módulo hace que informe de inmediato.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Las unidades solo informan de contadores acumulados. El adaptador deriva de ellos el consumo por hora y por día (verbrauch.*), mantiene los totales sin cambios (status.*) y guarda las últimas 48 horas como JSON para el widget.",
21
+ "labelHistoryAnmelden": "Registrar el consumo con el adaptador history",
22
+ "helpHistoryAnmelden": "Da de alta automáticamente los puntos de datos de consumo para su registro, de modo que los gráficos funcionan sin configurar cada punto a mano.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Cet adaptateur exécute son propre broker MQTT. Dirigez-y les modules faikout ; rien d'autre n'est nécessaire.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Port d'écoute du broker. Il doit différer de tout autre broker MQTT (par exemple l'adaptateur mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Laisser vide pour accepter les connexions sans authentification.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Utilisé uniquement lorsqu'un nom d'utilisateur est défini.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Ouvrez l'interface web du module, allez dans Settings, onglet Basic, et réglez « MQTT host » sur <IP ioBroker>:<port ci-dessus>. Le module se reconnecte tout seul.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "Le port du broker doit être publié par le conteneur, sinon les modules ne peuvent pas l'atteindre. Ajoutez un mappage pour le port configuré ci-dessus.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Par défaut, un module signale son état toutes les 60 secondes (« reporting ») ; une commande n'est donc confirmée qu'au rapport suivant. Activer « livestatus » dans les réglages Extra du module le fait répondre immédiatement.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Les unités ne fournissent que des compteurs cumulés. L'adaptateur en déduit la consommation horaire et journalière (verbrauch.*), conserve les totaux inchangés (status.*) et enregistre les 48 dernières heures en JSON pour le widget.",
21
+ "labelHistoryAnmelden": "Enregistrer la consommation avec l'adaptateur history",
22
+ "helpHistoryAnmelden": "Inscrit automatiquement les points de données de consommation à l'enregistrement, afin que les graphiques fonctionnent sans configurer chaque point à la main.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Questo adapter esegue un proprio broker MQTT. Puntare i moduli faikout su di esso; non serve altro.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Porta su cui è in ascolto il broker. Deve essere diversa da quella di altri broker MQTT (ad esempio l'adapter mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Lasciare vuoto per accettare connessioni senza autenticazione.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Usato solo quando è impostato un nome utente.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Aprire l'interfaccia web del modulo, andare in Settings, scheda Basic, e impostare 'MQTT host' su <IP di ioBroker>:<porta indicata sopra>. Il modulo si riconnette da solo.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "La porta del broker deve essere pubblicata dal container, altrimenti i moduli non possono raggiungerla. Aggiungere un mapping per la porta configurata sopra.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Per impostazione predefinita un modulo comunica il proprio stato ogni 60 secondi ('reporting'), quindi un comando viene confermato solo con la segnalazione successiva. Attivando 'livestatus' nelle impostazioni Extra del modulo la segnalazione è immediata.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Le unità comunicano solo contatori cumulativi. L'adapter ne ricava il consumo orario e giornaliero (verbrauch.*), lascia invariati i totali (status.*) e memorizza le ultime 48 ore in JSON per il widget.",
21
+ "labelHistoryAnmelden": "Registrare il consumo con l'adapter history",
22
+ "helpHistoryAnmelden": "Registra automaticamente i datapoint di consumo, così i grafici funzionano senza configurare ogni punto a mano.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Deze adapter draait een eigen MQTT-broker. Richt de faikout-modules daarop; meer is niet nodig.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Poort waarop de broker luistert. Moet verschillen van elke andere MQTT-broker (bijvoorbeeld de mqtt-adapter).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Laat leeg om verbindingen zonder authenticatie toe te staan.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Wordt alleen gebruikt als een gebruikersnaam is ingesteld.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Open de webinterface van de module, ga naar Settings, tabblad Basic, en zet 'MQTT host' op <ioBroker-IP>:<poort hierboven>. De module maakt zelf opnieuw verbinding.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "De brokerpoort moet door de container worden gepubliceerd, anders kunnen de modules hem niet bereiken. Voeg een portmapping toe voor de hierboven ingestelde poort.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Standaard meldt een module zijn status elke 60 seconden ('reporting'), waardoor een opdracht pas bij de volgende melding wordt bevestigd. Met 'livestatus' in de Extra-instellingen van de module meldt hij direct.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "De units melden alleen tellerstanden. De adapter leidt daaruit het uur- en dagverbruik af (verbrauch.*), laat de totalen ongewijzigd (status.*) en bewaart de laatste 48 uur als JSON voor de widget.",
21
+ "labelHistoryAnmelden": "Verbruik vastleggen met de history-adapter",
22
+ "helpHistoryAnmelden": "Meldt de verbruiksdatapunten automatisch aan voor registratie, zodat grafieken werken zonder elk punt handmatig in te stellen.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Ten adapter uruchamia własnego brokera MQTT. Skieruj na niego moduły faikout; nic więcej nie jest potrzebne.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Port nasłuchu brokera. Musi różnić się od innych brokerów MQTT (np. adaptera mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Pozostaw puste, aby akceptować połączenia bez uwierzytelniania.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Używane tylko wtedy, gdy ustawiono nazwę użytkownika.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Otwórz interfejs webowy modułu, przejdź do Settings, zakładka Basic, i ustaw 'MQTT host' na <IP ioBrokera>:<port powyżej>. Moduł połączy się ponownie samodzielnie.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "Port brokera musi być opublikowany przez kontener, inaczej moduły go nie osiągną. Dodaj mapowanie dla portu ustawionego powyżej.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Domyślnie moduł zgłasza swój stan co 60 sekund ('reporting'), więc polecenie zostaje potwierdzone dopiero przy kolejnym zgłoszeniu. Włączenie 'livestatus' w ustawieniach Extra modułu powoduje natychmiastowe zgłaszanie.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Jednostki podają wyłącznie liczniki sumaryczne. Adapter wylicza z nich zużycie godzinowe i dobowe (verbrauch.*), pozostawia sumy bez zmian (status.*) i zapisuje ostatnie 48 godzin jako JSON dla widgetu.",
21
+ "labelHistoryAnmelden": "Rejestruj zużycie w adapterze history",
22
+ "helpHistoryAnmelden": "Automatycznie zgłasza punkty danych zużycia do rejestracji, dzięki czemu wykresy działają bez ręcznej konfiguracji każdego punktu.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Este adaptador executa o seu próprio broker MQTT. Aponte os módulos faikout para ele; não é preciso mais nada.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Porta em que o broker escuta. Tem de ser diferente de qualquer outro broker MQTT (por exemplo, o adaptador mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Deixe vazio para aceitar ligações sem autenticação.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Só é utilizado quando está definido um nome de utilizador.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Abra a interface web do módulo, vá a Settings, separador Basic, e defina 'MQTT host' como <IP do ioBroker>:<porta acima>. O módulo volta a ligar-se sozinho.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "A porta do broker tem de ser publicada pelo contentor, caso contrário os módulos não lhe conseguem chegar. Adicione um mapeamento para a porta configurada acima.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Por predefinição, um módulo comunica o seu estado a cada 60 segundos ('reporting'), pelo que um comando só é confirmado na comunicação seguinte. Ativar 'livestatus' nas definições Extra do módulo faz com que comunique de imediato.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "As unidades comunicam apenas contadores acumulados. O adaptador deriva deles o consumo horário e diário (verbrauch.*), mantém os totais inalterados (status.*) e guarda as últimas 48 horas em JSON para o widget.",
21
+ "labelHistoryAnmelden": "Registar o consumo com o adaptador history",
22
+ "helpHistoryAnmelden": "Regista automaticamente os pontos de dados de consumo, para que os gráficos funcionem sem configurar cada ponto à mão.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Адаптер запускает собственный MQTT-брокер. Направьте на него модули faikout — больше ничего не требуется.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Порт, который слушает брокер. Должен отличаться от других MQTT-брокеров (например, адаптера mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Оставьте пустым, чтобы принимать подключения без аутентификации.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Используется только при заданном имени пользователя.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Откройте веб-интерфейс модуля, перейдите в Settings, вкладка Basic, и укажите в «MQTT host» <IP ioBroker>:<порт выше>. Модуль переподключится сам.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "Порт брокера должен быть опубликован контейнером, иначе модули до него не достучатся. Добавьте проброс для порта, заданного выше.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "По умолчанию модуль сообщает состояние каждые 60 секунд («reporting»), поэтому команда подтверждается лишь со следующим отчётом. Включение «livestatus» в разделе Extra настроек модуля включает мгновенную отправку.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Устройства сообщают только накопительные счётчики. Адаптер вычисляет из них почасовое и суточное потребление (verbrauch.*), оставляет итоги без изменений (status.*) и хранит последние 48 часов в JSON для виджета.",
21
+ "labelHistoryAnmelden": "Записывать потребление через адаптер history",
22
+ "helpHistoryAnmelden": "Автоматически включает запись точек данных потребления, чтобы графики работали без ручной настройки каждой точки.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "Адаптер запускає власний MQTT-брокер. Спрямуйте на нього модулі faikout — більше нічого не потрібно.",
6
+ "labelPort": "Port",
7
+ "helpPort": "Порт, який слухає брокер. Має відрізнятися від інших MQTT-брокерів (наприклад, адаптера mqtt).",
8
+ "labelUser": "User name",
9
+ "helpUser": "Залиште порожнім, щоб приймати підключення без автентифікації.",
10
+ "labelPass": "Password",
11
+ "helpPass": "Використовується лише за наявності імені користувача.",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "Відкрийте вебінтерфейс модуля, перейдіть у Settings, вкладка Basic, і вкажіть у «MQTT host» <IP ioBroker>:<порт вище>. Модуль перепідключиться сам.",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "Порт брокера має бути опублікований контейнером, інакше модулі до нього не достукаються. Додайте проброс для порту, заданого вище.",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "Типово модуль повідомляє стан кожні 60 секунд («reporting»), тому команда підтверджується лише з наступним звітом. Увімкнення «livestatus» у розділі Extra налаштувань модуля вмикає миттєве надсилання.",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "Пристрої повідомляють лише накопичувальні лічильники. Адаптер обчислює з них погодинне та добове споживання (verbrauch.*), залишає підсумки без змін (status.*) і зберігає останні 48 годин у JSON для віджета.",
21
+ "labelHistoryAnmelden": "Записувати споживання через адаптер history",
22
+ "helpHistoryAnmelden": "Автоматично вмикає запис точок даних споживання, щоб графіки працювали без ручного налаштування кожної точки.",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tabBroker": "MQTT broker",
3
+ "tabHilfe": "Setup",
4
+ "headerBroker": "Own MQTT broker",
5
+ "textBroker": "本适配器自带 MQTT 代理。将 faikout 模块指向它即可,无需其他设置。",
6
+ "labelPort": "Port",
7
+ "helpPort": "代理监听的端口。必须与其他 MQTT 代理(例如 mqtt 适配器)不同。",
8
+ "labelUser": "User name",
9
+ "helpUser": "留空则接受无需认证的连接。",
10
+ "labelPass": "Password",
11
+ "helpPass": "仅在设置了用户名时使用。",
12
+ "headerSetup": "Setting up a faikout module",
13
+ "textSetup": "打开模块的网页界面,进入 Settings 的 Basic 选项卡,将 “MQTT host” 设为 <ioBroker IP>:<上面的端口>。模块会自行重新连接。",
14
+ "headerDocker": "Running ioBroker in Docker",
15
+ "textDocker": "容器必须发布代理端口,否则模块无法访问。请为上面配置的端口添加端口映射。",
16
+ "headerLive": "Faster feedback",
17
+ "textLive": "模块默认每 60 秒上报一次状态(reporting),因此指令要到下一次上报才被确认。在模块的 Extra 设置中启用 livestatus 可让其立即上报。",
18
+ "tabVerbrauch": "Consumption",
19
+ "headerVerbrauch": "Consumption history",
20
+ "textVerbrauch": "设备只上报累计计数。适配器由此推算每小时和每天的能耗(verbrauch.*),保持总计不变(status.*),并将最近 48 小时以 JSON 保存供控件使用。",
21
+ "labelHistoryAnmelden": "使用 history 适配器记录能耗",
22
+ "helpHistoryAnmelden": "自动将能耗数据点登记为记录对象,无需逐个手动配置即可生成图表。",
23
+ "labelHistoryInstanz": "History instance",
24
+ "helpHistoryInstanz": "Instance that stores the series."
25
+ }
@@ -0,0 +1,187 @@
1
+ {
2
+ "i18n": true,
3
+ "type": "tabs",
4
+ "items": {
5
+ "tabBroker": {
6
+ "type": "panel",
7
+ "label": "tabBroker",
8
+ "items": {
9
+ "hinweis": {
10
+ "type": "header",
11
+ "size": 4,
12
+ "text": "headerBroker",
13
+ "xs": 12,
14
+ "sm": 12,
15
+ "md": 12,
16
+ "lg": 12,
17
+ "xl": 12
18
+ },
19
+ "erklaerung": {
20
+ "type": "staticText",
21
+ "text": "textBroker",
22
+ "xs": 12,
23
+ "sm": 12,
24
+ "md": 12,
25
+ "lg": 12,
26
+ "xl": 12
27
+ },
28
+ "port": {
29
+ "type": "number",
30
+ "label": "labelPort",
31
+ "help": "helpPort",
32
+ "min": 1,
33
+ "max": 65535,
34
+ "default": 1888,
35
+ "xs": 12,
36
+ "sm": 12,
37
+ "md": 6,
38
+ "lg": 4,
39
+ "xl": 4
40
+ },
41
+ "_leer": {
42
+ "type": "staticText",
43
+ "text": "",
44
+ "xs": 12,
45
+ "sm": 12,
46
+ "md": 6,
47
+ "lg": 6,
48
+ "xl": 6
49
+ },
50
+ "user": {
51
+ "type": "text",
52
+ "label": "labelUser",
53
+ "help": "helpUser",
54
+ "xs": 12,
55
+ "sm": 12,
56
+ "md": 6,
57
+ "lg": 4,
58
+ "xl": 4
59
+ },
60
+ "pass": {
61
+ "type": "password",
62
+ "label": "labelPass",
63
+ "help": "helpPass",
64
+ "hidden": "!data.user",
65
+ "xs": 12,
66
+ "sm": 12,
67
+ "md": 6,
68
+ "lg": 4,
69
+ "xl": 4
70
+ }
71
+ }
72
+ },
73
+ "tabVerbrauch": {
74
+ "type": "panel",
75
+ "label": "tabVerbrauch",
76
+ "items": {
77
+ "hVerbrauch": {
78
+ "type": "header",
79
+ "size": 4,
80
+ "text": "headerVerbrauch",
81
+ "xs": 12,
82
+ "sm": 12,
83
+ "md": 12,
84
+ "lg": 12,
85
+ "xl": 12
86
+ },
87
+ "tVerbrauch": {
88
+ "type": "staticText",
89
+ "text": "textVerbrauch",
90
+ "xs": 12,
91
+ "sm": 12,
92
+ "md": 12,
93
+ "lg": 12,
94
+ "xl": 12
95
+ },
96
+ "historyAnmelden": {
97
+ "type": "checkbox",
98
+ "label": "labelHistoryAnmelden",
99
+ "help": "helpHistoryAnmelden",
100
+ "default": true,
101
+ "xs": 12,
102
+ "sm": 12,
103
+ "md": 12,
104
+ "lg": 6,
105
+ "xl": 6
106
+ },
107
+ "historyInstanz": {
108
+ "type": "instance",
109
+ "adapter": "history",
110
+ "hidden": "!data.historyAnmelden",
111
+ "allowDeactivate": false,
112
+ "label": "labelHistoryInstanz",
113
+ "help": "helpHistoryInstanz",
114
+ "default": "history.0",
115
+ "xs": 12,
116
+ "sm": 12,
117
+ "md": 12,
118
+ "lg": 6,
119
+ "xl": 6
120
+ }
121
+ }
122
+ },
123
+ "tabHilfe": {
124
+ "type": "panel",
125
+ "label": "tabHilfe",
126
+ "items": {
127
+ "h1": {
128
+ "type": "header",
129
+ "size": 4,
130
+ "text": "headerSetup",
131
+ "xs": 12,
132
+ "sm": 12,
133
+ "md": 12,
134
+ "lg": 12,
135
+ "xl": 12
136
+ },
137
+ "t1": {
138
+ "type": "staticText",
139
+ "text": "textSetup",
140
+ "xs": 12,
141
+ "sm": 12,
142
+ "md": 12,
143
+ "lg": 12,
144
+ "xl": 12
145
+ },
146
+ "h2": {
147
+ "type": "header",
148
+ "size": 5,
149
+ "text": "headerDocker",
150
+ "xs": 12,
151
+ "sm": 12,
152
+ "md": 12,
153
+ "lg": 12,
154
+ "xl": 12
155
+ },
156
+ "t2": {
157
+ "type": "staticText",
158
+ "text": "textDocker",
159
+ "xs": 12,
160
+ "sm": 12,
161
+ "md": 12,
162
+ "lg": 12,
163
+ "xl": 12
164
+ },
165
+ "h3": {
166
+ "type": "header",
167
+ "size": 5,
168
+ "text": "headerLive",
169
+ "xs": 12,
170
+ "sm": 12,
171
+ "md": 12,
172
+ "lg": 12,
173
+ "xl": 12
174
+ },
175
+ "t3": {
176
+ "type": "staticText",
177
+ "text": "textLive",
178
+ "xs": 12,
179
+ "sm": 12,
180
+ "md": 12,
181
+ "lg": 12,
182
+ "xl": 12
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }