Skip to content

Commit

Permalink
Merge pull request #111 from Luligu/dev
Browse files Browse the repository at this point in the history
Add COMPONENTS.md
  • Loading branch information
Luligu authored Dec 24, 2024
2 parents 926d522 + ef044e7 commit abc967a
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 6 deletions.
53 changes: 53 additions & 0 deletions COMPONENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Shelly Components Configuration

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


## Example 1: How to Blacklist a Component on a shellyplusrgbwpm Device

Given the components of a shellyplusrgbwpm device (as shown in the logs from the console or frontend):

<img width="709" alt="image" src="https://github.com/user-attachments/assets/6602087b-cc51-43c1-a93d-98d351054cf9" />

### Using the Component Name

To blacklist all Input components of this device, use the component name as shown below:

```
"deviceEntityBlackList": { "shellyplusrgbwpm-ECC9FF4CEAF0": ["Input"] }
```

### Using the Component IDs

To blacklist only the third (input:2) and fourth (input:3) Input components of this device, use the component IDs as follows:

```
"deviceEntityBlackList": { "shellyplusrgbwpm-ECC9FF4CEAF0": ["input:2", "input:3"] }
```


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

To expose only the motion component while blacklisting all secondary components, use the component names as shown below:

```
"deviceEntityBlackList": { "7c:c6:b6:65:2d:99": ["Illuminance", "Button"] }
```


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

To expose only the contact component while blacklisting all secondary components, use the component names as shown below:

```
"deviceEntityBlackList": { "0c:ef:f6:f1:d7:7b": ["Illuminance"] }
```


## 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

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

```
"deviceEntityBlackList": { "7c:c6:b6:65:2d:87": ["Button"] }
```
27 changes: 21 additions & 6 deletions matterbridge-shelly.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@
"exposeSwitch": {
"description": "Choose how to expose the shelly switches: as a switch (don't use it for Alexa), light or outlet",
"type": "string",
"enum": ["switch", "light", "outlet"],
"enum": [
"switch",
"light",
"outlet"
],
"default": "outlet"
},
"switchList": {
Expand All @@ -51,7 +55,12 @@
"exposeInput": {
"description": "Choose how to expose the shelly inputs: disabled, contact, momentary or latching switch (you may need to pair again the controller when changed)",
"type": "string",
"enum": ["disabled", "contact", "momentary", "latching"],
"enum": [
"disabled",
"contact",
"momentary",
"latching"
],
"default": "disabled"
},
"inputContactList": {
Expand All @@ -78,7 +87,10 @@
"exposeInputEvent": {
"description": "Choose weather to expose the shelly input events: momentary or disabled (you may need to pair again the controller when changed)",
"type": "string",
"enum": ["momentary", "disabled"],
"enum": [
"momentary",
"disabled"
],
"default": "disabled"
},
"inputEventList": {
Expand All @@ -91,7 +103,10 @@
"exposePowerMeter": {
"description": "Choose how to expose the shelly power meters: disabled, matter13 (will use Matter 1.3 electricalSensor)",
"type": "string",
"enum": ["disabled", "matter13"],
"enum": [
"disabled",
"matter13"
],
"default": "disabled"
},
"blackList": {
Expand All @@ -116,7 +131,7 @@
}
},
"deviceEntityBlackList": {
"description": "List of components not to be exposed for a single device. Enter in the first field the name of the device id (e.g. shellyplus2pm-5443B23D81F8) and in the second field add all the component names (i.e. Temperature) or component ids (i.e. temperature:0) you want to exclude for that device.",
"description": "List of components not to be exposed for a single device. Enter in the first field the device id (e.g. shellyplus2pm-5443B23D81F8) and in the second field add all the component names (i.e. Temperature) or component ids (i.e. temperature:0) you want to exclude for that device.",
"type": "object",
"additionalProperties": {
"type": "array",
Expand Down Expand Up @@ -204,4 +219,4 @@
"default": false
}
}
}
}

0 comments on commit abc967a

Please sign in to comment.