Skip to content

Commit 3c54708

Browse files
authored
Merge pull request #120 from Luligu/dev
Release 1.1.4
2 parents 886c141 + f691e70 commit 3c54708

12 files changed

Lines changed: 436 additions & 356 deletions

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@ If you like this project and find it useful, please consider giving it a star on
66

77
You can also sponsor Tamer here https://buymeacoffee.com/6sjde6vkzl for his invaluable contribution to this project.
88

9+
## [1.1.4] - 2025-01-20
10+
11+
### Added
12+
13+
- [platform]: Refactor onStart to await device creation to address some cases where the controller reset the configuration on slow host.
14+
- [selectDevice]: Added selectDevice to deviceIp to get the components names from a list in the config editor.
15+
- [em1data]: Added update for total_act_energy in onConfigure.
16+
- [package]: Requires matterbridge 1.7.3.
17+
18+
### Changed
19+
20+
- [package]: Updated dependencies.
21+
22+
### Fixed
23+
24+
- [em1data]: Fixed typo em1data.
25+
26+
<a href="https://www.buymeacoffee.com/luligugithub">
27+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
28+
</a>
29+
930
## [1.1.3] - 2025-01-11
1031

1132
### Added

COMPONENTS.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
All components for all devices are exposed to Matter, but it is possible to exclude certain components globally or on a per-device basis.
44

5-
65
## Example 1: How to Blacklist a Component on a shellyplusrgbwpm Device
76

87
Given the components of a shellyplusrgbwpm device (as shown in the logs from the console or frontend):
@@ -25,7 +24,6 @@ To blacklist only the third (input:2) and fourth (input:3) Input components of t
2524
"deviceEntityBlackList": { "shellyplusrgbwpm-ECC9FF4CEAF0": ["input:2", "input:3"] }
2625
```
2726

28-
2927
## Example 2: How to Blacklist all secondary components on a BLU Motion Device with address 7c:c6:b6:65:2d:99
3028

3129
To expose only the motion component while blacklisting all secondary components, use the component names as shown below:
@@ -34,7 +32,6 @@ To expose only the motion component while blacklisting all secondary components,
3432
"deviceEntityBlackList": { "7c:c6:b6:65:2d:99": ["Illuminance", "Button"] }
3533
```
3634

37-
3835
## Example 3: How to Blacklist all secondary components on a BLU DoorWindow with address 0c:ef:f6:f1:d7:7b
3936

