iobroker.sonoff 3.3.0 → 4.2.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.
Files changed (46) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +96 -170
  3. package/admin/i18n/{de/translations.json → de.json} +37 -12
  4. package/admin/i18n/{en/translations.json → en.json} +37 -12
  5. package/admin/i18n/{es/translations.json → es.json} +37 -12
  6. package/admin/i18n/{fr/translations.json → fr.json} +37 -12
  7. package/admin/i18n/{it/translations.json → it.json} +37 -12
  8. package/admin/i18n/{nl/translations.json → nl.json} +37 -12
  9. package/admin/i18n/{pl/translations.json → pl.json} +37 -12
  10. package/admin/i18n/{pt/translations.json → pt.json} +37 -12
  11. package/admin/i18n/{ru/translations.json → ru.json} +37 -12
  12. package/admin/i18n/{uk/translations.json → uk.json} +37 -12
  13. package/admin/i18n/{zh-cn/translations.json → zh-cn.json} +37 -12
  14. package/admin/jsonConfig.json +427 -228
  15. package/build/lib/bridge.js +512 -0
  16. package/build/lib/bridge.js.map +1 -0
  17. package/build/lib/checkStates.js +68 -0
  18. package/build/lib/checkStates.js.map +1 -0
  19. package/{lib → build/lib}/datapoints.js +61 -1
  20. package/build/lib/datapoints.js.map +1 -0
  21. package/build/lib/deviceManager.js +898 -0
  22. package/build/lib/deviceManager.js.map +1 -0
  23. package/build/lib/i18n/de.json +61 -0
  24. package/build/lib/i18n/en.json +61 -0
  25. package/build/lib/i18n/es.json +61 -0
  26. package/build/lib/i18n/fr.json +61 -0
  27. package/build/lib/i18n/it.json +61 -0
  28. package/build/lib/i18n/nl.json +61 -0
  29. package/build/lib/i18n/pl.json +61 -0
  30. package/build/lib/i18n/pt.json +61 -0
  31. package/build/lib/i18n/ru.json +61 -0
  32. package/build/lib/i18n/uk.json +61 -0
  33. package/build/lib/i18n/zh-cn.json +61 -0
  34. package/build/lib/mqttBase.js +1308 -0
  35. package/build/lib/mqttBase.js.map +1 -0
  36. package/build/lib/server.js +485 -0
  37. package/build/lib/server.js.map +1 -0
  38. package/build/main.js +110 -0
  39. package/build/main.js.map +1 -0
  40. package/io-package.json +47 -30
  41. package/package.json +26 -21
  42. package/admin/index.html +0 -177
  43. package/admin/index_m.html +0 -218
  44. package/admin/words.js +0 -75
  45. package/lib/server.js +0 -2086
  46. package/main.js +0 -104
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014-2025 bluefox <dogafox@gmail.com>
3
+ Copyright (c) 2014-2026 bluefox <dogafox@gmail.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -15,14 +15,14 @@
15
15
  If you only have Tasmotas speaking MQTT protocol go for `ioBroker.sonoff`.
16
16
  For other scenarios, consider the different options:
17
17
 
