Compare commits
410 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 10
|
||||
106
.github/workflows/bump-version.yml
vendored
@@ -6,68 +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@v2
|
||||
- uses: actions/setup-python@v2
|
||||
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 v${{ 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
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ 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
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ 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.5
|
||||
- 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 }}
|
||||
|
||||
deploy-community-addons:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [create-release]
|
||||
steps:
|
||||
- name: Publish beta release to community-addons repository
|
||||
run: |
|
||||
docker run --rm hassioaddons/repository-updater:latest \
|
||||
--repository hassio-addons/repository-beta \
|
||||
--addon esphome \
|
||||
--token "${TOKEN}"
|
||||
env:
|
||||
TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
||||
- if: ${{ !contains(github.event.inputs.version, 'b') }}
|
||||
name: Publish stable release to community-addons repository
|
||||
run: |
|
||||
docker run --rm hassioaddons/repository-updater:latest \
|
||||
--repository hassio-addons/repository \
|
||||
--addon esphome \
|
||||
--token "${TOKEN}"
|
||||
env:
|
||||
TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}
|
||||
${{ 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.5
|
||||
- name: Log in to the GitHub container registry
|
||||
uses: docker/login-action@v3.1.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.3.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
|
||||
30
.github/workflows/lint.yml
vendored
@@ -1,24 +1,34 @@
|
||||
name: Lint
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
jobs:
|
||||
build:
|
||||
name: Add-on configuration
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
channel: [esphome, esphome-beta, esphome-dev]
|
||||
matrix:
|
||||
channels:
|
||||
- folder: esphome
|
||||
channel: stable
|
||||
- folder: esphome-beta
|
||||
channel: beta
|
||||
- folder: esphome-dev
|
||||
channel: dev
|
||||
steps:
|
||||
- name: ⤵️ Check out code from GitHub
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4.1.5
|
||||
- name: 🛠 Setup Python
|
||||
uses: actions/setup-python@v2
|
||||
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 dev beta stable
|
||||
- name: 🚀 Run Home Assistant Add-on Lint on ${{ matrix.channel }}
|
||||
uses: frenck/action-addon-linter@v2
|
||||
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.15.1
|
||||
with:
|
||||
path: "./${{ matrix.channel }}"
|
||||
path: "./${{ matrix.channels.folder }}"
|
||||
|
||||
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
venv/
|
||||
|
||||
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,188 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
## 2024.5.0
|
||||
|
||||
## Full list of changes
|
||||
|
||||
### New Components
|
||||
|
||||
- Add valve component [esphome#6447](https://github.com/esphome/esphome/pull/6447) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome [esphome#5218](https://github.com/esphome/esphome/pull/5218) by [@DrCoolzic](https://github.com/DrCoolzic) (new-integration)
|
||||
- Event entity support [esphome#6451](https://github.com/esphome/esphome/pull/6451) by [@nohat](https://github.com/nohat) (new-integration)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Add DNS sensor and simplify format [esphome#6450](https://github.com/esphome/esphome/pull/6450) by [@HeMan](https://github.com/HeMan) (breaking-change)
|
||||
- SM2135 - Use standard channel ordering. [esphome#6573](https://github.com/esphome/esphome/pull/6573) by [@Cossid](https://github.com/Cossid) (breaking-change)
|
||||
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode [esphome#6609](https://github.com/esphome/esphome/pull/6609) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Add datetime entities [esphome#6513](https://github.com/esphome/esphome/pull/6513) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- [github] Upgrade to actions/[upload,download]-artifact v4 [esphome#6698](https://github.com/esphome/esphome/pull/6698) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [nextion] Replace flags to `USE_ARDUINO` [esphome#6700](https://github.com/esphome/esphome/pull/6700) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [remote_receiver, remote_transmitter] Improve error messages on the ESP32 [esphome#6701](https://github.com/esphome/esphome/pull/6701) by [@Mat931](https://github.com/Mat931)
|
||||
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR [esphome#6705](https://github.com/esphome/esphome/pull/6705) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add PHY register writes to enable external clock on Ethernet with RTL8201 [esphome#6704](https://github.com/esphome/esphome/pull/6704) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Bump recommended ESP-IDF to 4.4.7 [esphome#6703](https://github.com/esphome/esphome/pull/6703) by [@bdraco](https://github.com/bdraco)
|
||||
- [core] Ensure that a generated ID name is distinct from its type. [esphome#6706](https://github.com/esphome/esphome/pull/6706) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [color] Fix crash when hex color parses as int, improve error reporting. [esphome#6707](https://github.com/esphome/esphome/pull/6707) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [github] Fix digest artifact name [esphome#6710](https://github.com/esphome/esphome/pull/6710) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(ltr390): stuck ALS values when configured for ALS+UV readings [esphome#6723](https://github.com/esphome/esphome/pull/6723) by [@CodeInPolish](https://github.com/CodeInPolish)
|
||||
- Set FEATURE_API_AUDIO flag also if the speaker component is not used [esphome#6712](https://github.com/esphome/esphome/pull/6712) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Bump platformio from 6.1.13 to 6.1.15 [esphome#6634](https://github.com/esphome/esphome/pull/6634) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix ESPHOME_PROJECT_VERSION_30 [esphome#6731](https://github.com/esphome/esphome/pull/6731) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… [esphome#6391](https://github.com/esphome/esphome/pull/6391) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Add ANNOUNCING state to media_player. [esphome#6691](https://github.com/esphome/esphome/pull/6691) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
### Notable Changes
|
||||
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
### All changes
|
||||
|
||||
- Add some components to the new testing framework (H) [esphome#6179](https://github.com/esphome/esphome/pull/6179) by [@kbx81](https://github.com/kbx81)
|
||||
- Added Htu21d model option [esphome#6511](https://github.com/esphome/esphome/pull/6511) by [@MRemy2](https://github.com/MRemy2)
|
||||
- Add bk72xx base test file [esphome#6522](https://github.com/esphome/esphome/pull/6522) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add "log" alias for "logs" command [esphome#6519](https://github.com/esphome/esphome/pull/6519) by [@pzich](https://github.com/pzich)
|
||||
- Add DNS sensor and simplify format [esphome#6450](https://github.com/esphome/esphome/pull/6450) by [@HeMan](https://github.com/HeMan) (breaking-change)
|
||||
- Add all missing `remote_receiver` `on_...` tests [esphome#6524](https://github.com/esphome/esphome/pull/6524) by [@kbx81](https://github.com/kbx81)
|
||||
- Add actions to http_request tests [esphome#6529](https://github.com/esphome/esphome/pull/6529) by [@kbx81](https://github.com/kbx81)
|
||||
- Update homeassistant component tests with actions [esphome#6528](https://github.com/esphome/esphome/pull/6528) by [@kbx81](https://github.com/kbx81)
|
||||
- Define `USE_PSRAM` [esphome#6526](https://github.com/esphome/esphome/pull/6526) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Bump black from 24.2.0 to 24.4.0 [esphome#6539](https://github.com/esphome/esphome/pull/6539) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 [esphome#6525](https://github.com/esphome/esphome/pull/6525) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump python version in sync-device-classes workflow to 3.12 for HA [esphome#6541](https://github.com/esphome/esphome/pull/6541) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pylint from 3.0.3 to 3.1.0 [esphome#6287](https://github.com/esphome/esphome/pull/6287) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump aioesphomeapi from 23.2.0 to 24.0.0 [esphome#6544](https://github.com/esphome/esphome/pull/6544) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pyupgrade from 3.15.1 to 3.15.2 [esphome#6543](https://github.com/esphome/esphome/pull/6543) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add enum option to typed_schema [esphome#6546](https://github.com/esphome/esphome/pull/6546) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Move esphome-fork startup script to main repo. [esphome#6523](https://github.com/esphome/esphome/pull/6523) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Call workflow for addon with dev version [esphome#6549](https://github.com/esphome/esphome/pull/6549) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Use trusted publishing token for pypi [esphome#6545](https://github.com/esphome/esphome/pull/6545) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix uart to work with new enum definition in esp-idf-v5.2.1 [esphome#6487](https://github.com/esphome/esphome/pull/6487) by [@luar123](https://github.com/luar123)
|
||||
- Housecleaning: Use walrus operator in datetime [esphome#6552](https://github.com/esphome/esphome/pull/6552) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in text [esphome#6560](https://github.com/esphome/esphome/pull/6560) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in light [esphome#6556](https://github.com/esphome/esphome/pull/6556) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in select [esphome#6557](https://github.com/esphome/esphome/pull/6557) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in number [esphome#6561](https://github.com/esphome/esphome/pull/6561) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in cover [esphome#6562](https://github.com/esphome/esphome/pull/6562) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in climate [esphome#6551](https://github.com/esphome/esphome/pull/6551) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in fan [esphome#6555](https://github.com/esphome/esphome/pull/6555) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in text_sensor [esphome#6559](https://github.com/esphome/esphome/pull/6559) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump zeroconf to 0.132.2 [esphome#6548](https://github.com/esphome/esphome/pull/6548) by [@bdraco](https://github.com/bdraco)
|
||||
- Housecleaning: Use walrus operator in switch [esphome#6558](https://github.com/esphome/esphome/pull/6558) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in lock [esphome#6554](https://github.com/esphome/esphome/pull/6554) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in sensor [esphome#6553](https://github.com/esphome/esphome/pull/6553) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pytest-mock from 3.12.0 to 3.14.0 [esphome#6572](https://github.com/esphome/esphome/pull/6572) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 [esphome#6569](https://github.com/esphome/esphome/pull/6569) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Nextion - Review set_protocol_reparse_mode() [esphome#6567](https://github.com/esphome/esphome/pull/6567) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Allow component final_validate [esphome#6475](https://github.com/esphome/esphome/pull/6475) by [@kbx81](https://github.com/kbx81)
|
||||
- SM2135 - Use standard channel ordering. [esphome#6573](https://github.com/esphome/esphome/pull/6573) by [@Cossid](https://github.com/Cossid) (breaking-change)
|
||||
- Nextion - Do not refresh sensors while updating [esphome#6566](https://github.com/esphome/esphome/pull/6566) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Nextion - Review types [esphome#6565](https://github.com/esphome/esphome/pull/6565) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- On failure, dump the output of preceding jobs in CI status [esphome#6564](https://github.com/esphome/esphome/pull/6564) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Nextion `send_command` method [esphome#6540](https://github.com/esphome/esphome/pull/6540) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Fix some printf formats for size_t. [esphome#6542](https://github.com/esphome/esphome/pull/6542) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- remove delay from tmp102 [esphome#6577](https://github.com/esphome/esphome/pull/6577) by [@ssieb](https://github.com/ssieb)
|
||||
- Create ``component_dir`` substitution for local files to be included in… [esphome#6575](https://github.com/esphome/esphome/pull/6575) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Define `USE_ESP32_BLE` [esphome#6585](https://github.com/esphome/esphome/pull/6585) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Bump aioesphomeapi from 24.0.0 to 24.3.0 [esphome#6602](https://github.com/esphome/esphome/pull/6602) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add yamllint and clang-format to pre-commit hooks [esphome#6578](https://github.com/esphome/esphome/pull/6578) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Use clang-format version from requirements_dev file [esphome#6606](https://github.com/esphome/esphome/pull/6606) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add some components to the new testing framework (P) [esphome#6213](https://github.com/esphome/esphome/pull/6213) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (M part 1) [esphome#6207](https://github.com/esphome/esphome/pull/6207) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (M part 2) [esphome#6208](https://github.com/esphome/esphome/pull/6208) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (O) [esphome#6211](https://github.com/esphome/esphome/pull/6211) by [@kbx81](https://github.com/kbx81)
|
||||
- [mopeka_std_check] Fix test file indentation [esphome#6610](https://github.com/esphome/esphome/pull/6610) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add valve component [esphome#6447](https://github.com/esphome/esphome/pull/6447) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Add some components to the new testing framework (R) [esphome#6219](https://github.com/esphome/esphome/pull/6219) by [@kbx81](https://github.com/kbx81)
|
||||
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode [esphome#6609](https://github.com/esphome/esphome/pull/6609) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- [tests] Run yaml tests in groups if over 100 to run [esphome#6612](https://github.com/esphome/esphome/pull/6612) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add some components to the new testing framework (I) [esphome#6185](https://github.com/esphome/esphome/pull/6185) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (T) [esphome#6229](https://github.com/esphome/esphome/pull/6229) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (S part 1) [esphome#6224](https://github.com/esphome/esphome/pull/6224) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (S part 2) [esphome#6227](https://github.com/esphome/esphome/pull/6227) by [@kbx81](https://github.com/kbx81)
|
||||
- `graphical_display_menu` requires a Display, not DisplayBuffer [esphome#6614](https://github.com/esphome/esphome/pull/6614) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Add null GPIO pin [esphome#6611](https://github.com/esphome/esphome/pull/6611) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Allow UART to be AUTO LOADed [esphome#6617](https://github.com/esphome/esphome/pull/6617) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome [esphome#5218](https://github.com/esphome/esphome/pull/5218) by [@DrCoolzic](https://github.com/DrCoolzic) (new-integration)
|
||||
- Sort mqtt_const alphabetically [esphome#6619](https://github.com/esphome/esphome/pull/6619) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Limit Rx wait loop time to 3 seconds. [esphome#6594](https://github.com/esphome/esphome/pull/6594) by [@descipher](https://github.com/descipher)
|
||||
- Event entity support [esphome#6451](https://github.com/esphome/esphome/pull/6451) by [@nohat](https://github.com/nohat) (new-integration)
|
||||
- Only check c/c++ files with clang-format [esphome#6620](https://github.com/esphome/esphome/pull/6620) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Added base64 helper [esphome#4866](https://github.com/esphome/esphome/pull/4866) by [@freekode](https://github.com/freekode)
|
||||
- Add Roomba IR protocol [esphome#4595](https://github.com/esphome/esphome/pull/4595) by [@rforro](https://github.com/rforro)
|
||||
- Fix issue when setting cw/ww brightness via temperature [esphome#5976](https://github.com/esphome/esphome/pull/5976) by [@patagonaa](https://github.com/patagonaa)
|
||||
- Add get/set color temperature functions in Kelvin [esphome#5006](https://github.com/esphome/esphome/pull/5006) by [@danielkent-net](https://github.com/danielkent-net)
|
||||
- Move CONF_PLATFORM_VERSION to global const.py [esphome#6629](https://github.com/esphome/esphome/pull/6629) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Ble client fixes for proxy [esphome#6596](https://github.com/esphome/esphome/pull/6596) by [@elupus](https://github.com/elupus)
|
||||
- Fix for #6614- use background_color, improve anti-aliasing [esphome#6618](https://github.com/esphome/esphome/pull/6618) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix graph hangs when y <= 0 [esphome#6593](https://github.com/esphome/esphome/pull/6593) by [@chiahsing](https://github.com/chiahsing)
|
||||
- Feature add last_operation to time based cover [esphome#6084](https://github.com/esphome/esphome/pull/6084) by [@xprofiler](https://github.com/xprofiler)
|
||||
- Add `event`, `text_sensor` and `valve` device classes to sync script [esphome#6624](https://github.com/esphome/esphome/pull/6624) by [@kbx81](https://github.com/kbx81)
|
||||
- Add datetime entities [esphome#6513](https://github.com/esphome/esphome/pull/6513) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Multiple Daly-BMS support [esphome#6615](https://github.com/esphome/esphome/pull/6615) by [@latonita](https://github.com/latonita)
|
||||
- Remove text_sensor from sync-device-class job [esphome#6637](https://github.com/esphome/esphome/pull/6637) by [@kbx81](https://github.com/kbx81)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6638](https://github.com/esphome/esphome/pull/6638) by [@esphomebot](https://github.com/esphomebot)
|
||||
- Display: add diagnostic test_card option [esphome#6608](https://github.com/esphome/esphome/pull/6608) by [@nielsnl68](https://github.com/nielsnl68)
|
||||
- waveshare_epaper: Add 2.90in-dke [esphome#6492](https://github.com/esphome/esphome/pull/6492) by [@polyfloyd](https://github.com/polyfloyd)
|
||||
- Extract core comments from #6241 [esphome#6643](https://github.com/esphome/esphome/pull/6643) by [@javawizard](https://github.com/javawizard)
|
||||
- [hm3301] Updated the AQI based on the airnow document [esphome#6004](https://github.com/esphome/esphome/pull/6004) by [@optimusprimespace](https://github.com/optimusprimespace)
|
||||
- Fix command line substitutions without any yaml substitutions [esphome#6644](https://github.com/esphome/esphome/pull/6644) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Allow platform dependencies [esphome#6623](https://github.com/esphome/esphome/pull/6623) by [@kbx81](https://github.com/kbx81)
|
||||
- [light] Add transition_length to strobe effect. [esphome#6595](https://github.com/esphome/esphome/pull/6595) by [@lhartmann](https://github.com/lhartmann)
|
||||
- Fixed the issue that graph draws out of the boundary. [esphome#6651](https://github.com/esphome/esphome/pull/6651) by [@chiahsing](https://github.com/chiahsing)
|
||||
- Fix upload command. MQTT user and password is missing from configuration. #5093 [esphome#5766](https://github.com/esphome/esphome/pull/5766) by [@dylan09](https://github.com/dylan09)
|
||||
- patch esphome cli to skip mqtt based device discovery if --device option is specified [esphome#6371](https://github.com/esphome/esphome/pull/6371) by [@quigleymd](https://github.com/quigleymd)
|
||||
- Fix for #4866 - inconsistent arguments [esphome#6639](https://github.com/esphome/esphome/pull/6639) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [template/text] Fix lambda config [esphome#6655](https://github.com/esphome/esphome/pull/6655) by [@asergunov](https://github.com/asergunov)
|
||||
- web_server: Add support for v3 local server_index [esphome#6563](https://github.com/esphome/esphome/pull/6563) by [@pzich](https://github.com/pzich)
|
||||
- Update webserver local assets to 20240429-211523 [esphome#6657](https://github.com/esphome/esphome/pull/6657) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [nextion] Exit reparse before update TFT [esphome#6589](https://github.com/esphome/esphome/pull/6589) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [nextion] Set alternative TFT update baud rate [esphome#6587](https://github.com/esphome/esphome/pull/6587) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [TM1637] Let turn off the display [esphome#6656](https://github.com/esphome/esphome/pull/6656) by [@asergunov](https://github.com/asergunov)
|
||||
- [nextion] Use persistent http connection for TFT upload (Arduino) [esphome#6582](https://github.com/esphome/esphome/pull/6582) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Extend MQTT tests [esphome#6648](https://github.com/esphome/esphome/pull/6648) by [@kbx81](https://github.com/kbx81)
|
||||
- Extend and consolidate `script` tests [esphome#6663](https://github.com/esphome/esphome/pull/6663) by [@kbx81](https://github.com/kbx81)
|
||||
- [nextion] Use persistent http connection for TFT upload (ESP-IDF) [esphome#6576](https://github.com/esphome/esphome/pull/6576) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Add a function to return the loop_interval [esphome#6666](https://github.com/esphome/esphome/pull/6666) by [@tronikos](https://github.com/tronikos)
|
||||
- Remote receiver improvements [esphome#4642](https://github.com/esphome/esphome/pull/4642) by [@Mat931](https://github.com/Mat931)
|
||||
- Make fast update intervals in qmc5883l work [esphome#6647](https://github.com/esphome/esphome/pull/6647) by [@tronikos](https://github.com/tronikos)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Set "CONF_" CI counter to fail on 3 or more definitions [esphome#6668](https://github.com/esphome/esphome/pull/6668) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Rename ALWAYS_INLINE to ESPHOME_ALWAYS_INLINE [esphome#6636](https://github.com/esphome/esphome/pull/6636) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- print task name if logger is called from other than main thread [esphome#6630](https://github.com/esphome/esphome/pull/6630) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Fix recent definitions into `defines.h` [esphome#6667](https://github.com/esphome/esphome/pull/6667) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Add fast update to HMC5883L [esphome#6669](https://github.com/esphome/esphome/pull/6669) by [@mkmer](https://github.com/mkmer)
|
||||
- Minor tidy up of BME280 code [esphome#6672](https://github.com/esphome/esphome/pull/6672) by [@latonita](https://github.com/latonita)
|
||||
- External components: optional configurable path for git source [esphome#6677](https://github.com/esphome/esphome/pull/6677) by [@twasilczyk](https://github.com/twasilczyk)
|
||||
- Use clang-apply-replacements when clang-apply-replacements-14 does not exist [esphome#6684](https://github.com/esphome/esphome/pull/6684) by [@Links2004](https://github.com/Links2004)
|
||||
- fix conflict with EMPTY macro in zephyr [esphome#6679](https://github.com/esphome/esphome/pull/6679) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Bump actions/checkout from 4.1.1 to 4.1.5 [esphome#6685](https://github.com/esphome/esphome/pull/6685) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix Datetime-Datetime compiler error [esphome#6686](https://github.com/esphome/esphome/pull/6686) by [@RFDarter](https://github.com/RFDarter)
|
||||
- Bump esphome/ESPAsyncWebServer-esphome to 3.2.0 [esphome#6687](https://github.com/esphome/esphome/pull/6687) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix date_time validation [esphome#6688](https://github.com/esphome/esphome/pull/6688) by [@RFDarter](https://github.com/RFDarter)
|
||||
- proceed if AP mode is set up [esphome#6631](https://github.com/esphome/esphome/pull/6631) by [@ssieb](https://github.com/ssieb)
|
||||
- Migrate some constants to core code [esphome#6692](https://github.com/esphome/esphome/pull/6692) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Consolidate test files where all tests are identical [esphome#6690](https://github.com/esphome/esphome/pull/6690) by [@kbx81](https://github.com/kbx81)
|
||||
- Make `pulse_meter` PULSE filter report the pulse as soon as it can [esphome#6014](https://github.com/esphome/esphome/pull/6014) by [@TrentHouliston](https://github.com/TrentHouliston)
|
||||
- Update webserver local assets to 20240507-231331 [esphome#6696](https://github.com/esphome/esphome/pull/6696) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [github] Upgrade to actions/[upload,download]-artifact v4 [esphome#6698](https://github.com/esphome/esphome/pull/6698) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [nextion] Replace flags to `USE_ARDUINO` [esphome#6700](https://github.com/esphome/esphome/pull/6700) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [remote_receiver, remote_transmitter] Improve error messages on the ESP32 [esphome#6701](https://github.com/esphome/esphome/pull/6701) by [@Mat931](https://github.com/Mat931)
|
||||
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR [esphome#6705](https://github.com/esphome/esphome/pull/6705) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add PHY register writes to enable external clock on Ethernet with RTL8201 [esphome#6704](https://github.com/esphome/esphome/pull/6704) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Bump recommended ESP-IDF to 4.4.7 [esphome#6703](https://github.com/esphome/esphome/pull/6703) by [@bdraco](https://github.com/bdraco)
|
||||
- [core] Ensure that a generated ID name is distinct from its type. [esphome#6706](https://github.com/esphome/esphome/pull/6706) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [color] Fix crash when hex color parses as int, improve error reporting. [esphome#6707](https://github.com/esphome/esphome/pull/6707) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [github] Fix digest artifact name [esphome#6710](https://github.com/esphome/esphome/pull/6710) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(ltr390): stuck ALS values when configured for ALS+UV readings [esphome#6723](https://github.com/esphome/esphome/pull/6723) by [@CodeInPolish](https://github.com/CodeInPolish)
|
||||
- Set FEATURE_API_AUDIO flag also if the speaker component is not used [esphome#6712](https://github.com/esphome/esphome/pull/6712) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Bump platformio from 6.1.13 to 6.1.15 [esphome#6634](https://github.com/esphome/esphome/pull/6634) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix ESPHOME_PROJECT_VERSION_30 [esphome#6731](https://github.com/esphome/esphome/pull/6731) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… [esphome#6391](https://github.com/esphome/esphome/pull/6391) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Add ANNOUNCING state to media_player. [esphome#6691](https://github.com/esphome/esphome/pull/6691) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -51,15 +50,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
||||
Adding this option to the add-on configuration allows you to disable
|
||||
authentication by setting it to `true`.
|
||||
|
||||
### Option: `esphome_version`
|
||||
|
||||
Manually override which ESPHome version to use in the add-on.
|
||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
||||
|
||||
Please note that this does not always work and is only meant for testing, usually the
|
||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
||||
|
||||
### Option: `relative_url`
|
||||
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||
|
||||
@@ -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,44 +0,0 @@
|
||||
{
|
||||
"arch": [
|
||||
"amd64",
|
||||
"armv7",
|
||||
"aarch64"
|
||||
],
|
||||
"auth_api": true,
|
||||
"description": "Beta version of ESPHome add-on",
|
||||
"hassio_api": true,
|
||||
"host_network": true,
|
||||
"image": "esphome/esphome-hassio-{arch}",
|
||||
"ingress": true,
|
||||
"ingress_port": 0,
|
||||
"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)"
|
||||
},
|
||||
"schema": {
|
||||
"certfile": "str?",
|
||||
"esphome_version": "str?",
|
||||
"keyfile": "str?",
|
||||
"leave_front_door_open": "bool?",
|
||||
"relative_url": "str?",
|
||||
"ssl": "bool?",
|
||||
"status_use_ping": "bool?",
|
||||
"streamer_mode": "bool?"
|
||||
},
|
||||
"slug": "esphome-beta",
|
||||
"snapshot_exclude": [
|
||||
"*/*/"
|
||||
],
|
||||
"stage": "experimental",
|
||||
"uart": true,
|
||||
"url": "https://beta.esphome.io/",
|
||||
"version": "1.20.0b3"
|
||||
}
|
||||
42
esphome-beta/config.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
url: https://beta.esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
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
|
||||
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?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (beta)
|
||||
version: 2024.5.0
|
||||
slug: esphome-beta
|
||||
description: Beta version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
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: 12 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
esphome-dev/CHANGELOG.md
Normal file
@@ -0,0 +1 @@
|
||||
See https://github.com/esphome/esphome/commits/dev
|
||||
@@ -1,30 +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:
|
||||
### Option: `esphome_fork`
|
||||
|
||||
```json
|
||||
{
|
||||
"ssl": false,
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem"
|
||||
}
|
||||
```
|
||||
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.
|
||||
|
||||
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**.
|
||||
|
||||
|
||||
## General ESPHome add on configurations
|
||||
|
||||
General options also available in other versions.
|
||||
|
||||
### Option: `ssl`
|
||||
|
||||
@@ -51,15 +52,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
||||
Adding this option to the add-on configuration allows you to disable
|
||||
authentication by setting it to `true`.
|
||||
|
||||
### Option: `esphome_version`
|
||||
|
||||
Manually override which ESPHome version to use in the add-on.
|
||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
||||
|
||||
Please note that this does not always work and is only meant for testing, usually the
|
||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
||||
|
||||
### Option: `relative_url`
|
||||
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
ARG BUILD_FROM=esphome/esphome-hassio-base-amd64:2.0.0
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
RUN pip3 install --no-cache-dir https://github.com/esphome/esphome/archive/dev.zip
|
||||
|
||||
# Build arguments
|
||||
ARG BUILD_VERSION=dev
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.name="ESPHome" \
|
||||
io.hass.description="Manage and program ESP8266/ESP32 microcontrollers through YAML configuration files" \
|
||||
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,7 +0,0 @@
|
||||
{
|
||||
"build_from": {
|
||||
"aarch64": "esphome/esphome-hassio-base-aarch64:3.1.0",
|
||||
"amd64": "esphome/esphome-hassio-base-amd64:3.1.0",
|
||||
"armv7": "esphome/esphome-hassio-base-armv7:3.1.0"
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"arch": [
|
||||
"amd64",
|
||||
"armv7",
|
||||
"aarch64"
|
||||
],
|
||||
"auth_api": true,
|
||||
"description": "Development Version! Manage and program ESP8266/ESP32 microcontrollers through YAML configuration files",
|
||||
"hassio_api": true,
|
||||
"host_network": true,
|
||||
"ingress": true,
|
||||
"ingress_port": 0,
|
||||
"map": [
|
||||
"ssl:ro",
|
||||
"config:rw"
|
||||
],
|
||||
"name": "ESPHome (dev)",
|
||||
"options": {
|
||||
"esphome_version": "dev"
|
||||
},
|
||||
"panel_icon": "mdi:chip",
|
||||
"ports": {
|
||||
"6052/tcp": null
|
||||
},
|
||||
"ports_description": {
|
||||
"6052/tcp": "Web interface (Not required for Home Assistant Ingress)"
|
||||
},
|
||||
"schema": {
|
||||
"certfile": "str?",
|
||||
"esphome_version": "str?",
|
||||
"keyfile": "str?",
|
||||
"leave_front_door_open": "bool?",
|
||||
"relative_url": "str?",
|
||||
"ssl": "bool?",
|
||||
"status_use_ping": "bool?",
|
||||
"streamer_mode": "bool?"
|
||||
},
|
||||
"slug": "esphome-dev",
|
||||
"snapshot_exclude": [
|
||||
"*/*/"
|
||||
],
|
||||
"stage": "experimental",
|
||||
"uart": true,
|
||||
"url": "https://next.esphome.io/",
|
||||
"version": "dev"
|
||||
}
|
||||
43
esphome-dev/config.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
url: https://next.esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
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
|
||||
discovery:
|
||||
- esphome
|
||||
schema:
|
||||
status_use_ping: bool?
|
||||
streamer_mode: bool?
|
||||
home_assistant_dashboard_integration: bool?
|
||||
default_compile_process_limit: int(1,)?
|
||||
esphome_fork: str?
|
||||
ssl: bool?
|
||||
certfile: str?
|
||||
keyfile: str?
|
||||
leave_front_door_open: bool?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome (dev)
|
||||
version: 2024.6.0-dev20240515
|
||||
slug: esphome-dev
|
||||
description: Development version of ESPHome add-on
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
stage: experimental
|
||||
advanced: true
|
||||
options:
|
||||
home_assistant_dashboard_integration: false
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,41 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# This files check if all user configuration requirements are met
|
||||
# ==============================================================================
|
||||
|
||||
# Check SSL requirements, if enabled
|
||||
if bashio::config.true 'ssl'; then
|
||||
if ! bashio::config.has_value 'certfile'; then
|
||||
bashio::fatal 'SSL is enabled, but no certfile was specified.'
|
||||
bashio::exit.nok
|
||||
fi
|
||||
|
||||
if ! bashio::config.has_value 'keyfile'; then
|
||||
bashio::fatal 'SSL is enabled, but no keyfile was specified'
|
||||
bashio::exit.nok
|
||||
fi
|
||||
|
||||
|
||||
certfile="/ssl/$(bashio::config 'certfile')"
|
||||
keyfile="/ssl/$(bashio::config 'keyfile')"
|
||||
|
||||
if ! bashio::fs.file_exists "${certfile}"; then
|
||||
if ! bashio::fs.file_exists "${keyfile}"; then
|
||||
# Both files are missing, let's print a friendlier error message
|
||||
bashio::log.fatal 'You enabled encrypted connections using the "ssl": true option.'
|
||||
bashio::log.fatal "However, the SSL files '${certfile}' and '${keyfile}'"
|
||||
bashio::log.fatal "were not found. If you're using Hass.io on your local network and don't want"
|
||||
bashio::log.fatal 'to encrypt connections to the ESPHome dashboard, you can manually disable'
|
||||
bashio::log.fatal 'SSL by setting "ssl" to false."'
|
||||
bashio::exit.nok
|
||||
fi
|
||||
bashio::log.fatal "The configured certfile '${certfile}' was not found."
|
||||
bashio::exit.nok
|
||||
fi
|
||||
|
||||
if ! bashio::fs.file_exists "/ssl/$(bashio::config 'keyfile')"; then
|
||||
bashio::log.fatal "The configured keyfile '${keyfile}' was not found."
|
||||
bashio::exit.nok
|
||||
fi
|
||||
fi
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# Configures NGINX for use with ESPHome
|
||||
# ==============================================================================
|
||||
|
||||
declare certfile
|
||||
declare keyfile
|
||||
declare direct_port
|
||||
declare ingress_interface
|
||||
declare ingress_port
|
||||
|
||||
mkdir -p /var/log/nginx
|
||||
|
||||
direct_port=$(bashio::addon.port 6052)
|
||||
if bashio::var.has_value "${direct_port}"; then
|
||||
if bashio::config.true 'ssl'; then
|
||||
certfile=$(bashio::config 'certfile')
|
||||
keyfile=$(bashio::config 'keyfile')
|
||||
|
||||
mv /etc/nginx/servers/direct-ssl.disabled /etc/nginx/servers/direct.conf
|
||||
sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/servers/direct.conf
|
||||
sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/servers/direct.conf
|
||||
else
|
||||
mv /etc/nginx/servers/direct.disabled /etc/nginx/servers/direct.conf
|
||||
fi
|
||||
|
||||
sed -i "s/%%port%%/${direct_port}/g" /etc/nginx/servers/direct.conf
|
||||
fi
|
||||
|
||||
ingress_port=$(bashio::addon.ingress_port)
|
||||
ingress_interface=$(bashio::addon.ip_address)
|
||||
sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# This files installs the user ESPHome version if specified
|
||||
# ==============================================================================
|
||||
|
||||
declare esphome_version
|
||||
|
||||
if bashio::config.has_value 'esphome_version'; then
|
||||
esphome_version=$(bashio::config 'esphome_version')
|
||||
if [[ $esphome_version == *":"* ]]; then
|
||||
IFS=':' read -r -a array <<< "$esphome_version"
|
||||
username=${array[0]}
|
||||
ref=${array[1]}
|
||||
else
|
||||
username="esphome"
|
||||
ref=$esphome_version
|
||||
fi
|
||||
full_url="https://github.com/${username}/esphome/archive/${ref}.zip"
|
||||
bashio::log.info "Installing esphome version '${esphome_version}' (${full_url})..."
|
||||
pip3 install -U --no-cache-dir "${full_url}" \
|
||||
|| bashio::exit.nok "Failed installing esphome pinned version."
|
||||
fi
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# This files migrates the esphome config directory from the old path
|
||||
# ==============================================================================
|
||||
|
||||
if [[ ! -d /config/esphome && -d /config/esphomeyaml ]]; then
|
||||
echo "Moving config directory from /config/esphomeyaml to /config/esphome"
|
||||
mv /config/esphomeyaml /config/esphome
|
||||
mv /config/esphome/.esphomeyaml /config/esphome/.esphome
|
||||
fi
|
||||
@@ -1,96 +0,0 @@
|
||||
types {
|
||||
text/html html htm shtml;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
|
||||
image/png png;
|
||||
image/svg+xml svg svgz;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/webp webp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
|
||||
font/woff woff;
|
||||
font/woff2 woff2;
|
||||
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.oasis.opendocument.graphics odg;
|
||||
application/vnd.oasis.opendocument.presentation odp;
|
||||
application/vnd.oasis.opendocument.spreadsheet ods;
|
||||
application/vnd.oasis.opendocument.text odt;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation
|
||||
pptx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
xlsx;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
||||
docx;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
proxy_http_version 1.1;
|
||||
proxy_ignore_client_abort off;
|
||||
proxy_read_timeout 86400s;
|
||||
proxy_redirect off;
|
||||
proxy_send_timeout 86400s;
|
||||
proxy_max_temp_file_size 0;
|
||||
|
||||
proxy_set_header Accept-Encoding "";
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-NginX-Proxy true;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Authorization "";
|
||||
@@ -1,6 +0,0 @@
|
||||
root /dev/null;
|
||||
server_name $hostname;
|
||||
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Robots-Tag none;
|
||||
@@ -1,9 +0,0 @@
|
||||
ssl_protocols TLSv1.2;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
|
||||
ssl_ecdh_curve secp384r1;
|
||||
ssl_session_timeout 10m;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_session_tickets off;
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
@@ -1,33 +0,0 @@
|
||||
daemon off;
|
||||
user root;
|
||||
pid /var/run/nginx.pid;
|
||||
worker_processes 1;
|
||||
# Hass.io addon log
|
||||
error_log /proc/1/fd/1 error;
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/includes/mime.types;
|
||||
access_log stdout;
|
||||
default_type application/octet-stream;
|
||||
gzip on;
|
||||
keepalive_timeout 65;
|
||||
sendfile on;
|
||||
server_tokens off;
|
||||
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# Use Hass.io supervisor as resolver
|
||||
resolver 172.30.32.2;
|
||||
|
||||
upstream esphome {
|
||||
server unix:/var/run/esphome.sock;
|
||||
}
|
||||
|
||||
include /etc/nginx/servers/*.conf;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
server {
|
||||
listen %%port%% default_server ssl http2;
|
||||
|
||||
include /etc/nginx/includes/server_params.conf;
|
||||
include /etc/nginx/includes/proxy_params.conf;
|
||||
include /etc/nginx/includes/ssl_params.conf;
|
||||
|
||||
ssl on;
|
||||
ssl_certificate /ssl/%%certfile%%;
|
||||
ssl_certificate_key /ssl/%%keyfile%%;
|
||||
|
||||
# Clear Hass.io Ingress header
|
||||
proxy_set_header X-Hassio-Ingress "";
|
||||
|
||||
# Redirect http requests to https on the same port.
|
||||
# https://rageagainstshell.com/2016/11/redirect-http-to-https-on-the-same-port-in-nginx/
|
||||
error_page 497 https://$http_host$request_uri;
|
||||
|
||||
location / {
|
||||
proxy_pass http://esphome;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
server {
|
||||
listen %%port%% default_server;
|
||||
|
||||
include /etc/nginx/includes/server_params.conf;
|
||||
include /etc/nginx/includes/proxy_params.conf;
|
||||
# Clear Hass.io Ingress header
|
||||
proxy_set_header X-Hassio-Ingress "";
|
||||
|
||||
location / {
|
||||
proxy_pass http://esphome;
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
server {
|
||||
listen %%interface%%:%%port%% default_server;
|
||||
|
||||
include /etc/nginx/includes/server_params.conf;
|
||||
include /etc/nginx/includes/proxy_params.conf;
|
||||
# Set Hass.io Ingress header
|
||||
proxy_set_header X-Hassio-Ingress "YES";
|
||||
|
||||
location / {
|
||||
# Only allow from Hass.io supervisor
|
||||
allow 172.30.32.2;
|
||||
deny all;
|
||||
|
||||
proxy_pass http://esphome;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/execlineb -S0
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# Take down the S6 supervision tree when ESPHome fails
|
||||
# ==============================================================================
|
||||
if -n { s6-test $# -ne 0 }
|
||||
if -n { s6-test ${1} -eq 256 }
|
||||
|
||||
s6-svscanctl -t /var/run/s6/services
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# Runs the ESPHome dashboard
|
||||
# ==============================================================================
|
||||
|
||||
export ESPHOME_IS_HASSIO=true
|
||||
|
||||
if bashio::config.true 'leave_front_door_open'; then
|
||||
export DISABLE_HA_AUTHENTICATION=true
|
||||
fi
|
||||
|
||||
if bashio::config.true 'streamer_mode'; then
|
||||
export ESPHOME_STREAMER_MODE=true
|
||||
fi
|
||||
|
||||
if bashio::config.true 'status_use_ping'; then
|
||||
export ESPHOME_DASHBOARD_USE_PING=true
|
||||
fi
|
||||
|
||||
if bashio::config.has_value 'relative_url'; then
|
||||
export ESPHOME_DASHBOARD_RELATIVE_URL=$(bashio::config 'relative_url')
|
||||
fi
|
||||
|
||||
bashio::log.info "Starting ESPHome dashboard..."
|
||||
exec esphome /config/esphome dashboard --socket /var/run/esphome.sock --hassio
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/execlineb -S0
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# Take down the S6 supervision tree when NGINX fails
|
||||
# ==============================================================================
|
||||
if -n { s6-test $# -ne 0 }
|
||||
if -n { s6-test ${1} -eq 256 }
|
||||
|
||||
s6-svscanctl -t /var/run/s6/services
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ESPHome
|
||||
# Runs the NGINX proxy
|
||||
# ==============================================================================
|
||||
|
||||
bashio::log.info "Waiting for dashboard to come up..."
|
||||
|
||||
while [[ ! -S /var/run/esphome.sock ]]; do
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
bashio::log.info "Starting NGINX..."
|
||||
exec nginx
|
||||
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,188 @@
|
||||
See https://esphome.io/changelog/index.html
|
||||
## 2024.5.0
|
||||
|
||||
## Full list of changes
|
||||
|
||||
### New Components
|
||||
|
||||
- Add valve component [esphome#6447](https://github.com/esphome/esphome/pull/6447) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome [esphome#5218](https://github.com/esphome/esphome/pull/5218) by [@DrCoolzic](https://github.com/DrCoolzic) (new-integration)
|
||||
- Event entity support [esphome#6451](https://github.com/esphome/esphome/pull/6451) by [@nohat](https://github.com/nohat) (new-integration)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Add DNS sensor and simplify format [esphome#6450](https://github.com/esphome/esphome/pull/6450) by [@HeMan](https://github.com/HeMan) (breaking-change)
|
||||
- SM2135 - Use standard channel ordering. [esphome#6573](https://github.com/esphome/esphome/pull/6573) by [@Cossid](https://github.com/Cossid) (breaking-change)
|
||||
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode [esphome#6609](https://github.com/esphome/esphome/pull/6609) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Add datetime entities [esphome#6513](https://github.com/esphome/esphome/pull/6513) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
|
||||
### Beta Changes
|
||||
|
||||
- [github] Upgrade to actions/[upload,download]-artifact v4 [esphome#6698](https://github.com/esphome/esphome/pull/6698) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [nextion] Replace flags to `USE_ARDUINO` [esphome#6700](https://github.com/esphome/esphome/pull/6700) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [remote_receiver, remote_transmitter] Improve error messages on the ESP32 [esphome#6701](https://github.com/esphome/esphome/pull/6701) by [@Mat931](https://github.com/Mat931)
|
||||
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR [esphome#6705](https://github.com/esphome/esphome/pull/6705) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add PHY register writes to enable external clock on Ethernet with RTL8201 [esphome#6704](https://github.com/esphome/esphome/pull/6704) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Bump recommended ESP-IDF to 4.4.7 [esphome#6703](https://github.com/esphome/esphome/pull/6703) by [@bdraco](https://github.com/bdraco)
|
||||
- [core] Ensure that a generated ID name is distinct from its type. [esphome#6706](https://github.com/esphome/esphome/pull/6706) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [color] Fix crash when hex color parses as int, improve error reporting. [esphome#6707](https://github.com/esphome/esphome/pull/6707) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [github] Fix digest artifact name [esphome#6710](https://github.com/esphome/esphome/pull/6710) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(ltr390): stuck ALS values when configured for ALS+UV readings [esphome#6723](https://github.com/esphome/esphome/pull/6723) by [@CodeInPolish](https://github.com/CodeInPolish)
|
||||
- Set FEATURE_API_AUDIO flag also if the speaker component is not used [esphome#6712](https://github.com/esphome/esphome/pull/6712) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Bump platformio from 6.1.13 to 6.1.15 [esphome#6634](https://github.com/esphome/esphome/pull/6634) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix ESPHOME_PROJECT_VERSION_30 [esphome#6731](https://github.com/esphome/esphome/pull/6731) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… [esphome#6391](https://github.com/esphome/esphome/pull/6391) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Add ANNOUNCING state to media_player. [esphome#6691](https://github.com/esphome/esphome/pull/6691) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
### Notable Changes
|
||||
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
### All changes
|
||||
|
||||
- Add some components to the new testing framework (H) [esphome#6179](https://github.com/esphome/esphome/pull/6179) by [@kbx81](https://github.com/kbx81)
|
||||
- Added Htu21d model option [esphome#6511](https://github.com/esphome/esphome/pull/6511) by [@MRemy2](https://github.com/MRemy2)
|
||||
- Add bk72xx base test file [esphome#6522](https://github.com/esphome/esphome/pull/6522) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add "log" alias for "logs" command [esphome#6519](https://github.com/esphome/esphome/pull/6519) by [@pzich](https://github.com/pzich)
|
||||
- Add DNS sensor and simplify format [esphome#6450](https://github.com/esphome/esphome/pull/6450) by [@HeMan](https://github.com/HeMan) (breaking-change)
|
||||
- Add all missing `remote_receiver` `on_...` tests [esphome#6524](https://github.com/esphome/esphome/pull/6524) by [@kbx81](https://github.com/kbx81)
|
||||
- Add actions to http_request tests [esphome#6529](https://github.com/esphome/esphome/pull/6529) by [@kbx81](https://github.com/kbx81)
|
||||
- Update homeassistant component tests with actions [esphome#6528](https://github.com/esphome/esphome/pull/6528) by [@kbx81](https://github.com/kbx81)
|
||||
- Define `USE_PSRAM` [esphome#6526](https://github.com/esphome/esphome/pull/6526) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Bump black from 24.2.0 to 24.4.0 [esphome#6539](https://github.com/esphome/esphome/pull/6539) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 [esphome#6525](https://github.com/esphome/esphome/pull/6525) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump python version in sync-device-classes workflow to 3.12 for HA [esphome#6541](https://github.com/esphome/esphome/pull/6541) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pylint from 3.0.3 to 3.1.0 [esphome#6287](https://github.com/esphome/esphome/pull/6287) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump aioesphomeapi from 23.2.0 to 24.0.0 [esphome#6544](https://github.com/esphome/esphome/pull/6544) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump pyupgrade from 3.15.1 to 3.15.2 [esphome#6543](https://github.com/esphome/esphome/pull/6543) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add enum option to typed_schema [esphome#6546](https://github.com/esphome/esphome/pull/6546) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Move esphome-fork startup script to main repo. [esphome#6523](https://github.com/esphome/esphome/pull/6523) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Call workflow for addon with dev version [esphome#6549](https://github.com/esphome/esphome/pull/6549) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Use trusted publishing token for pypi [esphome#6545](https://github.com/esphome/esphome/pull/6545) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Fix uart to work with new enum definition in esp-idf-v5.2.1 [esphome#6487](https://github.com/esphome/esphome/pull/6487) by [@luar123](https://github.com/luar123)
|
||||
- Housecleaning: Use walrus operator in datetime [esphome#6552](https://github.com/esphome/esphome/pull/6552) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in text [esphome#6560](https://github.com/esphome/esphome/pull/6560) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in light [esphome#6556](https://github.com/esphome/esphome/pull/6556) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in select [esphome#6557](https://github.com/esphome/esphome/pull/6557) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in number [esphome#6561](https://github.com/esphome/esphome/pull/6561) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in cover [esphome#6562](https://github.com/esphome/esphome/pull/6562) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in climate [esphome#6551](https://github.com/esphome/esphome/pull/6551) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in fan [esphome#6555](https://github.com/esphome/esphome/pull/6555) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in text_sensor [esphome#6559](https://github.com/esphome/esphome/pull/6559) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump zeroconf to 0.132.2 [esphome#6548](https://github.com/esphome/esphome/pull/6548) by [@bdraco](https://github.com/bdraco)
|
||||
- Housecleaning: Use walrus operator in switch [esphome#6558](https://github.com/esphome/esphome/pull/6558) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in lock [esphome#6554](https://github.com/esphome/esphome/pull/6554) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Housecleaning: Use walrus operator in sensor [esphome#6553](https://github.com/esphome/esphome/pull/6553) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Bump pytest-mock from 3.12.0 to 3.14.0 [esphome#6572](https://github.com/esphome/esphome/pull/6572) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 [esphome#6569](https://github.com/esphome/esphome/pull/6569) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Nextion - Review set_protocol_reparse_mode() [esphome#6567](https://github.com/esphome/esphome/pull/6567) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Allow component final_validate [esphome#6475](https://github.com/esphome/esphome/pull/6475) by [@kbx81](https://github.com/kbx81)
|
||||
- SM2135 - Use standard channel ordering. [esphome#6573](https://github.com/esphome/esphome/pull/6573) by [@Cossid](https://github.com/Cossid) (breaking-change)
|
||||
- Nextion - Do not refresh sensors while updating [esphome#6566](https://github.com/esphome/esphome/pull/6566) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Nextion - Review types [esphome#6565](https://github.com/esphome/esphome/pull/6565) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- On failure, dump the output of preceding jobs in CI status [esphome#6564](https://github.com/esphome/esphome/pull/6564) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Nextion `send_command` method [esphome#6540](https://github.com/esphome/esphome/pull/6540) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Fix some printf formats for size_t. [esphome#6542](https://github.com/esphome/esphome/pull/6542) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- remove delay from tmp102 [esphome#6577](https://github.com/esphome/esphome/pull/6577) by [@ssieb](https://github.com/ssieb)
|
||||
- Create ``component_dir`` substitution for local files to be included in… [esphome#6575](https://github.com/esphome/esphome/pull/6575) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Define `USE_ESP32_BLE` [esphome#6585](https://github.com/esphome/esphome/pull/6585) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Bump aioesphomeapi from 24.0.0 to 24.3.0 [esphome#6602](https://github.com/esphome/esphome/pull/6602) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Add yamllint and clang-format to pre-commit hooks [esphome#6578](https://github.com/esphome/esphome/pull/6578) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Use clang-format version from requirements_dev file [esphome#6606](https://github.com/esphome/esphome/pull/6606) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add some components to the new testing framework (P) [esphome#6213](https://github.com/esphome/esphome/pull/6213) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (M part 1) [esphome#6207](https://github.com/esphome/esphome/pull/6207) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (M part 2) [esphome#6208](https://github.com/esphome/esphome/pull/6208) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (O) [esphome#6211](https://github.com/esphome/esphome/pull/6211) by [@kbx81](https://github.com/kbx81)
|
||||
- [mopeka_std_check] Fix test file indentation [esphome#6610](https://github.com/esphome/esphome/pull/6610) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add valve component [esphome#6447](https://github.com/esphome/esphome/pull/6447) by [@kbx81](https://github.com/kbx81) (new-integration)
|
||||
- Add some components to the new testing framework (R) [esphome#6219](https://github.com/esphome/esphome/pull/6219) by [@kbx81](https://github.com/kbx81)
|
||||
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode [esphome#6609](https://github.com/esphome/esphome/pull/6609) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- [tests] Run yaml tests in groups if over 100 to run [esphome#6612](https://github.com/esphome/esphome/pull/6612) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add some components to the new testing framework (I) [esphome#6185](https://github.com/esphome/esphome/pull/6185) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (T) [esphome#6229](https://github.com/esphome/esphome/pull/6229) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (S part 1) [esphome#6224](https://github.com/esphome/esphome/pull/6224) by [@kbx81](https://github.com/kbx81)
|
||||
- Add some components to the new testing framework (S part 2) [esphome#6227](https://github.com/esphome/esphome/pull/6227) by [@kbx81](https://github.com/kbx81)
|
||||
- `graphical_display_menu` requires a Display, not DisplayBuffer [esphome#6614](https://github.com/esphome/esphome/pull/6614) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Add null GPIO pin [esphome#6611](https://github.com/esphome/esphome/pull/6611) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Allow UART to be AUTO LOADed [esphome#6617](https://github.com/esphome/esphome/pull/6617) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome [esphome#5218](https://github.com/esphome/esphome/pull/5218) by [@DrCoolzic](https://github.com/DrCoolzic) (new-integration)
|
||||
- Sort mqtt_const alphabetically [esphome#6619](https://github.com/esphome/esphome/pull/6619) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Limit Rx wait loop time to 3 seconds. [esphome#6594](https://github.com/esphome/esphome/pull/6594) by [@descipher](https://github.com/descipher)
|
||||
- Event entity support [esphome#6451](https://github.com/esphome/esphome/pull/6451) by [@nohat](https://github.com/nohat) (new-integration)
|
||||
- Only check c/c++ files with clang-format [esphome#6620](https://github.com/esphome/esphome/pull/6620) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Added base64 helper [esphome#4866](https://github.com/esphome/esphome/pull/4866) by [@freekode](https://github.com/freekode)
|
||||
- Add Roomba IR protocol [esphome#4595](https://github.com/esphome/esphome/pull/4595) by [@rforro](https://github.com/rforro)
|
||||
- Fix issue when setting cw/ww brightness via temperature [esphome#5976](https://github.com/esphome/esphome/pull/5976) by [@patagonaa](https://github.com/patagonaa)
|
||||
- Add get/set color temperature functions in Kelvin [esphome#5006](https://github.com/esphome/esphome/pull/5006) by [@danielkent-net](https://github.com/danielkent-net)
|
||||
- Move CONF_PLATFORM_VERSION to global const.py [esphome#6629](https://github.com/esphome/esphome/pull/6629) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Ble client fixes for proxy [esphome#6596](https://github.com/esphome/esphome/pull/6596) by [@elupus](https://github.com/elupus)
|
||||
- Fix for #6614- use background_color, improve anti-aliasing [esphome#6618](https://github.com/esphome/esphome/pull/6618) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Fix graph hangs when y <= 0 [esphome#6593](https://github.com/esphome/esphome/pull/6593) by [@chiahsing](https://github.com/chiahsing)
|
||||
- Feature add last_operation to time based cover [esphome#6084](https://github.com/esphome/esphome/pull/6084) by [@xprofiler](https://github.com/xprofiler)
|
||||
- Add `event`, `text_sensor` and `valve` device classes to sync script [esphome#6624](https://github.com/esphome/esphome/pull/6624) by [@kbx81](https://github.com/kbx81)
|
||||
- Add datetime entities [esphome#6513](https://github.com/esphome/esphome/pull/6513) by [@jesserockz](https://github.com/jesserockz) (breaking-change)
|
||||
- Multiple Daly-BMS support [esphome#6615](https://github.com/esphome/esphome/pull/6615) by [@latonita](https://github.com/latonita)
|
||||
- Remove text_sensor from sync-device-class job [esphome#6637](https://github.com/esphome/esphome/pull/6637) by [@kbx81](https://github.com/kbx81)
|
||||
- Synchronise Device Classes from Home Assistant [esphome#6638](https://github.com/esphome/esphome/pull/6638) by [@esphomebot](https://github.com/esphomebot)
|
||||
- Display: add diagnostic test_card option [esphome#6608](https://github.com/esphome/esphome/pull/6608) by [@nielsnl68](https://github.com/nielsnl68)
|
||||
- waveshare_epaper: Add 2.90in-dke [esphome#6492](https://github.com/esphome/esphome/pull/6492) by [@polyfloyd](https://github.com/polyfloyd)
|
||||
- Extract core comments from #6241 [esphome#6643](https://github.com/esphome/esphome/pull/6643) by [@javawizard](https://github.com/javawizard)
|
||||
- [hm3301] Updated the AQI based on the airnow document [esphome#6004](https://github.com/esphome/esphome/pull/6004) by [@optimusprimespace](https://github.com/optimusprimespace)
|
||||
- Fix command line substitutions without any yaml substitutions [esphome#6644](https://github.com/esphome/esphome/pull/6644) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Allow platform dependencies [esphome#6623](https://github.com/esphome/esphome/pull/6623) by [@kbx81](https://github.com/kbx81)
|
||||
- [light] Add transition_length to strobe effect. [esphome#6595](https://github.com/esphome/esphome/pull/6595) by [@lhartmann](https://github.com/lhartmann)
|
||||
- Fixed the issue that graph draws out of the boundary. [esphome#6651](https://github.com/esphome/esphome/pull/6651) by [@chiahsing](https://github.com/chiahsing)
|
||||
- Fix upload command. MQTT user and password is missing from configuration. #5093 [esphome#5766](https://github.com/esphome/esphome/pull/5766) by [@dylan09](https://github.com/dylan09)
|
||||
- patch esphome cli to skip mqtt based device discovery if --device option is specified [esphome#6371](https://github.com/esphome/esphome/pull/6371) by [@quigleymd](https://github.com/quigleymd)
|
||||
- Fix for #4866 - inconsistent arguments [esphome#6639](https://github.com/esphome/esphome/pull/6639) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [template/text] Fix lambda config [esphome#6655](https://github.com/esphome/esphome/pull/6655) by [@asergunov](https://github.com/asergunov)
|
||||
- web_server: Add support for v3 local server_index [esphome#6563](https://github.com/esphome/esphome/pull/6563) by [@pzich](https://github.com/pzich)
|
||||
- Update webserver local assets to 20240429-211523 [esphome#6657](https://github.com/esphome/esphome/pull/6657) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [nextion] Exit reparse before update TFT [esphome#6589](https://github.com/esphome/esphome/pull/6589) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [nextion] Set alternative TFT update baud rate [esphome#6587](https://github.com/esphome/esphome/pull/6587) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [TM1637] Let turn off the display [esphome#6656](https://github.com/esphome/esphome/pull/6656) by [@asergunov](https://github.com/asergunov)
|
||||
- [nextion] Use persistent http connection for TFT upload (Arduino) [esphome#6582](https://github.com/esphome/esphome/pull/6582) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Extend MQTT tests [esphome#6648](https://github.com/esphome/esphome/pull/6648) by [@kbx81](https://github.com/kbx81)
|
||||
- Extend and consolidate `script` tests [esphome#6663](https://github.com/esphome/esphome/pull/6663) by [@kbx81](https://github.com/kbx81)
|
||||
- [nextion] Use persistent http connection for TFT upload (ESP-IDF) [esphome#6576](https://github.com/esphome/esphome/pull/6576) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Add a function to return the loop_interval [esphome#6666](https://github.com/esphome/esphome/pull/6666) by [@tronikos](https://github.com/tronikos)
|
||||
- Remote receiver improvements [esphome#4642](https://github.com/esphome/esphome/pull/4642) by [@Mat931](https://github.com/Mat931)
|
||||
- Make fast update intervals in qmc5883l work [esphome#6647](https://github.com/esphome/esphome/pull/6647) by [@tronikos](https://github.com/tronikos)
|
||||
- SPI and I2C for BMP390 and BMP380 [esphome#6652](https://github.com/esphome/esphome/pull/6652) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change)
|
||||
- Set "CONF_" CI counter to fail on 3 or more definitions [esphome#6668](https://github.com/esphome/esphome/pull/6668) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [core] Rename ALWAYS_INLINE to ESPHOME_ALWAYS_INLINE [esphome#6636](https://github.com/esphome/esphome/pull/6636) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- print task name if logger is called from other than main thread [esphome#6630](https://github.com/esphome/esphome/pull/6630) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Fix recent definitions into `defines.h` [esphome#6667](https://github.com/esphome/esphome/pull/6667) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- Add fast update to HMC5883L [esphome#6669](https://github.com/esphome/esphome/pull/6669) by [@mkmer](https://github.com/mkmer)
|
||||
- Minor tidy up of BME280 code [esphome#6672](https://github.com/esphome/esphome/pull/6672) by [@latonita](https://github.com/latonita)
|
||||
- External components: optional configurable path for git source [esphome#6677](https://github.com/esphome/esphome/pull/6677) by [@twasilczyk](https://github.com/twasilczyk)
|
||||
- Use clang-apply-replacements when clang-apply-replacements-14 does not exist [esphome#6684](https://github.com/esphome/esphome/pull/6684) by [@Links2004](https://github.com/Links2004)
|
||||
- fix conflict with EMPTY macro in zephyr [esphome#6679](https://github.com/esphome/esphome/pull/6679) by [@tomaszduda23](https://github.com/tomaszduda23)
|
||||
- Bump actions/checkout from 4.1.1 to 4.1.5 [esphome#6685](https://github.com/esphome/esphome/pull/6685) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix Datetime-Datetime compiler error [esphome#6686](https://github.com/esphome/esphome/pull/6686) by [@RFDarter](https://github.com/RFDarter)
|
||||
- Bump esphome/ESPAsyncWebServer-esphome to 3.2.0 [esphome#6687](https://github.com/esphome/esphome/pull/6687) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix date_time validation [esphome#6688](https://github.com/esphome/esphome/pull/6688) by [@RFDarter](https://github.com/RFDarter)
|
||||
- proceed if AP mode is set up [esphome#6631](https://github.com/esphome/esphome/pull/6631) by [@ssieb](https://github.com/ssieb)
|
||||
- Migrate some constants to core code [esphome#6692](https://github.com/esphome/esphome/pull/6692) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- Consolidate test files where all tests are identical [esphome#6690](https://github.com/esphome/esphome/pull/6690) by [@kbx81](https://github.com/kbx81)
|
||||
- Make `pulse_meter` PULSE filter report the pulse as soon as it can [esphome#6014](https://github.com/esphome/esphome/pull/6014) by [@TrentHouliston](https://github.com/TrentHouliston)
|
||||
- Update webserver local assets to 20240507-231331 [esphome#6696](https://github.com/esphome/esphome/pull/6696) by [@esphomebot](https://github.com/esphomebot)
|
||||
- [github] Upgrade to actions/[upload,download]-artifact v4 [esphome#6698](https://github.com/esphome/esphome/pull/6698) by [@jesserockz](https://github.com/jesserockz)
|
||||
- [nextion] Replace flags to `USE_ARDUINO` [esphome#6700](https://github.com/esphome/esphome/pull/6700) by [@edwardtfn](https://github.com/edwardtfn)
|
||||
- [remote_receiver, remote_transmitter] Improve error messages on the ESP32 [esphome#6701](https://github.com/esphome/esphome/pull/6701) by [@Mat931](https://github.com/Mat931)
|
||||
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR [esphome#6705](https://github.com/esphome/esphome/pull/6705) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Add PHY register writes to enable external clock on Ethernet with RTL8201 [esphome#6704](https://github.com/esphome/esphome/pull/6704) by [@heythisisnate](https://github.com/heythisisnate)
|
||||
- Bump recommended ESP-IDF to 4.4.7 [esphome#6703](https://github.com/esphome/esphome/pull/6703) by [@bdraco](https://github.com/bdraco)
|
||||
- [core] Ensure that a generated ID name is distinct from its type. [esphome#6706](https://github.com/esphome/esphome/pull/6706) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [color] Fix crash when hex color parses as int, improve error reporting. [esphome#6707](https://github.com/esphome/esphome/pull/6707) by [@clydebarrow](https://github.com/clydebarrow)
|
||||
- [github] Fix digest artifact name [esphome#6710](https://github.com/esphome/esphome/pull/6710) by [@jesserockz](https://github.com/jesserockz)
|
||||
- fix(ltr390): stuck ALS values when configured for ALS+UV readings [esphome#6723](https://github.com/esphome/esphome/pull/6723) by [@CodeInPolish](https://github.com/CodeInPolish)
|
||||
- Set FEATURE_API_AUDIO flag also if the speaker component is not used [esphome#6712](https://github.com/esphome/esphome/pull/6712) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Bump platformio from 6.1.13 to 6.1.15 [esphome#6634](https://github.com/esphome/esphome/pull/6634) by [@dependabot[bot]](https://github.com/apps/dependabot)
|
||||
- Fix ESPHOME_PROJECT_VERSION_30 [esphome#6731](https://github.com/esphome/esphome/pull/6731) by [@jesserockz](https://github.com/jesserockz)
|
||||
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… [esphome#6391](https://github.com/esphome/esphome/pull/6391) by [@gnumpi](https://github.com/gnumpi)
|
||||
- Add ANNOUNCING state to media_player. [esphome#6691](https://github.com/esphome/esphome/pull/6691) by [@gnumpi](https://github.com/gnumpi)
|
||||
- [adc] Fix 11db deprecation warning [esphome#6749](https://github.com/esphome/esphome/pull/6749) by [@jesserockz](https://github.com/jesserockz) (notable-change)
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -51,15 +50,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
||||
Adding this option to the add-on configuration allows you to disable
|
||||
authentication by setting it to `true`.
|
||||
|
||||
### Option: `esphome_version`
|
||||
|
||||
Manually override which ESPHome version to use in the add-on.
|
||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
||||
|
||||
Please note that this does not always work and is only meant for testing, usually the
|
||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
||||
|
||||
### Option: `relative_url`
|
||||
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||
|
||||
@@ -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,43 +0,0 @@
|
||||
{
|
||||
"arch": [
|
||||
"amd64",
|
||||
"armv7",
|
||||
"aarch64"
|
||||
],
|
||||
"auth_api": true,
|
||||
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
|
||||
"hassio_api": true,
|
||||
"host_network": true,
|
||||
"image": "esphome/esphome-hassio-{arch}",
|
||||
"ingress": true,
|
||||
"ingress_port": 0,
|
||||
"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)"
|
||||
},
|
||||
"schema": {
|
||||
"certfile": "str?",
|
||||
"esphome_version": "str?",
|
||||
"keyfile": "str?",
|
||||
"leave_front_door_open": "bool?",
|
||||
"relative_url": "str?",
|
||||
"ssl": "bool?",
|
||||
"status_use_ping": "bool?",
|
||||
"streamer_mode": "bool?"
|
||||
},
|
||||
"slug": "esphome",
|
||||
"snapshot_exclude": [
|
||||
"*/*/"
|
||||
],
|
||||
"uart": true,
|
||||
"url": "https://esphome.io/",
|
||||
"version": "1.19.4"
|
||||
}
|
||||
38
esphome/config.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
url: https://esphome.io/
|
||||
arch:
|
||||
- amd64
|
||||
- armv7
|
||||
- aarch64
|
||||
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
|
||||
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?
|
||||
backup_exclude:
|
||||
- '*/*/'
|
||||
init: false
|
||||
startup: services
|
||||
name: ESPHome
|
||||
version: 2024.5.0
|
||||
slug: esphome
|
||||
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
|
||||
image: ghcr.io/esphome/esphome-hassio
|
||||
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: 12 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)
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "ESPHome Home Assistant Add-Ons",
|
||||
"url": "https://github.com/esphome/hassio",
|
||||
"name": "ESPHome",
|
||||
"url": "https://esphome.io",
|
||||
"maintainer": "ESPHome <esphome@nabucasa.com>"
|
||||
}
|
||||
|
||||
@@ -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,57 +1,54 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
from enum import Enum
|
||||
import json
|
||||
from shutil import copyfile
|
||||
import sys
|
||||
import os
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
class Channel(Enum):
|
||||
stable = 'stable'
|
||||
beta = 'beta'
|
||||
dev = 'dev'
|
||||
stable = "stable"
|
||||
beta = "beta"
|
||||
dev = "dev"
|
||||
|
||||
|
||||
def main(args):
|
||||
parser = argparse.ArgumentParser(description='Generate ESPHome Home Assistant config.json')
|
||||
parser.add_argument('channels', nargs='+', type=Channel, choices=list(Channel))
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Generate ESPHome Home Assistant config.json"
|
||||
)
|
||||
parser.add_argument("channels", nargs="+", type=Channel, choices=list(Channel))
|
||||
args = parser.parse_args(args)
|
||||
|
||||
root = Path(__file__).parent.parent
|
||||
templ = root / 'template'
|
||||
templ = root / "template"
|
||||
|
||||
with open(templ / "addon_config.yaml", 'r') as f:
|
||||
with open(templ / "addon_config.yaml", "r", encoding="utf-8") as f:
|
||||
config = yaml.safe_load(f)
|
||||
|
||||
copyf = config['copy_files']
|
||||
copyf = config["copy_files"]
|
||||
|
||||
for channel in args.channels:
|
||||
conf = config[f'esphome-{channel.value}']
|
||||
base_image = conf.pop('base_image')
|
||||
dir_ = root / conf.pop('directory')
|
||||
path = dir_ / 'config.json'
|
||||
with open(path, 'w') as f:
|
||||
json.dump(conf, f, indent=2, sort_keys=True)
|
||||
conf = config[f"esphome-{channel.value}"]
|
||||
dir_ = root / conf.pop("directory")
|
||||
path = dir_ / "config.yaml"
|
||||
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():
|
||||
copyfile(templ / file_, dir_ / file_)
|
||||
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:
|
||||
path = dir_ / "FILES ARE GENERATED DO NOT EDIT"
|
||||
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.json'
|
||||
build_conf = {
|
||||
"build_from": {arch: base_image.format(arch=arch) for arch in conf['arch']}
|
||||
}
|
||||
with open(path, 'w') as f:
|
||||
json.dump(build_conf, f, indent=2, sort_keys=True)
|
||||
|
||||
print(f"Wrote {path}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
|
||||
@@ -1 +1 @@
|
||||
PyYAML==5.4
|
||||
PyYAML==6.0
|
||||
|
||||
@@ -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.
|
||||
@@ -51,15 +50,6 @@ The private key file to use for SSL. If this file doesn't exist, the add-on star
|
||||
Adding this option to the add-on configuration allows you to disable
|
||||
authentication by setting it to `true`.
|
||||
|
||||
### Option: `esphome_version`
|
||||
|
||||
Manually override which ESPHome version to use in the add-on.
|
||||
For example to install the latest development version, use `"esphome_version": "dev"`,
|
||||
or for version 1.14.0: `"esphome_version": "v1.14.0""`.
|
||||
|
||||
Please note that this does not always work and is only meant for testing, usually the
|
||||
ESPHome add-on and dashboard version must match to guarantee a working system.
|
||||
|
||||
### Option: `relative_url`
|
||||
|
||||
Host the ESPHome dashboard under a relative URL, so that it can be integrated
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
---
|
||||
# When changing options in this file, please also run:
|
||||
# python3 script/generate.py dev
|
||||
# python3 script/generate.py dev
|
||||
# to update the dev addon config (beta/stable configs will be updated on next release by release script)
|
||||
base: &base
|
||||
url: https://esphome.io/
|
||||
@@ -16,64 +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?
|
||||
esphome_version: str?
|
||||
streamer_mode: bool?
|
||||
relative_url: str?
|
||||
status_use_ping: bool?
|
||||
snapshot_exclude:
|
||||
backup_exclude:
|
||||
- "*/*/"
|
||||
base_image: esphome/esphome-hassio-base-{arch}:3.1.0
|
||||
# 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.6.0-dev20240515" # 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?
|
||||
options:
|
||||
esphome_version: dev
|
||||
home_assistant_dashboard_integration: false
|
||||
|
||||
esphome-beta:
|
||||
<<: *base
|
||||
directory: esphome-beta
|
||||
name: ESPHome (beta)
|
||||
version: '1.20.0b3' # BETA
|
||||
version: "2024.5.0" # BETA
|
||||
slug: esphome-beta
|
||||
description: "Beta version of ESPHome add-on"
|
||||
url: https://beta.esphome.io/
|
||||
image: 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: '1.19.4' # STABLE
|
||||
version: "2024.5.0" # STABLE
|
||||
slug: esphome
|
||||
description: "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices"
|
||||
image: 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/
|
||||
73
template/dev/DOCS.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# ESPHome DEV add on
|
||||
|
||||
This is **development** version of the ESPHome add on.
|
||||
|
||||
To deploy production nodes please use mainstream release add on.
|
||||
|
||||
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._
|
||||
|
||||
### 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.
|
||||
|
||||
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**.
|
||||
|
||||
|
||||
## General ESPHome add on configurations
|
||||
|
||||
General options also available in other versions.
|
||||
|
||||
### Option: `ssl`
|
||||
|
||||
Enables or disables encrypted SSL/TLS (HTTPS) connections to the web server of this add-on.
|
||||
Set it to `true` to encrypt communications, `false` otherwise.
|
||||
Please note that if you set this to `true` you must also generate the key and certificate
|
||||
files for encryption. For example using [Let's Encrypt](https://www.home-assistant.io/addons/lets_encrypt/)
|
||||
or [Self-signed certificates](https://www.home-assistant.io/docs/ecosystem/certificates/tls_self_signed_certificate/).
|
||||
|
||||
### Option: `certfile`
|
||||
|
||||
The certificate file to use for SSL. If this file doesn't exist, the add-on start will fail.
|
||||
|
||||
**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant
|
||||
|
||||
### Option: `keyfile`
|
||||
|
||||
The private key file to use for SSL. If this file doesn't exist, the add-on start will fail.
|
||||
|
||||
**Note**: The file MUST be stored in `/ssl/`, which is the default for Home Assistant
|
||||
|
||||
### Option: `leave_front_door_open`
|
||||
|
||||
Adding this option to the add-on configuration allows you to disable
|
||||
authentication by setting it to `true`.
|
||||
|
||||
### Option: `relative_url`
|
||||
|
||||
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 `/`.
|
||||
|
||||
### Option: `status_use_ping`
|
||||
|
||||
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.
|
||||
|
||||
Setting this to `true` will make ESPHome use ICMP ping requests to get the node status. Use this if all nodes always have offline status even when they're connected.
|
||||
|
||||
### Option: `streamer_mode`
|
||||
|
||||
If set to `true`, this will enable 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. Please note that you need to use
|
||||
the `!secret` tag in your YAML file to also prevent these from showing up
|
||||
while editing and validating.
|
||||
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/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: 12 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)
|
||||