diff --git a/COMPONENTS.md b/COMPONENTS.md new file mode 100644 index 0000000..65d518b --- /dev/null +++ b/COMPONENTS.md @@ -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): + +image + +### 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"] } +``` diff --git a/matterbridge-shelly.schema.json b/matterbridge-shelly.schema.json index 33afd72..1daefea 100644 --- a/matterbridge-shelly.schema.json +++ b/matterbridge-shelly.schema.json @@ -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": { @@ -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": { @@ -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": { @@ -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": { @@ -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", @@ -204,4 +219,4 @@ "default": false } } -} +} \ No newline at end of file