1
0

Compare commits

..

418 Commits

49 changed files with 295 additions and 372 deletions

View File

@@ -3,7 +3,12 @@ FROM ghcr.io/home-assistant/devcontainer:addons
RUN \ RUN \
apt-get update \ apt-get update \
&& apt-get install -y --no-install-recommends \ && 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 / COPY script/requirements.txt /

View File

@@ -14,9 +14,12 @@
"containerEnv": { "containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
}, },
"customizations": {
"vscode": {
"extensions": [ "extensions": [
"timonwong.shellcheck", "timonwong.shellcheck",
"esbenp.prettier-vscode" "esbenp.prettier-vscode",
"ms-python.python"
], ],
"mounts": [ "mounts": [
"type=volume,target=/var/lib/docker" "type=volume,target=/var/lib/docker"
@@ -33,4 +36,6 @@
"editor.formatOnType": true, "editor.formatOnType": true,
"files.trimTrailingWhitespace": true "files.trimTrailingWhitespace": true
} }
}
}
} }

View File

@@ -15,13 +15,14 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v4.2.2
- uses: actions/setup-python@v4 - uses: actions/setup-python@v5.3.0
with: with:
python-version: '3.x' python-version: "3.11"
- run: pip install -r script/requirements.txt - run: pip install -r script/requirements.txt
- run: script/bump-version.py ${{ github.event.inputs.version }} - run: script/bump-version.py ${{ github.event.inputs.version }}
- name: Write Beta changelog - name: Write Beta changelog
if: ${{ !contains(github.event.inputs.version, 'dev') }}
run: | run: |
cat > esphome-beta/CHANGELOG.md << 'EOF' cat > esphome-beta/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }} ## ${{ github.event.inputs.version }}
@@ -29,7 +30,7 @@ jobs:
${{ github.event.inputs.content }} ${{ github.event.inputs.content }}
EOF EOF
- name: Write Stable changelog - name: Write Stable changelog
if: ${{ !contains(github.event.inputs.version, 'b') }} if: ${{ !contains(github.event.inputs.version, 'b') && !contains(github.event.inputs.version, 'dev') }}
run: | run: |
cat > esphome/CHANGELOG.md << 'EOF' cat > esphome/CHANGELOG.md << 'EOF'
## ${{ github.event.inputs.version }} ## ${{ github.event.inputs.version }}
@@ -49,6 +50,7 @@ jobs:
- name: Create a Release - name: Create a Release
uses: actions/create-release@v1.1.4 uses: actions/create-release@v1.1.4
continue-on-error: true continue-on-error: true
if: ${{ !contains(github.event.inputs.version, 'dev') }}
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:

View File

@@ -19,20 +19,20 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v4.2.2
- name: Log in to the GitHub container registry - 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' if: github.event_name != 'pull_request'
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU - 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 - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2.2.1 uses: docker/setup-buildx-action@v3.7.1
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v3.3.0 uses: docker/build-push-action@v6.9.0
with: with:
context: . context: .
file: .devcontainer/Dockerfile file: .devcontainer/Dockerfile

View File

