Compare commits
316 Commits
15
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
FROM ghcr.io/home-assistant/devcontainer:addons
|
||||
|
||||
RUN \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
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 /
|
||||
|
||||
RUN pip install -r /requirements.txt
|
||||
41
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "ESPHome Home Assistant add-on devcontainer",
|
||||
"image": "ghcr.io/esphome/devcontainer:addons",
|
||||
"appPort": [
|
||||
"7123:8123",
|
||||
"7357:4357"
|
||||
],
|
||||
"postStartCommand": "bash devcontainer_bootstrap",
|
||||
"runArgs": [
|
||||
"-e",
|
||||
"GIT_EDITOR=code --wait",
|
||||
"--privileged"
|
||||
],
|
||||
"containerEnv": {
|
||||
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
|
||||
},
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
87
.github/workflows/bump-version.yml
vendored
@@ -6,49 +6,56 @@ on:
|
||||
version:
|
||||
description: The version to release
|
||||
required: true
|
||||
content:
|
||||
description: The content of the release-notes
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3.0.2
|
||||
- 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: 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}"
|
||||
- if: ${{ contains(github.event.inputs.version, 'b') }}
|
||||
name: Create Beta 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: 'See https://beta.esphome.io/changelog/index.html'
|
||||
prerelease: true
|
||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
||||
name: Create Stable 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: 'See https://esphome.io/changelog/index.html'
|
||||
prerelease: false
|
||||
commitish: ${{ steps.commit_version.outputs.commit_sha }}
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- uses: actions/setup-python@v5.1.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') && !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
|
||||
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 }}
|
||||
|
||||
41
.github/workflows/devcontainer-build.yaml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Build devcontainer image
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .devcontainer/**
|
||||
schedule:
|
||||
- cron: '0 0 1 * *'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .devcontainer/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v3.2.0
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3.0.0
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3.3.0
|
||||
- name: Build and Push
|
||||
uses: docker/build-push-action@v5.4.0
|
||||
with:
|
||||
context: .
|
||||
file: .devcontainer/Dockerfile
|
||||
tags: ghcr.io/${{ github.repository_owner }}/devcontainer:addons
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
8
.github/workflows/lint.yml
vendored
@@ -19,16 +19,16 @@ jobs:
|
||||
channel: dev
|
||||
steps:
|
||||
- name: ⤵️ Check out code from GitHub
|
||||
uses: actions/checkout@v3.0.2
|
||||
uses: actions/checkout@v4.1.7
|
||||
- name: 🛠 Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5.1.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.9.0
|
||||
uses: frenck/action-addon-linter@v2.15.1
|
||||
with:
|
||||
path: "./${{ matrix.channels.folder }}"
|
||||
|
||||
19
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Start Home Assistant",
|
||||
"type": "shell",
|
||||
"command": "supervisor_run",
|
||||
"group": {
|
||||
"kind": "test",
|
||||
"isDefault": true
|
||||
},
|
||||
"presentation": {
|
||||
"reveal": "always",
|
||||
"panel": "new"
|
||||
},
|
||||
"problemMatcher": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1 +1,193 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
## 2024.6.0
|
||||
|
||||
## Full list of changes
|
||||
|
||||
### New Features
|
||||
|
||||
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
|
||||
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
|
||||
|
||||
### New Components
|
||||
|
||||
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
|
||||
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
|
||||
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
|
||||
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
|
||||
### New Platforms
|
||||
|
||||
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
|
||||
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
|
||||
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
|
||||
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
|
||||
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
|
||||
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
|
||||
|
||||
### All changes
|
||||
|
||||
- Add IRK support to ble_rssi [esphome#6422](https://github.com/esphome/esphome/pull/6422) by [@chbmuc](https://github.com/chbmuc)
|
||||
- Add new Error type to skip prepending path [esphome#6716](https://github.com/esphome/esphome/pull/6716) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [github] Only save platformio cache for dev branch [esphome#6711](https://github.com/esphome/esphome/pull/6711) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Only cache docker images on dev branch [esphome#6714](https://github.com/esphome/esphome/pull/6714) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add pylint to git pre-commit hooks [esphome#6726](https://github.com/esphome/esphome/pull/6726) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- separate debug component for each platform in different file [esphome#6715](https://github.com/esphome/esphome/pull/6715) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
|
||||
- Typing hint and doc fixes [esphome#6729](https://github.com/esphome/esphome/pull/6729) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- time_based_cover.cpp with manual control fix [esphome#6719](https://github.com/esphome/esphome/pull/6719) by [@Jorge-Crespo-Celdran](https://github.com/Jorge-Crespo-Celdran)
|
||||
- [CST816] Add support for Hynitron Microelectronics CST826 capacitive touch [esphome#6682](https://github.com/esphome/esphome/pull/6682) by [@lboue](https://github.com/lboue)
|
||||
- Bump pytest from 8.1.1 to 8.2.0 [esphome#6732](https://github.com/esphome/esphome/pull/6732) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [web_server] Minor python formatting [esphome#6735](https://github.com/esphome/esphome/pull/6735) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [esp32_ble] Fix compilation error on esp32c6 [esphome#6734](https://github.com/esphome/esphome/pull/6734) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Fix minor formatting issues [esphome#6738](https://github.com/esphome/esphome/pull/6738) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [config] Improve error reporting [esphome#6736](https://github.com/esphome/esphome/pull/6736) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [tests] ``test2.yaml`` has become too large [esphome#6750](https://github.com/esphome/esphome/pull/6750) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump esphome-dashboard from 20240412.0 to 20240429.1 [esphome#6743](https://github.com/esphome/esphome/pull/6743) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
|
||||
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
|
||||
- i2c: fix format string specifiers [esphome#6746](https://github.com/esphome/esphome/pull/6746) by [@ius](https://github.com/ius)
|
||||
- Allow one timing to cancel others [esphome#6744](https://github.com/esphome/esphome/pull/6744) by [@lbilger](https://github.com/lbilger)
|
||||
- fix rp2040_pio_led flicker and proper multi-strip support [esphome#6194](https://github.com/esphome/esphome/pull/6194) by [@Papa-DMan](https://github.com/Papa-DMan)
|
||||
- Mirage remote receiver & transmitter [esphome#6479](https://github.com/esphome/esphome/pull/6479) by [@heggi](https://github.com/heggi)
|
||||
- WPA2 Enterprise - Explicitly set TTLS Phase 2 [esphome#6436](https://github.com/esphome/esphome/pull/6436) by [@shxshxshxshx](https://github.com/shxshxshxshx)
|
||||
- Fix Prometheus Output to Match Spec [esphome#6032](https://github.com/esphome/esphome/pull/6032) by [@sdwilsh](https://github.com/sdwilsh)
|
||||
- Skip gpio validation [esphome#5615](https://github.com/esphome/esphome/pull/5615) by [@amcfague](https://github.com/amcfague)
|
||||
- [core] Migrate to pyproject.toml [esphome#6737](https://github.com/esphome/esphome/pull/6737) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Move pytest config into pyproject.toml [esphome#6740](https://github.com/esphome/esphome/pull/6740) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Move pylint config into pyproject.toml [esphome#6739](https://github.com/esphome/esphome/pull/6739) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Fix running pylint via pre-commit from GUI apps [esphome#6754](https://github.com/esphome/esphome/pull/6754) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
|
||||
- [core] Fix some extends cases [esphome#6748](https://github.com/esphome/esphome/pull/6748) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Port wifi_component_esp32_arduino from tcpip_adapter to esp_netif [esphome#6476](https://github.com/esphome/esphome/pull/6476) by [@paravoid](https://github.com/paravoid)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Fix wifi compile error on IDF 5.1+ [esphome#6756](https://github.com/esphome/esphome/pull/6756) by [@kbx81](https://github.com/kbx81)
|
||||
- [core] Update some coroutine priorities [esphome#6755](https://github.com/esphome/esphome/pull/6755) by [@jesserockz](https://github.com/jesserockz)
|
||||
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- [nextion] Fix type on sprintf for IDF v5 [esphome#6758](https://github.com/esphome/esphome/pull/6758) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [core] Remove references to deleted setup.py [esphome#6757](https://github.com/esphome/esphome/pull/6757) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix pip3 install [esphome#6771](https://github.com/esphome/esphome/pull/6771) by [@syssi](https://github.com/syssi)
|
||||
- [tests] make test_build_components work with venv without installing esphome [esphome#6761](https://github.com/esphome/esphome/pull/6761) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- separate deep_sleep component for each platform in different file [esphome#6762](https://github.com/esphome/esphome/pull/6762) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Bump actions/checkout from 4.1.5 to 4.1.6 [esphome#6764](https://github.com/esphome/esphome/pull/6764) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- add rp2040 support to the wizard [esphome#6239](https://github.com/esphome/esphome/pull/6239) by [@fodfodfod](https://github.com/fodfodfod)
|
||||
- [ili9xxx] Add 18bit mode selection and custom init sequence [esphome#6745](https://github.com/esphome/esphome/pull/6745) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Tiny fix in automation.h - unused return value removed [esphome#6760](https://github.com/esphome/esphome/pull/6760) by [@latonita](https://github.com/latonita)
|
||||
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
|
||||
- Add support for acting as Modbus server [esphome#4874](https://github.com/esphome/esphome/pull/4874) by [@JeroenVanOort](https://github.com/JeroenVanOort)
|
||||
- Add on_safe_mode trigger [esphome#6790](https://github.com/esphome/esphome/pull/6790) by [@kbx81](https://github.com/kbx81)
|
||||
- [sx1509] Output open drain pin mode [esphome#6788](https://github.com/esphome/esphome/pull/6788) by [@Swamp-Ig](https://github.com/Swamp-Ig)
|
||||
- [ledc] Change some logging lines from debug to verbose [esphome#6796](https://github.com/esphome/esphome/pull/6796) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
|
||||
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
|
||||
- [nextion] Add basic functions to Intelligent series [esphome#6791](https://github.com/esphome/esphome/pull/6791) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
|
||||
- [tuya] add support for extended services [esphome#6808](https://github.com/esphome/esphome/pull/6808) by [@augs](https://github.com/augs)
|
||||
- fix libretiny regression from #6715 [esphome#6806](https://github.com/esphome/esphome/pull/6806) by [@augs](https://github.com/augs)
|
||||
- Make i2s_audio compatible with IDF 5+ [esphome#6534](https://github.com/esphome/esphome/pull/6534) by [@pimdo](https://github.com/pimdo)
|
||||
- Fix compile errors on ESP32-C6 with latest ESP-IDF [esphome#6822](https://github.com/esphome/esphome/pull/6822) by [@DAVe3283](https://github.com/DAVe3283)
|
||||
- Use uint8_t instead of uint32_t for 8-bit values on mitsubishi [esphome#6824](https://github.com/esphome/esphome/pull/6824) by [@DAVe3283](https://github.com/DAVe3283)
|
||||
- Make SPI Ethernet (W5500) compatible with ESP-IDF v5 [esphome#6778](https://github.com/esphome/esphome/pull/6778) by [@fightforlife](https://github.com/fightforlife)
|
||||
- [wake_on_lan] Make component platform independent [esphome#6815](https://github.com/esphome/esphome/pull/6815) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix a bunch of components for IDF 5 compatibility and #6802 [esphome#6805](https://github.com/esphome/esphome/pull/6805) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump docker/login-action from 3.1.0 to 3.2.0 [esphome#6823](https://github.com/esphome/esphome/pull/6823) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pytest-cov from 4.1.0 to 5.0.0 [esphome#6580](https://github.com/esphome/esphome/pull/6580) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 [esphome#6635](https://github.com/esphome/esphome/pull/6635) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump black from 24.4.0 to 24.4.2 [esphome#6646](https://github.com/esphome/esphome/pull/6646) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
|
||||
- [web_server] add entity sorting for v3 [esphome#6445](https://github.com/esphome/esphome/pull/6445) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [micro_wake_word] Ensure model string is Path [esphome#6826](https://github.com/esphome/esphome/pull/6826) by [@synesthesiam](https://github.com/synesthesiam)
|
||||
- Fix DHT reading timing for SI7021 on ESP32 [esphome#6604](https://github.com/esphome/esphome/pull/6604) by [@erdembey](https://github.com/erdembey)
|
||||
- [core] Const-ify some Component fields [esphome#6831](https://github.com/esphome/esphome/pull/6831) by [@jesserockz](https://github.com/jesserockz)
|
||||
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- Update const.py added missing millimeter [esphome#6834](https://github.com/esphome/esphome/pull/6834) by [@NonaSuomy](https://github.com/NonaSuomy)
|
||||
- Fix log message in VA for IDF 5 [esphome#6839](https://github.com/esphome/esphome/pull/6839) by [@kbx81](https://github.com/kbx81)
|
||||
- Replace random non-ascii-print characters with standard substitutes [esphome#6840](https://github.com/esphome/esphome/pull/6840) by [@ptr727](https://github.com/ptr727)
|
||||
- Wireguard support for bk72 microcontrollers [esphome#6842](https://github.com/esphome/esphome/pull/6842) by [@droscy](https://github.com/droscy)
|
||||
- Add messages when WiFi and Ethernet components set 'warning' flag. [esphome#6850](https://github.com/esphome/esphome/pull/6850) by [@kpfleming](https://github.com/kpfleming)
|
||||
- [sntp] fix for ESP-IDF > 5.0 [esphome#6769](https://github.com/esphome/esphome/pull/6769) by [@HeMan](https://github.com/HeMan)
|
||||
- Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6843](https://github.com/esphome/esphome/pull/6843) by [@ptr727](https://github.com/ptr727)
|
||||
- Add Ethernet MAC address to ethernet_info [esphome#6835](https://github.com/esphome/esphome/pull/6835) by [@ptr727](https://github.com/ptr727)
|
||||
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [wireguard] Implement workaround for crash on IDF 5+ [esphome#6846](https://github.com/esphome/esphome/pull/6846) by [@kbx81](https://github.com/kbx81)
|
||||
- [ft5x06] Interrupt pin and code quality improvements [esphome#6851](https://github.com/esphome/esphome/pull/6851) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [ethernet] Add config option to set arbitrary PHY register values [esphome#6836](https://github.com/esphome/esphome/pull/6836) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Add carrier_frequency option to remote_transmitter.transmit_aeha [esphome#6792](https://github.com/esphome/esphome/pull/6792) by [@svxa](https://github.com/svxa)
|
||||
- Add `invert_position_report` to `tuya.cover` [esphome#6020](https://github.com/esphome/esphome/pull/6020) by [@wrouesnel](https://github.com/wrouesnel)
|
||||
- [Tuya Climate] Support both datapoint and pins for active state [esphome#6789](https://github.com/esphome/esphome/pull/6789) by [@zry98](https://github.com/zry98)
|
||||
- [config] Allow file: scheme for git external components [esphome#6844](https://github.com/esphome/esphome/pull/6844) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
|
||||
- [logger] Fix defines for development [esphome#6870](https://github.com/esphome/esphome/pull/6870) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [docker] Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6873](https://github.com/esphome/esphome/pull/6873) by [@ptr727](https://github.com/ptr727)
|
||||
- [datetime] Add logs on DateCall perform [esphome#6868](https://github.com/esphome/esphome/pull/6868) by [@RFDarter](https://github.com/RFDarter)
|
||||
- fix: arduino media player sets wrong state for announcements [esphome#6849](https://github.com/esphome/esphome/pull/6849) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [datetime] datetime-datetime strptime support value string without seconds [esphome#6867](https://github.com/esphome/esphome/pull/6867) by [@RFDarter](https://github.com/RFDarter)
|
||||
- Update webserver local assets to 20240608-093147 [esphome#6874](https://github.com/esphome/esphome/pull/6874) by [@esphomebot](https://github.com/esphomebot)
|
||||
- fix: arduino media player still sets wrong state. [esphome#6875](https://github.com/esphome/esphome/pull/6875) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- [i2s_speaker] A few fixes [esphome#6872](https://github.com/esphome/esphome/pull/6872) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [voice_assistant] Write less data to speaker each loop [esphome#6877](https://github.com/esphome/esphome/pull/6877) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump docker/build-push-action from 5.3.0 to 5.4.0 in /.github/actions/build-image [esphome#6883](https://github.com/esphome/esphome/pull/6883) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Update webserver local assets to 20240610-230854 [esphome#6886](https://github.com/esphome/esphome/pull/6886) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||
- [Dockerfile] Sync platformio version with requirements.txt [esphome#6888](https://github.com/esphome/esphome/pull/6888) by [@ptr727](https://github.com/ptr727)
|
||||
- [Deep sleep] Compilation error with IDF >= 5.* [esphome#6879](https://github.com/esphome/esphome/pull/6879) by [@asergunov](https://github.com/asergunov)
|
||||
- [animation] Allow loading external url at build time [esphome#6876](https://github.com/esphome/esphome/pull/6876) by [@landonr](https://github.com/landonr)
|
||||
- [waveshare_epaper] Add support for 13.3in-k [esphome#6443](https://github.com/esphome/esphome/pull/6443) by [@pgericson](https://github.com/pgericson)
|
||||
- Climate IR LG - Support fan only mode and all "on" commands [esphome#3712](https://github.com/esphome/esphome/pull/3712) by [@danieldabate](https://github.com/danieldabate)
|
||||
- [safe_mode] Allow user-defined interval for successful boot [esphome#6882](https://github.com/esphome/esphome/pull/6882) by [@NMartin354](https://github.com/NMartin354)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
- [he60r] Don't publish state unless it has changed. [BUGFIX] [esphome#6869](https://github.com/esphome/esphome/pull/6869) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [image] Make PIL import local [esphome#6864](https://github.com/esphome/esphome/pull/6864) by [@guillempages](https://github.com/guillempages)
|
||||
- [config] Retain path information in validated configuration [esphome#6785](https://github.com/esphome/esphome/pull/6785) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- WebSocket overrides check_origin for reverse proxy configuration [esphome#6845](https://github.com/esphome/esphome/pull/6845) by [@gabest11](https://github.com/gabest11)
|
||||
- [config] Early termination of validation steps on error [esphome#6837](https://github.com/esphome/esphome/pull/6837) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix media_player.volume_set when media player is not started [esphome#6859](https://github.com/esphome/esphome/pull/6859) by [@tetele](https://github.com/tetele)
|
||||
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [ili9xxx] Implement st7735 support [esphome#6838](https://github.com/esphome/esphome/pull/6838) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
|
||||
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
|
||||
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Beta Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://beta.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://beta.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
|
||||
[website]: https://beta.esphome.io/
|
||||
|
||||
@@ -1,37 +1,42 @@
|
||||
---
|
||||
advanced: true
|
||||
url: https://beta.esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
auth_api: true
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
description: Beta version of ESPHome add-on
|
||||
hassio_api: true
|
||||
auth_api: true
|
||||
host_network: true
|
||||
image: ghcr.io/esphome/esphome-hassio-{arch}
|
||||
ingress: true
|
||||
ingress_port: 0
|
||||
panel_icon: mdi:chip
|
||||
uart: true
|
||||
ports:
|
||||
6052/tcp: null
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
name: ESPHome (beta)
|
||||
panel_icon: mdi:chip
|
||||
ports:
|
||||
6052/tcp: null
|
||||
ports_description:
|
||||
6052/tcp: Web interface (not required for Home Assistant ingress)
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
relative_url: str?
|
||||
ssl: bool?
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (beta)
|
||||
version: 2024.6.0
|
||||
slug: esphome-beta
|
||||
description: Beta version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
uart: true
|
||||
url: https://beta.esphome.io/
|
||||
version: 2022.8.1
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
esphome-beta/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
esphome-beta/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
esphome-beta/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.0 KiB |
67
esphome-beta/translations/en.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
configuration:
|
||||
certfile:
|
||||
name: Certificate file
|
||||
description: >-
|
||||
The certificate file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
default_compile_process_limit:
|
||||
name: Default compile process limit
|
||||
description: >-
|
||||
The default compile process limit. This is the maximum number of
|
||||
simultaneous compile processes that ESPHome will run.
|
||||
esphome_fork:
|
||||
name: Install ESPHome from a fork or branch
|
||||
description: >-
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
|
||||
the PR number, or you can specify the username of the fork owner and
|
||||
branch `username:branch` which assumes the repository is named `esphome`
|
||||
still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is
|
||||
updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
The private key file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
leave_front_door_open:
|
||||
name: Disable external authentication
|
||||
description: >-
|
||||
Disables external authentication when having opened the add-on
|
||||
on an external port. **WARNING**: This is a security risk!
|
||||
relative_url:
|
||||
name: Relative URL
|
||||
description: >-
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be
|
||||
integrated into existing web proxies like NGINX under a relative URL.
|
||||
Defaults to `/`.
|
||||
ssl:
|
||||
name: SSL
|
||||
description: >-
|
||||
Enables/Disables SSL (HTTPS) on the web interface.
|
||||
status_use_ping:
|
||||
name: Use ping for status
|
||||
description: >-
|
||||
By default the dashboard uses mDNS to check if nodes are online. This does
|
||||
not work across subnets unless your router supports mDNS forwarding
|
||||
or avahi. Enabling this option will use ICMP ping to check if nodes are
|
||||
online.
|
||||
streamer_mode:
|
||||
name: Streamer mode
|
||||
description: >-
|
||||
Enables/Disables streamer mode, which makes ESPHome hide all
|
||||
potentially private information. So for example WiFi (B)SSIDs (which could
|
||||
be used to find your location), usernames, etc.
|
||||
network:
|
||||
6052/tcp: Web interface (to use without Home Assistant)
|
||||
@@ -1 +1 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
See https://github.com/esphome/esphome/commits/dev
|
||||
|
||||
@@ -1,40 +1,31 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
# ESPHome DEV add on
|
||||
|
||||
## Installation
|
||||
This is **development** version of the ESPHome add on.
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
To deploy production nodes please use mainstream release add on.
|
||||
|
||||
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
|
||||
2. Press install to download the add-on and unpack it on your machine. This can take some time.
|
||||
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
|
||||
4. Start the add-on, check the logs of the add-on to see if everything went well.
|
||||
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
|
||||
|
||||
You can view the ESPHome documentation at https://esphome.io/
|
||||
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
|
||||
|
||||
## Configuration
|
||||
|
||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||
|
||||
Example add-on configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"ssl": false,
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem"
|
||||
}
|
||||
```
|
||||
|
||||
### Option: `esphome_fork`
|
||||
|
||||
Install ESPHome from a fork or branch.
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
||||
or you can specify the username of the fork owner and branch `username:branch` which
|
||||
assumes the repository is named `esphome` still.
|
||||
assumes the repository is named `esphome` still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
||||
or the add-on **will not start**.
|
||||
or the add-on **will not start**.
|
||||
|
||||
|
||||
## General ESPHome add on configurations
|
||||
|
||||
General options also available in other versions.
|
||||
|
||||
### Option: `ssl`
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
ARG BUILD_FROM=esphome/esphome-hassio-amd64:dev
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version=dev
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Dev Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://next.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://next.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
|
||||
[website]: https://next.esphome.io/
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
build_from:
|
||||
aarch64: ghcr.io/esphome/esphome-hassio-aarch64:dev
|
||||
amd64: ghcr.io/esphome/esphome-hassio-amd64:dev
|
||||
armv7: ghcr.io/esphome/esphome-hassio-armv7:dev
|
||||
@@ -1,37 +1,43 @@
|
||||
---
|
||||
advanced: true
|
||||
url: https://next.esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
auth_api: true
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
description: Development version of ESPHome add-on
|
||||
hassio_api: true
|
||||
auth_api: true
|
||||
host_network: true
|
||||
ingress: true
|
||||
ingress_port: 0
|
||||
panel_icon: mdi:chip
|
||||
uart: true
|
||||
ports:
|
||||
6052/tcp: null
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
name: ESPHome (dev)
|
||||
panel_icon: mdi:chip
|
||||
ports:
|
||||
6052/tcp: null
|
||||
ports_description:
|
||||
6052/tcp: Web interface (not required for Home Assistant ingress)
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
certfile: str?
|
||||
esphome_fork: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
relative_url: str?
|
||||
ssl: bool?
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
esphome_fork: str?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (dev)
|
||||
version: 2024.7.0-dev20240619
|
||||
slug: esphome-dev
|
||||
description: Development version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
uart: true
|
||||
url: https://next.esphome.io/
|
||||
version: dev
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.7 KiB |
@@ -1,46 +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})..."
|
||||
mkdir /esphome-fork
|
||||
tar -zxf /tmp/esphome.tar.gz -C /esphome-fork --strip-components=1 \
|
||||
|| bashio::exit.nok "Failed installing ESPHome from fork."
|
||||
pip install -U -e /esphome-fork || 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
|
||||
67
esphome-dev/translations/en.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
configuration:
|
||||
certfile:
|
||||
name: Certificate file
|
||||
description: >-
|
||||
The certificate file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
default_compile_process_limit:
|
||||
name: Default compile process limit
|
||||
description: >-
|
||||
The default compile process limit. This is the maximum number of
|
||||
simultaneous compile processes that ESPHome will run.
|
||||
esphome_fork:
|
||||
name: Install ESPHome from a fork or branch
|
||||
description: >-
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
|
||||
the PR number, or you can specify the username of the fork owner and
|
||||
branch `username:branch` which assumes the repository is named `esphome`
|
||||
still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is
|
||||
updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
The private key file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
leave_front_door_open:
|
||||
name: Disable external authentication
|
||||
description: >-
|
||||
Disables external authentication when having opened the add-on
|
||||
on an external port. **WARNING**: This is a security risk!
|
||||
relative_url:
|
||||
name: Relative URL
|
||||
description: >-
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be
|
||||
integrated into existing web proxies like NGINX under a relative URL.
|
||||
Defaults to `/`.
|
||||
ssl:
|
||||
name: SSL
|
||||
description: >-
|
||||
Enables/Disables SSL (HTTPS) on the web interface.
|
||||
status_use_ping:
|
||||
name: Use ping for status
|
||||
description: >-
|
||||
By default the dashboard uses mDNS to check if nodes are online. This does
|
||||
not work across subnets unless your router supports mDNS forwarding
|
||||
or avahi. Enabling this option will use ICMP ping to check if nodes are
|
||||
online.
|
||||
streamer_mode:
|
||||
name: Streamer mode
|
||||
description: >-
|
||||
Enables/Disables streamer mode, which makes ESPHome hide all
|
||||
potentially private information. So for example WiFi (B)SSIDs (which could
|
||||
be used to find your location), usernames, etc.
|
||||
network:
|
||||
6052/tcp: Web interface (to use without Home Assistant)
|
||||
@@ -1 +1,193 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
## 2024.6.0
|
||||
|
||||
## Full list of changes
|
||||
|
||||
### New Features
|
||||
|
||||
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
|
||||
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
|
||||
|
||||
### New Components
|
||||
|
||||
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
|
||||
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
|
||||
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
|
||||
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
|
||||
### New Platforms
|
||||
|
||||
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
|
||||
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
|
||||
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
|
||||
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
|
||||
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
|
||||
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
|
||||
|
||||
### All changes
|
||||
|
||||
- Add IRK support to ble_rssi [esphome#6422](https://github.com/esphome/esphome/pull/6422) by [@chbmuc](https://github.com/chbmuc)
|
||||
- Add new Error type to skip prepending path [esphome#6716](https://github.com/esphome/esphome/pull/6716) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [github] Only save platformio cache for dev branch [esphome#6711](https://github.com/esphome/esphome/pull/6711) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Only cache docker images on dev branch [esphome#6714](https://github.com/esphome/esphome/pull/6714) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add pylint to git pre-commit hooks [esphome#6726](https://github.com/esphome/esphome/pull/6726) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- separate debug component for each platform in different file [esphome#6715](https://github.com/esphome/esphome/pull/6715) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration)
|
||||
- Typing hint and doc fixes [esphome#6729](https://github.com/esphome/esphome/pull/6729) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- time_based_cover.cpp with manual control fix [esphome#6719](https://github.com/esphome/esphome/pull/6719) by [@Jorge-Crespo-Celdran](https://github.com/Jorge-Crespo-Celdran)
|
||||
- [CST816] Add support for Hynitron Microelectronics CST826 capacitive touch [esphome#6682](https://github.com/esphome/esphome/pull/6682) by [@lboue](https://github.com/lboue)
|
||||
- Bump pytest from 8.1.1 to 8.2.0 [esphome#6732](https://github.com/esphome/esphome/pull/6732) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [web_server] Minor python formatting [esphome#6735](https://github.com/esphome/esphome/pull/6735) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [esp32_ble] Fix compilation error on esp32c6 [esphome#6734](https://github.com/esphome/esphome/pull/6734) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Fix minor formatting issues [esphome#6738](https://github.com/esphome/esphome/pull/6738) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [config] Improve error reporting [esphome#6736](https://github.com/esphome/esphome/pull/6736) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [tests] ``test2.yaml`` has become too large [esphome#6750](https://github.com/esphome/esphome/pull/6750) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump esphome-dashboard from 20240412.0 to 20240429.1 [esphome#6743](https://github.com/esphome/esphome/pull/6743) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform)
|
||||
- Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration)
|
||||
- i2c: fix format string specifiers [esphome#6746](https://github.com/esphome/esphome/pull/6746) by [@ius](https://github.com/ius)
|
||||
- Allow one timing to cancel others [esphome#6744](https://github.com/esphome/esphome/pull/6744) by [@lbilger](https://github.com/lbilger)
|
||||
- fix rp2040_pio_led flicker and proper multi-strip support [esphome#6194](https://github.com/esphome/esphome/pull/6194) by [@Papa-DMan](https://github.com/Papa-DMan)
|
||||
- Mirage remote receiver & transmitter [esphome#6479](https://github.com/esphome/esphome/pull/6479) by [@heggi](https://github.com/heggi)
|
||||
- WPA2 Enterprise - Explicitly set TTLS Phase 2 [esphome#6436](https://github.com/esphome/esphome/pull/6436) by [@shxshxshxshx](https://github.com/shxshxshxshx)
|
||||
- Fix Prometheus Output to Match Spec [esphome#6032](https://github.com/esphome/esphome/pull/6032) by [@sdwilsh](https://github.com/sdwilsh)
|
||||
- Skip gpio validation [esphome#5615](https://github.com/esphome/esphome/pull/5615) by [@amcfague](https://github.com/amcfague)
|
||||
- [core] Migrate to pyproject.toml [esphome#6737](https://github.com/esphome/esphome/pull/6737) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Move pytest config into pyproject.toml [esphome#6740](https://github.com/esphome/esphome/pull/6740) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Move pylint config into pyproject.toml [esphome#6739](https://github.com/esphome/esphome/pull/6739) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Fix running pylint via pre-commit from GUI apps [esphome#6754](https://github.com/esphome/esphome/pull/6754) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change)
|
||||
- Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature)
|
||||
- [core] Fix some extends cases [esphome#6748](https://github.com/esphome/esphome/pull/6748) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Port wifi_component_esp32_arduino from tcpip_adapter to esp_netif [esphome#6476](https://github.com/esphome/esphome/pull/6476) by [@paravoid](https://github.com/paravoid)
|
||||
- SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Fix wifi compile error on IDF 5.1+ [esphome#6756](https://github.com/esphome/esphome/pull/6756) by [@kbx81](https://github.com/kbx81)
|
||||
- [core] Update some coroutine priorities [esphome#6755](https://github.com/esphome/esphome/pull/6755) by [@jesserockz](https://github.com/jesserockz)
|
||||
- INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- [nextion] Fix type on sprintf for IDF v5 [esphome#6758](https://github.com/esphome/esphome/pull/6758) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [core] Remove references to deleted setup.py [esphome#6757](https://github.com/esphome/esphome/pull/6757) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix pip3 install [esphome#6771](https://github.com/esphome/esphome/pull/6771) by [@syssi](https://github.com/syssi)
|
||||
- [tests] make test_build_components work with venv without installing esphome [esphome#6761](https://github.com/esphome/esphome/pull/6761) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- separate deep_sleep component for each platform in different file [esphome#6762](https://github.com/esphome/esphome/pull/6762) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Bump actions/checkout from 4.1.5 to 4.1.6 [esphome#6764](https://github.com/esphome/esphome/pull/6764) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- add rp2040 support to the wizard [esphome#6239](https://github.com/esphome/esphome/pull/6239) by [@fodfodfod](https://github.com/fodfodfod)
|
||||
- [ili9xxx] Add 18bit mode selection and custom init sequence [esphome#6745](https://github.com/esphome/esphome/pull/6745) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Tiny fix in automation.h - unused return value removed [esphome#6760](https://github.com/esphome/esphome/pull/6760) by [@latonita](https://github.com/latonita)
|
||||
- Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change)
|
||||
- Add support for acting as Modbus server [esphome#4874](https://github.com/esphome/esphome/pull/4874) by [@JeroenVanOort](https://github.com/JeroenVanOort)
|
||||
- Add on_safe_mode trigger [esphome#6790](https://github.com/esphome/esphome/pull/6790) by [@kbx81](https://github.com/kbx81)
|
||||
- [sx1509] Output open drain pin mode [esphome#6788](https://github.com/esphome/esphome/pull/6788) by [@Swamp-Ig](https://github.com/Swamp-Ig)
|
||||
- [ledc] Change some logging lines from debug to verbose [esphome#6796](https://github.com/esphome/esphome/pull/6796) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration)
|
||||
- mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform)
|
||||
- [nextion] Add basic functions to Intelligent series [esphome#6791](https://github.com/esphome/esphome/pull/6791) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change)
|
||||
- [tuya] add support for extended services [esphome#6808](https://github.com/esphome/esphome/pull/6808) by [@augs](https://github.com/augs)
|
||||
- fix libretiny regression from #6715 [esphome#6806](https://github.com/esphome/esphome/pull/6806) by [@augs](https://github.com/augs)
|
||||
- Make i2s_audio compatible with IDF 5+ [esphome#6534](https://github.com/esphome/esphome/pull/6534) by [@pimdo](https://github.com/pimdo)
|
||||
- Fix compile errors on ESP32-C6 with latest ESP-IDF [esphome#6822](https://github.com/esphome/esphome/pull/6822) by [@DAVe3283](https://github.com/DAVe3283)
|
||||
- Use uint8_t instead of uint32_t for 8-bit values on mitsubishi [esphome#6824](https://github.com/esphome/esphome/pull/6824) by [@DAVe3283](https://github.com/DAVe3283)
|
||||
- Make SPI Ethernet (W5500) compatible with ESP-IDF v5 [esphome#6778](https://github.com/esphome/esphome/pull/6778) by [@fightforlife](https://github.com/fightforlife)
|
||||
- [wake_on_lan] Make component platform independent [esphome#6815](https://github.com/esphome/esphome/pull/6815) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix a bunch of components for IDF 5 compatibility and #6802 [esphome#6805](https://github.com/esphome/esphome/pull/6805) by [@kbx81](https://github.com/kbx81)
|
||||
- Bump docker/login-action from 3.1.0 to 3.2.0 [esphome#6823](https://github.com/esphome/esphome/pull/6823) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pytest-cov from 4.1.0 to 5.0.0 [esphome#6580](https://github.com/esphome/esphome/pull/6580) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 [esphome#6635](https://github.com/esphome/esphome/pull/6635) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump black from 24.4.0 to 24.4.2 [esphome#6646](https://github.com/esphome/esphome/pull/6646) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature)
|
||||
- [web_server] add entity sorting for v3 [esphome#6445](https://github.com/esphome/esphome/pull/6445) by [@RFDarter](https://github.com/RFDarter)
|
||||
- [micro_wake_word] Ensure model string is Path [esphome#6826](https://github.com/esphome/esphome/pull/6826) by [@synesthesiam](https://github.com/synesthesiam)
|
||||
- Fix DHT reading timing for SI7021 on ESP32 [esphome#6604](https://github.com/esphome/esphome/pull/6604) by [@erdembey](https://github.com/erdembey)
|
||||
- [core] Const-ify some Component fields [esphome#6831](https://github.com/esphome/esphome/pull/6831) by [@jesserockz](https://github.com/jesserockz)
|
||||
- LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration)
|
||||
- Update const.py added missing millimeter [esphome#6834](https://github.com/esphome/esphome/pull/6834) by [@NonaSuomy](https://github.com/NonaSuomy)
|
||||
- Fix log message in VA for IDF 5 [esphome#6839](https://github.com/esphome/esphome/pull/6839) by [@kbx81](https://github.com/kbx81)
|
||||
- Replace random non-ascii-print characters with standard substitutes [esphome#6840](https://github.com/esphome/esphome/pull/6840) by [@ptr727](https://github.com/ptr727)
|
||||
- Wireguard support for bk72 microcontrollers [esphome#6842](https://github.com/esphome/esphome/pull/6842) by [@droscy](https://github.com/droscy)
|
||||
- Add messages when WiFi and Ethernet components set 'warning' flag. [esphome#6850](https://github.com/esphome/esphome/pull/6850) by [@kpfleming](https://github.com/kpfleming)
|
||||
- [sntp] fix for ESP-IDF > 5.0 [esphome#6769](https://github.com/esphome/esphome/pull/6769) by [@HeMan](https://github.com/HeMan)
|
||||
- Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6843](https://github.com/esphome/esphome/pull/6843) by [@ptr727](https://github.com/ptr727)
|
||||
- Add Ethernet MAC address to ethernet_info [esphome#6835](https://github.com/esphome/esphome/pull/6835) by [@ptr727](https://github.com/ptr727)
|
||||
- Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [wireguard] Implement workaround for crash on IDF 5+ [esphome#6846](https://github.com/esphome/esphome/pull/6846) by [@kbx81](https://github.com/kbx81)
|
||||
- [ft5x06] Interrupt pin and code quality improvements [esphome#6851](https://github.com/esphome/esphome/pull/6851) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [ethernet] Add config option to set arbitrary PHY register values [esphome#6836](https://github.com/esphome/esphome/pull/6836) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Add carrier_frequency option to remote_transmitter.transmit_aeha [esphome#6792](https://github.com/esphome/esphome/pull/6792) by [@svxa](https://github.com/svxa)
|
||||
- Add `invert_position_report` to `tuya.cover` [esphome#6020](https://github.com/esphome/esphome/pull/6020) by [@wrouesnel](https://github.com/wrouesnel)
|
||||
- [Tuya Climate] Support both datapoint and pins for active state [esphome#6789](https://github.com/esphome/esphome/pull/6789) by [@zry98](https://github.com/zry98)
|
||||
- [config] Allow file: scheme for git external components [esphome#6844](https://github.com/esphome/esphome/pull/6844) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration)
|
||||
- [logger] Fix defines for development [esphome#6870](https://github.com/esphome/esphome/pull/6870) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [docker] Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6873](https://github.com/esphome/esphome/pull/6873) by [@ptr727](https://github.com/ptr727)
|
||||
- [datetime] Add logs on DateCall perform [esphome#6868](https://github.com/esphome/esphome/pull/6868) by [@RFDarter](https://github.com/RFDarter)
|
||||
- fix: arduino media player sets wrong state for announcements [esphome#6849](https://github.com/esphome/esphome/pull/6849) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [datetime] datetime-datetime strptime support value string without seconds [esphome#6867](https://github.com/esphome/esphome/pull/6867) by [@RFDarter](https://github.com/RFDarter)
|
||||
- Update webserver local assets to 20240608-093147 [esphome#6874](https://github.com/esphome/esphome/pull/6874) by [@esphomebot](https://github.com/esphomebot)
|
||||
- fix: arduino media player still sets wrong state. [esphome#6875](https://github.com/esphome/esphome/pull/6875) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- [i2s_speaker] A few fixes [esphome#6872](https://github.com/esphome/esphome/pull/6872) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [voice_assistant] Write less data to speaker each loop [esphome#6877](https://github.com/esphome/esphome/pull/6877) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump docker/build-push-action from 5.3.0 to 5.4.0 in /.github/actions/build-image [esphome#6883](https://github.com/esphome/esphome/pull/6883) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Update webserver local assets to 20240610-230854 [esphome#6886](https://github.com/esphome/esphome/pull/6886) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration)
|
||||
- [Dockerfile] Sync platformio version with requirements.txt [esphome#6888](https://github.com/esphome/esphome/pull/6888) by [@ptr727](https://github.com/ptr727)
|
||||
- [Deep sleep] Compilation error with IDF >= 5.* [esphome#6879](https://github.com/esphome/esphome/pull/6879) by [@asergunov](https://github.com/asergunov)
|
||||
- [animation] Allow loading external url at build time [esphome#6876](https://github.com/esphome/esphome/pull/6876) by [@landonr](https://github.com/landonr)
|
||||
- [waveshare_epaper] Add support for 13.3in-k [esphome#6443](https://github.com/esphome/esphome/pull/6443) by [@pgericson](https://github.com/pgericson)
|
||||
- Climate IR LG - Support fan only mode and all "on" commands [esphome#3712](https://github.com/esphome/esphome/pull/3712) by [@danieldabate](https://github.com/danieldabate)
|
||||
- [safe_mode] Allow user-defined interval for successful boot [esphome#6882](https://github.com/esphome/esphome/pull/6882) by [@NMartin354](https://github.com/NMartin354)
|
||||
- New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change)
|
||||
- [he60r] Don't publish state unless it has changed. [BUGFIX] [esphome#6869](https://github.com/esphome/esphome/pull/6869) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [image] Make PIL import local [esphome#6864](https://github.com/esphome/esphome/pull/6864) by [@guillempages](https://github.com/guillempages)
|
||||
- [config] Retain path information in validated configuration [esphome#6785](https://github.com/esphome/esphome/pull/6785) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- WebSocket overrides check_origin for reverse proxy configuration [esphome#6845](https://github.com/esphome/esphome/pull/6845) by [@gabest11](https://github.com/gabest11)
|
||||
- [config] Early termination of validation steps on error [esphome#6837](https://github.com/esphome/esphome/pull/6837) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix media_player.volume_set when media player is not started [esphome#6859](https://github.com/esphome/esphome/pull/6859) by [@tetele](https://github.com/tetele)
|
||||
- [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration)
|
||||
- [ili9xxx] Implement st7735 support [esphome#6838](https://github.com/esphome/esphome/pull/6838) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [CI] Fix for sdl [esphome#6892](https://github.com/esphome/esphome/pull/6892) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add operation_speed option to X9C component [esphome#6890](https://github.com/esphome/esphome/pull/6890) by [@oliverhihn](https://github.com/oliverhihn)
|
||||
- [host] Execute host program when using run command [esphome#6897](https://github.com/esphome/esphome/pull/6897) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump esphome-dashboard to 20240613.0 [esphome#6901](https://github.com/esphome/esphome/pull/6901) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6904](https://github.com/esphome/esphome/pull/6904) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [ili9xxx] Fix init for GC9A01A [esphome#6913](https://github.com/esphome/esphome/pull/6913) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [mqtt] Fix datetime copy pasta [esphome#6914](https://github.com/esphome/esphome/pull/6914) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(dallas): make recovery time for 1-bit equal to that of 0-bit [esphome#6763](https://github.com/esphome/esphome/pull/6763) by [@muggenhor](https://github.com/muggenhor)
|
||||
- [wifi] Fix some access point bugs related to esp-idf 4.4.7 [esphome#6928](https://github.com/esphome/esphome/pull/6928) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Rename legacy/modern to ota/factory [esphome#6922](https://github.com/esphome/esphome/pull/6922) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 [esphome#6926](https://github.com/esphome/esphome/pull/6926) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 5.4.0 to 6.0.0 in /.github/actions/build-image [esphome#6927](https://github.com/esphome/esphome/pull/6927) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump docker/build-push-action from 6.0.0 to 6.0.1 in /.github/actions/build-image [esphome#6934](https://github.com/esphome/esphome/pull/6934) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- [network] Default ipv6 to false to always set the flags [esphome#6937](https://github.com/esphome/esphome/pull/6937) by [@jesserockz](https://github.com/jesserockz)
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
|
||||
[website]: https://esphome.io/
|
||||
|
||||
@@ -1,35 +1,38 @@
|
||||
---
|
||||
url: https://esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
auth_api: true
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
|
||||
hassio_api: true
|
||||
auth_api: true
|
||||
host_network: true
|
||||
image: ghcr.io/esphome/esphome-hassio-{arch}
|
||||
ingress: true
|
||||
ingress_port: 0
|
||||
panel_icon: mdi:chip
|
||||
uart: true
|
||||
ports:
|
||||
6052/tcp: null
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
name: ESPHome
|
||||
panel_icon: mdi:chip
|
||||
ports:
|
||||
6052/tcp: null
|
||||
ports_description:
|
||||
6052/tcp: Web interface (not required for Home Assistant ingress)
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
relative_url: str?
|
||||
ssl: bool?
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome
|
||||
version: 2024.6.0
|
||||
slug: esphome
|
||||
uart: true
|
||||
url: https://esphome.io/
|
||||
version: 2022.8.1
|
||||
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
|
||||
BIN
esphome/icon.png
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
esphome/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
esphome/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
esphome/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
esphome/logo.png
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.9 KiB |
67
esphome/translations/en.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
configuration:
|
||||
certfile:
|
||||
name: Certificate file
|
||||
description: >-
|
||||
The certificate file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
default_compile_process_limit:
|
||||
name: Default compile process limit
|
||||
description: >-
|
||||
The default compile process limit. This is the maximum number of
|
||||
simultaneous compile processes that ESPHome will run.
|
||||
esphome_fork:
|
||||
name: Install ESPHome from a fork or branch
|
||||
description: >-
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
|
||||
the PR number, or you can specify the username of the fork owner and
|
||||
branch `username:branch` which assumes the repository is named `esphome`
|
||||
still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is
|
||||
updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
The private key file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
leave_front_door_open:
|
||||
name: Disable external authentication
|
||||
description: >-
|
||||
Disables external authentication when having opened the add-on
|
||||
on an external port. **WARNING**: This is a security risk!
|
||||
relative_url:
|
||||
name: Relative URL
|
||||
description: >-
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be
|
||||
integrated into existing web proxies like NGINX under a relative URL.
|
||||
Defaults to `/`.
|
||||
ssl:
|
||||
name: SSL
|
||||
description: >-
|
||||
Enables/Disables SSL (HTTPS) on the web interface.
|
||||
status_use_ping:
|
||||
name: Use ping for status
|
||||
description: >-
|
||||
By default the dashboard uses mDNS to check if nodes are online. This does
|
||||
not work across subnets unless your router supports mDNS forwarding
|
||||
or avahi. Enabling this option will use ICMP ping to check if nodes are
|
||||
online.
|
||||
streamer_mode:
|
||||
name: Streamer mode
|
||||
description: >-
|
||||
Enables/Disables streamer mode, which makes ESPHome hide all
|
||||
potentially private information. So for example WiFi (B)SSIDs (which could
|
||||
be used to find your location), usernames, etc.
|
||||
network:
|
||||
6052/tcp: Web interface (to use without Home Assistant)
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import argparse
|
||||
import re
|
||||
import subprocess
|
||||
from dataclasses import dataclass
|
||||
import sys
|
||||
import os
|
||||
@@ -17,72 +16,71 @@ class Version:
|
||||
minor: int
|
||||
patch: int
|
||||
beta: int = 0
|
||||
dev: bool = False
|
||||
dev: str = ""
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.major}.{self.minor}.{self.full_patch}'
|
||||
return f"{self.major}.{self.minor}.{self.full_patch}"
|
||||
|
||||
@property
|
||||
def full_patch(self):
|
||||
res = f'{self.patch}'
|
||||
res = f"{self.patch}"
|
||||
if self.beta > 0:
|
||||
res += f'b{self.beta}'
|
||||
res += f"b{self.beta}"
|
||||
if self.dev:
|
||||
res += '-dev'
|
||||
res += f"-dev{self.dev}"
|
||||
return res
|
||||
|
||||
@classmethod
|
||||
def parse(cls, value):
|
||||
match = re.match(r'(\d+).(\d+).(\d+)(b\d+)?(-dev)?', value)
|
||||
match = re.match(r"(\d+).(\d+).(\d+)(b\d+)?(-dev\d+)?", value)
|
||||
assert match is not None
|
||||
major = int(match[1])
|
||||
minor = int(match[2])
|
||||
patch = int(match[3])
|
||||
beta = int(match[4][1:]) if match[4] else 0
|
||||
dev = bool(match[5])
|
||||
return Version(
|
||||
major=major, minor=minor, patch=patch,
|
||||
beta=beta, dev=dev
|
||||
)
|
||||
dev = str(match[5][4:]) if match[5] else ""
|
||||
return Version(major=major, minor=minor, patch=patch, beta=beta, dev=dev)
|
||||
|
||||
|
||||
def sub(path, pattern, repl, expected_count=1):
|
||||
with open(path) as fh:
|
||||
def _sub(path, pattern, repl, expected_count=1):
|
||||
with open(path, encoding="utf-8") as fh:
|
||||
content = fh.read()
|
||||
content, count = re.subn(pattern, repl, content, flags=re.MULTILINE)
|
||||
content, count = re.subn(pattern, repl, content, flags=re.NOFLAG)
|
||||
if expected_count is not None:
|
||||
assert count == expected_count, f"Pattern {pattern} replacement failed!"
|
||||
with open(path, "wt") as fh:
|
||||
with open(path, "wt", encoding="utf-8") as fh:
|
||||
fh.write(content)
|
||||
|
||||
|
||||
def write_version(target: str, version: Version):
|
||||
# version: '1.14.5' # BETA
|
||||
# version: '1.14.5' # STABLE
|
||||
sub(
|
||||
'template/addon_config.yaml',
|
||||
r" version: '[^']+' # {}".format(target.upper()),
|
||||
f" version: '{version}' # {target.upper()}"
|
||||
def _write_version(target: str, version: Version):
|
||||
# version: "2024.5.0-dev20240412" # DEV
|
||||
# version: "1.14.5" # BETA
|
||||
# version: "1.14.5" # STABLE
|
||||
_sub(
|
||||
"template/addon_config.yaml",
|
||||
f' version: "[^"]+" # {target.upper()}',
|
||||
f' version: "{version}" # {target.upper()}',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('new_version', type=str)
|
||||
parser.add_argument("new_version", type=str)
|
||||
args = parser.parse_args()
|
||||
|
||||
version = Version.parse(args.new_version)
|
||||
assert not version.dev
|
||||
|
||||
print(f"Bumping to {version}")
|
||||
if version.beta:
|
||||
write_version('beta', version)
|
||||
generate.main(['beta'])
|
||||
if version.dev:
|
||||
_write_version("dev", version)
|
||||
generate.main(["dev"])
|
||||
elif version.beta:
|
||||
_write_version("beta", version)
|
||||
generate.main(["beta"])
|
||||
else:
|
||||
assert not version.beta
|
||||
write_version('stable', version)
|
||||
write_version('beta', version)
|
||||
generate.main(['stable', 'beta'])
|
||||
_write_version("stable", version)
|
||||
_write_version("beta", version)
|
||||
generate.main(["stable", "beta"])
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
from enum import Enum
|
||||
from shutil import copyfile
|
||||
import sys
|
||||
import os
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
class Channel(Enum):
|
||||
@@ -24,39 +26,29 @@ def main(args):
|
||||
root = Path(__file__).parent.parent
|
||||
templ = root / "template"
|
||||
|
||||
with open(templ / "addon_config.yaml", "r") as f:
|
||||
with open(templ / "addon_config.yaml", "r", encoding="utf-8") as f:
|
||||
config = yaml.safe_load(f)
|
||||
|
||||
copyf = config["copy_files"]
|
||||
|
||||
for channel in args.channels:
|
||||
conf = config[f"esphome-{channel.value}"]
|
||||
base_image = conf.pop("base_image", None)
|
||||
dir_ = root / conf.pop("directory")
|
||||
path = dir_ / "config.yaml"
|
||||
with open(path, "w") as f:
|
||||
yaml.dump(conf, f, indent=2, sort_keys=True, explicit_start=True)
|
||||
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.format(arch=arch) for arch in conf["arch"]
|
||||
}
|
||||
}
|
||||
with open(path, "w") as f:
|
||||
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
@@ -1,5 +1,4 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
|
||||
# ESPHome Add-on
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# ESPHome Home Assistant Add-On
|
||||
# ESPHome Add-On
|
||||
|
||||
[](https://esphome.io/)
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[](https://github.com/esphome/esphome)
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
@@ -14,10 +13,10 @@ is write YAML configuration files; the rest (over-the-air updates, compiling) is
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation](https://esphome.io/)
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
@@ -26,15 +25,17 @@ firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant MQTT discovery" src="https://raw.githubusercontent.com/esphome/hassio/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[releases-shield]: https://img.shields.io/github/release/esphome/esphome.svg
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://esphome.io/components/sensor/dht.html
|
||||
[releases]: https://esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome/logo.png
|
||||
[website]: https://esphome.io/
|
||||
|
||||
@@ -16,72 +16,85 @@ base: &base
|
||||
# Ingress settings
|
||||
ingress: true
|
||||
ingress_port: 0
|
||||
panel_icon: 'mdi:chip'
|
||||
panel_icon: "mdi:chip"
|
||||
# Automatically add UART devices to add-on
|
||||
uart: true
|
||||
ports:
|
||||
'6052/tcp': null
|
||||
ports_description:
|
||||
'6052/tcp': "Web interface (not required for Home Assistant ingress)"
|
||||
"6052/tcp": null
|
||||
map:
|
||||
- ssl:ro
|
||||
- config:rw
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
streamer_mode: bool?
|
||||
relative_url: str?
|
||||
status_use_ping: bool?
|
||||
backup_exclude:
|
||||
- "*/*/"
|
||||
# Disable docker init for s6
|
||||
init: false
|
||||
# Make sure dashboard is available for core
|
||||
startup: services
|
||||
|
||||
esphome-dev:
|
||||
<<: *base
|
||||
directory: esphome-dev
|
||||
name: ESPHome (dev)
|
||||
version: 'dev' # DEV
|
||||
version: "2024.7.0-dev20240619" # DEV
|
||||
slug: esphome-dev
|
||||
description: "Development version of ESPHome add-on"
|
||||
url: https://next.esphome.io/
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
esphome_fork: str?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
streamer_mode: bool?
|
||||
relative_url: str?
|
||||
status_use_ping: bool?
|
||||
esphome_fork: str?
|
||||
base_image: ghcr.io/esphome/esphome-hassio-{arch}:dev
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
esphome-beta:
|
||||
<<: *base
|
||||
directory: esphome-beta
|
||||
name: ESPHome (beta)
|
||||
version: '2022.8.1' # BETA
|
||||
version: "2024.6.0" # BETA
|
||||
slug: esphome-beta
|
||||
description: "Beta version of ESPHome add-on"
|
||||
url: https://beta.esphome.io/
|
||||
image: ghcr.io/esphome/esphome-hassio-{arch}
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
esphome-stable:
|
||||
<<: *base
|
||||
directory: esphome
|
||||
name: ESPHome
|
||||
version: '2022.8.1' # STABLE
|
||||
version: "2024.6.0" # STABLE
|
||||
slug: esphome
|
||||
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
|
||||
image: ghcr.io/esphome/esphome-hassio-{arch}
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
|
||||
copy_files:
|
||||
icon.png:
|
||||
logo.png:
|
||||
README.md:
|
||||
DOCS.md:
|
||||
CHANGELOG.md:
|
||||
- DOCS.md
|
||||
- icon.png
|
||||
- logo.png
|
||||
- README.md
|
||||
- translations/en.yaml
|
||||
- images/dht-example.png
|
||||
- images/screenshot.png
|
||||
- images/temperature-humidity.png
|
||||
|
||||
41
template/beta/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# ESPHome Beta Add-On
|
||||
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
|
||||
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
|
||||
directly through Home Assistant **with no programming experience required**. All you need to do
|
||||
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
With ESPHome, you can go from a few lines of YAML straight to a custom-made
|
||||
firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://beta.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://beta.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-beta/logo.png
|
||||
[website]: https://beta.esphome.io/
|
||||
BIN
template/beta/icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
template/beta/logo.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
@@ -1,40 +1,31 @@
|
||||
# Home Assistant Community Add-on: ESPHome
|
||||
# ESPHome DEV add on
|
||||
|
||||
## Installation
|
||||
This is **development** version of the ESPHome add on.
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Home Assistant add-on.
|
||||
To deploy production nodes please use mainstream release add on.
|
||||
|
||||
1. Search for the “ESPHome” add-on in the Supervisor add-on store.
|
||||
2. Press install to download the add-on and unpack it on your machine. This can take some time.
|
||||
3. Optional: If you're using SSL/TLS certificates and want to encrypt your communication to this add-on, please enter `true` into the `ssl` field and set the `fullchain` and `certfile` options accordingly.
|
||||
4. Start the add-on, check the logs of the add-on to see if everything went well.
|
||||
5. Click "OPEN WEB UI" to open the ESPHome dashboard. You will be asked for your Home Assistant credentials - ESPHome uses Home Assistant's authentication system to log you in.
|
||||
|
||||
You can view the ESPHome documentation at https://esphome.io/
|
||||
The add on uses a version of ESPHome built automatically every day at 02:00 UTC. and is used to test components in development. See the `esphome_fork` configuration below to properly configure the add on. Once you update the configuration make sure to rebuild the image.
|
||||
|
||||
## Configuration
|
||||
|
||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||
|
||||
Example add-on configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"ssl": false,
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem"
|
||||
}
|
||||
```
|
||||
|
||||
### Option: `esphome_fork`
|
||||
|
||||
Install ESPHome from a fork or branch.
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is the PR number,
|
||||
or you can specify the username of the fork owner and branch `username:branch` which
|
||||
assumes the repository is named `esphome` still.
|
||||
assumes the repository is named `esphome` still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to date with ESPHome dev
|
||||
or the add-on **will not start**.
|
||||
or the add-on **will not start**.
|
||||
|
||||
|
||||
## General ESPHome add on configurations
|
||||
|
||||
General options also available in other versions.
|
||||
|
||||
### Option: `ssl`
|
||||
|
||||
|
||||
41
template/dev/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# ESPHome Dev Add-On
|
||||
|
||||
[![ESPHome logo][logo]][website]
|
||||
|
||||
[![GitHub stars][github-stars-shield]][repository]
|
||||
[![Discord][discord-shield]][discord]
|
||||
|
||||
## About
|
||||
|
||||
This add-on allows you to manage and program your ESP8266 and ESP32 based microcontrollers
|
||||
directly through Home Assistant **with no programming experience required**. All you need to do
|
||||
is write YAML configuration files; the rest (over-the-air updates, compiling) is all
|
||||
handled by ESPHome.
|
||||
|
||||
<p align="center">
|
||||
<img title="ESPHome dashboard screenshot" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/screenshot.png" width="700px"></img>
|
||||
</p>
|
||||
|
||||
[View the ESPHome documentation][website]
|
||||
|
||||
## Example
|
||||
|
||||
With ESPHome, you can go from a few lines of YAML straight to a custom-made
|
||||
firmware. For example, to include a [DHT22][dht22].
|
||||
temperature and humidity sensor, you just need to include 8 lines of YAML
|
||||
in your configuration file:
|
||||
|
||||
<img title="ESPHome DHT configuration example" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/dht-example.png" width="500px"></img>
|
||||
|
||||
Then just click UPLOAD and the sensor will magically appear in Home Assistant:
|
||||
|
||||
<img title="ESPHome Home Assistant discovery" src="https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/images/temperature-humidity.png" width="600px"></img>
|
||||
|
||||
[discord]: https://discord.gg/KhAMKrd
|
||||
[repository]: https://github.com/esphome/esphome
|
||||
[discord-shield]: https://img.shields.io/discord/429907082951524364.svg
|
||||
[github-stars-shield]: https://img.shields.io/github/stars/esphome/esphome.svg?style=social&label=Star&maxAge=2592000
|
||||
[dht22]: https://next.esphome.io/components/sensor/dht.html
|
||||
[releases]: https://next.esphome.io/changelog/index.html
|
||||
[logo]: https://github.com/esphome/home-assistant-addon/raw/main/esphome-dev/logo.png
|
||||
[website]: https://next.esphome.io/
|
||||
BIN
template/dev/icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
template/dev/logo.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
template/images/dht-example.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
template/images/screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
template/images/temperature-humidity.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.9 KiB |
67
template/translations/en.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
configuration:
|
||||
certfile:
|
||||
name: Certificate file
|
||||
description: >-
|
||||
The certificate file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
default_compile_process_limit:
|
||||
name: Default compile process limit
|
||||
description: >-
|
||||
The default compile process limit. This is the maximum number of
|
||||
simultaneous compile processes that ESPHome will run.
|
||||
esphome_fork:
|
||||
name: Install ESPHome from a fork or branch
|
||||
description: >-
|
||||
For example to test a pull request, use `pull/XXXX/head` where `XXXX` is
|
||||
the PR number, or you can specify the username of the fork owner and
|
||||
branch `username:branch` which assumes the repository is named `esphome`
|
||||
still.
|
||||
|
||||
If you need to test the latest commit on dev branch before the image is
|
||||
updated you can enter `dev` here.
|
||||
|
||||
Please note that the fork or branch you are using **must** be up to
|
||||
date with ESPHome dev or the add-on **will not start**.
|
||||
home_assistant_dashboard_integration:
|
||||
name: Home Assistant Dashboard Integration
|
||||
description: >-
|
||||
Enables/Disables the ESPHome dashboard integrating with Home Assistant
|
||||
for automatic configuration of devices and device updates. If you use
|
||||
multiple version of the ESPHome add-on, make sure it is enabled on a
|
||||
single add-on only.
|
||||
keyfile:
|
||||
name: Private key file
|
||||
description: >-
|
||||
The private key file to use for SSL. Note that this file must
|
||||
exist in the /ssl/ folder.
|
||||
leave_front_door_open:
|
||||
name: Disable external authentication
|
||||
description: >-
|
||||
Disables external authentication when having opened the add-on
|
||||
on an external port. **WARNING**: This is a security risk!
|
||||
relative_url:
|
||||
name: Relative URL
|
||||
description: >-
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be
|
||||
integrated into existing web proxies like NGINX under a relative URL.
|
||||
Defaults to `/`.
|
||||
ssl:
|
||||
name: SSL
|
||||
description: >-
|
||||
Enables/Disables SSL (HTTPS) on the web interface.
|
||||
status_use_ping:
|
||||
name: Use ping for status
|
||||
description: >-
|
||||
By default the dashboard uses mDNS to check if nodes are online. This does
|
||||
not work across subnets unless your router supports mDNS forwarding
|
||||
or avahi. Enabling this option will use ICMP ping to check if nodes are
|
||||
online.
|
||||
streamer_mode:
|
||||
name: Streamer mode
|
||||
description: >-
|
||||
Enables/Disables streamer mode, which makes ESPHome hide all
|
||||
potentially private information. So for example WiFi (B)SSIDs (which could
|
||||
be used to find your location), usernames, etc.
|
||||
network:
|
||||
6052/tcp: Web interface (to use without Home Assistant)
|
||||