Skip to content

Commit

Permalink
A new start
Browse files Browse the repository at this point in the history
  • Loading branch information
MikhailIvanov-eliona committed Oct 16, 2024
0 parents commit 9129c27
Show file tree
Hide file tree
Showing 93 changed files with 2,955 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .addons.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
channel: stable
addons:
adguard:
repository: silabs-multiprotocol-ember/silabs-multiprotocol-ember
target: silabs-multiprotocol-ember
image: ghcr.io/hassio-addons/adguard/{arch}
82 changes: 82 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: BUILD

on:
push:
pull_request:

jobs:
variables:
runs-on: ubuntu-latest
outputs:
ARCH_LIST: ${{ env.ARCH_LIST }}
ADDON_LIST: ${{ env.ADDON_LIST }}
DOCKER_ARGS: ${{ env.DOCKER_ARGS }}
env:
CPCD_VERSION: v4.5.2
GECKO_SDK_VERSION: v2024.6.1-0
UNIVERSAL_SILABS_FLASHER: 0.0.22
steps:
- uses: actions/checkout@v3

- name: "ARGS: default"
run: |
echo "ADDON_LIST=['silabs-multiprotocol-ember']" >> $GITHUB_ENV
echo "DOCKER_ARGS=--no-latest --test" >> $GITHUB_ENV
- name: "ARGS: silabs-multiprotocol-ember" # Build of addon release version
if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
run: |
echo "ADDON_LIST=['silabs-multiprotocol-ember']" >> $GITHUB_ENV
echo "DOCKER_ARGS=--no-cache" >> $GITHUB_ENV
# echo "DOCKER_ARGS=--build-args CPCD_VERSION=${{ env.CPCD_VERSION }}" >> $GITHUB_ENV
# echo "DOCKER_ARGS=--build-args GECKO_SDK_VERSION=${{ env.GECKO_SDK_VERSION }}" >> $GITHUB_ENV
# echo "DOCKER_ARGS=--build-args UNIVERSAL_SILABS_FLASHER=${{ env.UNIVERSAL_SILABS_FLASHER }}" >> $GITHUB_ENV