@@ -19,16 +19,16 @@ jobs:
channel: dev channel: dev
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v3.3.0 uses: actions/checkout@v4.2.2
- name: 🛠 Setup Python - name: 🛠 Setup Python
uses: actions/setup-python@v4 uses: actions/setup-python@v5.3.0
with: with:
python-version: '3.x' python-version: '3.11'
- name: 🛠 Install dependencies - name: 🛠 Install dependencies
run: pip install -r script/requirements.txt run: pip install -r script/requirements.txt
- name: 🛠 Generate files from template - name: 🛠 Generate files from template
run: python script/generate.py ${{ matrix.channels.channel }} run: python script/generate.py ${{ matrix.channels.channel }}
- name: 🚀 Run Home Assistant Add-on Lint on ${{ 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.1
with: with:
path: "./${{ matrix.channels.folder }}" path: "./${{ matrix.channels.folder }}"

View File

@@ -1,107 +1,6 @@
## 2023.2.0b3 ## 2024.10.2
- 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) - Humanized the missing MQTT log topic error message [esphome#7634](https://github.com/esphome/esphome/pull/7634) by [@solarkennedy](https://github.com/solarkennedy)
- climate: Add features to generic Toshiba model [esphome#3912](https://github.com/esphome/esphome/pull/3912) by [@zagor](https://github.com/zagor) - [lvgl] Some properties were not templatable (Bugfix) [esphome#7655](https://github.com/esphome/esphome/pull/7655) by [@clydebarrow](https://github.com/clydebarrow)
- Fix UUID displaying incorrectly in BLE Tracker logs [esphome#4187](https://github.com/esphome/esphome/pull/4187) by [@deunlee](https://github.com/deunlee) - [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)
- 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)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Beta Add-On
[![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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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,13 +26,13 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome (beta) name: ESPHome (beta)
version: 2023.2.0b3 version: 2024.10.2
slug: esphome-beta slug: esphome-beta
description: Beta version of ESPHome add-on description: Beta version of ESPHome add-on
image: ghcr.io/esphome/esphome-hassio 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: 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 Compiler (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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers This add-on allows you to write configurations and turn your microcontrollers
directly through Home Assistant **with no programming experience required**. All you need to do into smart home devices directly through Home Assistant **with no programming experience required**.
is write YAML configuration files; the rest (over-the-air updates, compiling) is all All you need to do is write YAML configuration files; the rest (over-the-air updates, compiling) is all
handled by ESPHome. handled by ESPHome.
<p align="center"> <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 Compiler screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
</p> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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,16 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
name: ESPHome (dev) startup: services
version: dev name: ESPHome Device Compiler (dev)
version: 2024.11.0-dev20241024
slug: esphome-dev slug: esphome-dev
description: Development version of ESPHome add-on description: Development version of ESPHome Device Compiler
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
options: 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,7 +1,6 @@
## 2022.12.8 ## 2024.10.2
- Upgrades add-on base image to 6.2.0 [esphome#4310](https://github.com/esphome/esphome/pull/4310) by [@frenck](https://github.com/frenck) - Humanized the missing MQTT log topic error message [esphome#7634](https://github.com/esphome/esphome/pull/7634) by [@solarkennedy](https://github.com/solarkennedy)
- Migrate old-style S6 scripts to s6-rc.d [esphome#4311](https://github.com/esphome/esphome/pull/4311) by [@frenck](https://github.com/frenck) - [lvgl] Some properties were not templatable (Bugfix) [esphome#7655](https://github.com/esphome/esphome/pull/7655) by [@clydebarrow](https://github.com/clydebarrow)
- Refactor NGINX configuration of Home Assistant Add-on [esphome#4312](https://github.com/esphome/esphome/pull/4312) by [@frenck](https://github.com/frenck) - [voice_assistant] Bugfix: Fix crash on start [esphome#7662](https://github.com/esphome/esphome/pull/7662) by [@kahrendt](https://github.com/kahrendt)
- Add Home Assistant integration discovery [esphome#4328](https://github.com/esphome/esphome/pull/4328) by [@frenck](https://github.com/frenck)

View File

@@ -1,5 +1,4 @@
# Home Assistant Community Add-on: ESPHome # ESPHome Add-on
## Installation ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Add-On
[![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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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,13 @@ schema:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- '*/*/' - '*/*/'
init: false init: false
startup: services
name: ESPHome name: ESPHome
version: 2022.12.8 version: 2024.10.2
slug: esphome slug: esphome
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
image: ghcr.io/esphome/esphome-hassio 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

@@ -2,7 +2,6 @@
import argparse import argparse
import re import re
import subprocess
from dataclasses import dataclass from dataclasses import dataclass
import sys import sys
import os import os
@@ -17,72 +16,71 @@ class Version:
minor: int minor: int
patch: int patch: int
beta: int = 0 beta: int = 0
dev: bool = False dev: str = ""
def __str__(self): def __str__(self):
return f'{self.major}.{self.minor}.{self.full_patch}' return f"{self.major}.{self.minor}.{self.full_patch}"
@property @property
def full_patch(self): def full_patch(self):
res = f'{self.patch}' res = f"{self.patch}"
if self.beta > 0: if self.beta > 0:
res += f'b{self.beta}' res += f"b{self.beta}"
if self.dev: if self.dev:
res += '-dev' res += f"-dev{self.dev}"
return res return res
@classmethod @classmethod
def parse(cls, value): 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 assert match is not None
major = int(match[1]) major = int(match[1])
minor = int(match[2]) minor = int(match[2])
patch = int(match[3]) patch = int(match[3])
beta = int(match[4][1:]) if match[4] else 0 beta = int(match[4][1:]) if match[4] else 0
dev = bool(match[5]) dev = str(match[5][4:]) if match[5] else ""
return Version( return Version(major=major, minor=minor, patch=patch, beta=beta, dev=dev)
major=major, minor=minor, patch=patch,
beta=beta, dev=dev
)
def sub(path, pattern, repl, expected_count=1): def _sub(path, pattern, repl, expected_count=1):
with open(path) as fh: with open(path, encoding="utf-8") as fh:
content = fh.read() 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: if expected_count is not None:
assert count == expected_count, f"Pattern {pattern} replacement failed!" 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) fh.write(content)
def write_version(target: str, version: Version): def _write_version(target: str, version: Version):
# version: '1.14.5' # BETA # version: "2024.5.0-dev20240412" # DEV
# version: '1.14.5' # STABLE # version: "1.14.5" # BETA
sub( # version: "1.14.5" # STABLE
'template/addon_config.yaml', _sub(
r" version: '[^']+' # {}".format(target.upper()), "template/addon_config.yaml",
f" version: '{version}' # {target.upper()}" f' version: "[^"]+" # {target.upper()}',
f' version: "{version}" # {target.upper()}',
) )
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('new_version', type=str) parser.add_argument("new_version", type=str)
args = parser.parse_args() args = parser.parse_args()
version = Version.parse(args.new_version) version = Version.parse(args.new_version)
assert not version.dev
print(f"Bumping to {version}") print(f"Bumping to {version}")
if version.beta: if version.dev:
write_version('beta', version) _write_version("dev", version)
generate.main(['beta']) generate.main(["dev"])
elif version.beta:
_write_version("beta", version)
generate.main(["beta"])
else: else:
assert not version.beta _write_version("stable", version)
write_version('stable', version) _write_version("beta", version)
write_version('beta', version) generate.main(["stable", "beta"])
generate.main(['stable', 'beta'])
return 0 return 0

View File

@@ -1,11 +1,13 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import argparse import argparse
import yaml
from pathlib import Path from pathlib import Path
from enum import Enum from enum import Enum
from shutil import copyfile from shutil import copyfile
import sys import sys
import os
import yaml
class Channel(Enum): class Channel(Enum):
@@ -24,39 +26,29 @@ def main(args):
root = Path(__file__).parent.parent root = Path(__file__).parent.parent
templ = root / "template" 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) config = yaml.safe_load(f)
copyf = config["copy_files"] copyf = config["copy_files"]
for channel in args.channels: for channel in args.channels:
conf = config[f"esphome-{channel.value}"] conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image", None)
dir_ = root / conf.pop("directory") dir_ = root / conf.pop("directory")
path = dir_ / "config.yaml" 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) 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_): if Path.exists(templ / channel.value / file_):
copyfile(templ / channel.value / file_, dir_ / file_) copyfile(templ / channel.value / file_, dir_ / file_)
else: else:
copyfile(templ / file_, dir_ / file_) copyfile(templ / file_, dir_ / file_)
path = dir_ / "FILES ARE GENERATED DO NOT EDIT" 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") 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__": if __name__ == "__main__":
main(sys.argv[1:]) 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 ## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on. 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,9 +1,8 @@
# ESPHome Home Assistant Add-On # ESPHome Add-On
[![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 stars][github-stars-shield]][repository]
[![GitHub Release][releases-shield]][releases]
[![Discord][discord-shield]][discord] [![Discord][discord-shield]][discord]
## About ## About
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
handled by ESPHome. handled by ESPHome.
<p align="center"> <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> </p>
[View the ESPHome documentation](https://esphome.io/) [View the ESPHome documentation][website]
## Example ## 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 temperature and humidity sensor, you just need to include 8 lines of YAML
in your configuration file: 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: 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 [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 [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 settings
ingress: true ingress: true
ingress_port: 0 ingress_port: 0
panel_icon: 'mdi:chip' panel_icon: "mdi:chip"
# Automatically add UART devices to add-on # Automatically add UART devices to add-on
uart: true uart: true
ports: ports:
'6052/tcp': null "6052/tcp": null
map: map:
- ssl:ro - ssl:ro
- config:rw - config:rw
@@ -34,21 +34,23 @@ base: &base
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
backup_exclude: backup_exclude:
- "*/*/" - "*/*/"
# Disable docker init for s6 # Disable docker init for s6
init: false init: false
# Make sure dashboard is available for core
startup: services
esphome-dev: esphome-dev:
<<: *base <<: *base
directory: esphome-dev directory: esphome-dev
name: ESPHome (dev) name: ESPHome Device Compiler (dev)
version: 'dev' # DEV version: "2024.11.0-dev20241024" # DEV
slug: esphome-dev slug: esphome-dev
description: "Development version of ESPHome add-on" description: "Development version of ESPHome Device Compiler"
url: https://next.esphome.io/ url: https://next.esphome.io/
image: ghcr.io/esphome/esphome-hassio
stage: experimental stage: experimental
advanced: true advanced: true
schema: schema:
@@ -60,9 +62,7 @@ esphome-dev:
ssl: bool? ssl: bool?
certfile: str? certfile: str?
keyfile: str? keyfile: str?
relative_url: str?
leave_front_door_open: bool? leave_front_door_open: bool?
base_image: ghcr.io/esphome/esphome-hassio:dev
options: options:
home_assistant_dashboard_integration: false home_assistant_dashboard_integration: false
@@ -70,7 +70,7 @@ esphome-beta:
<<: *base <<: *base
directory: esphome-beta directory: esphome-beta
name: ESPHome (beta) name: ESPHome (beta)
version: '2023.2.0b3' # BETA version: "2024.10.2" # BETA
slug: esphome-beta slug: esphome-beta
description: "Beta version of ESPHome add-on" description: "Beta version of ESPHome add-on"
url: https://beta.esphome.io/ url: https://beta.esphome.io/
@@ -84,15 +84,17 @@ esphome-stable:
<<: *base <<: *base
directory: esphome directory: esphome
name: ESPHome name: ESPHome
version: '2022.12.8' # STABLE version: "2024.10.2" # STABLE
slug: esphome slug: esphome
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices" description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
image: ghcr.io/esphome/esphome-hassio image: ghcr.io/esphome/esphome-hassio
copy_files: copy_files:
CHANGELOG.md: - DOCS.md
DOCS.md: - icon.png
icon.png: - logo.png
logo.png: - README.md
README.md: - translations/en.yaml
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 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

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 Compiler (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 Compiler 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