iobroker.iot 5.0.6 → 5.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +108 -40
  2. package/admin/assets/index-CAyjR82w.js +759 -0
  3. package/admin/index_m.html +1 -1
  4. package/admin/rules/assets/{index-CxRjh2hi.js → index-B4eX908S.js} +4 -4
  5. package/admin/rules/assets/{index-B9FmXZMM.js → index-DR6CejZ4.js} +64 -64
  6. package/admin/rules/customRuleBlocks.js +2 -2
  7. package/build/lib/AlexaSmartHomeV3/Alexa/Capabilities/RangeController.js +221 -0
  8. package/build/lib/AlexaSmartHomeV3/Alexa/Capabilities/RangeController.js.map +1 -1
  9. package/build/lib/AlexaSmartHomeV3/Alexa/Directives/Discovery.js +28 -1
  10. package/build/lib/AlexaSmartHomeV3/Alexa/Directives/Discovery.js.map +1 -1
  11. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Base.js +32 -1
  12. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Base.js.map +1 -1
  13. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.js +20 -0
  14. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.js.map +1 -1
  15. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.js +6 -6
  16. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.js.map +1 -1
  17. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Percentage.js +20 -0
  18. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/Percentage.js.map +1 -1
  19. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/RangeValue.js +3 -0
  20. package/build/lib/AlexaSmartHomeV3/Alexa/Properties/RangeValue.js.map +1 -1
  21. package/build/lib/AlexaSmartHomeV3/Controls/Control.js +5 -3
  22. package/build/lib/AlexaSmartHomeV3/Controls/Control.js.map +1 -1
  23. package/build/lib/AlexaSmartHomeV3/Controls/Ct.js +1 -0
  24. package/build/lib/AlexaSmartHomeV3/Controls/Ct.js.map +1 -1
  25. package/build/lib/AlexaSmartHomeV3/Controls/Dimmer.js +1 -0
  26. package/build/lib/AlexaSmartHomeV3/Controls/Dimmer.js.map +1 -1
  27. package/build/lib/AlexaSmartHomeV3/Controls/Hue.js +1 -0
  28. package/build/lib/AlexaSmartHomeV3/Controls/Hue.js.map +1 -1
  29. package/build/lib/AlexaSmartHomeV3/Controls/Light.js +4 -0
  30. package/build/lib/AlexaSmartHomeV3/Controls/Light.js.map +1 -1
  31. package/build/lib/AlexaSmartHomeV3/Controls/Lock.js +2 -2
  32. package/build/lib/AlexaSmartHomeV3/Controls/Lock.js.map +1 -1
  33. package/build/lib/AlexaSmartHomeV3/Controls/Rgb.js +1 -0
  34. package/build/lib/AlexaSmartHomeV3/Controls/Rgb.js.map +1 -1
  35. package/build/lib/AlexaSmartHomeV3/Controls/RgbSingle.js +1 -0
  36. package/build/lib/AlexaSmartHomeV3/Controls/RgbSingle.js.map +1 -1
  37. package/build/lib/AlexaSmartHomeV3/Controls/RgbwSingle.js +1 -0
  38. package/build/lib/AlexaSmartHomeV3/Controls/RgbwSingle.js.map +1 -1
  39. package/build/lib/AlexaSmartHomeV3/Controls/Slider.js +38 -51
  40. package/build/lib/AlexaSmartHomeV3/Controls/Slider.js.map +1 -1
  41. package/build/lib/AlexaSmartHomeV3/DeviceManager.js +10 -5
  42. package/build/lib/AlexaSmartHomeV3/DeviceManager.js.map +1 -1
  43. package/build/lib/AlexaSmartHomeV3/Helpers/AdapterProvider.js +1 -0
  44. package/build/lib/AlexaSmartHomeV3/Helpers/AdapterProvider.js.map +1 -1
  45. package/build/lib/AlexaSmartHomeV3/Helpers/IotProxy.js +3 -1
  46. package/build/lib/AlexaSmartHomeV3/Helpers/IotProxy.js.map +1 -1
  47. package/build/lib/AlexaSmartHomeV3/Helpers/Utils.js +31 -18
  48. package/build/lib/AlexaSmartHomeV3/Helpers/Utils.js.map +1 -1
  49. package/build/lib/alexaSmartHomeV3.js +5 -2
  50. package/build/lib/alexaSmartHomeV3.js.map +1 -1
  51. package/build/main.js +156 -27
  52. package/build/main.js.map +1 -1
  53. package/io-package.json +114 -31
  54. package/package.json +7 -7
  55. package/admin/assets/index-D9hse2qJ.js +0 -820