18
- | Feature | ioBroker.sonoff | [ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in broker mode) | [ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in client mode) | [ioBroker.mqtt-client](https://github.com/Pmant/ioBroker.mqtt-client/) |
19
- |-----------------------------------------------|------------------|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------|
20
- | Has a built-in MQTT broker | yes | yes | no | no |
21
- | Relays messages to other MQTT subscribers | NO!!! | yes | not applicable | not applicable |
22
- | External MQTT broker | unsupported | unsupported | required | required |
23
- | Tasmota MQTT messages to ioBroker Objects | smart processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages |
24
- | non-Tasmota MQTT messages to ioBroker Objects | no processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages |
25
- | publish ioBroker values as MQTT messages | none | configured subtrees | configured subtrees | individually configured values |
18
+ | Feature | ioBroker.sonoff | [ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in broker mode) | [ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in client mode) | [ioBroker.mqtt-client](https://github.com/Pmant/ioBroker.mqtt-client/) |
19
+ |-----------------------------------------------|------------------------|--------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------|
20
+ | Has a built-in MQTT broker | yes | yes | no | no |
21
+ | Relays messages to other MQTT subscribers | NO!!! | yes | not applicable | not applicable |
22
+ | External MQTT broker | optional (bridge mode) | unsupported | required | required |
23
+ | Tasmota MQTT messages to ioBroker Objects | smart processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages |
24
+ | non-Tasmota MQTT messages to ioBroker Objects | no processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages |
25
+ | publish ioBroker values as MQTT messages | none | configured subtrees | configured subtrees | individually configured values |
26
26
 
27
27
  ## Usage
28
28
 
@@ -92,6 +92,51 @@ The following topics are expected:
92
92
 
93
93
  **Note**: The list could be easily extended. Please send `Pull Requests` or *debug data* for unknown states to the developer (via issue).
94
94
 
95
+ ## Bridge mode
96
+
97
+ By default the adapter runs a built-in TCP broker that Tasmota devices connect to directly. If you already run a dedicated MQTT broker (e.g. Mosquitto) you can use bridge mode instead — the adapter connects to your existing broker as a client.
98
+
99
+ ### Configuration
100
+
101
+ In the adapter settings, activate **Use external MQTT broker** and set **External broker URL** to your broker address, e.g. `mqtt://192.168.1.10:1883` or just `192.168.1.10:1883`. Optionally set username and password. If the option is deactivated (or no URL is entered), the built-in broker is started as before.
102
+
103
+ **Topics to subscribe** defines which topics the adapter listens to, by default `tele/#, stat/#, +/tele/+, +/stat/+`. Extend this list if your devices use other topics, e.g. OpenBeken devices, which publish to `<devicename>/...`, or a global prefix in the full topic (`myPrefix/tele/#`).
104
+
105
+ Optionally you can set the **Client ID** used at the broker (default `iobroker_sonoff_<instance>`), the **Keepalive** interval and **Clean session**. Deactivate the clean session if the broker should store the messages of the devices while the adapter is not running.
106
+
107
+ ### Full topic structures
108
+
109
+ The usual Tasmota `FullTopic` settings are supported and detected automatically per device, commands are sent back in the same structure:
110
+
111
+ | FullTopic | Example | Command |
112
+ |---|---|---|
113
+ | `%prefix%/%topic%/` (default) | `tele/lamp/STATE` | `cmnd/lamp/POWER` |
114
+ | `%topic%/%prefix%/` | `lamp/tele/STATE` | `lamp/cmnd/POWER` |
115
+ | `gateway/%prefix%/%topic%/` | `gateway/tele/lamp/STATE` | `gateway/cmnd/lamp/POWER` |
116
+ | `gateway/%topic%/%prefix%/` | `gateway/lamp/tele/STATE` | `gateway/lamp/cmnd/POWER` |
117
+
118
+ Nested topics like `tele/house/floor1/lamp/STATE` work as well. A fix prefix in front of the full topic (last two lines, e.g. for several gateways on one broker) is only recognized if the subscriptions cover it, so add e.g. `gateway/tele/#, gateway/stat/#` to **Topics to subscribe**. The same is true for the `%topic%/%prefix%/` structure, which is covered by `+/tele/+, +/stat/+` by default.
119
+
120
+ ### Encrypted connections
121
+
122
+ Use `mqtts://broker:8883` (or `wss://`) as URL. For self-signed certificates deactivate **Check the certificate of the broker**, or enter the path to your **CA certificate**. If the broker requires client certificates, the paths to the **client certificate** and the **client key** can be entered too. The files are read from the file system of the ioBroker host.
123
+
124
+ ### Device naming
125
+
126
+ In bridge mode the adapter cannot see the MQTT CONNECT packets of the devices (MQTT protocol limitation), so the name of a device is taken from its messages:
127
+
128
+ 1. `MqttClient` from `stat/<topic>/STATUS6` - this is the MQTT client ID, so the devices get the same names as with the built-in broker. The adapter requests this information (`cmnd/<topic>/Status 6`) as soon as an unknown device appears.
129
+ 2. `Hostname` from `tele/<topic>/STATE`, `tele/<topic>/INFO2` or `stat/<topic>/STATUS5`, if the device does not answer the status request.
130
+ 3. The topic itself, if nothing arrives within 30 seconds (e.g. devices with custom firmware).
131
+
132
+ A device is only renamed if the new name comes from the same or a better source, so the objects do not change back and forth. If a device is renamed in Tasmota, the adapter renames the corresponding ioBroker objects, but references in other adapters (history, VIS, ...) must be adjusted manually.
133
+
134
+ Because the external broker keeps running while the adapter restarts, the devices do not repeat their boot messages. To fill `INFO.Hostname`, `INFO.IPAddress` and `INFO.Version`, the adapter requests them (`cmnd/<topic>/Status 5` and `cmnd/<topic>/Status 2`) when a device is seen the first time. `Module` (from INFO1) cannot be requested and stays empty.
135
+
136
+ ### Availability
137
+
138
+ With the built-in broker the `alive` state follows the TCP connection of the device. In bridge mode the last will topic (`tele/<topic>/LWT`) is used instead: `Online` sets `alive` to true, `Offline` to false.
139
+
95
140
  ## Auto-creation of objects
96
141
  In the web config, you can determine which MQTT telegrams create the new objects not in default data points:
97
142
 
@@ -104,7 +149,7 @@ Usually TELE_SENSOR should be sufficient for most users.
104
149
  * `Create object tree` creates objects as tree structure
105
150
 
106
151
  **Warning!** This option will mess up your sonoff object tree! You have to redo all the settings for storage...
107
- Store the object structure as JSON file, so you can recreate your old structure.
152
+ Store the object structure as a JSON file, so you can recreate your old structure.
108
153
  Best is to stop the adapter, delete all objects under sonoff and start the adapter again.
109
154
 
110
155
  ## Flags for LED controllers
@@ -122,25 +167,48 @@ States:
122
167
  ### **WORK IN PROGRESS**
123
168
  -->
124
169
  ## Changelog
170
+ ### 4.2.0 (2026-09-07)
171
+ * (@patricknitsch) Added Device Manager for existing devices
172
+
173
+ ### 4.0.0 (2026-08-13)
174
+ * (ioBroker-Bot) Adapter requires js-controller >= 6.0.11 now.
175
+ * (stony2k) Added bridge mode to connect to an external MQTT broker instead of running a built-in broker
176
+ * (stony2k) Fixed the alive state object not being created (warning "has no existing object")
177
+ * (@GermanBluefox/GreatSUN) Fixed the names of data points inside a group: since 3.3.0 e.g. `SML_Total_in` was created as `SML_in` (#489)
178
+ * (@GermanBluefox/baetzst) The MAC address and the other network and firmware information of a device are stored as data points (`INFO.Mac`, `INFO.Gateway`, `INFO.Hardware`, ...) (#513)
179
+ * (@GermanBluefox) Server mode: the adapter requests `Status 5` and `Status 2` from a device with its first message, so the INFO states are filled even if the device did not reboot
180
+ * (@GermanBluefox) The states which were created with a shortened name by 3.3.x are listed in the log on start, so they can be deleted (#489)
181
+ * (@GermanBluefox) Bridge mode: the topics to subscribe are configurable now, and nested full topics as well as OpenBeken topics are supported
182
+ * (@GermanBluefox) Bridge mode: devices are named after their MQTT client ID like with the built-in broker and are no longer renamed by less reliable sources
183
+ * (@GermanBluefox) Bridge mode: the `alive` state is set from the last will topic (LWT), so devices are recognized as offline
184
+ * (@GermanBluefox) Commands for auto-created states are sent to `cmnd/...` again, also for nested full topics
185
+ * (@GermanBluefox) `info.connection` contains the list of the connected clients again (server mode), in bridge mode the URL of the broker
186
+ * (@GermanBluefox/patricknitsch) Bridge mode: support for the full topic structure `%topic%/%prefix%/` (device first), detected automatically per device
187
+ * (@GermanBluefox/patricknitsch) Bridge mode: encrypted connections with CA/client certificates and optional certificate check, configurable client ID, keepalive and clean session
188
+ * (@GermanBluefox/patricknitsch) Bridge mode: a fix prefix in front of the full topic (e.g. `gateway/tele/device/STATE`) is recognized and used for the commands
189
+ * (@Apollon77/@copilot) Added support for OpenBeken LED datapoints (led_enableAll, led_dimmer, led_temperature, led_basecolor_rgb, led_finalcolor_rgbcw, led_basecolor_rgbcw, led_hue, led_saturation) - enables control of OpenBeken LED devices with automatic topic mapping for /get and /set suffixes
190
+ * (@Apollon77/@copilot) Added PulseTime1-PulseTime16 datapoint support - users can now read and set PulseTime values directly from ioBroker to control relay auto-off timers
191
+ * (@GermanBluefox) Breaking: a minimal supported Node.js version is now 22
192
+
125
193
  ### 3.3.0 (2025-09-20)
126
- * (@Apollon77/@copilot) **IMPORTANT**: Commands now correctly use cmnd/ prefix instead of tele/ prefix
194
+ * (@Apollon77/@copilot) **IMPORTANT**: Commands now correctly use `cmnd/` prefix instead of `tele/` prefix
127
195
  * (@Apollon77/@copilot) Added configuration for advanced MQTT settings
128
- * (@Apollon77/@copilot) Fix shutter command mapping to use correct Tasmota format - Transforms Shutter1_Position to ShutterPosition1 for proper device control
129
- * (@Apollon77/@copilot) Fix IRHVAC Power, Light and Mode fields showing NULL instead of actual string values
130
- * (@Apollon77/@copilot) Add Zigbee device control support for Tasmota coordinators - users can now control Zigbee devices (Power/Dimmer) through ioBroker states via automatic ZbSend command generation
131
- * (@Apollon77/@copilot) Add support for Tasmota tele/MARGINS messages enabling integration of PowerLow, PowerHigh, and PowerDelta limits
132
- * (@Apollon77/@copilot) Fix POW R2 energy datapoints not being created by enabling TELE_STATE by default
133
- * (@Apollon77/@copilot) Fix pressure and temperature unit display to respect PressureUnit and TempUnit from Tasmota MQTT messages
134
- * (@Apollon77/@copilot) Add support for decoupled button actions in Tasmota devices - creates Button1-Button8 datapoints for button events
135
- * (@Apollon77/@copilot) Fix RESULT message processing bug where tele/*/RESULT messages were incorrectly processed as WAKEUP instead of RESULT
136
- * (@Apollon77/@copilot) Fix deprecated value.power.consumption role for ENERGY_Power datapoint to improve device detection
137
- * (@Apollon77/@copilot) Add support for SHUTTER5-SHUTTER16 datapoints for ESP32 shutter32 devices
138
- * (@Apollon77/@copilot) Update admin UI responsive design to use ioBroker standard values for mobile compatibility
139
- * (@Apollon77/@copilot) Add support for Sonoff B1 (RGB LED) and Sonoff SC (Environmental Sensor) devices with proper value ranges
140
- * (@Apollon77/@copilot) Add meaningful state labels for Scheme datapoint (color animation schemes)
141
- * (@Apollon77/@copilot) Add configuration option to suppress "not connected" warnings for temporarily offline devices
142
- * (@Apollon77/@copilot) Add Switch5-Switch28 datapoint definitions for consistent boolean mapping
143
- * (@Apollon77/@copilot) Fix write flag for all Switch datapoints to enable proper control from ioBroker
196
+ * (@Apollon77/@copilot) Fixed shutter command mapping to use the correct Tasmota format - Transforms Shutter1_Position to ShutterPosition1 for proper device control
197
+ * (@Apollon77/@copilot) Fixed IRHVAC Power, Light and Mode fields showing NULL instead of actual string values
198
+ * (@Apollon77/@copilot) Added Zigbee device control support for Tasmota coordinators - users can now control Zigbee devices (Power/Dimmer) through ioBroker states via automatic ZbSend command generation
199
+ * (@Apollon77/@copilot) Added support for Tasmota tele/MARGINS messages enabling integration of PowerLow, PowerHigh, and PowerDelta limits
200
+ * (@Apollon77/@copilot) Fixed POW R2 energy datapoints not being created by enabling TELE_STATE by default
201
+ * (@Apollon77/@copilot) Fixed pressure and temperature unit display to respect PressureUnit and TempUnit from Tasmota MQTT messages
202
+ * (@Apollon77/@copilot) Added support for decoupled button actions in Tasmota devices - creates Button1-Button8 datapoints for button events
203
+ * (@Apollon77/@copilot) Fixed RESULT message processing bug where tele/*/RESULT messages were incorrectly processed as WAKEUP instead of RESULT
204
+ * (@Apollon77/@copilot) Fixed the deprecated value.power.consumption role for ENERGY_Power datapoint to improve device detection
205
+ * (@Apollon77/@copilot) Added support for SHUTTER5-SHUTTER16 datapoints for ESP32 shutter32 devices
206
+ * (@Apollon77/@copilot) Updated admin UI responsive design to use ioBroker standard values for mobile compatibility
207
+ * (@Apollon77/@copilot) Added support for Sonoff B1 (RGB LED) and Sonoff SC (Environmental Sensor) devices with proper value ranges
208
+ * (@Apollon77/@copilot) Added meaningful state labels for Scheme datapoint (color animation schemes)
209
+ * (@Apollon77/@copilot) Added a configuration option to suppress "not connected" warnings for temporarily offline devices
210
+ * (@Apollon77/@copilot) Added Switch5-Switch28 datapoint definitions for consistent boolean mapping
211
+ * (@Apollon77/@copilot) Fixed a write flag for all Switch datapoints to enable proper control from ioBroker
144
212
 
145
213
  ### 3.2.1 (2024-10-07)
146
214
 
@@ -149,155 +217,13 @@ States:
149
217
  ### 3.2.0 (2024-08-28)
150
218
  * (bluefox) Added information about connected clients in the server mode
151
219
 
152
- ### 3.1.2 (2024-08-17)
153
- * (mattreim) updated packages
154
-
155
- ### 3.1.1 (2024-08-09)
156
- * (mattreim) updated packages
157
-
158
- ### 3.1.0 (2024-05-25)
159
- * Important: Node.js 18.x and js-controller 5.0.19+ are necessary at minimum
160
- * (mattreim) upgraded states for Tasmota 13.4.0.3 20240402
161
- * (mattreim) enhanced some log messages
162
- * (mattreim) Added PWM Items
163
- * (Apollon77) Fixed QoS handling to prevent invalid resubmissions
164
- * (Apollon77) Prevent creation of storeMap property in common and cleanup
165
-
166
- ### 3.0.3 (2023-09-25)
167
- * (bluefox/Bettman66) Added migration of password on JSON Config
168
-
169
- ### 2.5.7 (2023-07-07)
170
- * (mcm1957) Disabled the logging of username and password during connection errors
171
- * (bluefox) added json config
172
-
173
- ### 2.5.3 (2023-03-30)
174
- * (GreatSUN) Implemented potential `.STATE.POWER` update
175
-
176
- ### 2.5.1 (2022-04-23)
177
- * (Apollon77) Fixed the crash case reported by Sentry
178
-
179
- ### 2.5.0 (2022-03-21)
180
- * (GreatSUN) Implement writing of NSPanel Widget changes
181
- * (Apollon77) Fixed the crash case reported by Sentry
182
-
183
- ### 2.4.7 (2021-11-14)
184
- * (Apollon77) Fix crash case (Sentry IOBROKER-SONOFF-1S)
185
-
186
- ### 2.4.6 (2021-11-13)
187
- * (Apollon77) Fix some crash cases reported by Sentry (IOBROKER-SONOFF-B, IOBROKER-SONOFF-R, IOBROKER-SONOFF-4, IOBROKER-SONOFF-1, IOBROKER-SONOFF-13, IOBROKER-SONOFF-1J, IOBROKER-SONOFF-16, IOBROKER-SONOFF-3, IOBROKER-SONOFF-H)
188
- * (Apollon77) Adjust Uptime to mixed because it seems that it can be number or string
189
-
190
- ### 2.4.5 (2021-07-21)
191
- * (Apollon77) Fix some crash cases reported by Sentry
192
-
193
- ### 2.4.4 (2021-07-19)
194
- * (bluefox) Added UvaIntensity and UvbIntensity
195
-
196
- ### 2.4.3 (2021-07-18)
197
- * (bluefox) Better type detection for non-described states
198
-
199
- ### 2.4.2 (2021-07-17)
200
- * (bluefox) Optimize for js-controller 3.3
201
-
202
- ### 2.4.1 (2021-07-17)
203
- * (Apollon77/bluefox) Optimize for js-controller 3.3
204
- * (Apollon77) Add Sentry for error reporting with js-controller 3.x+
205
-
206
- ### 2.4.0 (2021-02-04)
207
- * (anwa) add several data points
208
- * (anwa) Fix translation for 'ignorePings'
209
- * (anwa) Fixed the wrong unit for humidity
210
- * (anwa) Config option to create a complete object tree instead of a flat structure
211
- * (anwa) Change Action type to string
212
- * (Apollon77) js-controller 2.0 is required at least
213
-
214
- ### 2.3.3 (2019-11-27)
215
- * (bluefox) Error with the empty packet was caught
216
-
217
- ### 2.3.2 (2019-10-23)
218
- * (bluefox) Fixed the password input in the configuration
219
- * (bluefox) Allowed setting the IP interface for server
220
- * (bluefox) Fixed tests for js-controller 2.0
221
- * (bluefox) Fixed the monitoring of the client connection
222
- * (bluefox) Changed "indicator.connected" to "indicator.reachable" for clients
223
- * (bluefox) Supported `{POWERn: "true"}`
224
- * (bluefox) Correct processing of `{temp: nan}`
225
-
226
- ### 2.2.3 (2019-01-10)
227
- * (simatec) Support for compact mode
228
-
229
- ### 2.2.2 (2018-06-22)
230
- * (bluefox) Configuration was fixed
231
-
232
- ### 2.2.1 (2018-06-20)
233
- * (bluefox) '-' in names was allowed again
234
-
235
- ### 2.2.0 (2018-05-22)
236
- * (gemu2015) auto generate objects, support for arrays (channel), led-controllers improved
237
-
238
- ### 2.1.3 (2018-05-08)
239
- * (bluefox) Added HC-SR04 Ultrasonic Sensor
240
-
241
- ### 2.1.2 (2018-04-23)
242
- * (bluefox) Added support of UvLight, Longitude and Latitude
243
-
244
- ### 2.1.1 (2018-04-13)
245
- * (bluefox) Support of the particle concentration sensor
246
-
247
- ### 2.1.0 (2018-03-30)
248
- * (gemu2015) Support of the devices control (many thanks :)
249
- * (gemu2015) Support of many new values
250
- * (modmax) Update alive status of the clients
251
- * (modmax) Added POWER5-8 and Switch3-4
252
-
253
- ### 2.0.2 (2018-03-19)
254
- * (modmax) Fixing reconnection of clients
255
- * (bluefox) Add SeaPressure
256
-
257
- ### 2.0.1 (2018-03-17)
258
- * (bluefox) Replace stream handler
259
- * (bluefox) Add timeout for clients
260
- * (bluefox) Add Light/Noise/AirQuality
261
- * (bluefox) Do not send pingresp for invalid clients
262
-
263
- ### 1.0.3 (2018-03-03)
264
- * (bluefox) Add Analog0/1/2/3 sensor
265
-
266
- ### 1.0.2 (2018-02-17)
267
- * (Apollon77) Add Illuminance sensor
268
-
269
- ### 1.0.1 (2018-02-05)
270
- * (bluefox) Ready for admin3
271
- * (bluefox) Added CO2 sensor
272
-
273
- ### 1.0.0 (2017-11-27)
274
- * (AlZiBa) typo @ alive
275
- * (AlZiBa) add Today's power consumption for Sonoff POW
276
- * (AlZiBa) unit of power consumption is kWh
277
-
278
- ### 0.3.3 (2017-11-03)
279
- * (bluefox) Add counters
280
-
281
- ### 0.3.2 (2017-10-22)
282
- * (Tan-DE) Small change for Switch1. Switch2 and additional IPaddress added.
283
-
284
- ### 0.3.1 (2017-10-12)
285
- * (bluefox) Fix tests and LWT
286
-
287
- ### 0.3.0 (2017-10-06)
288
- * (bluefox) Add INFO and ESP
289
-
290
- ### 0.2.0 (2017-10-05)
291
- * (bluefox) Add ENERGY and DS18x20
292
-
293
- ### 0.1.0 (2017-10-01)
294
- * (bluefox) initial commit
220
+ [Older changelogs can be found there](CHANGELOG_OLD.md)
295
221
 
296
222
  ## License
297
223
 
298
224
  The MIT License (MIT)
299
225
 
300
- Copyright (c) 2017-2025, bluefox <dogafox@gmail.com>
226
+ Copyright (c) 2017-2026, bluefox <dogafox@gmail.com>
301
227
 
302
228
  Permission is hereby granted, free of charge, to any person obtaining a copy
303
229
  of this software and associated documentation files (the "Software"), to deal
@@ -1,29 +1,55 @@
1
1
  {
2
2
  "Adapter settings": "Sonoff Einstellungen",
3
+ "Advanced MQTT settings": "Erweiterte MQTT -Einstellungen",
3
4
  "Authentication settings": "Authentifizierungseinstellungen",
4
5
  "Auto creation of states": "Automatische Erstellung von Zuständen",
5
6
  "Chained certificate:": "Verkettetes Zertifikat",
7
+ "Check the certificate of the broker": "Zertifikat des Brokers prüfen",
8
+ "Clean session": "Clean Session",
6
9
  "Client": "Client/Subscriber",
10
+ "Client ID": "Client-ID",
7
11
  "Client ID:": "Client ID",
8
12
  "Client timeout": "Client-Timeout",
13
+ "Comma separated list. Standard full topic: tele/#, stat/# - device first: +/tele/+, +/stat/+": "Kommagetrennte Liste. Standard-FullTopic: tele/#, stat/# - Gerät zuerst: +/tele/+, +/stat/+",
9
14
  "Connection": "Verbindung",
10
15
  "Connection settings": "Verbindungseinstellungen",
11
16
  "Create object tree": "Objektbaum erstellen",
17
+ "Deactivate it for self-signed certificates": "Für selbstsignierte Zertifikate deaktivieren",
18
+ "Deactivate it, so the broker stores the messages while the adapter is not running": "Deaktivieren, damit der Broker die Nachrichten speichert, während der Adapter nicht läuft",
19
+ "Default QoS": "Standard QoS",
20
+ "Default Quality of Service level (0, 1, or 2)": "Standardqualität der Serviceebene (0, 1 oder 2)",
21
+ "Device manager": "Geräte-Manager",
22
+ "Disables the built-in MQTT server and connects as client to an external broker": "Deaktiviert den integrierten MQTT-Server und verbindet sich als Client mit einem externen Broker",
12
23
  "Divided by comma": "Mit Kommata getrennt, z.B 'mqtt/0/#,javascript/#'",
24
+ "Empty: iobroker_sonoff_<instance>": "Leer: iobroker_sonoff_<Instanz>",
25
+ "External MQTT broker": "Externer MQTT-Broker",
26
+ "External broker URL": "URL des externen Brokers",
27
+ "External broker password": "Externer Broker-Passwort",
28
+ "External broker user": "Externer Broker-Benutzer",
13
29
  "For stat/RESULT": "Für stat/RESULT",
30
+ "For tele/MARGINS": "Für tele/MARGINS",
14
31
  "For tele/SENSOR": "Für tele/SENSOR",
15
32
  "For tele/STATE": "Für tele/STATE",
33
+ "General settings": "Allgemeine Einstellungen",
16
34
  "IP": "IP",
17
- "Ignore warnings with pingreq": "Warnungen mit pingreq ignorieren",
18
35
  "Ignore 'not connected' warnings": "'Nicht verbunden' Warnungen ignorieren",
36
+ "Ignore warnings with pingreq": "Warnungen mit pingreq ignorieren",
19
37
  "Interval before send topics by connection:": "Interval vom Senden von allen Topics bei der Verbindung",
38
+ "Interval in milliseconds for message retransmission": "Intervall in Millisekunden für die Neuübertragung zur Nachricht",
39
+ "Keepalive": "Keepalive",
20
40
  "Main settings": "Allgemeine Einstellungen",
21
41
  "Mask to publish": "z.B 'mqtt.0.*,javascript.*'",
22
42
  "Mask to publish own states:": "Maske zur Bekanntgabe eigener States",
23
43
  "Max topic length:": "Maximale Länge eines Topicnamens",
44
+ "Maximum number of retransmission attempts": "Maximale Anzahl von Wiedervermietungsversuchen",
45
+ "Optional, e.g. /opt/iobroker/certs/ca.crt": "Optional, z.B. /opt/iobroker/certs/ca.crt",
46
+ "Optional, only for client certificate authentication": "Optional, nur für die Authentifizierung mit Client-Zertifikat",
24
47
  "Other settings": "Andere Einstellungen",
25
48
  "Password confirmation:": "Passwort-Bestätigung",
26
49
  "Password:": "Passwort",
50
+ "Path to the CA certificate": "Pfad zum CA-Zertifikat",
51
+ "Path to the client certificate": "Pfad zum Client-Zertifikat",
52
+ "Path to the client key": "Pfad zum Client-Schlüssel",
27
53
  "Patterns:": "Subscribe Pattern",
28
54
  "Port:": "Port",
29
55
  "Prefix for topics:": "Prefix für alle Topics",
@@ -32,6 +58,8 @@
32
58
  "Publish all states at start:": "Eigene States beim Verbinden publizieren",
33
59
  "Publish states on subscribe:": "States bei subscribe publizieren",
34
60
  "Result: ": "Ergebnis",
61
+ "Retransmit count": "Zählen neu",
62
+ "Retransmit interval": "Intervall übernehmen",
35
63
  "Secure:": "Secure",
36
64
  "Send interval:": "Sendeintervall",
37
65
  "Send states (ack=true) too:": "Sende auch Zustände (ack=true)",
@@ -39,28 +67,25 @@
39
67
  "Set certificates or load it first in the system settings (right top).": "Setze Zertifikate oder lade sie zuerst unter System/Einstellungen (oben rechts).",
40
68
  "Sonoff Settings": "Sonoff Einstellungen",
41
69
  "Sonoff adapter settings": "Sonoff-Adapter-Einstellungen",
70
+ "Store clients time": "Lagern Sie Kunden Zeit",
42
71
  "Store only on change:": "Publizieren/Aktualisieren nur im Falle einer Änderung",
72
+ "Suppress warnings when commands are sent to offline devices": "Warnungen unterdrücken, wenn Befehle an Offline -Geräte gesendet werden",
43
73
  "Test connection": "Die Verbindung zum Server testen",
74
+ "Time in minutes to store client information": "Zeit in Minuten, um Kundeninformationen zu speichern",
75
+ "Topics to subscribe": "Zu abonnierende Topics",
44
76
  "Trace output for every message:": "Ausgabe jeder Nachricht loggen (debug)",
45
77
  "Type:": "Typ",
46
78
  "URL:": "URL",
47
79
  "Use WebSockets:": "Benutze auch WebSockets",
48
80
  "Use chunk patch:": "Benutze Patch für Chunking",
49
81
  "Use different topic names for set and get:": "Unterschiedliche Topic-Namen für setzen und lesen nutzen",
82
+ "Use external MQTT broker": "Externen MQTT-Broker verwenden",
50
83
  "User:": "Benutzer",
51
84
  "WARNING! Check README.md!": "WARNUNG! Überprüfen Sie README.md!",
85
+ "Without URL the built-in MQTT server will be started": "Ohne URL wird der integrierte MQTT-Server gestartet",
52
86
  "chars": "Zeichen",
53
87
  "connected": "verbunden",
88
+ "e.g. mqtt://192.168.1.100:1883 or mqtts://broker:8883": "z.B. mqtt://192.168.1.100:1883 oder mqtts://broker:8883",
54
89
  "ms": "ms",
55
- "For tele/MARGINS": "Für tele/MARGINS",
56
- "Advanced MQTT settings": "Erweiterte MQTT -Einstellungen",
57
- "Store clients time": "Lagern Sie Kunden Zeit",
58
- "Time in minutes to store client information": "Zeit in Minuten, um Kundeninformationen zu speichern",
59
- "Default QoS": "Standard QoS",
60
- "Default Quality of Service level (0, 1, or 2)": "Standardqualität der Serviceebene (0, 1 oder 2)",
61
- "Retransmit interval": "Intervall übernehmen",
62
- "Interval in milliseconds for message retransmission": "Intervall in Millisekunden für die Neuübertragung zur Nachricht",
63
- "Retransmit count": "Zählen neu",
64
- "Maximum number of retransmission attempts": "Maximale Anzahl von Wiedervermietungsversuchen",
65
- "Suppress warnings when commands are sent to offline devices": "Warnungen unterdrücken, wenn Befehle an Offline -Geräte gesendet werden"
90
+ "sec": "Sek."
66
91
  }
@@ -1,29 +1,55 @@
1
1
  {
2
2
  "Adapter settings": "Sonoff settings",
3
+ "Advanced MQTT settings": "Advanced MQTT settings",
3
4
  "Authentication settings": "Authentication settings",
4
5
  "Auto creation of states": "Auto creation of states",
5
6
  "Chained certificate:": "Chained certificate",
7
+ "Check the certificate of the broker": "Check the certificate of the broker",
8
+ "Clean session": "Clean session",
6
9
  "Client": "Client/subscriber",
10
+ "Client ID": "Client ID",
7
11
  "Client ID:": "Client ID",
8
12
  "Client timeout": "Client timeout",
13
+ "Comma separated list. Standard full topic: tele/#, stat/# - device first: +/tele/+, +/stat/+": "Comma separated list. Standard full topic: tele/#, stat/# - device first: +/tele/+, +/stat/+",
9
14
  "Connection": "Connection",
10
15
  "Connection settings": "Connection settings",
11
16
  "Create object tree": "Create object tree",
17
+ "Deactivate it for self-signed certificates": "Deactivate it for self-signed certificates",
18
+ "Deactivate it, so the broker stores the messages while the adapter is not running": "Deactivate it, so the broker stores the messages while the adapter is not running",
19
+ "Default QoS": "Default QoS",
20
+ "Default Quality of Service level (0, 1, or 2)": "Default Quality of Service level (0, 1, or 2)",
21
+ "Device manager": "Device manager",
22
+ "Disables the built-in MQTT server and connects as client to an external broker": "Disables the built-in MQTT server and connects as client to an external broker",
12
23
  "Divided by comma": "Divided by comma, e.g. 'mqtt/0/#,javascript/#'",
24
+ "Empty: iobroker_sonoff_<instance>": "Empty: iobroker_sonoff_<instance>",
25
+ "External MQTT broker": "External MQTT broker",
26
+ "External broker URL": "External broker URL",
27
+ "External broker password": "External broker password",
28
+ "External broker user": "External broker user",
13
29
  "For stat/RESULT": "For stat/RESULT",
30
+ "For tele/MARGINS": "For tele/MARGINS",
14
31
  "For tele/SENSOR": "For tele/SENSOR",
15
32
  "For tele/STATE": "For tele/STATE",
33
+ "General settings": "General settings",
16
34
  "IP": "IP",
17
- "Ignore warnings with pingreq": "Ignore warnings with pingreq",
18
35
  "Ignore 'not connected' warnings": "Ignore 'not connected' warnings",
36
+ "Ignore warnings with pingreq": "Ignore warnings with pingreq",
19
37
  "Interval before send topics by connection:": "Interval before send topics by connection",
38
+ "Interval in milliseconds for message retransmission": "Interval in milliseconds for message retransmission",
39
+ "Keepalive": "Keepalive",
20
40
  "Main settings": "Main settings",
21
41
  "Mask to publish": "e.g. 'mqtt.0.*,javascript.*'",
22
42
  "Mask to publish own states:": "Mask to publish own states",
23
43
  "Max topic length:": "Max topic name length",
44
+ "Maximum number of retransmission attempts": "Maximum number of retransmission attempts",
45
+ "Optional, e.g. /opt/iobroker/certs/ca.crt": "Optional, e.g. /opt/iobroker/certs/ca.crt",
46
+ "Optional, only for client certificate authentication": "Optional, only for client certificate authentication",
24
47
  "Other settings": "Other settings",
25
48
  "Password confirmation:": "Password confirmation",
26
49
  "Password:": "Password",
50
+ "Path to the CA certificate": "Path to the CA certificate",
51
+ "Path to the client certificate": "Path to the client certificate",
52
+ "Path to the client key": "Path to the client key",
27
53
  "Patterns:": "Subscribe patterns",
28
54
  "Port:": "Port",
29
55
  "Prefix for topics:": "Prefix for all topics",
@@ -32,6 +58,8 @@
32
58
  "Publish all states at start:": "Publish own states on connect",
33
59
  "Publish states on subscribe:": "Publish states on subscribe",
34
60
  "Result: ": "Result",
61
+ "Retransmit count": "Retransmit count",
62
+ "Retransmit interval": "Retransmit interval",
35
63
  "Secure:": "Secure",
36
64
  "Send interval:": "Send interval",
37
65
  "Send states (ack=true) too:": "Send states (ack=true) too",
@@ -39,28 +67,25 @@
39
67
  "Set certificates or load it first in the system settings (right top).": "Set certificates or load it first in the system settings (right top).",
40
68
  "Sonoff Settings": "Sonoff Settings",
41
69
  "Sonoff adapter settings": "Sonoff adapter settings",
70
+ "Store clients time": "Store clients time",
42
71
  "Store only on change:": "Publish/update only in case of change",
72
+ "Suppress warnings when commands are sent to offline devices": "Suppress warnings when commands are sent to offline devices",
43
73
  "Test connection": "Test connection with Server",
74
+ "Time in minutes to store client information": "Time in minutes to store client information",
75
+ "Topics to subscribe": "Topics to subscribe",
44
76
  "Trace output for every message:": "Trace output for every message",
45
77
  "Type:": "Type",
46
78
  "URL:": "URL",
47
79
  "Use WebSockets:": "Use WebSockets too",
48
80
  "Use chunk patch:": "Use chunk patch",
49
81
  "Use different topic names for set and get:": "Use different topic names for set and get",
82
+ "Use external MQTT broker": "Use external MQTT broker",
50
83
  "User:": "User",
51
84
  "WARNING! Check README.md!": "WARNING! Check README.md!",
85
+ "Without URL the built-in MQTT server will be started": "Without URL the built-in MQTT server will be started",
52
86
  "chars": "chars",
53
87
  "connected": "connected",
88
+ "e.g. mqtt://192.168.1.100:1883 or mqtts://broker:8883": "e.g. mqtt://192.168.1.100:1883 or mqtts://broker:8883",
54
89
  "ms": "ms",
55
- "For tele/MARGINS": "For tele/MARGINS",
56
- "Advanced MQTT settings": "Advanced MQTT settings",
57
- "Store clients time": "Store clients time",
58
- "Time in minutes to store client information": "Time in minutes to store client information",
59
- "Default QoS": "Default QoS",
60
- "Default Quality of Service level (0, 1, or 2)": "Default Quality of Service level (0, 1, or 2)",
61
- "Retransmit interval": "Retransmit interval",
62
- "Interval in milliseconds for message retransmission": "Interval in milliseconds for message retransmission",
63
- "Retransmit count": "Retransmit count",
64
- "Maximum number of retransmission attempts": "Maximum number of retransmission attempts",
65
- "Suppress warnings when commands are sent to offline devices": "Suppress warnings when commands are sent to offline devices"
90
+ "sec": "sec"
66
91
  }
@@ -1,28 +1,55 @@
1
1
  {
2
2
  "Adapter settings": "Configuraciones Sonoff",
3
+ "Advanced MQTT settings": "Configuración avanzada de MQTT",
3
4
  "Authentication settings": "Configuraciones de autenticación",
4
5
  "Auto creation of states": "Creación automática de estados",
5
6
  "Chained certificate:": "Certificado encadenado",
7
+ "Check the certificate of the broker": "Comprobar el certificado del broker",
8
+ "Clean session": "Sesión limpia",
6
9
  "Client": "Cliente/suscriptor",
10
+ "Client ID": "ID de cliente",
7
11
  "Client ID:": "Identificación del cliente",
8
12
  "Client timeout": "tiempo de espera del cliente",
13
+ "Comma separated list. Standard full topic: tele/#, stat/# - device first: +/tele/+, +/stat/+": "Lista separada por comas. FullTopic estándar: tele/#, stat/# - dispositivo primero: +/tele/+, +/stat/+",
9
14
  "Connection": "Conexión",
10
15
  "Connection settings": "Configuración de conexión",
11
16
  "Create object tree": "Crear árbol de objetos",
17
+ "Deactivate it for self-signed certificates": "Desactívelo para certificados autofirmados",
18
+ "Deactivate it, so the broker stores the messages while the adapter is not running": "Desactívelo para que el broker almacene los mensajes mientras el adaptador no se está ejecutando",
19
+ "Default QoS": "QoS predeterminado",
20
+ "Default Quality of Service level (0, 1, or 2)": "Calidad predeterminada del nivel de servicio (0, 1 o 2)",
21
+ "Device manager": "Gestor de dispositivos",
22
+ "Disables the built-in MQTT server and connects as client to an external broker": "Desactiva el servidor MQTT integrado y se conecta como cliente a un broker externo",
12
23
  "Divided by comma": "Dividido por coma, p. 'mqtt/0/#, javascript/#'",
24
+ "Empty: iobroker_sonoff_<instance>": "Vacío: iobroker_sonoff_<instancia>",
25
+ "External MQTT broker": "Broker MQTT externo",
26
+ "External broker URL": "URL del broker externo",
27
+ "External broker password": "Contraseña del broker externo",
28
+ "External broker user": "Usuario del broker externo",
13
29
  "For stat/RESULT": "Por stat/RESULT",
30
+ "For tele/MARGINS": "Para tele/MARGINS",
14
31
  "For tele/SENSOR": "Por tele/SENSOR",
15
32
  "For tele/STATE": "Por tele/STATE",
33
+ "General settings": "Configuración general",
16
34
  "IP": "IP",
35
+ "Ignore 'not connected' warnings": "Ignorar advertencias 'no conectadas'",
17
36
  "Ignore warnings with pingreq": "Ignore las advertencias con pingreq",
18
37
  "Interval before send topics by connection:": "Intervalo antes de enviar temas por conexión",
38
+ "Interval in milliseconds for message retransmission": "Intervalo en milisegundos para la retransmisión de mensajes",
39
+ "Keepalive": "Keepalive",
19
40
  "Main settings": "Ajustes principales",
20
41
  "Mask to publish": "p.ej. 'mqtt.0.*, javascript.*'",
21
42
  "Mask to publish own states:": "Máscara para publicar estados propios",
22
43
  "Max topic length:": "Longitud máxima del nombre del tema",
44
+ "Maximum number of retransmission attempts": "Número máximo de intentos de retransmisión",
45
+ "Optional, e.g. /opt/iobroker/certs/ca.crt": "Opcional, p. ej. /opt/iobroker/certs/ca.crt",
46
+ "Optional, only for client certificate authentication": "Opcional, solo para la autenticación con certificado de cliente",
23
47
  "Other settings": "Otros ajustes",
24
48
  "Password confirmation:": "confirmación de contraseña",
25
49
  "Password:": "Contraseña",
50
+ "Path to the CA certificate": "Ruta al certificado CA",
51
+ "Path to the client certificate": "Ruta al certificado de cliente",
52
+ "Path to the client key": "Ruta a la clave de cliente",
26
53
  "Patterns:": "Suscribir patrones",
27
54
  "Port:": "Puerto",
28
55
  "Prefix for topics:": "Prefijo para todos los temas",
@@ -31,6 +58,8 @@
31
58
  "Publish all states at start:": "Publicar estados propios al conectar",
32
59
  "Publish states on subscribe:": "Publicar estados al suscribirse",
33
60
  "Result: ": "Resultado",
61
+ "Retransmit count": "Recuento de retransmit",
62
+ "Retransmit interval": "Intervalo de retransmisión",
34
63
  "Secure:": "Seguro",
35
64
  "Send interval:": "Intervalo de envío",
36
65
  "Send states (ack=true) too:": "Enviar estados (ack = true) también",
@@ -38,29 +67,25 @@
38
67
  "Set certificates or load it first in the system settings (right top).": "Establezca certificados o cárguelos primero en la configuración del sistema (arriba a la derecha).",
39
68
  "Sonoff Settings": "Configuraciones Sonoff",
40
69
  "Sonoff adapter settings": "Configuraciones del adaptador Sonoff",
70
+ "Store clients time": "Tiempo de los clientes de almacenamiento",
41
71
  "Store only on change:": "Publicar solo en el cambio",
72
+ "Suppress warnings when commands are sent to offline devices": "Suprima las advertencias cuando los comandos se envían a dispositivos fuera de línea",
42
73
  "Test connection": "Prueba de conexión con el servidor",
74
+ "Time in minutes to store client information": "Tiempo en minutos para almacenar la información del cliente",
75
+ "Topics to subscribe": "Topics a suscribir",
43
76
  "Trace output for every message:": "Salida de seguimiento para cada mensaje",
44
77
  "Type:": "Tipo",
45
78
  "URL:": "URL",
46
79
  "Use WebSockets:": "Use WebSockets también",
47
80
  "Use chunk patch:": "Use el fragmento de fragmento",
48
81
  "Use different topic names for set and get:": "Use diferentes nombres de tema para establecer y obtener",
82
+ "Use external MQTT broker": "Usar broker MQTT externo",
49
83
  "User:": "Usuario",
50
84
  "WARNING! Check README.md!": "¡ADVERTENCIA! ¡Compruebe README.md!",
85
+ "Without URL the built-in MQTT server will be started": "Sin URL se iniciará el servidor MQTT integrado",
51
86
  "chars": "caracteres",
52
87
  "connected": "conectado",
88
+ "e.g. mqtt://192.168.1.100:1883 or mqtts://broker:8883": "ej. mqtt://192.168.1.100:1883 o mqtts://broker:8883",
53
89
  "ms": "Sra",
54
- "Ignore 'not connected' warnings": "Ignorar advertencias 'no conectadas'",
55
- "For tele/MARGINS": "Para tele/MARGINS",
56
- "Advanced MQTT settings": "Configuración avanzada de MQTT",
57
- "Store clients time": "Tiempo de los clientes de almacenamiento",
58
- "Time in minutes to store client information": "Tiempo en minutos para almacenar la información del cliente",
59
- "Default QoS": "QoS predeterminado",
60
- "Default Quality of Service level (0, 1, or 2)": "Calidad predeterminada del nivel de servicio (0, 1 o 2)",
61
- "Retransmit interval": "Intervalo de retransmisión",
62
- "Interval in milliseconds for message retransmission": "Intervalo en milisegundos para la retransmisión de mensajes",
63
- "Retransmit count": "Recuento de retransmit",
64
- "Maximum number of retransmission attempts": "Número máximo de intentos de retransmisión",
65
- "Suppress warnings when commands are sent to offline devices": "Suprima las advertencias cuando los comandos se envían a dispositivos fuera de línea"
90
+ "sec": "s"
66
91
  }