build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
needs: variables
env:
DOCKER_ARGS: ${{needs.variables.outputs.DOCKER_ARGS}}
strategy:
matrix:
arch:
- arch: aarch64
from: ghcr.io/home-assistant/aarch64-base-debian:bullseye
- arch: armv7
from: ghcr.io/home-assistant/armv7-base-debian:bullseye
- arch: amd64
from: ghcr.io/home-assistant/amd64-base-debian:bullseye
steps:
- uses: actions/checkout@v3
- name: set version
if: (startsWith(github.ref, 'refs/tags/'))
run: |
jq '.version = "${{ github.ref_name }}"' silabs-multiprotocol-ember/config.json > silabs-multiprotocol-ember/config.json.tmp
mv silabs-multiprotocol-ember/config.json.tmp silabs-multiprotocol-ember/config.json
cat silabs-multiprotocol-ember/config.json
echo vars: ${{ vars.DOCKER_LOGIN }}
echo env: ${{ env.DOCKER_LOGIN }}
- uses: docker/login-action@v2
# if: (startsWith(github.ref, 'refs/tags/'))
with:
registry: ghcr.io
username: ${{ vars.DOCKER_LOGIN }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/login-action@v2
# if: (startsWith(github.ref, 'refs/tags/'))
with:
username: ${{ vars.DOCKER_LOGIN }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build
run: |
docker run --rm --privileged \
-v /home/runner/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
-v $(pwd)/silabs-multiprotocol-ember:/data homeassistant/amd64-builder --${{ matrix.arch.arch }} -t /data \
${{ env.DOCKER_ARGS }}
# docker push ghcr.io/se7ven/${{ matrix.arch.arch }}-addon-silabs-multiprotocol-ebmer:$GITHUB_REF


14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
bin/*
!bin/create_all.sh
!bin/create_hassio_addon.sh
!bin/travis_build.sh
*.do
bin/*
docs/*
site/*
pip-selfcheck.json
pyvenv.cfg
include/
lib/
venv/
.translations
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MIT License

Copyright (c) 2017-2024 Franck Nijhof <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
6 changes: 6 additions & 0 deletions local-build-silabs-multiprotocol-ember.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh
ARCH=$1
docker run --rm --privileged \
-v ~/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
-v $(pwd)/silabs-multiprotocol-ember:/data homeassistant/amd64-builder --${ARCH} -t /data --self-cache
5 changes: 5 additions & 0 deletions repository.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "Silabs Multiprotocol addon with Ember driver",
"url": "https://github.com/Se7ven/silabs-multiprotocol-ember",
"maintainer": "Mikhail Ivanov <[email protected]>"
}
8 changes: 8 additions & 0 deletions silabs-multiprotocol-ember/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions silabs-multiprotocol-ember/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions silabs-multiprotocol-ember/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

227 changes: 227 additions & 0 deletions silabs-multiprotocol-ember/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
# Changelog

## 2.4.5
- Support Home Assistant Connect ZBT-1.

## 2.4.4
- Revert back to Silicon Labs Gecko SDK 4.3.1 while 4.4.0 instability is investigated.
- Backport firmware modifications for improved stability.
- Bump universal SiLabs flasher to 0.0.17

## 2.4.3
- ⚠️ Zigbee2MQTT does not yet support this version of the Gecko SDK. Do not update if you are using Z2M! ⚠️.
- This is a re-release of 2.4.0 that is compatible only with Home Assistant Core 2024.1.0 and above.

## 2.4.2
- Bump universal SiLabs flasher to 0.0.16 so that firmware is successfully installed on startup.

## 2.4.1

- Revert back to Silicon Labs Gecko SDK 4.3.1 to maintain compatibility with Home Assistant Core 2023.12.0 and Zigbee2MQTT. If you are running 2024.1.0 with ZHA, you don't have to downgrade.

## 2.4.0

- Use Silicon Labs Gecko SDK 4.4.0
- Bump universal SiLabs flasher to 0.0.16
- Improved firmware configurations for Home Assistant Yellow and SkyConnect
for stability (without ZGP, with watchdog)

## 2.3.2

- Update mDNSResponder to 1790.80.10

## 2.3.1

- Use Silicon Labs Gecko SDK 4.3.1

## 2.3.0

- Add patch with new REST API to reset the OTBR
- Bump universal SiLabs flasher to 0.0.13

## 2.2.0

- Use Silicon Labs Gecko SDK 4.3.0
- With this we get the OTBR version from May 17th, along with Border Agent ID
support (required for Android and iOS APIs)
- Note: This update needs a new Multi-PAN firmware. Home Assistant SkyConnect and Yellow get automatically updated by this add-on.

## 2.1.0

- Add REST API patches to fix a bugs and support deleting datasets

## 2.0.0

- Update OpenThread REST API to latest upstreamed API variant

## 1.1.3

- Use native zigbeed on x86-64/amd64 architecture
- Avoid deleting otbr-web user content twice

## 1.1.2

- Use Silicon Labs Gecko SDK 4.2.3
- Avoid starting mdnsd when OpenThread Border Router is not enabled

## 1.1.1

- Bugfix: bump universal SiLabs flasher to 0.0.12 for amd64

## 1.1.0

- Use default baudrate of 460800 (WARNING: You MUST update your configuration!)
- Bump universal SiLabs flasher to 0.0.12

## 1.0.2

- Use Silicon Labs Gecko SDK 4.2.2

## 1.0.1

- Use host namespace for hostname (make sure that the BR is announced with the
systems real hostname)

## 1.0.0

- Remove Web UI via ingress (expose ports to use the Web UI, see documentation)
- Change vendor name to "Home Assistant" and product name to Silicon Labs
Multiprotocol" (used in OTBR mDNS/DNS-SD announcments)

## 0.13.1

- Set default baudrate 115200 correctly
- Prevent OTBR discovery service from start when OTBR is disabled
- Fix REST API to correctly set the Connection HTTP header on amd64
- Fix network device support (properly start socat if necessary) on amd64

## 0.13.0

- Use Silicon Labs Gecko SDK 4.2.1
- Let the OTBR REST API listen on local interface only by default
- Automatically flash firmware by default
- Disable OTBR web interface by default (see documentation)
- Fix network device support (properly start socat if necessary)

## 0.12.0

- Use Silicon Labs Gecko SDK 4.1.4

## 0.11.4

- Fix REST API to correctly set the Connection HTTP header

## 0.11.3

- Fix REST API to return an HTTP compliant status line

## 0.11.2

- Add OTBR discovery support

## 0.11.1

- Update REST API with full active and pending dataset as well as state support

## 0.11.0

- Use Silicon Labs Gecko SDK 4.2.0

## 0.10.0

- Add REST API to get and set the active dataset to the OpenThrad Border Router

## 0.9.1

- Avoid start error in case multiple primary interfaces are returned
- Fix zigbeed argument parsing for 32-bit add-on
- Remove unnecessary error message "Cannot open file /usr/local/etc/zigbeed.conf"

## 0.9.0

- Allow IPv6 forwarding explicitly (required for HAOS 9.x without firewall)
- Add OTBR firewall option (enabled by default, requires HAOS 9.4 or newer)
- Add egress firewall rules for forwarding
- Add fine grained OTBR log level control
- Fix service stop (finish) scripts

## 0.8.1

- Bugfix: give GPIO permissions to container to allow flashing Yellow

## 0.8.0

- Initial AMD64/x86-64 support (zigbeed via QEMU)
- Increase multicast table size to 16 (as expected by ZHA by default)

## 0.7.2

- Fix OTBR enable flag (allow to disable the OTBR)
- Fix zigbeed and cpcd finish scripts
- Start banner after initialization scripts

## 0.7.1

- Bump universal SiLabs flasher to 0.0.7
- Use baudrate 115200 by default
- Add Docker health check to monitor zigbeed

## 0.7.0

- Support firmware flashing for Home Assistant SkyConnect/Yellow
- Allow quick reconnects by ZHA (required during config flow)

## 0.6.2

- Use Silicon Labs Gecko SDK 4.1.3

## 0.6.1

- Use Silicon Labs Gecko SDK 4.1.2

## 0.6.0

- Implement native TCP/IP support for zigbeed (requires bellows 0.34.0 or newer)
- Bind only to add-ons local address

## 0.5.1

- Use Silicon Labs Gecko SDK 4.1.1
- Readd aarch64 support

## 0.5.0

- Use Silicon Labs Gecko SDK 4.1.0
- Build zigbeed from source (as binaries are no longer provided)
- Bump OTBR to Silicon Labs forked version of Gecko SDK v4.1.0
(based on OTBR POSIX version 3a98779dc9 (2022-06-02 09:34:58 -0700))
- Use s6-overlay v3 style services
- Drop aarch64 support (all CPC communication blocks on aarch64 since 4.1.0)

## 0.4.1

- Support network device (CPC daemon via TCP/IP socket)

## 0.4.0

- Use Silicon Labs Gecko SDK 4.0.2
- Enable native aarch64 support
- Support baudrate and hardware flow control

## 0.3.1

- Fix permissions to make otbr-agent start correctly
- Add OpenThread Border Router web frontend via ingress

## 0.3.0

- Initial OpenThread support

## 0.2.0

- Use Silicon Labs Gecko SDK 4.0.1
- Fix port description

## 0.1.0

- initial version
Loading

0 comments on commit 9129c27

Please sign in to comment.