Matter Border Router for ESP8266 (experimental) #18734
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
Implementation of Matter Border Router which allows to use a single ESP32(/C3/S3) to control multiple other Tasmota devices, including ESP8266.
Matter Controller (Apple/Alexa/Google) <--> Tasmota Matter Border Router (ESP32) <--> Multiple Tasmota devices (via HTTP)
Currently supported:
Important Note: Full Bridge mode is not yet supported, which means that currently you can't dynamically add new devices/endpoints. Adding a new Tasmota-end-device requires to remove the border router from the controller and pair it again. This will be addresses in the near future.
When a command arrives from the Matter controller, it is passed immediately to the end-device. Any change made on the end-device is eventually sent back to Matter controller via polling. Polling is done every 3 seconds for Lights/Relays, every 5 seconds for sensors.
The Matter border router needs to have IP connectivity to the Tasmota end-device to send HTTP requests. However they don't need to be on the same VLAN (contrary to Matter which needs the controller and the device to be on the same VLAN).
Example:
WebUI gives a near-realtime status of remote devices
Corresponding view of the Matter configuration UI:
Corresponding
_matter_device.json
configuration file:Configuration in WebUI:
<power_number>,<IP>
where<power_number>
is the number used inPower<x>
command to control the light. Ex: for a single light use1
. For 3 relays and a light, use4
<relay_number>,<IP>
where<relay_number>
is the number of the relay in template<rule_pattern>,<IP>
where<rule_pattern>
is the search pattern used on JSON fromStatus 8
to get the value. Ex:SHT3X#Humidity
Note: logs are currently on-purpose verbose to simplify debugging from early testers. They will be reduced when stabilized.
Example:
Checklist:
NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass