Skip to content

Commit

Permalink
Merge pull request #52 from Luligu/dev
Browse files Browse the repository at this point in the history
Release 1.3.0
  • Loading branch information
Luligu committed Jun 16, 2024
2 parents 5782176 + 592dba1 commit a2b0e85
Show file tree
Hide file tree
Showing 33 changed files with 7,257 additions and 359 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docker-buildx-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-f docker/Dockerfile.main \
-t luligu/matterbridge:latest \
-t luligu/matterbridge:1.2.22 \
-t luligu/matterbridge:1.3.0 \
--push .
docker manifest inspect luligu/matterbridge:latest
timeout-minutes: 60
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

All notable changes to this project will be documented in this file.

## [1.3.0] - 2024-06-16

This release is all about Matter 1.3

If you are wondering whether the controllers already support Matter 1.3, the answer is unfortunately no.

Only Home Automation supports:
- airQualitySensor (Matter 1.2)

and (probably only like BooleanState cluster)
- waterFreezeDetector (Matter 1.3)
- waterLeakDetector (Matter 1.3)
- rainSensor (Matter 1.3)

### Changed
- [matterbridge]: Updated dependencies
- [matterbridge]: Default config and schema for the new plugin matterbridge-shelly (will be published after this release)

### Added
- [matterbridgeDevice]: Added waterFreezeDetector, waterLeakDetector, rainSensor, smokeCoAlarm, electricalSensor and deviceEnergyManagement device types as conformance to Matter 1.3
- [matterbridgeDevice]: Added all clusters needed for the above Matter 1.3 device types
- [matterbridgeDevice]: Added FanControl cluster (rev. 2) helper methods for the Fan device type
- [matterbridge]: Added parameter -matterlogger [debug | info | notice | warn | error | fatal] to set the matter.js Logger separately from the Matterbridge log
- [frontend]: Added logger level settings to reflect -matterlogger [debug | info | notice | warn | error | fatal]

<a href="https://www.buymeacoffee.com/luligugithub">
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
</a>

## [1.2.22] - 2024-06-04

### Changed
Expand Down
48 changes: 40 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