package/README.md CHANGED
@@ -15,7 +15,28 @@ It is not for remote access to your ioBroker instance. Use ioBroker.cloud adapte
15
15
 
16
16
  **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
17
17
 
18
- ## Settings
18
+ ## Getting Started
19
+
20
+ ### What does this adapter do?
21
+
22
+ This adapter connects your ioBroker devices to voice assistants like Amazon Alexa and Google Home. It automatically creates virtual smart home devices that can be controlled by voice commands.
23
+
24
+ ### Basic Concepts
25
+
26
+ **Enumerations** are ioBroker's way of organizing your devices. There are two types:
27
+ - **Rooms**: Locations like "Living Room", "Bedroom", "Kitchen"
28
+ - **Functions**: Device types like "Light", "Heating", "Blinds"
29
+
30
+ **Smart Names** are the names that voice assistants (Alexa, Google Home) use to identify your devices. The adapter automatically generates these names by combining room and function information (e.g., "Living Room Light").
31
+
32
+ ### How it works:
33
+
34
+ 1. You organize your ioBroker states into **rooms** and **functions** using enumerations
35
+ 2. The adapter automatically detects devices and creates smart names like "Living Room Light" or "Bedroom Heating"
36
+ 3. These virtual devices become available in Alexa or Google Home
37
+ 4. You can control them with voice commands like "Alexa, turn on Living Room Light"
38
+
39
+ ### Prerequisites
19
40
 