4037
To expose only the contact component while blacklisting all secondary components, use the component names as shown below:
@@ -43,7 +40,6 @@ To expose only the contact component while blacklisting all secondary components
4340
"deviceEntityBlackList": { "0c:ef:f6:f1:d7:7b": ["Illuminance"] }
4441
```
4542

46-
4743
## Example 4: How to Blacklist all secondary components on a BLU HT 7c:c6:b6:65:2d:87 with address 7c:c6:b6:65:2d:87
4844

4945
To expose only the temperature and humidity components while blacklisting all secondary components, use the component names as shown below:

README.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ Features:
2828
- Shelly Gen 1 devices are controlled using the CoIoT protocol (see the note below).
2929
- Shelly Gen 2 and Gen 3 devices are controlled using WebSocket.
3030
- The Matter device takes the name configured in the Shelly device's web page.
31-
- Each device can be blacklisted or whitelisted using its name, id or mac address.
32-
- Device components can be blacklisted globally or on a per-device basis.
31+
- Each device can be blacklisted or whitelisted using its name, id or mac address. Refer to the [COMPONENTS.md documentation.](https://github.com/Luligu/matterbridge-shelly/blob/main/COMPONENTS.md)
32+
- Device components can be blacklisted globally or on a per-device basis. Refer to the [COMPONENTS.md documentation.](https://github.com/Luligu/matterbridge-shelly/blob/main/COMPONENTS.md)
3333
- Devices ids can be selected from a list in the config editor.
3434
- If the device has a firmware update available, a message is displayed.
3535
- If the device's CoIoT protocol is not correctly configured, a message is displayed.
@@ -102,10 +102,8 @@ Follow these guidelines for specific devices.
102102

103103
There are two ways to have the wifi device IP stable:
104104

105-
1) In your router configuration find, in the DHCP settings, the option to reserve an ip address for all your shelly wifi devices.
106-
107-
2) In the device web UI (or Shelly app) go to Settings / WiFi and set a static IP for Wi-Fi 1 settings.
108-
105+
1. In your router configuration find, in the DHCP settings, the option to reserve an ip address for all your shelly wifi devices.
106+
2. In the device web UI (or Shelly app) go to Settings / WiFi and set a static IP for Wi-Fi 1 settings.
109107

110108
## How to install the plugin
111109

@@ -141,7 +139,7 @@ matterbridge
141139

142140
You may need to set some config values in the frontend.
143141

144-
Changing configuration after the controller is already paired may cause the controller to see the device as new devices and reset their configuration. You may need to wait a few minutes that the controller reads again all endpoints.
142+
Changing configuration after the controller is already paired may cause the controller to see the device as new devices and reset their configuration. You may need to wait a few minutes that the controller reads again all endpoints.
145143

146144
Wait that the plugin has been configured before changing the config.
147145

@@ -174,7 +172,7 @@ The devices in the list will be exposed as outlets, regardless of the main optio
174172

175173
### exposeInput
176174

177-
Choose how to expose the shelly inputs: disabled, contact, momentary or latching switch (default momentary).
175+
Choose how to expose the shelly inputs: disabled, contact, momentary or latching switch (default momentary).
178176

179177
Is useful only if you create automations on the controller side or you need the controller history.
180178

@@ -212,15 +210,15 @@ Choose how to expose the shelly power meters: disabled, matter13 (it uses Matter
212210

213211
### blackList
214212

215-
If the blackList is defined the devices included in the list will not be exposed to Matter.
213+
If the blackList is defined the devices included in the list will not be exposed to Matter.
216214

217215
For shelly wifi devices use the device name (i.e. the name defined in the device web UI), the device id (i.e. shellyplus2pm-5443B23D81F8) or the device mac (i.e. 5443B23D81F8).
218216

219217
For shelly BLU devices use the device name (i.e. the name defined in the device gateway web UI) or the device mac addr (i.e. 7c:c6:b6:65:2d:87).
220218

221219
### whiteList
222220

223-
If the whiteList is defined only the devices included in the list are exposed to Matter.
221+
If the whiteList is defined only the devices included in the list are exposed to Matter.
224222

225223
For shelly wifi devices use the device name (i.e. the name defined in the device web UI), the device id (i.e. shellyplus2pm-5443B23D81F8) or the device mac (i.e. 5443B23D81F8).
226224

matterbridge-shelly.schema.json

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@
2424
"exposeSwitch": {
2525
"description": "Choose how to expose the shelly switches: as a switch (don't use it for Alexa), light or outlet",
2626
"type": "string",
27-
"enum": [
28-
"switch",
29-
"light",
30-
"outlet"
31-
],
27+
"enum": ["switch", "light", "outlet"],
3228
"default": "outlet"
3329
},
3430
"switchList": {
@@ -61,12 +57,7 @@
6157
"exposeInput": {
6258
"description": "Choose how to expose the shelly inputs: disabled, contact, momentary or latching switch (you may need to pair again the controller when changed)",
6359
"type": "string",
64-
"enum": [
65-
"disabled",
66-
"contact",
67-
"momentary",
68-
"latching"
69-
],
60+
"enum": ["disabled", "contact", "momentary", "latching"],
7061
"default": "disabled"
7162
},
7263
"inputContactList": {
@@ -99,10 +90,7 @@
9990
"exposeInputEvent": {
10091
"description": "Choose weather to expose the shelly input events: momentary or disabled (you may need to pair again the controller when changed)",
10192
"type": "string",
102-
"enum": [
103-
"momentary",
104-
"disabled"
105-
],
93+
"enum": ["momentary", "disabled"],
10694
"default": "disabled"
10795
},
10896
"inputEventList": {
@@ -117,10 +105,7 @@
117105
"exposePowerMeter": {
118106
"description": "Choose how to expose the shelly power meters: disabled, matter13 (will use Matter 1.3 electricalSensor)",
119107
"type": "string",
120-
"enum": [
121-
"disabled",
122-
"matter13"
123-
],
108+
"enum": ["disabled", "matter13"],
124109
"default": "disabled"
125110
},
126111
"blackList": {
@@ -175,8 +160,10 @@
175160
"selectFrom": "serial"
176161
},
177162
"deviceIp": {
178-
"description": "Set the IP address for each device. Enter in the first field the shelly ID of the device and in the second field the IP address. (e.g. shelly1minig3-543204547478: 192.168.1.221)",
163+
"description": "Set the IP address for each device. Enter in the first field the shelly ID of the device and in the second field the IP address. (e.g. shelly1minig3-543204547478: 192.168.1.221). Enable enableConfigDiscover to load the devices from this setting.",
179164
"type": "object",
165+
"uniqueItems": true,
166+
"selectFrom": "serial",
180167
"additionalProperties": {
181168
"type": "string"
182169
}
@@ -246,4 +233,4 @@
246233
"default": false
247234
}
248235
}
249-
}
236+
}

0 commit comments

Comments
 (0)