[![npm version](https://img.shields.io/npm/v/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
[![npm downloads](https://img.shields.io/npm/dt/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
[![Docker Version](https://img.shields.io/docker/v/luligu/matterbridge?label=docker%20version&sort=semver)](https://hub.docker.com/r/luligu/matterbridge)
[![Docker Pulls](https://img.shields.io/docker/pulls/luligu/matterbridge.svg)](https://hub.docker.com/r/luligu/matterbridge)
![Node.js CI](https://github.com/Luligu/matterbridge/actions/workflows/build.yml/badge.svg)


[![power by](https://img.shields.io/badge/powered%20by-matter--history-blue)](https://www.npmjs.com/package/matter-history)
[![power by](https://img.shields.io/badge/powered%20by-node--ansi--logger-blue)](https://www.npmjs.com/package/node-ansi-logger)
[![power by](https://img.shields.io/badge/powered%20by-node--persist--manager-blue)](https://www.npmjs.com/package/node-persist-manager)
Expand Down Expand Up @@ -329,7 +330,7 @@ After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/matterbridge -bridge -service -port 5550
ExecStart=/usr/bin/matterbridge -bridge -service
WorkingDirectory=/home/<USER>/Matterbridge
StandardOutput=inherit
StandardError=inherit
Expand Down Expand Up @@ -473,42 +474,73 @@ docker logs matterbridge
docker logs --tail 1000 -f matterbridge
```

# Known issues
# Known general issues

## Session XYZ does not exist
This message may appear after Matterbridge restarts, indicating that the controller is still using a session from the previous connection that has since been closed.
After some time, the controller will reconnect.
In this context, the message is not indicative of a problem.

## Apple Home issues
## Apple Home

The HomePods, being a WiFi devices, sometimes pruduce message trasmission errors. The Apple TV with network cable is more reliable (but also more expensive).

Solved with the version 17.5 of the HomePod/AppleTV. Now they are stable.

### DoorLock
### DoorLock issue

The DoorLock cluster in the Home app takes a while to get online. The Home app shows no response for 1 or 2 seconds but then the accessory goes online. With the Eve app or the Controller app this issue is not present.

Solved with the version 17.5 of the HomePod/AppleTV.

## Home Assistant

So far is the only controller supporting some Matter 1.3 device type:
- air quality sensor

HA also support electrical measurements from EveHistoryCluster (used in Matterbridge plugins)

## Home Assistant issues (Matter Server for HA is still in Beta)

- If HA doesn't show all devices just reload the HA Matter Server or reboot HA
- Home Assistant doesn't seem to react when a device is removed from the bridge: they remain like unavailable forever...
- If HA doesn't show all devices just reload the Matter Server or reboot HA
- Home Assistant doesn't seem to react when a device is removed from the bridge: they remain in HA unavailable forever...
- In the Home Assistant Core log you can see sometimes error messages relating to unique id not found but it seems to be an issue related to missing some matter packet during the commissioning and subscription phase...
- Version 6.1.0 is more stable and has solved the problem of the commissioning window: now pairing is again easy. Use Apple Home when you have to choose the controller type even if you pair Matterbridge directly with HA.

## Google Home

No issues reported so far.

## Alexa

Tested by Tamer Salah

Alexa needs the standard port 5540 to pair (from matter.js readme).

There is no support for these Matter device types:
- pressure sensor
- flow sensor
- light sensor

In the zigbee2mqtt and shelly plugins select the option to expose
the switch devices like light or outlet cause they don't show up like switch
(Matterbridge uses a modified switch device type without client cluster).

## SmartThings

Tested by Tamer Salah

No issues reported so far.

## eWeLink

Tested by Tamer Salah

eWeLink needs the standard port 5540 for commissioning.

## Tuya/Smart Life

Check the matter.js readme.

# Contribution Guidelines

Expand All @@ -524,7 +556,7 @@ I warmly welcome contributions to this project! Whether it's reporting bugs, pro

## Submitting Changes

- Create a new pull request from my repository and I'll be glad to check it out
- Create a new pull request against the dev from my repository and I'll be glad to check it out
- Be sure to follow the existing code style
- Add unit tests for any new or changed functionality if possible
- In your pull request, do describe what your changes do and how they work
Expand Down
9 changes: 2 additions & 7 deletions docker/Dockerfile.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@ COPY ./frontend/build ./frontend/build
RUN npm ci --no-audit --no-update-notifier --no-fund && \
npm run build && \
npm link
#npm -g install ./ && \
#rm ./package.json ./package-lock.json ./tsconfig.json && \
#rm -rf ./src && \
#rm -rf ./frontend && \
#rm -rf ./dist && \
#rm -rf ./node_modules


# Install Matterbridge plugins
RUN npm -g install matterbridge-example-accessory-platform
Expand All @@ -35,4 +30,4 @@ RUN npm -g install matterbridge-eve-weather
# WORKDIR /app
# Node modules: /usr/local/lib/node_modules/matterbridge/dist/cli.js
# Bin: /usr/local/bin/matterbridge
CMD ["/usr/local/bin/matterbridge", "-bridge", "-docker", "-frontend", "8283"]
CMD ["/usr/local/bin/matterbridge", "-bridge", "-docker"]
6 changes: 3 additions & 3 deletions frontend/build/asset-manifest.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"files": {
"main.css": "/static/css/main.57bd18a9.css",
"main.js": "/static/js/main.23829a0f.js",
"main.js": "/static/js/main.cbfc6c9b.js",
"static/js/453.d855a71b.chunk.js": "/static/js/453.d855a71b.chunk.js",
"index.html": "/index.html",
"main.57bd18a9.css.map": "/static/css/main.57bd18a9.css.map",
"main.23829a0f.js.map": "/static/js/main.23829a0f.js.map",
"main.cbfc6c9b.js.map": "/static/js/main.cbfc6c9b.js.map",
"453.d855a71b.chunk.js.map": "/static/js/453.d855a71b.chunk.js.map"
},
"entrypoints": [
"static/css/main.57bd18a9.css",
"static/js/main.23829a0f.js"
"static/js/main.cbfc6c9b.js"
]
}
2 changes: 1 addition & 1 deletion frontend/build/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="/manifest.json"/><script defer="defer" src="/static/js/main.23829a0f.js"></script><link href="/static/css/main.57bd18a9.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="/manifest.json"/><script defer="defer" src="/static/js/main.cbfc6c9b.js"></script><link href="/static/css/main.57bd18a9.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions frontend/src/components/Settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,10 @@ function MatterbridgeInfo() {
<RadioGroup focused row name="debug-buttons-group" value={selectedDebugLevel} onChange={handleChangeDebugLevel}>
<FormControlLabel value="Debug" control={<Radio />} label="Debug" />
<FormControlLabel value="Info" control={<Radio />} label="Info" />
<FormControlLabel value="Notice" control={<Radio />} label="Notice" />
<FormControlLabel value="Warn" control={<Radio />} label="Warn" />
<FormControlLabel value="Error" control={<Radio />} label="Error" />
<FormControlLabel value="Fatal" control={<Radio />} label="Fatal" />
</RadioGroup>
</div>
<TextField focused value={password} onChange={handleChangePassword} size="small" id="matterbridgePassword" label="Matterbridge Password" type="password" autoComplete="current-password" variant="outlined" style={{ marginTop: '20px'}} />
Expand Down
Loading

0 comments on commit a2b0e85

Please sign in to comment.