20
41
  To use the iot adapter, you should first register on the ioBroker cloud [https://iobroker.pro](https://iobroker.pro).
21
42
 
@@ -25,23 +46,45 @@ Note: Humidity sensor cannot be shown alone without temperature sensor, because
25
46
 
26
47
  ![Intro](img/intro.png)
27
48
 
49
+ ## Settings
50
+
28
51
  ### Language
29
52
 
30
- If you select "default" language, the smart names of devices and of enumerations will not be translated. If some language is specified, all known names will be translated into this language.
31
- It is done to switch fast between many languages for demonstration purposes.
53
+ This setting controls the language used for automatically generated device names.
54
+
55
+ - **"default"**: Smart names will use the original names from your ioBroker enumerations (rooms and functions) without translation
56
+ - **Specific language** (e.g., English, German): All known room and function names will be translated into the selected language
57
+
58
+ **Example:**
59
+ - If your enumeration is called "Wohnzimmer" (German for Living Room) and you select English as language, the device will be called "Living Room Light" in Alexa/Google Home
60
+ - If you select "default", it will stay as "Wohnzimmer Light"
61
+
62
+ This is useful for demonstration purposes or when you want to quickly switch between languages.
32
63
 
33
64
  ### Place function in names first
34
65
 
35
- Change the order of function and roles in self-generated names:
66
+ This setting changes the order of words in automatically generated device names.
36
67
 
37
- - if false: "Room function", e.g. "Living room dimmer"
38
- - if true: "Function room", e.g. "Dimmer living room"
68
+ By default, the adapter creates device names by combining the **room name** and **function name**.
69
+
70
+ - **If unchecked (default)**: The room comes first → "Living Room Dimmer"
71
+ - **If checked**: The function comes first → "Dimmer Living Room"
72
+
73
+ **Why change this?** Some people find it more natural to say "Alexa, turn on Dimmer Living Room" instead of "Alexa, turn on Living Room Dimmer". Choose what sounds better in your language.
39
74
 
40
75
  ### Concatenate words with
41
76
 
42
- You can define the word which will be placed between function and room. E.g. "in" and from "Dimmer living room" will be "Dimmer in living room".
77
+ This setting adds a connecting word between the room and function names in automatically generated device names.
78
+
79
+ **Example:**
80
+ - **Without** this setting: "Dimmer Living Room" or "Living Room Dimmer"
81
+ - **With** "in" as connecting word: "Dimmer in Living Room" or "Living Room in Dimmer"
82
+
83
+ **Important:** It's generally **not recommended** to use this feature because:
84
+ - Voice assistants have to recognize an extra word, which can lead to misunderstandings
85
+ - Simpler names work more reliably with voice commands
43
86
 
44
- But it is not suggested doing so, because recognition engine must analyze one more word, and it can lead to misunderstandings.
87
+ Leave this empty unless you have a specific reason to add connecting words.
45
88
 
46
89
  ### OFF level for switches
47
90
 
@@ -96,41 +139,63 @@ Alexa, is "lock name" locked/unlocked
96
139
  Alexa, lock the "lock name"
97
140
  ```
98
141
 
99
- ## How names will be generated
142
+ ## How device names are generated
143
+
144
+ The adapter automatically creates virtual smart home devices by combining information from your ioBroker setup.
145
+
146
+ ### Understanding Enumerations
147
+
148
+ Enumerations are ioBroker's built-in way to organize devices:
149
+ - **Rooms enumeration**: Contains locations (living room, bathroom, bedroom, kitchen, etc.)
150
+ - **Functions enumeration**: Contains device types (light, blind, heating, etc.)
100
151
 
101
- The adapter tries to generate virtual devices for smart home control (e.g., Amazon Alexa or Google Home).
152
+ ### Requirements for automatic detection
102
153
 
103
- There are two important enumerations for that: rooms and functions.
154
+ For a state (device) to be automatically included in smart home control, it must meet these conditions:
104
155
 
105
- Rooms are like: living room, bathroom, sleeping room.
106
- Functions are like: light, blind, heating.
156
+ 1. **Must be in a function enumeration** (e.g., "Light", "Heating", "Blinds")
157
+ 2. **Must have the correct role**: `state`, `switch`, or `level.*` (like `level.dimmer`)
158
+ - If the entire channel is in the function enumeration, individual states don't need specific roles
159
+ 3. **Must be writable**: `common.write` must be `true`
160
+ 4. **Special requirements:**
161
+ - Dimmers must have `common.type` as `number`
162
+ - Heating must have `common.unit` as `°C`, `°F`, or `°K` and `common.type` as `number`
107
163
 
108
- The following conditions must be met to get the state in the automatically generated list:
164
+ ### How names are created
109
165
 
110
- - the state must be in some `function` enumeration.
111
- - the state must have a role (`state`, `switch` or `level.\*`, e.g., `level.dimmer`) if not directly included in "functions".
112
- It can be that the channel is in the `functions`, but state itself not.
113
- - the state must be writable: `common.write` = true
114
- - the state dimmer must have `common.type` as 'number'
115
- - the state heating must have `common.unit` as `°C`, `°F` or `°K` and `common.type` as `number`
166
+ The adapter combines room and function information to create meaningful names:
116
167
 
117
- If the state is only in "functions" and not in any "room", the name of state will be used.
168
+ **Example:**
169
+ - You have a light switch in the living room
170
+ - The state is in enumeration "Light" (function) and "Living Room" (room)
171
+ - The generated name will be: **"Living Room Light"**
118
172
 
119
- The state names will be generated from function and room. E.g., all _lights_ in the _living room_ will be collected in the virtual device _living room light_.
120
- The user cannot change this name, because it is generated automatically.
121
- But if the enumeration name changes, this name will be changed too. (e.g., function "light" changed to "lights", so the _living room light_ will be changed to _living room lights_)
173
+ **Multiple devices of the same type:**
174
+ All lights in the living room are grouped together under the same virtual device "Living Room Light". When you say "Alexa, turn on Living Room Light", all lights in that room will turn on.
122
175
 
123
- All the rules will be ignored if the state has common.smartName. In this case, just the smart name will be used.
176
+ **Device without room:**
177
+ If a state is only in a function enumeration (e.g., "Light") but not in any room, the original state name will be used.
124
178
 
125
- if `common.smartName` is `false`, the state or enumeration will not be included in the list generation.
179
+ ### Custom names with smartName
126
180
 
127
- The configuration dialog lets the comfortable remove and add the single states to virtual groups or as single device.
181
+ You can override automatic naming:
182
+ - Set `common.smartName` to your preferred name → The device will use this exact name
183
+ - Set `common.smartName` to `false` → The device will be excluded from smart home control
184
+
185
+ ### Manual configuration
186
+
187
+ The configuration dialog allows you to manually adjust which states are included and how they are grouped:
128
188
  ![Configuration](img/configuration.png)
129
189
 
130
- If the group has only one state, it can be renamed, as for this the state's smartName will be used.
131
- If the group has more than one state, the group must be renamed via the enumeration's names.
190
+ **Renaming:**
191
+ - **Single-state groups**: Can be renamed (uses the state's smartName)
192
+ - **Multi-state groups**: Must be renamed by changing the enumeration names
193
+
194
+ ### Creating custom groups
132
195
 
133
- To create own groups, the user can install "scenes" adapter or create "script" in JavaScript adapter.
196
+ To create your own device groups:
197
+ - Use the "scenes" adapter
198
+ - Create a "script" in the JavaScript adapter
134
199
 
135
200
  ### Replaces
136
201
 
@@ -345,13 +410,25 @@ setState('iot.0.app.message', JSON.stringify({
345
410
  ## Todo
346
411
 
347
412
  - Smart names must have higher priority as groups
348
- - Devices should be grouped by smart name
349
413
 
350
414
  <!--
351
415
  Placeholder for the next version (at the beginning of the line):
352
416
  ### **WORK IN PROGRESS**
353
417
  -->
354
418
  ## Changelog
419
+ ### 5.0.8 (2025-11-28)
420
+ - (@GermanBluefox) Showed last controller ID in `smart.lastObjectID`
421
+ - (@GermanBluefox) Showed subscription valid period in `info.validTill` and GUI
422
+ - (@Copilot) Implemented increasing reconnect intervall
423
+ - (@GermanBluefox) Added automatically conversion of type TV (alexaV3) to button (alexaV3)
424
+ - (@GermanBluefox) Optimized the update of devices in GUI
425
+ - (@GermanBluefox) Implemented slider with custom min/max values
426
+
427
+ ### 5.0.7 (2025-11-03)
428
+ - (@GermanBluefox) Added possibility to group devices by type in GUI
429
+ - (@GermanBluefox) Allowed to select any type in Alexe V3
430
+ - (@GermanBluefox) Remove disabled states from auto-detection
431
+
355
432
  ### 5.0.6 (2025-11-01)
356
433
  - (@GermanBluefox) Added logs to detect the issues with detection
357
434
  - (@GermanBluefox) Added possibility to use the 0/1 state as socket
@@ -366,15 +443,6 @@ setState('iot.0.app.message', JSON.stringify({
366
443
  - (@GermanBluefox) Correcting creation of complex groups
367
444
  - (@GermanBluefox) Same as 4.2.11
368
445
 
369
- ### 4.2.9 (2025-10-28)
370
- - (@GermanBluefox) Do not control "white" by RGBW devices
371
- - (@GermanBluefox) Corrected GUI error
372
- - (@GermanBluefox) Avoid double entries in auto-detection
373
-
374
- ### 4.2.7 (2025-10-26)
375
- - (@GermanBluefox) Create the service states at the instance start
376
- - (@GermanBluefox) Corrected error with gates
377
-
378
446
  ## License
379
447
 
380
448
  The MIT License (MIT)