Compare commits
408 Commits
@@ -3,7 +3,12 @@ FROM ghcr.io/home-assistant/devcontainer:addons
|
||||
RUN \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
python3-pip
|
||||
python3-pip \
|
||||
python3-venv
|
||||
|
||||
ENV VIRTUAL_ENV=/opt/venv
|
||||
RUN python3 -m venv $VIRTUAL_ENV
|
||||
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||
|
||||
COPY script/requirements.txt /
|
||||
|
||||
|
||||
@@ -14,23 +14,28 @@
|
||||
"containerEnv": {
|
||||
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
|
||||
},
|
||||
"extensions": [
|
||||
"timonwong.shellcheck",
|
||||
"esbenp.prettier-vscode"
|
||||
],
|
||||
"mounts": [
|
||||
"type=volume,target=/var/lib/docker"
|
||||
],
|
||||
"settings": {
|
||||
"terminal.integrated.profiles.linux": {
|
||||
"zsh": {
|
||||
"path": "/usr/bin/zsh"
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"timonwong.shellcheck",
|
||||
"esbenp.prettier-vscode",
|
||||
"ms-python.python"
|
||||
],
|
||||
"mounts": [
|
||||
"type=volume,target=/var/lib/docker"
|
||||
],
|
||||
"settings": {
|
||||
"terminal.integrated.profiles.linux": {
|
||||
"zsh": {
|
||||
"path": "/usr/bin/zsh"
|
||||
}
|
||||
},
|
||||
"terminal.integrated.defaultProfile.linux": "zsh",
|
||||
"editor.formatOnPaste": false,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnType": true,
|
||||
"files.trimTrailingWhitespace": true
|
||||
}
|
||||
},
|
||||
"terminal.integrated.defaultProfile.linux": "zsh",
|
||||
"editor.formatOnPaste": false,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnType": true,
|
||||
"files.trimTrailingWhitespace": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
83
.github/workflows/bump-version.yml
vendored
@@ -15,46 +15,47 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- run: pip install -r script/requirements.txt
|
||||
- run: script/bump-version.py ${{ github.event.inputs.version }}
|
||||
- name: Write Beta changelog
|
||||
if: ${{ contains(github.event.inputs.version, 'b') }}
|
||||
run: |
|
||||
cat > esphome-beta/CHANGELOG.md << 'EOF'
|
||||
## ${{ github.event.inputs.version }}
|
||||
- uses: actions/checkout@v4.2.0
|
||||
- uses: actions/setup-python@v5.2.0
|
||||
with:
|
||||
python-version: "3.11"
|
||||
- run: pip install -r script/requirements.txt
|
||||
- run: script/bump-version.py ${{ github.event.inputs.version }}
|
||||
- name: Write Beta changelog
|
||||
if: ${{ !contains(github.event.inputs.version, 'dev') }}
|
||||
run: |
|
||||
cat > esphome-beta/CHANGELOG.md << 'EOF'
|
||||
## ${{ github.event.inputs.version }}
|
||||
|
||||
${{ github.event.inputs.content }}
|
||||
EOF
|
||||
- name: Write Stable changelog
|
||||
if: ${{ !contains(github.event.inputs.version, 'b') }}
|
||||
run: |
|
||||
cat > esphome/CHANGELOG.md << 'EOF'
|
||||
## ${{ github.event.inputs.version }}
|
||||
${{ github.event.inputs.content }}
|
||||
EOF
|
||||
- name: Write Stable changelog
|
||||
if: ${{ !contains(github.event.inputs.version, 'b') && !contains(github.event.inputs.version, 'dev') }}
|
||||
run: |
|
||||
cat > esphome/CHANGELOG.md << 'EOF'
|
||||
## ${{ github.event.inputs.version }}
|
||||
|
||||
${{ github.event.inputs.content }}
|
||||
EOF
|
||||
- name: Commit version bump
|
||||
id: commit_version
|
||||
run: |
|
||||
git config user.name esphomebot
|
||||
git config user.email esphome@nabucasa.com
|
||||
git add .
|
||||
git commit -m "Bump version to ${{ github.event.inputs.version }}"
|
||||
git push
|
||||
COMMIT=$(git rev-parse HEAD)
|
||||
echo "::set-output name=commit_sha::${COMMIT}"
|
||||
- name: Create a Release
|
||||
uses: actions/create-release@v1.1.4
|
||||
continue-on-error: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.event.inputs.version }}
|
||||
release_name: ${{ github.event.inputs.version }}
|
||||
body: ${{ github.event.inputs.content }}
|
||||
prerelease: ${{ contains(github.event.inputs.version, 'b') }}
|
||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
||||
${{ github.event.inputs.content }}
|
||||
EOF
|
||||
- name: Commit version bump
|
||||
id: commit_version
|
||||
run: |
|
||||
git config user.name esphomebot
|
||||
git config user.email esphome@nabucasa.com
|
||||
git add .
|
||||
git commit -m "Bump version to ${{ github.event.inputs.version }}"
|
||||
git push
|
||||
COMMIT=$(git rev-parse HEAD)
|
||||
echo "::set-output name=commit_sha::${COMMIT}"
|
||||
- name: Create a Release
|
||||
uses: actions/create-release@v1.1.4
|
||||
continue-on-error: true
|
||||
if: ${{ !contains(github.event.inputs.version, 'dev') }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.event.inputs.version }}
|
||||
release_name: ${{ github.event.inputs.version }}
|
||||
body: ${{ github.event.inputs.content }}
|
||||
prerelease: ${{ contains(github.event.inputs.version, 'b') }}
|
||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
||||
|
||||
10
.github/workflows/devcontainer-build.yaml
vendored
@@ -19,20 +19,20 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
- uses: actions/checkout@v4.2.0
|
||||
- name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v2.1.0
|
||||
uses: docker/login-action@v3.2.0
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2.1.0
|
||||
uses: docker/setup-qemu-action@v3.1.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2.2.1
|
||||
uses: docker/setup-buildx-action@v3.4.0
|
||||
- name: Build and Push
|
||||
uses: docker/build-push-action@v3.3.0
|
||||
uses: docker/build-push-action@v6.9.0
|
||||
with:
|
||||
context: .
|
||||
file: .devcontainer/Dockerfile
|
||||
|
||||
8
.github/workflows/lint.yml
vendored
@@ -19,16 +19,16 @@ jobs:
|
||||
channel: dev
|
||||
steps:
|
||||
- name: ⤵️ Check out code from GitHub
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v4.2.0
|
||||
- name: 🛠 Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5.2.0
|
||||
with:
|
||||
python-version: '3.x'
|
||||
python-version: '3.11'
|
||||
- name: 🛠 Install dependencies
|
||||
run: pip install -r script/requirements.txt
|
||||
- name: 🛠 Generate files from template
|
||||
run: python script/generate.py ${{ matrix.channels.channel }}
|
||||
- name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channels.channel }}
|
||||
uses: frenck/action-addon-linter@v2.11.0
|
||||
uses: frenck/action-addon-linter@v2.17.0
|
||||
with:
|
||||
path: "./${{ matrix.channels.folder }}"
|
||||
|
||||
@@ -1 +1,119 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
## 2024.10.0
|
||||
|
||||
## Full list of changes
|
||||
|
||||
### New Components
|
||||
|
||||
- Add OpenTherm component (part 1: communication layer and hub) [esphome#6645](https://github.com/esphome/esphome/pull/6645) by [@olegtarasov](https://github.com/olegtarasov) (new-integration)
|
||||
- Add tca9555 GPIO driver [esphome#7146](https://github.com/esphome/esphome/pull/7146) by [@mobrembski](https://github.com/mobrembski) (new-integration)
|
||||
- Add support for Sharp GP2Y1010AU0F PM2.5 sensor [esphome#6007](https://github.com/esphome/esphome/pull/6007) by [@zry98](https://github.com/zry98) (new-integration)
|
||||
- [audio_dac] [aic3204] Add new component + platform [esphome#7505](https://github.com/esphome/esphome/pull/7505) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Feature/add seeed grove gmxxx multichannel gas support [esphome#4304](https://github.com/esphome/esphome/pull/4304) by [@YorkshireIoT](https://github.com/YorkshireIoT) (new-integration)
|
||||
- Add Initial TE-M3200 pressure sensor support [esphome#6862](https://github.com/esphome/esphome/pull/6862) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- Add Initial NPI-19 pressure sensor support [esphome#7181](https://github.com/esphome/esphome/pull/7181) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- nau7802: new component [esphome#6291](https://github.com/esphome/esphome/pull/6291) by [@cujomalainey](https://github.com/cujomalainey) (new-integration)
|
||||
|
||||
### New Platforms
|
||||
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
- [ch422g] Add support for pins 8-11; make input work. [esphome#7467](https://github.com/esphome/esphome/pull/7467) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
|
||||
- CSE7766 needs even parity [esphome#7549](https://github.com/esphome/esphome/pull/7549) by [@ssieb](https://github.com/ssieb) (breaking-change)
|
||||
- [web_server] v3 entity grouping [esphome#6833](https://github.com/esphome/esphome/pull/6833) by [@RFDarter](https://github.com/RFDarter) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- fix uart settings check [esphome#7573](https://github.com/esphome/esphome/pull/7573) by [@ssieb](https://github.com/ssieb)
|
||||
- [web_server] Event component grouping [esphome#7586](https://github.com/esphome/esphome/pull/7586) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [touchscreen] Fix coordinates when using rotation [esphome#7591](https://github.com/esphome/esphome/pull/7591) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix update sequence when update is set to false (#5225) [esphome#7407](https://github.com/esphome/esphome/pull/7407) by [@edge90](https://github.com/edge90)
|
||||
|
||||
### All changes
|
||||
|
||||
- Bump peter-evans/create-pull-request from 7.0.0 to 7.0.2 [esphome#7437](https://github.com/esphome/esphome/pull/7437) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump recommended ESP-IDF to 4.4.8 [esphome#7349](https://github.com/esphome/esphome/pull/7349) by [@bdraco](https://github.com/bdraco)
|
||||
- [tm1638] Fix linting and formatting issues [esphome#7443](https://github.com/esphome/esphome/pull/7443) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [image] Fix linting and formatting issues [esphome#7440](https://github.com/esphome/esphome/pull/7440) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [animation] Fix linting and formatting issues [esphome#7439](https://github.com/esphome/esphome/pull/7439) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [thermostat] Fix linting and formatting issues [esphome#7442](https://github.com/esphome/esphome/pull/7442) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add OpenTherm component (part 1: communication layer and hub) [esphome#6645](https://github.com/esphome/esphome/pull/6645) by [@olegtarasov](https://github.com/olegtarasov) (new-integration)
|
||||
- [st7701s] Make use of IDF5.x to speed up display operations [esphome#7447](https://github.com/esphome/esphome/pull/7447) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [modbus_controller] Fix linting and formatting issues [esphome#7441](https://github.com/esphome/esphome/pull/7441) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pylint from 3.1.0 to 3.2.7 [esphome#7438](https://github.com/esphome/esphome/pull/7438) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump peter-evans/create-pull-request from 7.0.2 to 7.0.3 [esphome#7457](https://github.com/esphome/esphome/pull/7457) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- openeth ethernet / qemu support [esphome#7020](https://github.com/esphome/esphome/pull/7020) by [@apbodrov](https://github.com/apbodrov)
|
||||
- [nextion] Optionally skip connection handshake [esphome#6905](https://github.com/esphome/esphome/pull/6905) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
- Added i2s_comm_fmt parameter to i2s speaker component [esphome#7449](https://github.com/esphome/esphome/pull/7449) by [@PxPert](https://github.com/PxPert)
|
||||
- [lvgl] Enhancements [esphome#7453](https://github.com/esphome/esphome/pull/7453) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Add tca9555 GPIO driver [esphome#7146](https://github.com/esphome/esphome/pull/7146) by [@mobrembski](https://github.com/mobrembski) (new-integration)
|
||||
- [st7701s] Fix initialisation race [esphome#7462](https://github.com/esphome/esphome/pull/7462) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- add "fan_mode" and "swing_mode" to REST API [esphome#7476](https://github.com/esphome/esphome/pull/7476) by [@Tarik2142](https://github.com/Tarik2142)
|
||||
- [esp32_improv] Add triggers for various states [esphome#7461](https://github.com/esphome/esphome/pull/7461) by [@kbx81](https://github.com/kbx81)
|
||||
- [micro_wake_word] Workaround for failing IDF 5+ tests [esphome#7484](https://github.com/esphome/esphome/pull/7484) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump peter-evans/create-pull-request from 7.0.3 to 7.0.5 [esphome#7469](https://github.com/esphome/esphome/pull/7469) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add CSE7766 reactive power [esphome#7301](https://github.com/esphome/esphome/pull/7301) by [@nkinnan](https://github.com/nkinnan)
|
||||
- Support inkplate 5 and 5 V2 [esphome#7448](https://github.com/esphome/esphome/pull/7448) by [@DavidSichau](https://github.com/DavidSichau)
|
||||
- Add remote transmitter triggers [esphome#7483](https://github.com/esphome/esphome/pull/7483) by [@swoboda1337](https://github.com/swoboda1337)
|
||||
- tcs34725: fix color/clear channel percentage calculations on long exposures [esphome#7493](https://github.com/esphome/esphome/pull/7493) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- tcs34725: Add check for Division by Zero [esphome#7485](https://github.com/esphome/esphome/pull/7485) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- [core] add ring buffer destructor [esphome#7500](https://github.com/esphome/esphome/pull/7500) by [@kahrendt](https://github.com/kahrendt)
|
||||
- [ch422g] Add support for pins 8-11; make input work. [esphome#7467](https://github.com/esphome/esphome/pull/7467) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
|
||||
- Add clean_session as configurable option to the MQTT component [esphome#7501](https://github.com/esphome/esphome/pull/7501) by [@victorclaessen](https://github.com/victorclaessen)
|
||||
- [wifi] Use custom MAC address if programmed [esphome#7498](https://github.com/esphome/esphome/pull/7498) by [@kbx81](https://github.com/kbx81)
|
||||
- Add support for Sharp GP2Y1010AU0F PM2.5 sensor [esphome#6007](https://github.com/esphome/esphome/pull/6007) by [@zry98](https://github.com/zry98) (new-integration)
|
||||
- Make time dependency optional [esphome#7425](https://github.com/esphome/esphome/pull/7425) by [@nkinnan](https://github.com/nkinnan)
|
||||
- Add OHF logo to README [esphome#7509](https://github.com/esphome/esphome/pull/7509) by [@mrdarrengriffin](https://github.com/mrdarrengriffin)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 [esphome#7487](https://github.com/esphome/esphome/pull/7487) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- tcs34725: optimize fetch time with burst read for RGB and clear values [esphome#7494](https://github.com/esphome/esphome/pull/7494) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- tcs34725: Remove IR compensation and improve illuminance and color temperature handling in extreme conditions [esphome#7492](https://github.com/esphome/esphome/pull/7492) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- [CI] Remove ``sorted`` from library include dirs [esphome#7526](https://github.com/esphome/esphome/pull/7526) by [@kbx81](https://github.com/kbx81)
|
||||
- [wifi] Fix error message when no custom MAC is set [esphome#7515](https://github.com/esphome/esphome/pull/7515) by [@kbx81](https://github.com/kbx81)
|
||||
- [esp32] Add ``ignore_efuse_custom_mac`` config var [esphome#7527](https://github.com/esphome/esphome/pull/7527) by [@kbx81](https://github.com/kbx81)
|
||||
- [mics_4514] Move consts to consts.py [esphome#7528](https://github.com/esphome/esphome/pull/7528) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix parsing of µs time periods in config [esphome#7495](https://github.com/esphome/esphome/pull/7495) by [@dwmw2](https://github.com/dwmw2)
|
||||
- [web_server] Expose detail=all on all components [esphome#7531](https://github.com/esphome/esphome/pull/7531) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [CI] Use a list when reading idedata for includes [esphome#7535](https://github.com/esphome/esphome/pull/7535) by [@kbx81](https://github.com/kbx81)
|
||||
- Use "puremagic" instead of "magic" python module [esphome#7536](https://github.com/esphome/esphome/pull/7536) by [@guillempages](https://github.com/guillempages)
|
||||
- [lvgl] Remap image to img in "set_style_*" [esphome#7546](https://github.com/esphome/esphome/pull/7546) by [@guillempages](https://github.com/guillempages)
|
||||
- CSE7766 needs even parity [esphome#7549](https://github.com/esphome/esphome/pull/7549) by [@ssieb](https://github.com/ssieb) (breaking-change)
|
||||
- Allow use of all pulse count unit channels if needed. [esphome#7550](https://github.com/esphome/esphome/pull/7550) by [@ToSa27](https://github.com/ToSa27)
|
||||
- [bang-bang] Remove ``assert()`` [esphome#7533](https://github.com/esphome/esphome/pull/7533) by [@kbx81](https://github.com/kbx81)
|
||||
- [thermostat] Remove ``assert()``s [esphome#7544](https://github.com/esphome/esphome/pull/7544) by [@kbx81](https://github.com/kbx81)
|
||||
- [bedjet_codec] Remove ``assert()`` [esphome#7543](https://github.com/esphome/esphome/pull/7543) by [@kbx81](https://github.com/kbx81)
|
||||
- [audio_dac] [aic3204] Add new component + platform [esphome#7505](https://github.com/esphome/esphome/pull/7505) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- [wifi] Replace ``USE_ESP32_IGNORE_EFUSE_MAC_CRC`` with IDF's ``CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR`` [esphome#7502](https://github.com/esphome/esphome/pull/7502) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 in the docker-actions group across 1 directory [esphome#7542](https://github.com/esphome/esphome/pull/7542) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 [esphome#7541](https://github.com/esphome/esphome/pull/7541) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.7.0 to 6.9.0 in /.github/actions/build-image [esphome#7511](https://github.com/esphome/esphome/pull/7511) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [code-quality] fix clang-tidy md5 and hmac_md5 [esphome#7325](https://github.com/esphome/esphome/pull/7325) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- [code-quality] fix clang-tidy api [esphome#7279](https://github.com/esphome/esphome/pull/7279) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- [lvgl] Bugfixes #3 [esphome#7472](https://github.com/esphome/esphome/pull/7472) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Feature/add seeed grove gmxxx multichannel gas support [esphome#4304](https://github.com/esphome/esphome/pull/4304) by [@YorkshireIoT](https://github.com/YorkshireIoT) (new-integration)
|
||||
- [lvgl] Fix: allow full range of styles on dropdown list. [esphome#7552](https://github.com/esphome/esphome/pull/7552) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [web_server] v3 entity grouping [esphome#6833](https://github.com/esphome/esphome/pull/6833) by [@RFDarter](https://github.com/RFDarter) (breaking-change)
|
||||
- Add Initial TE-M3200 pressure sensor support [esphome#6862](https://github.com/esphome/esphome/pull/6862) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- Add Initial NPI-19 pressure sensor support [esphome#7181](https://github.com/esphome/esphome/pull/7181) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- nau7802: new component [esphome#6291](https://github.com/esphome/esphome/pull/6291) by [@cujomalainey](https://github.com/cujomalainey) (new-integration)
|
||||
- Update webserver local assets to 20241007-025551 [esphome#7553](https://github.com/esphome/esphome/pull/7553) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [online_image] Bugfix: Use std::string instead of const char * [esphome#7556](https://github.com/esphome/esphome/pull/7556) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [ili9xxx] Put display into sleep mode on shutdown. [esphome#7555](https://github.com/esphome/esphome/pull/7555) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Bump actions/upload-artifact from 4.4.0 to 4.4.1 [esphome#7559](https://github.com/esphome/esphome/pull/7559) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.0.2 to 4.1.0 in /.github/actions/restore-python [esphome#7560](https://github.com/esphome/esphome/pull/7560) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.0.2 to 4.1.0 [esphome#7558](https://github.com/esphome/esphome/pull/7558) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Update radon_eye_listener.cpp for more possible variants [esphome#7567](https://github.com/esphome/esphome/pull/7567) by [@baldisos](https://github.com/baldisos)
|
||||
- [cst816] Allow skipping i2c probe [esphome#7557](https://github.com/esphome/esphome/pull/7557) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [lvgl] Fix text component [esphome#7563](https://github.com/esphome/esphome/pull/7563) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [template/binary_sensor] Implement `condition:` option as alternative to lambda. [esphome#7561](https://github.com/esphome/esphome/pull/7561) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Bump actions/upload-artifact from 4.4.1 to 4.4.2 [esphome#7569](https://github.com/esphome/esphome/pull/7569) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.1.0 to 4.1.1 [esphome#7570](https://github.com/esphome/esphome/pull/7570) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.1.0 to 4.1.1 in /.github/actions/restore-python [esphome#7571](https://github.com/esphome/esphome/pull/7571) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- fix uart settings check [esphome#7573](https://github.com/esphome/esphome/pull/7573) by [@ssieb](https://github.com/ssieb)
|
||||
- [CI] failures when installing using apt-get. [esphome#7593](https://github.com/esphome/esphome/pull/7593) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [web_server] Event component grouping [esphome#7586](https://github.com/esphome/esphome/pull/7586) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [touchscreen] Fix coordinates when using rotation [esphome#7591](https://github.com/esphome/esphome/pull/7591) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix update sequence when update is set to false (#5225) [esphome#7407](https://github.com/esphome/esphome/pull/7407) by [@edge90](https://github.com/edge90)
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Beta Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://beta.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://beta.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
|
||||
[website]: https://beta.esphome.io/
|
||||
|
||||
@@ -16,22 +16,27 @@ ports:
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
relative_url: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (beta)
|
||||
version: 2022.12.7
|
||||
version: 2024.10.0
|
||||
slug: esphome-beta
|
||||
description: Beta version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
esphome-beta/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
esphome-beta/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
esphome-beta/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.0 KiB |
@@ -23,6 +23,13 @@ configuration:
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
|
||||
@@ -1 +1 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
See https://github.com/esphome/esphome/commits/dev
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
ARG BUILD_FROM=esphome/esphome-hassio-amd64:dev
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version=dev
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Dev Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://next.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://next.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
|
||||
[website]: https://next.esphome.io/
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
build_from:
|
||||
aarch64: ghcr.io/esphome/esphome-hassio:dev
|
||||
amd64: ghcr.io/esphome/esphome-hassio:dev
|
||||
armv7: ghcr.io/esphome/esphome-hassio:dev
|
||||
@@ -16,22 +16,28 @@ ports:
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
esphome_fork: str?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
relative_url: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (dev)
|
||||
version: dev
|
||||
version: 2024.11.0-dev20241016
|
||||
slug: esphome-dev
|
||||
description: Development version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 7.7 KiB |
@@ -1,47 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# This files installs the user ESPHome fork if specified
|
||||
# The fork must be up to date with the latest ESPHome dev branch
|
||||
# and have no conflicts
|
||||
# ==============================================================================
|
||||
|
||||
declare esphome_fork
|
||||
|
||||
if bashio::config.has_value 'esphome_fork'; then
|
||||
esphome_fork=$(bashio::config 'esphome_fork')
|
||||
if [[ $esphome_fork == *":"* ]]; then
|
||||
IFS=':' read -r -a array <<< "$esphome_fork"
|
||||
username=${array[0]}
|
||||
ref=${array[1]}
|
||||
else
|
||||
username="esphome"
|
||||
ref=$esphome_fork
|
||||
fi
|
||||
full_url="https://github.com/${username}/esphome/archive/${ref}.tar.gz"
|
||||
bashio::log.info "Checking forked ESPHome"
|
||||
dev_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
||||
bashio::log.info "Downloading ESPHome from fork '${esphome_fork}' (${full_url})..."
|
||||
curl -L -o /tmp/esphome.tar.gz "${full_url}" -qq \
|
||||
|| bashio::exit.nok "Failed downloading ESPHome fork."
|
||||
bashio::log.info "Installing ESPHome from fork '${esphome_fork}' (${full_url})..."
|
||||
rm -rf /esphome || bashio::exit.nok "Failed to remove ESPHome."
|
||||
mkdir /esphome
|
||||
tar -zxf /tmp/esphome.tar.gz -C /esphome --strip-components=1 \
|
||||
|| bashio::exit.nok "Failed installing ESPHome from fork."
|
||||
pip install -U -e /esphome || bashio::exit.nok "Failed installing ESPHome from fork."
|
||||
rm -f /tmp/esphome.tar.gz
|
||||
fork_version=$(python3 -c "from esphome.const import __version__; print(__version__)")
|
||||
|
||||
if [[ "$fork_version" != "$dev_version" ]]; then
|
||||
bashio::log.error "############################"
|
||||
bashio::log.error "Uninstalled fork as version does not match"
|
||||
bashio::log.error "Update (or ask the author to update) the branch"
|
||||
bashio::log.error "This is important as the dev addon and the dev ESPHome"
|
||||
bashio::log.error "branch can have changes that are not compatible with old forks"
|
||||
bashio::log.error "and get reported as bugs which we cannot solve easily."
|
||||
bashio::log.error "############################"
|
||||
bashio::exit.nok
|
||||
fi
|
||||
bashio::log.info "Installed ESPHome from fork '${esphome_fork}' (${full_url})..."
|
||||
fi
|
||||
@@ -23,6 +23,13 @@ configuration:
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
|
||||
@@ -1,8 +1,119 @@
|
||||
## 2022.12.7
|
||||
## 2024.10.0
|
||||
|
||||
- Add "content" to deploy-ha-addon-repo dispatch [esphome#4349](https://github.com/esphome/esphome/pull/4349) by [@ludeeus](https://github.com/ludeeus)
|
||||
- fix stepper jump back with small steps [esphome#4339](https://github.com/esphome/esphome/pull/4339) by [@0xDRRB](https://github.com/0xDRRB)
|
||||
- rename esp32 CAN to TWAI, so it compiles again [esphome#4334](https://github.com/esphome/esphome/pull/4334) by [@designer2k2](https://github.com/designer2k2)
|
||||
- Fix BME280 initialization before wifi setup [esphome#4190](https://github.com/esphome/esphome/pull/4190) by [@pxe-la](https://github.com/pxe-la)
|
||||
- Add a soft reset in setup() for bmp280 [esphome#4329](https://github.com/esphome/esphome/pull/4329) by [@melyux](https://github.com/melyux)
|
||||
## Full list of changes
|
||||
|
||||
### New Components
|
||||
|
||||
- Add OpenTherm component (part 1: communication layer and hub) [esphome#6645](https://github.com/esphome/esphome/pull/6645) by [@olegtarasov](https://github.com/olegtarasov) (new-integration)
|
||||
- Add tca9555 GPIO driver [esphome#7146](https://github.com/esphome/esphome/pull/7146) by [@mobrembski](https://github.com/mobrembski) (new-integration)
|
||||
- Add support for Sharp GP2Y1010AU0F PM2.5 sensor [esphome#6007](https://github.com/esphome/esphome/pull/6007) by [@zry98](https://github.com/zry98) (new-integration)
|
||||
- [audio_dac] [aic3204] Add new component + platform [esphome#7505](https://github.com/esphome/esphome/pull/7505) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Feature/add seeed grove gmxxx multichannel gas support [esphome#4304](https://github.com/esphome/esphome/pull/4304) by [@YorkshireIoT](https://github.com/YorkshireIoT) (new-integration)
|
||||
- Add Initial TE-M3200 pressure sensor support [esphome#6862](https://github.com/esphome/esphome/pull/6862) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- Add Initial NPI-19 pressure sensor support [esphome#7181](https://github.com/esphome/esphome/pull/7181) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- nau7802: new component [esphome#6291](https://github.com/esphome/esphome/pull/6291) by [@cujomalainey](https://github.com/cujomalainey) (new-integration)
|
||||
|
||||
### New Platforms
|
||||
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
- [ch422g] Add support for pins 8-11; make input work. [esphome#7467](https://github.com/esphome/esphome/pull/7467) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
|
||||
- CSE7766 needs even parity [esphome#7549](https://github.com/esphome/esphome/pull/7549) by [@ssieb](https://github.com/ssieb) (breaking-change)
|
||||
- [web_server] v3 entity grouping [esphome#6833](https://github.com/esphome/esphome/pull/6833) by [@RFDarter](https://github.com/RFDarter) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- fix uart settings check [esphome#7573](https://github.com/esphome/esphome/pull/7573) by [@ssieb](https://github.com/ssieb)
|
||||
- [web_server] Event component grouping [esphome#7586](https://github.com/esphome/esphome/pull/7586) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [touchscreen] Fix coordinates when using rotation [esphome#7591](https://github.com/esphome/esphome/pull/7591) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix update sequence when update is set to false (#5225) [esphome#7407](https://github.com/esphome/esphome/pull/7407) by [@edge90](https://github.com/edge90)
|
||||
|
||||
### All changes
|
||||
|
||||
- Bump peter-evans/create-pull-request from 7.0.0 to 7.0.2 [esphome#7437](https://github.com/esphome/esphome/pull/7437) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump recommended ESP-IDF to 4.4.8 [esphome#7349](https://github.com/esphome/esphome/pull/7349) by [@bdraco](https://github.com/bdraco)
|
||||
- [tm1638] Fix linting and formatting issues [esphome#7443](https://github.com/esphome/esphome/pull/7443) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [image] Fix linting and formatting issues [esphome#7440](https://github.com/esphome/esphome/pull/7440) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [animation] Fix linting and formatting issues [esphome#7439](https://github.com/esphome/esphome/pull/7439) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [thermostat] Fix linting and formatting issues [esphome#7442](https://github.com/esphome/esphome/pull/7442) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add OpenTherm component (part 1: communication layer and hub) [esphome#6645](https://github.com/esphome/esphome/pull/6645) by [@olegtarasov](https://github.com/olegtarasov) (new-integration)
|
||||
- [st7701s] Make use of IDF5.x to speed up display operations [esphome#7447](https://github.com/esphome/esphome/pull/7447) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [modbus_controller] Fix linting and formatting issues [esphome#7441](https://github.com/esphome/esphome/pull/7441) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pylint from 3.1.0 to 3.2.7 [esphome#7438](https://github.com/esphome/esphome/pull/7438) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump peter-evans/create-pull-request from 7.0.2 to 7.0.3 [esphome#7457](https://github.com/esphome/esphome/pull/7457) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- openeth ethernet / qemu support [esphome#7020](https://github.com/esphome/esphome/pull/7020) by [@apbodrov](https://github.com/apbodrov)
|
||||
- [nextion] Optionally skip connection handshake [esphome#6905](https://github.com/esphome/esphome/pull/6905) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Haier climate integration update [esphome#7416](https://github.com/esphome/esphome/pull/7416) by [@paveldn](https://github.com/paveldn) (breaking-change) (new-platform)
|
||||
- Added i2s_comm_fmt parameter to i2s speaker component [esphome#7449](https://github.com/esphome/esphome/pull/7449) by [@PxPert](https://github.com/PxPert)
|
||||
- [lvgl] Enhancements [esphome#7453](https://github.com/esphome/esphome/pull/7453) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Add tca9555 GPIO driver [esphome#7146](https://github.com/esphome/esphome/pull/7146) by [@mobrembski](https://github.com/mobrembski) (new-integration)
|
||||
- [st7701s] Fix initialisation race [esphome#7462](https://github.com/esphome/esphome/pull/7462) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- add "fan_mode" and "swing_mode" to REST API [esphome#7476](https://github.com/esphome/esphome/pull/7476) by [@Tarik2142](https://github.com/Tarik2142)
|
||||
- [esp32_improv] Add triggers for various states [esphome#7461](https://github.com/esphome/esphome/pull/7461) by [@kbx81](https://github.com/kbx81)
|
||||
- [micro_wake_word] Workaround for failing IDF 5+ tests [esphome#7484](https://github.com/esphome/esphome/pull/7484) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump peter-evans/create-pull-request from 7.0.3 to 7.0.5 [esphome#7469](https://github.com/esphome/esphome/pull/7469) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add CSE7766 reactive power [esphome#7301](https://github.com/esphome/esphome/pull/7301) by [@nkinnan](https://github.com/nkinnan)
|
||||
- Support inkplate 5 and 5 V2 [esphome#7448](https://github.com/esphome/esphome/pull/7448) by [@DavidSichau](https://github.com/DavidSichau)
|
||||
- Add remote transmitter triggers [esphome#7483](https://github.com/esphome/esphome/pull/7483) by [@swoboda1337](https://github.com/swoboda1337)
|
||||
- tcs34725: fix color/clear channel percentage calculations on long exposures [esphome#7493](https://github.com/esphome/esphome/pull/7493) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- tcs34725: Add check for Division by Zero [esphome#7485](https://github.com/esphome/esphome/pull/7485) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- [core] add ring buffer destructor [esphome#7500](https://github.com/esphome/esphome/pull/7500) by [@kahrendt](https://github.com/kahrendt)
|
||||
- [ch422g] Add support for pins 8-11; make input work. [esphome#7467](https://github.com/esphome/esphome/pull/7467) by [@clydebarrow](https://github.com/clydebarrow) (breaking-change)
|
||||
- Add clean_session as configurable option to the MQTT component [esphome#7501](https://github.com/esphome/esphome/pull/7501) by [@victorclaessen](https://github.com/victorclaessen)
|
||||
- [wifi] Use custom MAC address if programmed [esphome#7498](https://github.com/esphome/esphome/pull/7498) by [@kbx81](https://github.com/kbx81)
|
||||
- Add support for Sharp GP2Y1010AU0F PM2.5 sensor [esphome#6007](https://github.com/esphome/esphome/pull/6007) by [@zry98](https://github.com/zry98) (new-integration)
|
||||
- Make time dependency optional [esphome#7425](https://github.com/esphome/esphome/pull/7425) by [@nkinnan](https://github.com/nkinnan)
|
||||
- Add OHF logo to README [esphome#7509](https://github.com/esphome/esphome/pull/7509) by [@mrdarrengriffin](https://github.com/mrdarrengriffin)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 [esphome#7487](https://github.com/esphome/esphome/pull/7487) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- tcs34725: optimize fetch time with burst read for RGB and clear values [esphome#7494](https://github.com/esphome/esphome/pull/7494) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- tcs34725: Remove IR compensation and improve illuminance and color temperature handling in extreme conditions [esphome#7492](https://github.com/esphome/esphome/pull/7492) by [@RubenKelevra](https://github.com/RubenKelevra)
|
||||
- [CI] Remove ``sorted`` from library include dirs [esphome#7526](https://github.com/esphome/esphome/pull/7526) by [@kbx81](https://github.com/kbx81)
|
||||
- [wifi] Fix error message when no custom MAC is set [esphome#7515](https://github.com/esphome/esphome/pull/7515) by [@kbx81](https://github.com/kbx81)
|
||||
- [esp32] Add ``ignore_efuse_custom_mac`` config var [esphome#7527](https://github.com/esphome/esphome/pull/7527) by [@kbx81](https://github.com/kbx81)
|
||||
- [mics_4514] Move consts to consts.py [esphome#7528](https://github.com/esphome/esphome/pull/7528) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix parsing of µs time periods in config [esphome#7495](https://github.com/esphome/esphome/pull/7495) by [@dwmw2](https://github.com/dwmw2)
|
||||
- [web_server] Expose detail=all on all components [esphome#7531](https://github.com/esphome/esphome/pull/7531) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [CI] Use a list when reading idedata for includes [esphome#7535](https://github.com/esphome/esphome/pull/7535) by [@kbx81](https://github.com/kbx81)
|
||||
- Use "puremagic" instead of "magic" python module [esphome#7536](https://github.com/esphome/esphome/pull/7536) by [@guillempages](https://github.com/guillempages)
|
||||
- [lvgl] Remap image to img in "set_style_*" [esphome#7546](https://github.com/esphome/esphome/pull/7546) by [@guillempages](https://github.com/guillempages)
|
||||
- CSE7766 needs even parity [esphome#7549](https://github.com/esphome/esphome/pull/7549) by [@ssieb](https://github.com/ssieb) (breaking-change)
|
||||
- Allow use of all pulse count unit channels if needed. [esphome#7550](https://github.com/esphome/esphome/pull/7550) by [@ToSa27](https://github.com/ToSa27)
|
||||
- [bang-bang] Remove ``assert()`` [esphome#7533](https://github.com/esphome/esphome/pull/7533) by [@kbx81](https://github.com/kbx81)
|
||||
- [thermostat] Remove ``assert()``s [esphome#7544](https://github.com/esphome/esphome/pull/7544) by [@kbx81](https://github.com/kbx81)
|
||||
- [bedjet_codec] Remove ``assert()`` [esphome#7543](https://github.com/esphome/esphome/pull/7543) by [@kbx81](https://github.com/kbx81)
|
||||
- [audio_dac] [aic3204] Add new component + platform [esphome#7505](https://github.com/esphome/esphome/pull/7505) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- [wifi] Replace ``USE_ESP32_IGNORE_EFUSE_MAC_CRC`` with IDF's ``CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR`` [esphome#7502](https://github.com/esphome/esphome/pull/7502) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 in the docker-actions group across 1 directory [esphome#7542](https://github.com/esphome/esphome/pull/7542) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 [esphome#7541](https://github.com/esphome/esphome/pull/7541) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.7.0 to 6.9.0 in /.github/actions/build-image [esphome#7511](https://github.com/esphome/esphome/pull/7511) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [code-quality] fix clang-tidy md5 and hmac_md5 [esphome#7325](https://github.com/esphome/esphome/pull/7325) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- [code-quality] fix clang-tidy api [esphome#7279](https://github.com/esphome/esphome/pull/7279) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- [lvgl] Bugfixes #3 [esphome#7472](https://github.com/esphome/esphome/pull/7472) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Feature/add seeed grove gmxxx multichannel gas support [esphome#4304](https://github.com/esphome/esphome/pull/4304) by [@YorkshireIoT](https://github.com/YorkshireIoT) (new-integration)
|
||||
- [lvgl] Fix: allow full range of styles on dropdown list. [esphome#7552](https://github.com/esphome/esphome/pull/7552) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [web_server] v3 entity grouping [esphome#6833](https://github.com/esphome/esphome/pull/6833) by [@RFDarter](https://github.com/RFDarter) (breaking-change)
|
||||
- Add Initial TE-M3200 pressure sensor support [esphome#6862](https://github.com/esphome/esphome/pull/6862) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- Add Initial NPI-19 pressure sensor support [esphome#7181](https://github.com/esphome/esphome/pull/7181) by [@bakerkj](https://github.com/bakerkj) (new-integration)
|
||||
- nau7802: new component [esphome#6291](https://github.com/esphome/esphome/pull/6291) by [@cujomalainey](https://github.com/cujomalainey) (new-integration)
|
||||
- Update webserver local assets to 20241007-025551 [esphome#7553](https://github.com/esphome/esphome/pull/7553) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [online_image] Bugfix: Use std::string instead of const char * [esphome#7556](https://github.com/esphome/esphome/pull/7556) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [ili9xxx] Put display into sleep mode on shutdown. [esphome#7555](https://github.com/esphome/esphome/pull/7555) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Bump actions/upload-artifact from 4.4.0 to 4.4.1 [esphome#7559](https://github.com/esphome/esphome/pull/7559) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.0.2 to 4.1.0 in /.github/actions/restore-python [esphome#7560](https://github.com/esphome/esphome/pull/7560) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.0.2 to 4.1.0 [esphome#7558](https://github.com/esphome/esphome/pull/7558) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Update radon_eye_listener.cpp for more possible variants [esphome#7567](https://github.com/esphome/esphome/pull/7567) by [@baldisos](https://github.com/baldisos)
|
||||
- [cst816] Allow skipping i2c probe [esphome#7557](https://github.com/esphome/esphome/pull/7557) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [lvgl] Fix text component [esphome#7563](https://github.com/esphome/esphome/pull/7563) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [template/binary_sensor] Implement `condition:` option as alternative to lambda. [esphome#7561](https://github.com/esphome/esphome/pull/7561) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Bump actions/upload-artifact from 4.4.1 to 4.4.2 [esphome#7569](https://github.com/esphome/esphome/pull/7569) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.1.0 to 4.1.1 [esphome#7570](https://github.com/esphome/esphome/pull/7570) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump actions/cache from 4.1.0 to 4.1.1 in /.github/actions/restore-python [esphome#7571](https://github.com/esphome/esphome/pull/7571) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- fix uart settings check [esphome#7573](https://github.com/esphome/esphome/pull/7573) by [@ssieb](https://github.com/ssieb)
|
||||
- [CI] failures when installing using apt-get. [esphome#7593](https://github.com/esphome/esphome/pull/7593) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [web_server] Event component grouping [esphome#7586](https://github.com/esphome/esphome/pull/7586) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [touchscreen] Fix coordinates when using rotation [esphome#7591](https://github.com/esphome/esphome/pull/7591) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix update sequence when update is set to false (#5225) [esphome#7407](https://github.com/esphome/esphome/pull/7407) by [@edge90](https://github.com/edge90)
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
|
||||
[website]: https://esphome.io/
|
||||
|
||||
@@ -16,20 +16,23 @@ ports:
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
relative_url: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome
|
||||
version: 2022.12.7
|
||||
version: 2024.10.0
|
||||
slug: esphome
|
||||
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
|
||||
BIN
esphome/icon.png
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
esphome/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
esphome/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
esphome/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
esphome/logo.png
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.9 KiB |
@@ -23,6 +23,13 @@ configuration:
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import argparse
|
||||
import re
|
||||
import subprocess
|
||||
from dataclasses import dataclass
|
||||
import sys
|
||||
import os
|
||||
@@ -17,72 +16,71 @@ class Version:
|
||||
minor: int
|
||||
patch: int
|
||||
beta: int = 0
|
||||
dev: bool = False
|
||||
dev: str = ""
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.major}.{self.minor}.{self.full_patch}'
|
||||
return f"{self.major}.{self.minor}.{self.full_patch}"
|
||||
|
||||
@property
|
||||
def full_patch(self):
|
||||
res = f'{self.patch}'
|
||||
res = f"{self.patch}"
|
||||
if self.beta > 0:
|
||||
res += f'b{self.beta}'
|
||||
res += f"b{self.beta}"
|
||||
if self.dev:
|
||||
res += '-dev'
|
||||
res += f"-dev{self.dev}"
|
||||
return res
|
||||
|
||||
@classmethod
|
||||
def parse(cls, value):
|
||||
match = re.match(r'(\d+).(\d+).(\d+)(b\d+)?(-dev)?', value)
|
||||
match = re.match(r"(\d+).(\d+).(\d+)(b\d+)?(-dev\d+)?", value)
|
||||
assert match is not None
|
||||
major = int(match[1])
|
||||
minor = int(match[2])
|
||||
patch = int(match[3])
|
||||
beta = int(match[4][1:]) if match[4] else 0
|
||||
dev = bool(match[5])
|
||||
return Version(
|
||||
major=major, minor=minor, patch=patch,
|
||||
beta=beta, dev=dev
|
||||
)
|
||||
dev = str(match[5][4:]) if match[5] else ""
|
||||
return Version(major=major, minor=minor, patch=patch, beta=beta, dev=dev)
|
||||
|
||||
|
||||
def sub(path, pattern, repl, expected_count=1):
|
||||
with open(path) as fh:
|
||||
def _sub(path, pattern, repl, expected_count=1):
|
||||
with open(path, encoding="utf-8") as fh:
|
||||
content = fh.read()
|
||||
content, count = re.subn(pattern, repl, content, flags=re.MULTILINE)
|
||||
content, count = re.subn(pattern, repl, content, flags=re.NOFLAG)
|
||||
if expected_count is not None:
|
||||
assert count == expected_count, f"Pattern {pattern} replacement failed!"
|
||||
with open(path, "wt") as fh:
|
||||
with open(path, "wt", encoding="utf-8") as fh:
|
||||
fh.write(content)
|
||||
|
||||
|
||||
def write_version(target: str, version: Version):
|
||||
# version: '1.14.5' # BETA
|
||||
# version: '1.14.5' # STABLE
|
||||
sub(
|
||||
'template/addon_config.yaml',
|
||||
r" version: '[^']+' # {}".format(target.upper()),
|
||||
f" version: '{version}' # {target.upper()}"
|
||||
def _write_version(target: str, version: Version):
|
||||
# version: "2024.5.0-dev20240412" # DEV
|
||||
# version: "1.14.5" # BETA
|
||||
# version: "1.14.5" # STABLE
|
||||
_sub(
|
||||
"template/addon_config.yaml",
|
||||
f' version: "[^"]+" # {target.upper()}',
|
||||
f' version: "{version}" # {target.upper()}',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('new_version', type=str)
|
||||
parser.add_argument("new_version", type=str)
|
||||
args = parser.parse_args()
|
||||
|
||||
version = Version.parse(args.new_version)
|
||||
assert not version.dev
|
||||
|
||||
print(f"Bumping to {version}")
|
||||
if version.beta:
|
||||
write_version('beta', version)
|
||||
generate.main(['beta'])
|
||||
if version.dev:
|
||||
_write_version("dev", version)
|
||||
generate.main(["dev"])
|
||||
elif version.beta:
|
||||
_write_version("beta", version)
|
||||
generate.main(["beta"])
|
||||
else:
|
||||
assert not version.beta
|
||||
write_version('stable', version)
|
||||
write_version('beta', version)
|
||||
generate.main(['stable', 'beta'])
|
||||
_write_version("stable", version)
|
||||
_write_version("beta", version)
|
||||
generate.main(["stable", "beta"])
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
from enum import Enum
|
||||
from shutil import copyfile
|
||||
import sys
|
||||
import os
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
class Channel(Enum):
|
||||
@@ -24,39 +26,29 @@ def main(args):
|
||||
root = Path(__file__).parent.parent
|
||||
templ = root / "template"
|
||||
|
||||
with open(templ / "addon_config.yaml", "r") as f:
|
||||
with open(templ / "addon_config.yaml", "r", encoding="utf-8") as f:
|
||||
config = yaml.safe_load(f)
|
||||
|
||||
copyf = config["copy_files"]
|
||||
|
||||
for channel in args.channels:
|
||||
conf = config[f"esphome-{channel.value}"]
|
||||
base_image = conf.pop("base_image", None)
|
||||
dir_ = root / conf.pop("directory")
|
||||
path = dir_ / "config.yaml"
|
||||
with open(path, "w") as f:
|
||||
with open(path, "w", encoding="utf-8") as f:
|
||||
yaml.dump(conf, f, indent=2, sort_keys=False, explicit_start=True)
|
||||
|
||||
for file_, conf_ in copyf.items():
|
||||
for file_ in copyf:
|
||||
os.makedirs(dir_ / Path(file_).parent, exist_ok=True)
|
||||
if Path.exists(templ / channel.value / file_):
|
||||
copyfile(templ / channel.value / file_, dir_ / file_)
|
||||
else:
|
||||
copyfile(templ / file_, dir_ / file_)
|
||||
|
||||
path = dir_ / "FILES ARE GENERATED DO NOT EDIT"
|
||||
with open(path, "w") as f:
|
||||
with open(path, "w", encoding="utf-8") as f:
|
||||
f.write("Any edits should be made to the files in the 'template' directory")
|
||||
|
||||
if channel == Channel.dev:
|
||||
path = dir_ / "build.yaml"
|
||||
build_conf = {
|
||||
"build_from": {
|
||||
arch: base_image for arch in conf["arch"]
|
||||
}
|
||||
}
|
||||
with open(path, "w") as f:
|
||||
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
|
||||
[website]: https://esphome.io/
|
||||
|
||||
@@ -16,75 +16,85 @@ base: &base
|
||||
# Ingress settings
|
||||
ingress: true
|
||||
ingress_port: 0
|
||||
panel_icon: 'mdi:chip'
|
||||
panel_icon: "mdi:chip"
|
||||
# Automatically add UART devices to add-on
|
||||
uart: true
|
||||
ports:
|
||||
'6052/tcp': null
|
||||
"6052/tcp": null
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
relative_url: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- "*/*/"
|
||||
# Disable docker init for s6
|
||||
init: false
|
||||
# Make sure dashboard is available for core
|
||||
startup: services
|
||||
|
||||
esphome-dev:
|
||||
<<: *base
|
||||
directory: esphome-dev
|
||||
name: ESPHome (dev)
|
||||
version: 'dev' # DEV
|
||||
version: "2024.11.0-dev20241016" # DEV
|
||||
slug: esphome-dev
|
||||
description: "Development version of ESPHome add-on"
|
||||
url: https://next.esphome.io/
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
esphome_fork: str?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
relative_url: str?
|
||||
leave_front_door_open: bool?
|
||||
base_image: ghcr.io/esphome/esphome-hassio:dev
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
esphome-beta:
|
||||
<<: *base
|
||||
directory: esphome-beta
|
||||
name: ESPHome (beta)
|
||||
version: '2022.12.7' # BETA
|
||||
version: "2024.10.0" # BETA
|
||||
slug: esphome-beta
|
||||
description: "Beta version of ESPHome add-on"
|
||||
url: https://beta.esphome.io/
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
esphome-stable:
|
||||
<<: *base
|
||||
directory: esphome
|
||||
name: ESPHome
|
||||
version: '2022.12.7' # STABLE
|
||||
version: "2024.10.0" # STABLE
|
||||
slug: esphome
|
||||
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
|
||||
copy_files:
|
||||
CHANGELOG.md:
|
||||
DOCS.md:
|
||||
icon.png:
|
||||
logo.png:
|
||||
README.md:
|
||||
translations/en.yaml:
|
||||
- DOCS.md
|
||||
- icon.png
|
||||
- logo.png
|
||||
- README.md
|
||||
- translations/en.yaml
|
||||
- images/dht-example.png
|
||||
- images/screenshot.png
|
||||
- images/temperature-humidity.png
|
||||
|
||||
41
template/beta/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# ESPHome Beta Add-On
|
||||
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
|
||||
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
|
||||
directly through Home Assistant **with no programming experience required**. All you need to do
|
||||
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
With ESPHome, you can go from a few lines of YAML straight to a custom-made
|
||||
firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://beta.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://beta.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
|
||||
[website]: https://beta.esphome.io/
|
||||
BIN
template/beta/icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
template/beta/logo.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
41
template/dev/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# ESPHome Dev Add-On
|
||||
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
|
||||
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
|
||||
directly through Home Assistant **with no programming experience required**. All you need to do
|
||||
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
With ESPHome, you can go from a few lines of YAML straight to a custom-made
|
||||
firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://next.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://next.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
|
||||
[website]: https://next.esphome.io/
|
||||
BIN
template/dev/icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
template/dev/logo.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
template/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
template/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
template/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.9 KiB |
@@ -23,6 +23,13 @@ configuration:
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
|
||||