1
0

Compare commits

..

530 Commits

50 changed files with 316 additions and 590 deletions

View File

@@ -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 /

View File

@@ -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
}
}
}

View File

@@ -15,45 +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
run: |
cat > esphome-beta/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }}
- uses: actions/checkout@v4.2.2
- uses: actions/setup-python@v5.3.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 }}

View File

@@ -19,20 +19,20 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.3.0
- uses: actions/checkout@v4.2.2
- name: Log in to the GitHub container registry
uses: docker/login-action@v2.1.0
uses: docker/login-action@v3.3.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.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2.2.1
uses: docker/setup-buildx-action@v3.8.0
- name: Build and Push
uses: docker/build-push-action@v3.3.0
uses: docker/build-push-action@v6.10.0
with:
context: .
file: .devcontainer/Dockerfile

View File

@@ -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.2
- name: 🛠 Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5.3.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.18.0
with:
path: "./${{ matrix.channels.folder }}"

View File

@@ -1,157 +1,4 @@
## 2023.2.0
## 2024.12.4
## Full list of changes
### New Components
- Add Pca9554 component [esphome#4192](https://github.com/esphome/esphome/pull/4192) by [@hwstar](https://github.com/hwstar) (new-integration)
- Add support for BP5758D LED driver [esphome#4021](https://github.com/esphome/esphome/pull/4021) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for BP1658CJ LED driver [esphome#4020](https://github.com/esphome/esphome/pull/4020) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for SM2235 and SM2335 LED drivers [esphome#3924](https://github.com/esphome/esphome/pull/3924) by [@Cossid](https://github.com/Cossid) (new-integration)
- PCF85063 RTC chip [esphome#3873](https://github.com/esphome/esphome/pull/3873) by [@brogon](https://github.com/brogon) (new-integration)
- Add support for matrix keypads [esphome#4241](https://github.com/esphome/esphome/pull/4241) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add X9C Potentiometer component [esphome#4183](https://github.com/esphome/esphome/pull/4183) by [@EtienneMD](https://github.com/EtienneMD) (new-integration)
- add key collector component [esphome#4242](https://github.com/esphome/esphome/pull/4242) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add support for EE895 [esphome#3771](https://github.com/esphome/esphome/pull/3771) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for HTE501 [esphome#3772](https://github.com/esphome/esphome/pull/3772) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for TEE501 [esphome#3773](https://github.com/esphome/esphome/pull/3773) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Implement a slow sigma-delta modulation based output [esphome#4132](https://github.com/esphome/esphome/pull/4132) by [@Cat-Ion](https://github.com/Cat-Ion) (new-integration)
- add Wiegand reader component [esphome#4288](https://github.com/esphome/esphome/pull/4288) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add MICS-4514 gas sensor [esphome#4316](https://github.com/esphome/esphome/pull/4316) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Add next_url to improv serial component config [esphome#4343](https://github.com/esphome/esphome/pull/4343) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Add Ld2410 Support [esphome#3919](https://github.com/esphome/esphome/pull/3919) by [@sebcaps](https://github.com/sebcaps) (new-integration)
- add Resol VBus support [esphome#3976](https://github.com/esphome/esphome/pull/3976) by [@ssieb](https://github.com/ssieb) (new-integration)
### Breaking Changes
- Use NAN values for TSL2591 saturation [esphome#3931](https://github.com/esphome/esphome/pull/3931) by [@mdonoughe](https://github.com/mdonoughe) (breaking-change)
- set_retry: add retries remaining parameter to the provided function [esphome#4251](https://github.com/esphome/esphome/pull/4251) by [@e28eta](https://github.com/e28eta) (breaking-change)
### Beta Changes
- Bump curl version in docker [esphome#4403](https://github.com/esphome/esphome/pull/4403) by [@jesserockz](https://github.com/jesserockz)
- Fix release workflow [esphome#4405](https://github.com/esphome/esphome/pull/4405) by [@jesserockz](https://github.com/jesserockz)
- Climate PID Autotune Logging fixes [esphome#4136](https://github.com/esphome/esphome/pull/4136) by [@patrickcollins12](https://github.com/patrickcollins12)
- Add Clipping to displaybuffer [esphome#4271](https://github.com/esphome/esphome/pull/4271) by [@nielsnl68](https://github.com/nielsnl68)
- Fix check for empty clipping array [esphome#4421](https://github.com/esphome/esphome/pull/4421) by [@nielsnl68](https://github.com/nielsnl68)
- Ledc fix [esphome#4338](https://github.com/esphome/esphome/pull/4338) by [@xvil](https://github.com/xvil)
- Add version api endpoint [esphome#4429](https://github.com/esphome/esphome/pull/4429) by [@jesserockz](https://github.com/jesserockz)
- Handle uart.write in json-config endpoint [esphome#4430](https://github.com/esphome/esphome/pull/4430) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20230214.0 [esphome#4431](https://github.com/esphome/esphome/pull/4431) by [@jesserockz](https://github.com/jesserockz)
- Fix setting wrong traits on midea climate component [esphome#4425](https://github.com/esphome/esphome/pull/4425) by [@dudanov](https://github.com/dudanov)
### All changes
- Expose lambda action to reset a cycle in `slow_pwm` [esphome#4158](https://github.com/esphome/esphome/pull/4158) by [@johndbritton](https://github.com/johndbritton)
- climate: Add features to generic Toshiba model [esphome#3912](https://github.com/esphome/esphome/pull/3912) by [@zagor](https://github.com/zagor)
- Fix UUID displaying incorrectly in BLE Tracker logs [esphome#4187](https://github.com/esphome/esphome/pull/4187) by [@deunlee](https://github.com/deunlee)
- Bump actions/stale from 6 to 7 [esphome#4217](https://github.com/esphome/esphome/pull/4217) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add Pca9554 component [esphome#4192](https://github.com/esphome/esphome/pull/4192) by [@hwstar](https://github.com/hwstar) (new-integration)
- Bump aioesphomeapi from 13.0.1 to 13.0.2 [esphome#4188](https://github.com/esphome/esphome/pull/4188) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest-asyncio from 0.20.2 to 0.20.3 [esphome#4164](https://github.com/esphome/esphome/pull/4164) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Handle deprecated sdkconfig option [esphome#4204](https://github.com/esphome/esphome/pull/4204) by [@mmakaay](https://github.com/mmakaay)
- feat: set a wider range for jpeg quality [esphome#3872](https://github.com/esphome/esphome/pull/3872) by [@sisco0](https://github.com/sisco0)
- Bump black from 22.10.0 to 22.12.0 [esphome#4167](https://github.com/esphome/esphome/pull/4167) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Use NAN values for TSL2591 saturation [esphome#3931](https://github.com/esphome/esphome/pull/3931) by [@mdonoughe](https://github.com/mdonoughe) (breaking-change)
- Ili9341 8bit indexed mode pt2 [esphome#2502](https://github.com/esphome/esphome/pull/2502) by [@davet2001](https://github.com/davet2001)
- Allow ignoring of failed Modbus response CRC [esphome#3930](https://github.com/esphome/esphome/pull/3930) by [@jangrewe](https://github.com/jangrewe)
- calc LEDC PWM Resolution with LEDC_TIMER_BIT_MAX [esphome#3820](https://github.com/esphome/esphome/pull/3820) by [@MFlasskamp](https://github.com/MFlasskamp)
- Component::set_retry updates [esphome#3305](https://github.com/esphome/esphome/pull/3305) by [@e28eta](https://github.com/e28eta)
- Fix race condition in web_server scheduler on ESP32 [esphome#3951](https://github.com/esphome/esphome/pull/3951) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fix saving light state for restore modes LIGHT_RESTORE_AND_OFF/ON [esphome#4131](https://github.com/esphome/esphome/pull/4131) by [@myhomeiot](https://github.com/myhomeiot)
- Add precipitation device class [esphome#4219](https://github.com/esphome/esphome/pull/4219) by [@jesserockz](https://github.com/jesserockz)
- Add support for BP5758D LED driver [esphome#4021](https://github.com/esphome/esphome/pull/4021) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for BP1658CJ LED driver [esphome#4020](https://github.com/esphome/esphome/pull/4020) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for SM2235 and SM2335 LED drivers [esphome#3924](https://github.com/esphome/esphome/pull/3924) by [@Cossid](https://github.com/Cossid) (new-integration)
- Fix broken PULSE_METER [esphome#4199](https://github.com/esphome/esphome/pull/4199) by [@cstaahl](https://github.com/cstaahl)
- PCF85063 RTC chip [esphome#3873](https://github.com/esphome/esphome/pull/3873) by [@brogon](https://github.com/brogon) (new-integration)
- Add API for dashboard to get boards list by platform [esphome#4168](https://github.com/esphome/esphome/pull/4168) by [@kuba2k2](https://github.com/kuba2k2)
- Bump dashboard to 20221231.0 [esphome#4248](https://github.com/esphome/esphome/pull/4248) by [@balloob](https://github.com/balloob)
- Bump zeroconf to 0.47.1 [esphome#4268](https://github.com/esphome/esphome/pull/4268) by [@bdraco](https://github.com/bdraco)
- Don't match words containing "id" [esphome#4265](https://github.com/esphome/esphome/pull/4265) by [@ssieb](https://github.com/ssieb)
- Add support for matrix keypads [esphome#4241](https://github.com/esphome/esphome/pull/4241) by [@ssieb](https://github.com/ssieb) (new-integration)
- Fix Template Switch restore_mode support [esphome#4280](https://github.com/esphome/esphome/pull/4280) by [@SharpEdgeMarshall](https://github.com/SharpEdgeMarshall)
- Correct decimals in Growatt energy reporting [esphome#4277](https://github.com/esphome/esphome/pull/4277) by [@rfpronk](https://github.com/rfpronk)
- Bump pylint from 2.15.8 to 2.15.10 [esphome#4278](https://github.com/esphome/esphome/pull/4278) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix frequency limit for MCP9600 [esphome#4276](https://github.com/esphome/esphome/pull/4276) by [@jowgn](https://github.com/jowgn)
- fix: json compilation error on rp2040 [esphome#4273](https://github.com/esphome/esphome/pull/4273) by [@kellertk](https://github.com/kellertk)
- http_request: add request duration logging [esphome#4272](https://github.com/esphome/esphome/pull/4272) by [@stas-sl](https://github.com/stas-sl)
- Fix HttpRequestResponseTrigger [esphome#4270](https://github.com/esphome/esphome/pull/4270) by [@gmbuell](https://github.com/gmbuell)
- Fix HttpRequestResponseTrigger again [esphome#4285](https://github.com/esphome/esphome/pull/4285) by [@gmbuell](https://github.com/gmbuell)
- Add X9C Potentiometer component [esphome#4183](https://github.com/esphome/esphome/pull/4183) by [@EtienneMD](https://github.com/EtienneMD) (new-integration)
- small DisplayBuffer images and font update [esphome#4044](https://github.com/esphome/esphome/pull/4044) by [@nielsnl68](https://github.com/nielsnl68)
- Fix use of dangling pointers in esp-idf MQTT backend [esphome#4239](https://github.com/esphome/esphome/pull/4239) by [@aaliddell](https://github.com/aaliddell)
- Ensure we never write zero bytes [esphome#4284](https://github.com/esphome/esphome/pull/4284) by [@bdraco](https://github.com/bdraco)
- Fix off-by-one bedjet fan speed (#3873) [esphome#4292](https://github.com/esphome/esphome/pull/4292) by [@jhansche](https://github.com/jhansche)
- Clean up dashboard ping result post-rename/delete [esphome#4170](https://github.com/esphome/esphome/pull/4170) by [@balloob](https://github.com/balloob)
- Calculate PWM wrap dynamically whenever the frequency is changed [esphome#4294](https://github.com/esphome/esphome/pull/4294) by [@tradeJmark](https://github.com/tradeJmark)
- Remove baud check in tuya dump_config [esphome#4298](https://github.com/esphome/esphome/pull/4298) by [@jesserockz](https://github.com/jesserockz)
- Add friendly_name to device [esphome#4296](https://github.com/esphome/esphome/pull/4296) by [@jesserockz](https://github.com/jesserockz)
- allow multiple dsmr [esphome#4299](https://github.com/esphome/esphome/pull/4299) by [@ssieb](https://github.com/ssieb)
- Bump pytest from 7.2.0 to 7.2.1 [esphome#4300](https://github.com/esphome/esphome/pull/4300) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump aioesphomeapi from 13.0.2 to 13.1.0 [esphome#4301](https://github.com/esphome/esphome/pull/4301) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Display the configured esphome:comment on the WebServer [esphome#4246](https://github.com/esphome/esphome/pull/4246) by [@grillp](https://github.com/grillp)
- Allow 0xA8 ID for APDS9960 [esphome#4287](https://github.com/esphome/esphome/pull/4287) by [@reubn](https://github.com/reubn)
- Dont default CORE.friendly_name [esphome#4305](https://github.com/esphome/esphome/pull/4305) by [@jesserockz](https://github.com/jesserockz)
- add key collector component [esphome#4242](https://github.com/esphome/esphome/pull/4242) by [@ssieb](https://github.com/ssieb) (new-integration)
- Tsl2591 gain publish [esphome#4291](https://github.com/esphome/esphome/pull/4291) by [@z3liff](https://github.com/z3liff)
- Add support for EE895 [esphome#3771](https://github.com/esphome/esphome/pull/3771) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for HTE501 [esphome#3772](https://github.com/esphome/esphome/pull/3772) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for TEE501 [esphome#3773](https://github.com/esphome/esphome/pull/3773) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- PCA9685, fix reset device and add option EXTCLK [esphome#3845](https://github.com/esphome/esphome/pull/3845) by [@standahabich](https://github.com/standahabich)
- Implement a slow sigma-delta modulation based output [esphome#4132](https://github.com/esphome/esphome/pull/4132) by [@Cat-Ion](https://github.com/Cat-Ion) (new-integration)
- set_retry: add retries remaining parameter to the provided function [esphome#4251](https://github.com/esphome/esphome/pull/4251) by [@e28eta](https://github.com/e28eta) (breaking-change)
- add Wiegand reader component [esphome#4288](https://github.com/esphome/esphome/pull/4288) by [@ssieb](https://github.com/ssieb) (new-integration)
- Format docker/build.py [esphome#4313](https://github.com/esphome/esphome/pull/4313) by [@jesserockz](https://github.com/jesserockz)
- Add macro for sub sensor defining [esphome#4315](https://github.com/esphome/esphome/pull/4315) by [@jesserockz](https://github.com/jesserockz)
- Add friendly name in MDNS records if it is not empty [esphome#4317](https://github.com/esphome/esphome/pull/4317) by [@catalin2402](https://github.com/catalin2402)
- Add upload dashboard api [esphome#4318](https://github.com/esphome/esphome/pull/4318) by [@balloob](https://github.com/balloob)
- Bump esphome-dashboard to 20230120.0 [esphome#4319](https://github.com/esphome/esphome/pull/4319) by [@jesserockz](https://github.com/jesserockz)
- Hydreon: Use new device classes water and precipitation_intensity [esphome#3993](https://github.com/esphome/esphome/pull/3993) by [@functionpointer](https://github.com/functionpointer)
- Dont fail workflows if lint building fails [esphome#4336](https://github.com/esphome/esphome/pull/4336) by [@jesserockz](https://github.com/jesserockz)
- Add MICS-4514 gas sensor [esphome#4316](https://github.com/esphome/esphome/pull/4316) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Refactor esp32_ble_tracker to use esp32_ble core ble setup code [esphome#4173](https://github.com/esphome/esphome/pull/4173) by [@jesserockz](https://github.com/jesserockz)
- Add next_url to improv serial component config [esphome#4343](https://github.com/esphome/esphome/pull/4343) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Remove state class from uptime sensor [esphome#4345](https://github.com/esphome/esphome/pull/4345) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_ble_tracker setup priority [esphome#4346](https://github.com/esphome/esphome/pull/4346) by [@jesserockz](https://github.com/jesserockz)
- Fix in ble client base address parsing [esphome#4347](https://github.com/esphome/esphome/pull/4347) by [@jesserockz](https://github.com/jesserockz)
- Added support for ADS1015 [esphome#4281](https://github.com/esphome/esphome/pull/4281) by [@xvil](https://github.com/xvil)
- Fix "BLE server / advertising always on" [esphome#4353](https://github.com/esphome/esphome/pull/4353) by [@Mat931](https://github.com/Mat931)
- Dump full parsed config to json-config api call [esphome#4373](https://github.com/esphome/esphome/pull/4373) by [@jesserockz](https://github.com/jesserockz)
- Fix pressure compensation in SCD4X [esphome#4357](https://github.com/esphome/esphome/pull/4357) by [@CarlosGS](https://github.com/CarlosGS)
- Allow mdns services to be exposed by config [esphome#4202](https://github.com/esphome/esphome/pull/4202) by [@elupus](https://github.com/elupus)
- Allow final validate of uart stop bits and parity [esphome#4376](https://github.com/esphome/esphome/pull/4376) by [@jesserockz](https://github.com/jesserockz)
- Update sim800l.cpp [esphome#4223](https://github.com/esphome/esphome/pull/4223) by [@fbeek](https://github.com/fbeek)
- SCD30 Added support for manual calibration [esphome#4362](https://github.com/esphome/esphome/pull/4362) by [@ftrueck](https://github.com/ftrueck)
- Add Ld2410 Support [esphome#3919](https://github.com/esphome/esphome/pull/3919) by [@sebcaps](https://github.com/sebcaps) (new-integration)
- add Resol VBus support [esphome#3976](https://github.com/esphome/esphome/pull/3976) by [@ssieb](https://github.com/ssieb) (new-integration)
- Allow dashboard import to specify if api encryption key should be generated [esphome#4393](https://github.com/esphome/esphome/pull/4393) by [@jesserockz](https://github.com/jesserockz)
- modify SGP4X integration to report device_class as air quality index [esphome#4327](https://github.com/esphome/esphome/pull/4327) by [@alexd321](https://github.com/alexd321)
- Remove unneeded validation for esp32 gpio pins [esphome#4394](https://github.com/esphome/esphome/pull/4394) by [@jesserockz](https://github.com/jesserockz)
- Fix shelly dimmer current sensor device class [esphome#4385](https://github.com/esphome/esphome/pull/4385) by [@trvrnrth](https://github.com/trvrnrth)
- Added Ethernet Component for ESP IDF with JL1101 PHY driver [esphome#4009](https://github.com/esphome/esphome/pull/4009) by [@mobrembski](https://github.com/mobrembski)
- adds gpio INPUT_OUTPUT_OPEN_DRAIN [esphome#4360](https://github.com/esphome/esphome/pull/4360) by [@tomaszduda23](https://github.com/tomaszduda23)
- Merge components in packages [esphome#3555](https://github.com/esphome/esphome/pull/3555) by [@quentinmit](https://github.com/quentinmit)
- Update ld2410 logging [esphome#4395](https://github.com/esphome/esphome/pull/4395) by [@jesserockz](https://github.com/jesserockz)
- Update log for mics4514 to state 3 minute start time. [esphome#4396](https://github.com/esphome/esphome/pull/4396) by [@jesserockz](https://github.com/jesserockz)
- mDNS updates [esphome#4399](https://github.com/esphome/esphome/pull/4399) by [@jesserockz](https://github.com/jesserockz)
- Dont keep logging on improv start [esphome#4401](https://github.com/esphome/esphome/pull/4401) by [@jesserockz](https://github.com/jesserockz)
- Add support for Lippert LP sensors in mopeka_pro_check component [esphome#4118](https://github.com/esphome/esphome/pull/4118) by [@rperciaccante](https://github.com/rperciaccante)
- climate: add support for quiet fan mode [esphome#3609](https://github.com/esphome/esphome/pull/3609) by [@MichaelMure](https://github.com/MichaelMure)
- add MQTT preset support for Climate components [esphome#4379](https://github.com/esphome/esphome/pull/4379) by [@jmichiel](https://github.com/jmichiel)
- Added CanalSat and CanalSatLD protocol support [esphome#3513](https://github.com/esphome/esphome/pull/3513) by [@Emrvb](https://github.com/Emrvb)
- Remove unused manifest handler [esphome#4169](https://github.com/esphome/esphome/pull/4169) by [@balloob](https://github.com/balloob)
- Use the github-script action to call the workflow [esphome#4400](https://github.com/esphome/esphome/pull/4400) by [@jesserockz](https://github.com/jesserockz)
- Convert secrets constant to a tuple [esphome#4245](https://github.com/esphome/esphome/pull/4245) by [@balloob](https://github.com/balloob)
- Verify rel_path output is relative [esphome#4247](https://github.com/esphome/esphome/pull/4247) by [@balloob](https://github.com/balloob)
- Bump curl version in docker [esphome#4403](https://github.com/esphome/esphome/pull/4403) by [@jesserockz](https://github.com/jesserockz)
- Fix release workflow [esphome#4405](https://github.com/esphome/esphome/pull/4405) by [@jesserockz](https://github.com/jesserockz)
- Climate PID Autotune Logging fixes [esphome#4136](https://github.com/esphome/esphome/pull/4136) by [@patrickcollins12](https://github.com/patrickcollins12)
- Add Clipping to displaybuffer [esphome#4271](https://github.com/esphome/esphome/pull/4271) by [@nielsnl68](https://github.com/nielsnl68)
- Fix check for empty clipping array [esphome#4421](https://github.com/esphome/esphome/pull/4421) by [@nielsnl68](https://github.com/nielsnl68)
- Ledc fix [esphome#4338](https://github.com/esphome/esphome/pull/4338) by [@xvil](https://github.com/xvil)
- Add version api endpoint [esphome#4429](https://github.com/esphome/esphome/pull/4429) by [@jesserockz](https://github.com/jesserockz)
- Handle uart.write in json-config endpoint [esphome#4430](https://github.com/esphome/esphome/pull/4430) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20230214.0 [esphome#4431](https://github.com/esphome/esphome/pull/4431) by [@jesserockz](https://github.com/jesserockz)
- Fix setting wrong traits on midea climate component [esphome#4425](https://github.com/esphome/esphome/pull/4425) by [@dudanov](https://github.com/dudanov)
- Bump python3-setuptools to 66.1.1-1+deb12u1 [esphome#8074](https://github.com/esphome/esphome/pull/8074) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -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.

View File

@@ -1,23 +1,22 @@
# ESPHome Home Assistant Add-On
# ESPHome Device Builder Beta
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/)
[![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome)
[![GitHub Release][releases-shield]][releases]
[![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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
<img title="ESPHome Device Builder 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/

View File

@@ -26,15 +26,16 @@ schema:
ssl: bool?
certfile: str?
keyfile: str?
relative_url: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
name: ESPHome (beta)
version: 2023.2.0
startup: services
name: ESPHome Device Builder (beta)
panel_title: ESPHome Builder (beta)
version: 2024.12.4
slug: esphome-beta
description: Beta version of ESPHome add-on
description: Beta version of ESPHome Device Builder
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -1 +1 @@
See https://esphome.io/changelog/index.html
See https://github.com/esphome/esphome/commits/dev

View File

@@ -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

View File

@@ -1,23 +1,22 @@
# ESPHome Home Assistant Add-On
# ESPHome Device Builder (Development branch)
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/)
[![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome)
[![GitHub Release][releases-shield]][releases]
[![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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
<img title="ESPHome Device Builder 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/

View File

@@ -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

View File

@@ -27,15 +27,17 @@ schema:
ssl: bool?
certfile: str?
keyfile: str?
relative_url: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
name: ESPHome (dev)
version: dev
startup: services
name: ESPHome Device Builder (dev)
panel_title: ESPHome Builder (dev)
version: 2025.2.0-dev20250122
slug: esphome-dev
description: Development version of ESPHome add-on
description: Development version of ESPHome Device Builder
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
options:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -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

View File

@@ -1,157 +1,4 @@
## 2023.2.0
## 2024.12.4
## Full list of changes
### New Components
- Add Pca9554 component [esphome#4192](https://github.com/esphome/esphome/pull/4192) by [@hwstar](https://github.com/hwstar) (new-integration)
- Add support for BP5758D LED driver [esphome#4021](https://github.com/esphome/esphome/pull/4021) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for BP1658CJ LED driver [esphome#4020](https://github.com/esphome/esphome/pull/4020) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for SM2235 and SM2335 LED drivers [esphome#3924](https://github.com/esphome/esphome/pull/3924) by [@Cossid](https://github.com/Cossid) (new-integration)
- PCF85063 RTC chip [esphome#3873](https://github.com/esphome/esphome/pull/3873) by [@brogon](https://github.com/brogon) (new-integration)
- Add support for matrix keypads [esphome#4241](https://github.com/esphome/esphome/pull/4241) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add X9C Potentiometer component [esphome#4183](https://github.com/esphome/esphome/pull/4183) by [@EtienneMD](https://github.com/EtienneMD) (new-integration)
- add key collector component [esphome#4242](https://github.com/esphome/esphome/pull/4242) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add support for EE895 [esphome#3771](https://github.com/esphome/esphome/pull/3771) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for HTE501 [esphome#3772](https://github.com/esphome/esphome/pull/3772) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for TEE501 [esphome#3773](https://github.com/esphome/esphome/pull/3773) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Implement a slow sigma-delta modulation based output [esphome#4132](https://github.com/esphome/esphome/pull/4132) by [@Cat-Ion](https://github.com/Cat-Ion) (new-integration)
- add Wiegand reader component [esphome#4288](https://github.com/esphome/esphome/pull/4288) by [@ssieb](https://github.com/ssieb) (new-integration)
- Add MICS-4514 gas sensor [esphome#4316](https://github.com/esphome/esphome/pull/4316) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Add next_url to improv serial component config [esphome#4343](https://github.com/esphome/esphome/pull/4343) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Add Ld2410 Support [esphome#3919](https://github.com/esphome/esphome/pull/3919) by [@sebcaps](https://github.com/sebcaps) (new-integration)
- add Resol VBus support [esphome#3976](https://github.com/esphome/esphome/pull/3976) by [@ssieb](https://github.com/ssieb) (new-integration)
### Breaking Changes
- Use NAN values for TSL2591 saturation [esphome#3931](https://github.com/esphome/esphome/pull/3931) by [@mdonoughe](https://github.com/mdonoughe) (breaking-change)
- set_retry: add retries remaining parameter to the provided function [esphome#4251](https://github.com/esphome/esphome/pull/4251) by [@e28eta](https://github.com/e28eta) (breaking-change)
### Beta Changes
- Bump curl version in docker [esphome#4403](https://github.com/esphome/esphome/pull/4403) by [@jesserockz](https://github.com/jesserockz)
- Fix release workflow [esphome#4405](https://github.com/esphome/esphome/pull/4405) by [@jesserockz](https://github.com/jesserockz)
- Climate PID Autotune Logging fixes [esphome#4136](https://github.com/esphome/esphome/pull/4136) by [@patrickcollins12](https://github.com/patrickcollins12)
- Add Clipping to displaybuffer [esphome#4271](https://github.com/esphome/esphome/pull/4271) by [@nielsnl68](https://github.com/nielsnl68)
- Fix check for empty clipping array [esphome#4421](https://github.com/esphome/esphome/pull/4421) by [@nielsnl68](https://github.com/nielsnl68)
- Ledc fix [esphome#4338](https://github.com/esphome/esphome/pull/4338) by [@xvil](https://github.com/xvil)
- Add version api endpoint [esphome#4429](https://github.com/esphome/esphome/pull/4429) by [@jesserockz](https://github.com/jesserockz)
- Handle uart.write in json-config endpoint [esphome#4430](https://github.com/esphome/esphome/pull/4430) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20230214.0 [esphome#4431](https://github.com/esphome/esphome/pull/4431) by [@jesserockz](https://github.com/jesserockz)
- Fix setting wrong traits on midea climate component [esphome#4425](https://github.com/esphome/esphome/pull/4425) by [@dudanov](https://github.com/dudanov)
### All changes
- Expose lambda action to reset a cycle in `slow_pwm` [esphome#4158](https://github.com/esphome/esphome/pull/4158) by [@johndbritton](https://github.com/johndbritton)
- climate: Add features to generic Toshiba model [esphome#3912](https://github.com/esphome/esphome/pull/3912) by [@zagor](https://github.com/zagor)
- Fix UUID displaying incorrectly in BLE Tracker logs [esphome#4187](https://github.com/esphome/esphome/pull/4187) by [@deunlee](https://github.com/deunlee)
- Bump actions/stale from 6 to 7 [esphome#4217](https://github.com/esphome/esphome/pull/4217) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Add Pca9554 component [esphome#4192](https://github.com/esphome/esphome/pull/4192) by [@hwstar](https://github.com/hwstar) (new-integration)
- Bump aioesphomeapi from 13.0.1 to 13.0.2 [esphome#4188](https://github.com/esphome/esphome/pull/4188) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump pytest-asyncio from 0.20.2 to 0.20.3 [esphome#4164](https://github.com/esphome/esphome/pull/4164) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Handle deprecated sdkconfig option [esphome#4204](https://github.com/esphome/esphome/pull/4204) by [@mmakaay](https://github.com/mmakaay)
- feat: set a wider range for jpeg quality [esphome#3872](https://github.com/esphome/esphome/pull/3872) by [@sisco0](https://github.com/sisco0)
- Bump black from 22.10.0 to 22.12.0 [esphome#4167](https://github.com/esphome/esphome/pull/4167) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Use NAN values for TSL2591 saturation [esphome#3931](https://github.com/esphome/esphome/pull/3931) by [@mdonoughe](https://github.com/mdonoughe) (breaking-change)
- Ili9341 8bit indexed mode pt2 [esphome#2502](https://github.com/esphome/esphome/pull/2502) by [@davet2001](https://github.com/davet2001)
- Allow ignoring of failed Modbus response CRC [esphome#3930](https://github.com/esphome/esphome/pull/3930) by [@jangrewe](https://github.com/jangrewe)
- calc LEDC PWM Resolution with LEDC_TIMER_BIT_MAX [esphome#3820](https://github.com/esphome/esphome/pull/3820) by [@MFlasskamp](https://github.com/MFlasskamp)
- Component::set_retry updates [esphome#3305](https://github.com/esphome/esphome/pull/3305) by [@e28eta](https://github.com/e28eta)
- Fix race condition in web_server scheduler on ESP32 [esphome#3951](https://github.com/esphome/esphome/pull/3951) by [@tomaszduda23](https://github.com/tomaszduda23)
- Fix saving light state for restore modes LIGHT_RESTORE_AND_OFF/ON [esphome#4131](https://github.com/esphome/esphome/pull/4131) by [@myhomeiot](https://github.com/myhomeiot)
- Add precipitation device class [esphome#4219](https://github.com/esphome/esphome/pull/4219) by [@jesserockz](https://github.com/jesserockz)
- Add support for BP5758D LED driver [esphome#4021](https://github.com/esphome/esphome/pull/4021) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for BP1658CJ LED driver [esphome#4020](https://github.com/esphome/esphome/pull/4020) by [@Cossid](https://github.com/Cossid) (new-integration)
- Add support for SM2235 and SM2335 LED drivers [esphome#3924](https://github.com/esphome/esphome/pull/3924) by [@Cossid](https://github.com/Cossid) (new-integration)
- Fix broken PULSE_METER [esphome#4199](https://github.com/esphome/esphome/pull/4199) by [@cstaahl](https://github.com/cstaahl)
- PCF85063 RTC chip [esphome#3873](https://github.com/esphome/esphome/pull/3873) by [@brogon](https://github.com/brogon) (new-integration)
- Add API for dashboard to get boards list by platform [esphome#4168](https://github.com/esphome/esphome/pull/4168) by [@kuba2k2](https://github.com/kuba2k2)
- Bump dashboard to 20221231.0 [esphome#4248](https://github.com/esphome/esphome/pull/4248) by [@balloob](https://github.com/balloob)
- Bump zeroconf to 0.47.1 [esphome#4268](https://github.com/esphome/esphome/pull/4268) by [@bdraco](https://github.com/bdraco)
- Don't match words containing "id" [esphome#4265](https://github.com/esphome/esphome/pull/4265) by [@ssieb](https://github.com/ssieb)
- Add support for matrix keypads [esphome#4241](https://github.com/esphome/esphome/pull/4241) by [@ssieb](https://github.com/ssieb) (new-integration)
- Fix Template Switch restore_mode support [esphome#4280](https://github.com/esphome/esphome/pull/4280) by [@SharpEdgeMarshall](https://github.com/SharpEdgeMarshall)
- Correct decimals in Growatt energy reporting [esphome#4277](https://github.com/esphome/esphome/pull/4277) by [@rfpronk](https://github.com/rfpronk)
- Bump pylint from 2.15.8 to 2.15.10 [esphome#4278](https://github.com/esphome/esphome/pull/4278) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Fix frequency limit for MCP9600 [esphome#4276](https://github.com/esphome/esphome/pull/4276) by [@jowgn](https://github.com/jowgn)
- fix: json compilation error on rp2040 [esphome#4273](https://github.com/esphome/esphome/pull/4273) by [@kellertk](https://github.com/kellertk)
- http_request: add request duration logging [esphome#4272](https://github.com/esphome/esphome/pull/4272) by [@stas-sl](https://github.com/stas-sl)
- Fix HttpRequestResponseTrigger [esphome#4270](https://github.com/esphome/esphome/pull/4270) by [@gmbuell](https://github.com/gmbuell)
- Fix HttpRequestResponseTrigger again [esphome#4285](https://github.com/esphome/esphome/pull/4285) by [@gmbuell](https://github.com/gmbuell)
- Add X9C Potentiometer component [esphome#4183](https://github.com/esphome/esphome/pull/4183) by [@EtienneMD](https://github.com/EtienneMD) (new-integration)
- small DisplayBuffer images and font update [esphome#4044](https://github.com/esphome/esphome/pull/4044) by [@nielsnl68](https://github.com/nielsnl68)
- Fix use of dangling pointers in esp-idf MQTT backend [esphome#4239](https://github.com/esphome/esphome/pull/4239) by [@aaliddell](https://github.com/aaliddell)
- Ensure we never write zero bytes [esphome#4284](https://github.com/esphome/esphome/pull/4284) by [@bdraco](https://github.com/bdraco)
- Fix off-by-one bedjet fan speed (#3873) [esphome#4292](https://github.com/esphome/esphome/pull/4292) by [@jhansche](https://github.com/jhansche)
- Clean up dashboard ping result post-rename/delete [esphome#4170](https://github.com/esphome/esphome/pull/4170) by [@balloob](https://github.com/balloob)
- Calculate PWM wrap dynamically whenever the frequency is changed [esphome#4294](https://github.com/esphome/esphome/pull/4294) by [@tradeJmark](https://github.com/tradeJmark)
- Remove baud check in tuya dump_config [esphome#4298](https://github.com/esphome/esphome/pull/4298) by [@jesserockz](https://github.com/jesserockz)
- Add friendly_name to device [esphome#4296](https://github.com/esphome/esphome/pull/4296) by [@jesserockz](https://github.com/jesserockz)
- allow multiple dsmr [esphome#4299](https://github.com/esphome/esphome/pull/4299) by [@ssieb](https://github.com/ssieb)
- Bump pytest from 7.2.0 to 7.2.1 [esphome#4300](https://github.com/esphome/esphome/pull/4300) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Bump aioesphomeapi from 13.0.2 to 13.1.0 [esphome#4301](https://github.com/esphome/esphome/pull/4301) by [@dependabot[bot]](https://github.com/apps/dependabot)
- Display the configured esphome:comment on the WebServer [esphome#4246](https://github.com/esphome/esphome/pull/4246) by [@grillp](https://github.com/grillp)
- Allow 0xA8 ID for APDS9960 [esphome#4287](https://github.com/esphome/esphome/pull/4287) by [@reubn](https://github.com/reubn)
- Dont default CORE.friendly_name [esphome#4305](https://github.com/esphome/esphome/pull/4305) by [@jesserockz](https://github.com/jesserockz)
- add key collector component [esphome#4242](https://github.com/esphome/esphome/pull/4242) by [@ssieb](https://github.com/ssieb) (new-integration)
- Tsl2591 gain publish [esphome#4291](https://github.com/esphome/esphome/pull/4291) by [@z3liff](https://github.com/z3liff)
- Add support for EE895 [esphome#3771](https://github.com/esphome/esphome/pull/3771) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for HTE501 [esphome#3772](https://github.com/esphome/esphome/pull/3772) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- Add support for TEE501 [esphome#3773](https://github.com/esphome/esphome/pull/3773) by [@Stock-M](https://github.com/Stock-M) (new-integration)
- PCA9685, fix reset device and add option EXTCLK [esphome#3845](https://github.com/esphome/esphome/pull/3845) by [@standahabich](https://github.com/standahabich)
- Implement a slow sigma-delta modulation based output [esphome#4132](https://github.com/esphome/esphome/pull/4132) by [@Cat-Ion](https://github.com/Cat-Ion) (new-integration)
- set_retry: add retries remaining parameter to the provided function [esphome#4251](https://github.com/esphome/esphome/pull/4251) by [@e28eta](https://github.com/e28eta) (breaking-change)
- add Wiegand reader component [esphome#4288](https://github.com/esphome/esphome/pull/4288) by [@ssieb](https://github.com/ssieb) (new-integration)
- Format docker/build.py [esphome#4313](https://github.com/esphome/esphome/pull/4313) by [@jesserockz](https://github.com/jesserockz)
- Add macro for sub sensor defining [esphome#4315](https://github.com/esphome/esphome/pull/4315) by [@jesserockz](https://github.com/jesserockz)
- Add friendly name in MDNS records if it is not empty [esphome#4317](https://github.com/esphome/esphome/pull/4317) by [@catalin2402](https://github.com/catalin2402)
- Add upload dashboard api [esphome#4318](https://github.com/esphome/esphome/pull/4318) by [@balloob](https://github.com/balloob)
- Bump esphome-dashboard to 20230120.0 [esphome#4319](https://github.com/esphome/esphome/pull/4319) by [@jesserockz](https://github.com/jesserockz)
- Hydreon: Use new device classes water and precipitation_intensity [esphome#3993](https://github.com/esphome/esphome/pull/3993) by [@functionpointer](https://github.com/functionpointer)
- Dont fail workflows if lint building fails [esphome#4336](https://github.com/esphome/esphome/pull/4336) by [@jesserockz](https://github.com/jesserockz)
- Add MICS-4514 gas sensor [esphome#4316](https://github.com/esphome/esphome/pull/4316) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Refactor esp32_ble_tracker to use esp32_ble core ble setup code [esphome#4173](https://github.com/esphome/esphome/pull/4173) by [@jesserockz](https://github.com/jesserockz)
- Add next_url to improv serial component config [esphome#4343](https://github.com/esphome/esphome/pull/4343) by [@jesserockz](https://github.com/jesserockz) (new-integration)
- Remove state class from uptime sensor [esphome#4345](https://github.com/esphome/esphome/pull/4345) by [@jesserockz](https://github.com/jesserockz)
- Fix esp32_ble_tracker setup priority [esphome#4346](https://github.com/esphome/esphome/pull/4346) by [@jesserockz](https://github.com/jesserockz)
- Fix in ble client base address parsing [esphome#4347](https://github.com/esphome/esphome/pull/4347) by [@jesserockz](https://github.com/jesserockz)
- Added support for ADS1015 [esphome#4281](https://github.com/esphome/esphome/pull/4281) by [@xvil](https://github.com/xvil)
- Fix "BLE server / advertising always on" [esphome#4353](https://github.com/esphome/esphome/pull/4353) by [@Mat931](https://github.com/Mat931)
- Dump full parsed config to json-config api call [esphome#4373](https://github.com/esphome/esphome/pull/4373) by [@jesserockz](https://github.com/jesserockz)
- Fix pressure compensation in SCD4X [esphome#4357](https://github.com/esphome/esphome/pull/4357) by [@CarlosGS](https://github.com/CarlosGS)
- Allow mdns services to be exposed by config [esphome#4202](https://github.com/esphome/esphome/pull/4202) by [@elupus](https://github.com/elupus)
- Allow final validate of uart stop bits and parity [esphome#4376](https://github.com/esphome/esphome/pull/4376) by [@jesserockz](https://github.com/jesserockz)
- Update sim800l.cpp [esphome#4223](https://github.com/esphome/esphome/pull/4223) by [@fbeek](https://github.com/fbeek)
- SCD30 Added support for manual calibration [esphome#4362](https://github.com/esphome/esphome/pull/4362) by [@ftrueck](https://github.com/ftrueck)
- Add Ld2410 Support [esphome#3919](https://github.com/esphome/esphome/pull/3919) by [@sebcaps](https://github.com/sebcaps) (new-integration)
- add Resol VBus support [esphome#3976](https://github.com/esphome/esphome/pull/3976) by [@ssieb](https://github.com/ssieb) (new-integration)
- Allow dashboard import to specify if api encryption key should be generated [esphome#4393](https://github.com/esphome/esphome/pull/4393) by [@jesserockz](https://github.com/jesserockz)
- modify SGP4X integration to report device_class as air quality index [esphome#4327](https://github.com/esphome/esphome/pull/4327) by [@alexd321](https://github.com/alexd321)
- Remove unneeded validation for esp32 gpio pins [esphome#4394](https://github.com/esphome/esphome/pull/4394) by [@jesserockz](https://github.com/jesserockz)
- Fix shelly dimmer current sensor device class [esphome#4385](https://github.com/esphome/esphome/pull/4385) by [@trvrnrth](https://github.com/trvrnrth)
- Added Ethernet Component for ESP IDF with JL1101 PHY driver [esphome#4009](https://github.com/esphome/esphome/pull/4009) by [@mobrembski](https://github.com/mobrembski)
- adds gpio INPUT_OUTPUT_OPEN_DRAIN [esphome#4360](https://github.com/esphome/esphome/pull/4360) by [@tomaszduda23](https://github.com/tomaszduda23)
- Merge components in packages [esphome#3555](https://github.com/esphome/esphome/pull/3555) by [@quentinmit](https://github.com/quentinmit)
- Update ld2410 logging [esphome#4395](https://github.com/esphome/esphome/pull/4395) by [@jesserockz](https://github.com/jesserockz)
- Update log for mics4514 to state 3 minute start time. [esphome#4396](https://github.com/esphome/esphome/pull/4396) by [@jesserockz](https://github.com/jesserockz)
- mDNS updates [esphome#4399](https://github.com/esphome/esphome/pull/4399) by [@jesserockz](https://github.com/jesserockz)
- Dont keep logging on improv start [esphome#4401](https://github.com/esphome/esphome/pull/4401) by [@jesserockz](https://github.com/jesserockz)
- Add support for Lippert LP sensors in mopeka_pro_check component [esphome#4118](https://github.com/esphome/esphome/pull/4118) by [@rperciaccante](https://github.com/rperciaccante)
- climate: add support for quiet fan mode [esphome#3609](https://github.com/esphome/esphome/pull/3609) by [@MichaelMure](https://github.com/MichaelMure)
- add MQTT preset support for Climate components [esphome#4379](https://github.com/esphome/esphome/pull/4379) by [@jmichiel](https://github.com/jmichiel)
- Added CanalSat and CanalSatLD protocol support [esphome#3513](https://github.com/esphome/esphome/pull/3513) by [@Emrvb](https://github.com/Emrvb)
- Remove unused manifest handler [esphome#4169](https://github.com/esphome/esphome/pull/4169) by [@balloob](https://github.com/balloob)
- Use the github-script action to call the workflow [esphome#4400](https://github.com/esphome/esphome/pull/4400) by [@jesserockz](https://github.com/jesserockz)
- Convert secrets constant to a tuple [esphome#4245](https://github.com/esphome/esphome/pull/4245) by [@balloob](https://github.com/balloob)
- Verify rel_path output is relative [esphome#4247](https://github.com/esphome/esphome/pull/4247) by [@balloob](https://github.com/balloob)
- Bump curl version in docker [esphome#4403](https://github.com/esphome/esphome/pull/4403) by [@jesserockz](https://github.com/jesserockz)
- Fix release workflow [esphome#4405](https://github.com/esphome/esphome/pull/4405) by [@jesserockz](https://github.com/jesserockz)
- Climate PID Autotune Logging fixes [esphome#4136](https://github.com/esphome/esphome/pull/4136) by [@patrickcollins12](https://github.com/patrickcollins12)
- Add Clipping to displaybuffer [esphome#4271](https://github.com/esphome/esphome/pull/4271) by [@nielsnl68](https://github.com/nielsnl68)
- Fix check for empty clipping array [esphome#4421](https://github.com/esphome/esphome/pull/4421) by [@nielsnl68](https://github.com/nielsnl68)
- Ledc fix [esphome#4338](https://github.com/esphome/esphome/pull/4338) by [@xvil](https://github.com/xvil)
- Add version api endpoint [esphome#4429](https://github.com/esphome/esphome/pull/4429) by [@jesserockz](https://github.com/jesserockz)
- Handle uart.write in json-config endpoint [esphome#4430](https://github.com/esphome/esphome/pull/4430) by [@jesserockz](https://github.com/jesserockz)
- Bump esphome-dashboard to 20230214.0 [esphome#4431](https://github.com/esphome/esphome/pull/4431) by [@jesserockz](https://github.com/jesserockz)
- Fix setting wrong traits on midea climate component [esphome#4425](https://github.com/esphome/esphome/pull/4425) by [@dudanov](https://github.com/dudanov)
- Bump python3-setuptools to 66.1.1-1+deb12u1 [esphome#8074](https://github.com/esphome/esphome/pull/8074) by [@jesserockz](https://github.com/jesserockz)

View File

@@ -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.

View File

@@ -1,23 +1,22 @@
# ESPHome Home Assistant Add-On
# ESPHome Device Builder
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/)
[![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome)
[![GitHub Release][releases-shield]][releases]
[![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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
<img title="ESPHome Device Builder 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/

View File

@@ -26,13 +26,15 @@ schema:
ssl: bool?
certfile: str?
keyfile: str?
relative_url: str?
leave_front_door_open: bool?
backup_exclude:
- '*/*/'
init: false
name: ESPHome
version: 2023.2.0
startup: services
name: ESPHome Device Builder
panel_title: ESPHome Builder
version: 2024.12.4
slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
description: Build your own smart home devices using ESPHome, no programming experience
required.
image: ghcr.io/esphome/esphome-hassio

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,5 +1,5 @@
{
"name": "ESPHome",
"url": "https://esphome.io",
"url": "http://10.147.17.160:3000/he_and_smallyue/esphome-home-assistant-addon/",
"maintainer": "ESPHome <esphome@nabucasa.com>"
}

View File

@@ -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

View File

@@ -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:])

View File

@@ -1 +0,0 @@
See https://esphome.io/changelog/index.html

View File

@@ -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.

View File

@@ -1,23 +1,22 @@
# ESPHome Home Assistant Add-On
# ESPHome Device Builder
[![ESPHome logo](https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/logo.png)](https://esphome.io/)
[![ESPHome logo][logo]][website]
[![GitHub stars](https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000)](https://github.com/esphome/esphome)
[![GitHub Release][releases-shield]][releases]
[![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
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
<img title="ESPHome Device Builder 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/

View File

@@ -16,11 +16,11 @@ 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
@@ -34,21 +34,24 @@ base: &base
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
name: ESPHome Device Builder (dev)
panel_title: ESPHome Builder (dev)
version: "2025.2.0-dev20250122" # DEV
slug: esphome-dev
description: "Development version of ESPHome add-on"
description: "Development version of ESPHome Device Builder"
url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
schema:
@@ -60,39 +63,41 @@ esphome-dev:
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
home_assistant_dashboard_integration: false
esphome-beta:
<<: *base
directory: esphome-beta
name: ESPHome (beta)
version: '2023.2.0' # BETA
name: ESPHome Device Builder (beta)
panel_title: ESPHome Builder (beta)
version: "2024.12.4" # BETA
slug: esphome-beta
description: "Beta version of ESPHome add-on"
description: "Beta version of ESPHome Device Builder"
url: https://beta.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental
advanced: true
options:
home_assistant_dashboard_integration: false
home_assistant_dashboard_integration: false
esphome-stable:
<<: *base
directory: esphome
name: ESPHome
version: '2023.2.0' # STABLE
name: ESPHome Device Builder
panel_title: ESPHome Builder
version: "2024.12.4" # STABLE
slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
description: "Build your own smart home devices using ESPHome, no programming experience required."
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
View File

@@ -0,0 +1,41 @@
# ESPHome Device Builder Beta
[![ESPHome logo][logo]][website]
[![GitHub stars][github-stars-shield]][repository]
[![Discord][discord-shield]][discord]
## About
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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 Device Builder 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/beta/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

41
template/dev/README.md Normal file
View File

@@ -0,0 +1,41 @@
# ESPHome Device Builder (Development branch)
[![ESPHome logo][logo]][website]
[![GitHub stars][github-stars-shield]][repository]
[![Discord][discord-shield]][discord]
## About
This add-on allows you to write configurations and turn your microcontrollers
into smart home devices 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 Device Builder 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
template/dev/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB