Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
25e7dbe
WIP
romasku Oct 20, 2025
5695168
WIP 2
romasku Oct 21, 2025
2125747
Fix silabs build from virtualenv
romasku Oct 21, 2025
397a52c
Support end devices for silabs
romasku Oct 21, 2025
f9d95be
Add telink low power support
romasku Oct 25, 2025
f5af316
Update telink SDK to 3.7.2.0
romasku Oct 25, 2025
a80382e
Add boot announce support
romasku Oct 25, 2025
d3989e5
Backport NC (normaly closed) support
romasku Oct 25, 2025
3110afb
Backport action states for toggles
romasku Oct 25, 2025
0cdc16e
Merge branch 'main' into hal
romasku Oct 25, 2025
a614057
Update docs to be in sync with new code
romasku Oct 25, 2025
c0508b7
Finalize new build system
romasku Oct 25, 2025
e6c6de7
Make tests work in CI
romasku Oct 25, 2025
4365afb
Freeze ota links
romasku Oct 25, 2025
751f281
Try fixed OTA build
romasku Oct 26, 2025
ee03f5d
Restore bin to be as in main
romasku Oct 26, 2025
f703281
Fix crc32 generation for telink ota images
romasku Oct 26, 2025
62e6dc4
Fix silabs build
romasku Oct 26, 2025
50030f1
Fix telink interrupts
romasku Oct 26, 2025
e404899
Backport checksum verification for telink
romasku Oct 31, 2025
a4a79ec
Add HAL_SILABS to Silabs builds
romasku Oct 31, 2025
69bfd54
Fix typo in docs
romasku Oct 31, 2025
824206e
Update Gecko SDK to 4.5.0
romasku Oct 31, 2025
e382406
Fix bug in manual indicator mode
romasku Oct 31, 2025
288712b
Add missing click requirement
romasku Oct 31, 2025
3a134bd
Fix silabs github build
romasku Oct 31, 2025
f2be414
Change `APP_RELEASE`
clumsy-stefan Oct 27, 2025
e8f51f6
Remove unused files
romasku Nov 1, 2025
0fc8e21
Update versioning process
romasku Nov 1, 2025
437e232
Fix tests
romasku Nov 1, 2025
98da6b6
Fix build for new versioning approach
romasku Nov 1, 2025
d3ff6e0
Fix silabs build for end device
romasku Nov 2, 2025
4b69826
Drop git branch name from version
romasku Nov 2, 2025
8673953
Implement test_momentary_mode_multistate_action_reporting
marazmarci Oct 29, 2025
6859775
Configure reporting for switch actions (genMultistateInput) and indic…
marazmarci Oct 29, 2025
3843505
Reduce relay onOff cluster's max reporting interval
marazmarci Nov 2, 2025
2e69a79
Support logless builds for silabs
romasku Nov 2, 2025
d975ed3
Fix reconnect issues when changing device type
romasku Nov 3, 2025
e967234
Move to Simplicity SDK
romasku Nov 9, 2025
ddccec1
Update building.md to include correct names
romasku Nov 13, 2025
ee6839f
Update zha_quirk to enable reporting for indicator led
romasku Nov 13, 2025
e012fca
Fix reset functionality (preserve user settings)
romasku Nov 13, 2025
41c572f
Fix crashes on Silabs device
romasku Nov 14, 2025
7b82d3a
Fix pinout for Moes 4 gang (silabs)
romasku Nov 14, 2025
470a86d
Fix GPIO interrupts on Telink
romasku Nov 14, 2025
5d530ae
Fix even more gpio interrupt races
romasku Nov 15, 2025
6994827
Fix missing first press
romasku Nov 15, 2025
699367a
Fix installation of commander (use correct archive)
romasku Nov 15, 2025
e979ccb
Fix reporting for no-indicator devices
romasku Nov 15, 2025
052d5b7
Drop old files when re-building
romasku Nov 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 43 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,52 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0 # Получить полную историю коммитов
fetch-depth: 0

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make python3 python3-jinja2 python3-yaml yq unzip wget
sudo apt-get install -y make python3 yq unzip wget gcc-arm-none-eabi

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Cache Silicon Labs Tools
uses: actions/cache@v3
with:
path: silabs_tools
key: silabs-tools-2025.6.2

- name: Cache Telink Tools
uses: actions/cache@v3
with:
path: telink_tools
key: telink-tools-v3.7.2.0

- name: Cache Python Virtual Environment
uses: actions/cache@v3
with:
path: .venv
key: python-venv-${{ hashFiles('requirements.txt') }}

- name: Install SDK and Toolchain
run: |
make install
make setup || (
echo "dumping log:" &&
cat /home/runner/work/tuya-zigbee-switch/tuya-zigbee-switch/silabs_tools/slc-cli/bin/slc-cli/configuration/*.log
)

- name: Clear out index files
run: |
echo [] > zigbee2mqtt/ota/index_router.json
echo [] > zigbee2mqtt/ota/index_end_device.json
echo [] > zigbee2mqtt/ota/index_router-FORCE.json
echo [] > zigbee2mqtt/ota/index_end_device-FORCE.json
source .venv/bin/activate
make tools/clean_z2m_index

- name: Build for all boards
run: |
source .venv/bin/activate
yq -r 'to_entries | sort_by(.key)[] | "\(.key) \(.value.device_type) \(.value.build)"' device_db.yaml | while read ITER TYPE BUILD; do

if [ "$BUILD" = "no" ]; then
Expand All @@ -45,37 +71,41 @@ jobs:
fi

echo "Building for board: $ITER (router)"
BOARD=$ITER DEVICE_TYPE=router make clean && BOARD=$ITER DEVICE_TYPE=router make -j16 || exit 1
BOARD=$ITER DEVICE_TYPE=router make board/build || exit 1
echo "Checking if files were created for board: $ITER (router)"
ls -l bin/router/$ITER/

if [ "$TYPE" = "end_device" ]; then
echo "Building for board: $ITER (end_device)"
BOARD=${ITER} DEVICE_TYPE=end_device make clean && BOARD=${ITER} DEVICE_TYPE=end_device make -j16 || exit 1
BOARD=${ITER} DEVICE_TYPE=end_device make board/build || exit 1
echo "Checking if files were created for board: $ITER (end_device)"
ls -l bin/end_device/${ITER}_END_DEVICE/
fi
done

- name: Update Z2M converters
run: |
make update_converters
source .venv/bin/activate
make tools/update_converters

- name: Update ZHA quirks
run: |
make update_zha_quirk
source .venv/bin/activate
make tools/update_zha_quirk

- name: Update supported_devices.md
run: |
make update_supported_devices
source .venv/bin/activate
make tools/update_supported_devices

- name: Commit changes
run: |
source .venv/bin/activate
git config --global user.name "GitHub Actions"
git config --global user.email "[email protected]"
git add bin/* zigbee2mqtt/* zha/* docs/devices/supported.md
git diff --cached --quiet || git commit -m "Update firmware files, converters, quirks and supported devices list"
make freeze_ota_links
make tools/freeze_ota_links
git add zigbee2mqtt/*
git diff --cached --quiet || git commit -m "Freeze links in OTA index files"
git push
6 changes: 5 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install pytests
run: |
sudo apt-get update
sudo apt-get install -y make python3 python3-pytest
- name: Run tests
run: make test
run: make tests
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,12 @@ tests/build
sdk
toolchain
.vscode
.venv
.venv

telink_tools
silabs_tools

__pycache__
*.pyc
*.pyo
*.pyd
Loading