mirror of
https://github.com/boneIO-eu/esphome.git
synced 2026-04-17 13:10:27 +02:00
Compare commits
3 Commits
v2026.1.5
...
esphome-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20bece5e5e | ||
|
|
ad67951090 | ||
|
|
82ec7c0b09 |
14
.github/instructions/esphome-release.instructions.md
vendored
Normal file
14
.github/instructions/esphome-release.instructions.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
description: "Use when updating ESPHome versions, firmware GitHub Actions, release tags, validation flows, or package refs in the esphome repository. Covers how to bump to a new ESPHome release, validate configs, and prepare a release tag."
|
||||||
|
---
|
||||||
|
# ESPHome Release Update Workflow
|
||||||
|
|
||||||
|
- Keep one target ESPHome version across all release-related files. At minimum update `.github/workflows/build-firmware.yml`, `.github/workflows/validate-firmware.yml`, and `create_firmware.py`.
|
||||||
|
- Never leave the build workflow on `version: latest`. Resolve the version once and pass the exact version into every build step.
|
||||||
|
- Before editing YAML packages, validate all top-level `boneio-*.yaml` configs against the target image with Docker:
|
||||||
|
`docker run --rm -v "$PWD":/config ghcr.io/esphome/esphome:<version> config <file>`
|
||||||
|
- Treat successful validation of all top-level configs as the release gate for ESPHome bumps.
|
||||||
|
- Preserve the existing release tag format: `esphome-<esphome_version>-<build>`, for example `esphome-2026.4.0-b1`.
|
||||||
|
- Keep GitHub Release notes explicit: mention the pinned ESPHome version, firmware bundle version, and the GitHub Pages catalog URL.
|
||||||
|
- Do not modify generated `.esphome/` outputs as part of the version bump unless the task explicitly asks for committed build artifacts.
|
||||||
|
- If a config fails on the new ESPHome version, fix the root YAML or shared package in `packages/` instead of weakening validation.
|
||||||
117
.github/workflows/build-firmware.yml
vendored
117
.github/workflows/build-firmware.yml
vendored
@@ -1,18 +1,56 @@
|
|||||||
name: Build ESPHome Firmware
|
name: Build ESPHome Firmware
|
||||||
|
|
||||||
|
env:
|
||||||
|
DEFAULT_ESPHOME_VERSION: "2026.4.0"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "v*"
|
- "esphome-*"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
version:
|
esphome_version:
|
||||||
description: "Version tag (e.g., 2026.1.5)"
|
description: "ESPHome version (e.g., 2026.4.0)"
|
||||||
required: true
|
required: true
|
||||||
default: "2026.1.5"
|
default: "2026.4.0"
|
||||||
|
build:
|
||||||
|
description: "Build number (e.g., b1)"
|
||||||
|
required: true
|
||||||
|
default: "b1"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
resolve-version:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
esphome_version: ${{ steps.version.outputs.esphome_version }}
|
||||||
|
build: ${{ steps.version.outputs.build }}
|
||||||
|
full_version: ${{ steps.version.outputs.full_version }}
|
||||||
|
release_tag: ${{ steps.version.outputs.release_tag }}
|
||||||
|
steps:
|
||||||
|
- name: Resolve release version
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
||||||
|
ESPHOME_VER="${{ github.event.inputs.esphome_version }}"
|
||||||
|
BUILD="${{ github.event.inputs.build }}"
|
||||||
|
else
|
||||||
|
TAG="${GITHUB_REF#refs/tags/esphome-}"
|
||||||
|
ESPHOME_VER=$(echo "$TAG" | sed 's/-b[0-9]*$//')
|
||||||
|
BUILD=$(echo "$TAG" | grep -oP 'b\d+$' || echo 'b1')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$ESPHOME_VER" ]; then
|
||||||
|
ESPHOME_VER="${DEFAULT_ESPHOME_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "esphome_version=$ESPHOME_VER" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "build=$BUILD" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "full_version=${ESPHOME_VER}-${BUILD}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "release_tag=esphome-${ESPHOME_VER}-${BUILD}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "Version: $ESPHOME_VER, Build: $BUILD"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
needs: resolve-version
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -81,6 +119,13 @@ jobs:
|
|||||||
version_key: "v0.1"
|
version_key: "v0.1"
|
||||||
output_option: "Lights"
|
output_option: "Lights"
|
||||||
chip_family: "ESP32-S3"
|
chip_family: "ESP32-S3"
|
||||||
|
- yaml_file: boneio-8x10A_gen2_switches-v0_1.yaml
|
||||||
|
board_name: "boneIO ESP 8x10A gen2"
|
||||||
|
board_value: "8x10A"
|
||||||
|
version: "v0.1"
|
||||||
|
version_key: "v0.1"
|
||||||
|
output_option: "Switches"
|
||||||
|
chip_family: "ESP32-S3"
|
||||||
|
|
||||||
# 32x10 v0.7
|
# 32x10 v0.7
|
||||||
- yaml_file: boneio-32x10_lights_v0_7.yaml
|
- yaml_file: boneio-32x10_lights_v0_7.yaml
|
||||||
@@ -185,7 +230,7 @@ jobs:
|
|||||||
id: esphome-build
|
id: esphome-build
|
||||||
with:
|
with:
|
||||||
yaml-file: ${{ matrix.yaml_file }}
|
yaml-file: ${{ matrix.yaml_file }}
|
||||||
version: latest
|
version: ${{ needs.resolve-version.outputs.esphome_version }}
|
||||||
complete-manifest: true
|
complete-manifest: true
|
||||||
|
|
||||||
- name: Save build metadata
|
- name: Save build metadata
|
||||||
@@ -200,7 +245,8 @@ jobs:
|
|||||||
"version": "${{ matrix.version }}",
|
"version": "${{ matrix.version }}",
|
||||||
"version_key": "${{ matrix.version_key }}",
|
"version_key": "${{ matrix.version_key }}",
|
||||||
"output_option": "${{ matrix.output_option }}",
|
"output_option": "${{ matrix.output_option }}",
|
||||||
"chip_family": "${{ matrix.chip_family }}"
|
"chip_family": "${{ matrix.chip_family }}",
|
||||||
|
"esphome_version": "${{ needs.resolve-version.outputs.esphome_version }}"
|
||||||
}
|
}
|
||||||
METADATA_EOF
|
METADATA_EOF
|
||||||
|
|
||||||
@@ -217,7 +263,9 @@ jobs:
|
|||||||
path: metadata/
|
path: metadata/
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
needs: build
|
needs:
|
||||||
|
- resolve-version
|
||||||
|
- build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -239,19 +287,10 @@ jobs:
|
|||||||
pattern: metadata-*
|
pattern: metadata-*
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
|
|
||||||
- name: Get version
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
|
|
||||||
echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Prepare GitHub Pages content
|
- name: Prepare GitHub Pages content
|
||||||
run: |
|
run: |
|
||||||
mkdir -p gh-pages/firmware gh-pages/manifests release
|
mkdir -p gh-pages/firmware gh-pages/manifests release
|
||||||
export VERSION="${{ steps.version.outputs.version }}"
|
export VERSION="${{ needs.resolve-version.outputs.full_version }}"
|
||||||
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||||
export GITHUB_PAGES_URL="https://boneio-eu.github.io/esphome"
|
export GITHUB_PAGES_URL="https://boneio-eu.github.io/esphome"
|
||||||
|
|
||||||
@@ -417,6 +456,44 @@ jobs:
|
|||||||
</html>
|
</html>
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
- name: Generate release notes
|
||||||
|
run: |
|
||||||
|
python3 << 'PYTHON_EOF' > release-notes.md
|
||||||
|
import json
|
||||||
|
import glob
|
||||||
|
|
||||||
|
metadata_files = sorted(glob.glob("metadata/*.json"))
|
||||||
|
builds = []
|
||||||
|
for path in metadata_files:
|
||||||
|
with open(path) as handle:
|
||||||
|
builds.append(json.load(handle))
|
||||||
|
|
||||||
|
esphome_version = "${{ needs.resolve-version.outputs.esphome_version }}"
|
||||||
|
build_number = "${{ needs.resolve-version.outputs.build }}"
|
||||||
|
full_version = "${{ needs.resolve-version.outputs.full_version }}"
|
||||||
|
|
||||||
|
board_lines = []
|
||||||
|
seen = set()
|
||||||
|
for build in builds:
|
||||||
|
label = f'- {build["board_name"]} {build["version"]} / {build["output_option"] or "Standard"} ({build["chip_family"]})'
|
||||||
|
if label not in seen:
|
||||||
|
seen.add(label)
|
||||||
|
board_lines.append(label)
|
||||||
|
|
||||||
|
print(f"# ESPHome {esphome_version} ({build_number})")
|
||||||
|
print()
|
||||||
|
print("## Build summary")
|
||||||
|
print()
|
||||||
|
print(f"- ESPHome version: `{esphome_version}`")
|
||||||
|
print(f"- Firmware bundle version: `{full_version}`")
|
||||||
|
print(f"- Firmware variants built: `{len(builds)}`")
|
||||||
|
print("- GitHub Pages catalog: `https://boneio-eu.github.io/esphome/firmware-catalog.json`")
|
||||||
|
print()
|
||||||
|
print("## Included firmware variants")
|
||||||
|
print()
|
||||||
|
print("\n".join(board_lines))
|
||||||
|
PYTHON_EOF
|
||||||
|
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
uses: peaceiris/actions-gh-pages@v4
|
uses: peaceiris/actions-gh-pages@v4
|
||||||
with:
|
with:
|
||||||
@@ -425,9 +502,9 @@ jobs:
|
|||||||
force_orphan: true
|
force_orphan: true
|
||||||
|
|
||||||
- name: Create GitHub Release
|
- name: Create GitHub Release
|
||||||
|
if: github.event_name == 'push'
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ steps.version.outputs.version }}
|
name: "Firmware ${{ needs.resolve-version.outputs.esphome_version }} (${{ needs.resolve-version.outputs.build }})"
|
||||||
name: Firmware v${{ steps.version.outputs.version }}
|
body_path: release-notes.md
|
||||||
files: release/*
|
files: release/*
|
||||||
generate_release_notes: true
|
|
||||||
|
|||||||
26
.github/workflows/validate-firmware.yml
vendored
26
.github/workflows/validate-firmware.yml
vendored
@@ -1,15 +1,20 @@
|
|||||||
name: Validate ESPHome Configs
|
name: Validate ESPHome Configs
|
||||||
|
|
||||||
|
env:
|
||||||
|
ESPHOME_VERSION: "2026.4.0"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- "boneio-*.yaml"
|
- "boneio-*.yaml"
|
||||||
- "packages/**"
|
- "packages/**"
|
||||||
|
- ".github/workflows/validate-firmware.yml"
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- "boneio-*.yaml"
|
- "boneio-*.yaml"
|
||||||
- "packages/**"
|
- "packages/**"
|
||||||
|
- ".github/workflows/validate-firmware.yml"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
validate-urls:
|
validate-urls:
|
||||||
@@ -24,14 +29,12 @@ jobs:
|
|||||||
for FILE in boneio-*.yaml; do
|
for FILE in boneio-*.yaml; do
|
||||||
BASENAME=$(basename "$FILE")
|
BASENAME=$(basename "$FILE")
|
||||||
|
|
||||||
# Check package_import_url
|
URL=$(grep 'package_import_url:' "$FILE" 2>/dev/null | awk '{print $2}' | sed "s/['\"]//g")
|
||||||
URL=$(grep 'package_import_url:' "$FILE" 2>/dev/null | awk '{print $2}' | tr -d "'\"")
|
|
||||||
if [ -z "$URL" ]; then
|
if [ -z "$URL" ]; then
|
||||||
echo "::warning::No package_import_url found in $FILE"
|
echo "::warning::No package_import_url found in $FILE"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extract filename from URL (format: github://org/repo/path/file.yaml@ref)
|
|
||||||
URL_FILE=$(echo "$URL" | sed 's|.*esphome/||' | sed 's|@.*||')
|
URL_FILE=$(echo "$URL" | sed 's|.*esphome/||' | sed 's|@.*||')
|
||||||
|
|
||||||
if [ "$URL_FILE" != "$BASENAME" ]; then
|
if [ "$URL_FILE" != "$BASENAME" ]; then
|
||||||
@@ -39,7 +42,6 @@ jobs:
|
|||||||
ERRORS=$((ERRORS + 1))
|
ERRORS=$((ERRORS + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for double extensions
|
|
||||||
if echo "$URL" | grep -q '\.yaml\.yaml'; then
|
if echo "$URL" | grep -q '\.yaml\.yaml'; then
|
||||||
echo "::error file=$FILE::Double .yaml.yaml extension in package_import_url"
|
echo "::error file=$FILE::Double .yaml.yaml extension in package_import_url"
|
||||||
ERRORS=$((ERRORS + 1))
|
ERRORS=$((ERRORS + 1))
|
||||||
@@ -52,3 +54,19 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "All package_import_url checks passed!"
|
echo "All package_import_url checks passed!"
|
||||||
|
|
||||||
|
validate-configs:
|
||||||
|
name: Validate configs on ESPHome 2026.4.0
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Validate top-level firmware configs
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
docker pull "ghcr.io/esphome/esphome:${ESPHOME_VERSION}"
|
||||||
|
|
||||||
|
for FILE in boneio-*.yaml; do
|
||||||
|
echo "Validating $FILE with ESPHome ${ESPHOME_VERSION}"
|
||||||
|
docker run --rm -v "$PWD":/config "ghcr.io/esphome/esphome:${ESPHOME_VERSION}" config "$FILE"
|
||||||
|
done
|
||||||
|
|||||||
@@ -6,7 +6,11 @@ Old instructions: Look for branch with yout input board version to download curr
|
|||||||
|
|
||||||
These are source codes for Esphome software installed on boneIO devices.
|
These are source codes for Esphome software installed on boneIO devices.
|
||||||
|
|
||||||
|
Current CI and release workflow is pinned to ESPHome 2026.4.0.
|
||||||
|
|
||||||
To install it via USB-C cable go to https://boneio.eu/esp and choose board you'd like to install.
|
To install it via USB-C cable go to https://boneio.eu/esp and choose board you'd like to install.
|
||||||
|
|
||||||
To install it through network, copy file you'd like to use from root directory and paste it in your esphome dashboard.
|
To install it through network, copy file you'd like to use from root directory and paste it in your esphome dashboard.
|
||||||
Set boneio name as visible
|
Set boneio name as visible
|
||||||
|
|
||||||
|
Firmware releases are created from tags in the format `esphome-<version>-<build>`, for example `esphome-2026.4.0-b1`.
|
||||||
|
|||||||
350
boneio-8x10A_gen2_lights-v0_1-sd.yaml
Normal file
350
boneio-8x10A_gen2_lights-v0_1-sd.yaml
Normal file
@@ -0,0 +1,350 @@
|
|||||||
|
substitutions:
|
||||||
|
name: boneio-8x10a-gen2-01
|
||||||
|
friendly_name: "boneIO ESP 8x10A Gen2"
|
||||||
|
serial_prefix: "esp8" #Don't change it.
|
||||||
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-8x10a-gen2-01.json"
|
||||||
|
esphome:
|
||||||
|
name: "${name}"
|
||||||
|
friendly_name: "${friendly_name}"
|
||||||
|
name_add_mac_suffix: true
|
||||||
|
project:
|
||||||
|
name: boneio.8x10a-gen2
|
||||||
|
version: "0.1"
|
||||||
|
on_boot:
|
||||||
|
priority: -100
|
||||||
|
then:
|
||||||
|
- delay: 5s
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
|
then:
|
||||||
|
- component.update: serial_no
|
||||||
|
- logger.log: "Serial No updated on boot"
|
||||||
|
else:
|
||||||
|
- logger.log: "Serial No component not found"
|
||||||
|
devices:
|
||||||
|
- id: main_device
|
||||||
|
name: "Main device"
|
||||||
|
- id: output_01
|
||||||
|
name: "OUT 01"
|
||||||
|
- id: output_02
|
||||||
|
name: "OUT 02"
|
||||||
|
- id: output_03
|
||||||
|
name: "OUT 03"
|
||||||
|
- id: output_04
|
||||||
|
name: "OUT 04"
|
||||||
|
- id: output_05
|
||||||
|
name: "OUT 05"
|
||||||
|
- id: output_06
|
||||||
|
name: "OUT 06"
|
||||||
|
- id: output_07
|
||||||
|
name: "OUT 07"
|
||||||
|
- id: output_08
|
||||||
|
name: "OUT 08"
|
||||||
|
- id: input_01
|
||||||
|
name: "IN 01"
|
||||||
|
- id: input_02
|
||||||
|
name: "IN 02"
|
||||||
|
- id: input_03
|
||||||
|
name: "IN 03"
|
||||||
|
- id: input_04
|
||||||
|
name: "IN 04"
|
||||||
|
- id: input_05
|
||||||
|
name: "IN 05"
|
||||||
|
- id: input_06
|
||||||
|
name: "IN 06"
|
||||||
|
- id: input_07
|
||||||
|
name: "IN 07"
|
||||||
|
- id: input_08
|
||||||
|
name: "IN 08"
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: esp32-s3-devkitc-1
|
||||||
|
framework:
|
||||||
|
type: esp-idf
|
||||||
|
|
||||||
|
ethernet:
|
||||||
|
id: eth
|
||||||
|
type: W5500
|
||||||
|
clk_pin: GPIO13
|
||||||
|
mosi_pin: GPIO39
|
||||||
|
miso_pin: GPIO38
|
||||||
|
cs_pin: GPIO12
|
||||||
|
interrupt_pin: GPIO2
|
||||||
|
reset_pin: GPIO1
|
||||||
|
clock_speed: 25MHz
|
||||||
|
|
||||||
|
i2c:
|
||||||
|
sda: GPIO10
|
||||||
|
scl: GPIO11
|
||||||
|
scan: True
|
||||||
|
frequency: 400kHz
|
||||||
|
|
||||||
|
output:
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO18
|
||||||
|
inverted: false
|
||||||
|
id: out_01
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO17
|
||||||
|
inverted: false
|
||||||
|
id: out_02
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO16
|
||||||
|
inverted: false
|
||||||
|
id: out_03
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO15
|
||||||
|
inverted: false
|
||||||
|
id: out_04
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO7
|
||||||
|
inverted: false
|
||||||
|
id: out_05
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO6
|
||||||
|
inverted: false
|
||||||
|
id: out_06
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO5
|
||||||
|
inverted: false
|
||||||
|
id: out_07
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO4
|
||||||
|
inverted: false
|
||||||
|
id: out_08
|
||||||
|
|
||||||
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
|
uart:
|
||||||
|
id: boneio_uart
|
||||||
|
rx_pin: GPIO21
|
||||||
|
tx_pin: GPIO14
|
||||||
|
baud_rate: 9600
|
||||||
|
stop_bits: 1
|
||||||
|
modbus:
|
||||||
|
send_wait_time: 80ms
|
||||||
|
uart_id: boneio_uart
|
||||||
|
id: boneio_modbus
|
||||||
|
|
||||||
|
packages:
|
||||||
|
internals_packages:
|
||||||
|
url: https://github.com/boneIO-eu/esphome
|
||||||
|
ref: packages-v2.0.0
|
||||||
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
|
# boneiopackages:
|
||||||
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
|
# ref: main
|
||||||
|
# refresh: 1min
|
||||||
|
# files:
|
||||||
|
# - path: sdm630.yaml
|
||||||
|
|
||||||
|
dashboard_import:
|
||||||
|
package_import_url: github://boneIO-eu/esphome/boneio-8x10A_gen2_lights-v0_1-sd.yaml@latest
|
||||||
|
import_full_config: true
|
||||||
|
|
||||||
|
pcf8574:
|
||||||
|
- id: "pcf_inputs"
|
||||||
|
address: 0x38
|
||||||
|
|
||||||
|
logger:
|
||||||
|
hardware_uart: UART0
|
||||||
|
api:
|
||||||
|
reboot_timeout: 0s
|
||||||
|
ota:
|
||||||
|
- platform: esphome
|
||||||
|
- platform: web_server
|
||||||
|
|
||||||
|
web_server:
|
||||||
|
port: 80
|
||||||
|
version: 3
|
||||||
|
local: true
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: binary
|
||||||
|
output: out_01
|
||||||
|
name: None
|
||||||
|
device_id: output_01
|
||||||
|
id: light_01
|
||||||
|
- platform: binary
|
||||||
|
output: out_02
|
||||||
|
name: "OUT 02A"
|
||||||
|
device_id: output_02
|
||||||
|
id: light_02a
|
||||||
|
- platform: binary
|
||||||
|
output: out_03
|
||||||
|
name: None
|
||||||
|
device_id: output_03
|
||||||
|
id: light_03
|
||||||
|
- platform: binary
|
||||||
|
output: out_04
|
||||||
|
name: None
|
||||||
|
device_id: output_04
|
||||||
|
id: light_04
|
||||||
|
- platform: binary
|
||||||
|
output: out_05
|
||||||
|
name: None
|
||||||
|
device_id: output_05
|
||||||
|
id: light_05
|
||||||
|
- platform: binary
|
||||||
|
output: out_06
|
||||||
|
name: None
|
||||||
|
device_id: output_06
|
||||||
|
id: light_06
|
||||||
|
- platform: binary
|
||||||
|
output: out_07
|
||||||
|
name: None
|
||||||
|
device_id: output_07
|
||||||
|
id: light_07
|
||||||
|
- platform: binary
|
||||||
|
output: out_08
|
||||||
|
name: None
|
||||||
|
device_id: output_08
|
||||||
|
id: light_08
|
||||||
|
|
||||||
|
debug:
|
||||||
|
update_interval: 15s
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: lm75b
|
||||||
|
id: boneIO_temp
|
||||||
|
name: "Temperature"
|
||||||
|
update_interval: 30s
|
||||||
|
entity_category: diagnostic
|
||||||
|
on_value_range:
|
||||||
|
- above: 70.0
|
||||||
|
then:
|
||||||
|
- switch.turn_on: buzzer
|
||||||
|
- below: 70.0
|
||||||
|
then:
|
||||||
|
- switch.turn_off: buzzer
|
||||||
|
|
||||||
|
switch:
|
||||||
|
- platform: gpio
|
||||||
|
id: buzzer
|
||||||
|
name: "Buzzer"
|
||||||
|
pin:
|
||||||
|
number: GPIO9
|
||||||
|
mode:
|
||||||
|
output: true
|
||||||
|
inverted: false
|
||||||
|
- platform: gpio
|
||||||
|
id: can_bus_switch
|
||||||
|
name: "CAN Bus Switch"
|
||||||
|
pin:
|
||||||
|
number: GPIO35
|
||||||
|
mode:
|
||||||
|
output: true
|
||||||
|
inverted: false
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_01
|
||||||
|
id: in_01
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 0
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_01
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_02
|
||||||
|
id: in_02
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 1
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_02a
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_03
|
||||||
|
id: in_03
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 2
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_03
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_04
|
||||||
|
id: in_04
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 3
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_04
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_05
|
||||||
|
id: in_05
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 4
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_05
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_06
|
||||||
|
id: in_06
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 5
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_06
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_07
|
||||||
|
id: in_07
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 6
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_07
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: None
|
||||||
|
device_id: input_08
|
||||||
|
id: in_08
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 7
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- light.toggle: light_08
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
substitutions:
|
substitutions:
|
||||||
name: boneio-8x10a-gen2-01
|
name: boneio-8x10a-gen2-01
|
||||||
friendly_name: 'boneIO ESP 8x10A Gen2'
|
friendly_name: "boneIO ESP 8x10A Gen2"
|
||||||
serial_prefix: 'esp8' #Don't change it.
|
serial_prefix: "esp8" #Don't change it.
|
||||||
firmware_manifest: 'https://boneio.eu/fwesp/boneio-8x10a-gen2-01.json'
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-8x10a-gen2-01.json"
|
||||||
esphome:
|
esphome:
|
||||||
name: '${name}'
|
name: "${name}"
|
||||||
friendly_name: '${friendly_name}'
|
friendly_name: "${friendly_name}"
|
||||||
name_add_mac_suffix: true
|
name_add_mac_suffix: true
|
||||||
project:
|
project:
|
||||||
name: boneio.8x10a-gen2
|
name: boneio.8x10a-gen2
|
||||||
version: '0.1'
|
version: "0.1"
|
||||||
on_boot:
|
on_boot:
|
||||||
priority: -100
|
priority: -100
|
||||||
then:
|
then:
|
||||||
- delay: 5s
|
- delay: 5s
|
||||||
- if:
|
- if:
|
||||||
condition:
|
condition:
|
||||||
lambda: 'return id(serial_no) != nullptr;'
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
then:
|
then:
|
||||||
- component.update: serial_no
|
- component.update: serial_no
|
||||||
- logger.log: "Serial No updated on boot"
|
- logger.log: "Serial No updated on boot"
|
||||||
@@ -25,7 +25,7 @@ esphome:
|
|||||||
|
|
||||||
esp32:
|
esp32:
|
||||||
board: esp32-s3-devkitc-1
|
board: esp32-s3-devkitc-1
|
||||||
framework:
|
framework:
|
||||||
type: esp-idf
|
type: esp-idf
|
||||||
|
|
||||||
ethernet:
|
ethernet:
|
||||||
@@ -45,8 +45,6 @@ i2c:
|
|||||||
scan: True
|
scan: True
|
||||||
frequency: 400kHz
|
frequency: 400kHz
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin: GPIO18
|
pin: GPIO18
|
||||||
@@ -82,26 +80,23 @@ output:
|
|||||||
inverted: false
|
inverted: false
|
||||||
id: out_08
|
id: out_08
|
||||||
|
|
||||||
|
|
||||||
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
# uart:
|
uart:
|
||||||
# id: boneio_uart
|
id: boneio_uart
|
||||||
# rx_pin: GPIO21
|
rx_pin: GPIO21
|
||||||
# tx_pin: GPIO14
|
tx_pin: GPIO14
|
||||||
# baud_rate: 9600
|
baud_rate: 9600
|
||||||
# stop_bits: 1
|
stop_bits: 1
|
||||||
# modbus:
|
modbus:
|
||||||
# send_wait_time: 80ms
|
send_wait_time: 80ms
|
||||||
# uart_id: boneio_uart
|
uart_id: boneio_uart
|
||||||
# id: boneio_modbus
|
id: boneio_modbus
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
internals_packages:
|
internals_packages:
|
||||||
url: https://github.com/boneIO-eu/esphome
|
url: https://github.com/boneIO-eu/esphome
|
||||||
ref: packages-v2.0.0
|
ref: packages-v2.0.0
|
||||||
files: [
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
'packages/devices/serial_no.yaml',
|
|
||||||
]
|
|
||||||
# boneiopackages:
|
# boneiopackages:
|
||||||
# url: https://github.com/boneIO-eu/esphome_packages
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
# ref: main
|
# ref: main
|
||||||
@@ -114,7 +109,7 @@ dashboard_import:
|
|||||||
import_full_config: true
|
import_full_config: true
|
||||||
|
|
||||||
pcf8574:
|
pcf8574:
|
||||||
- id: 'pcf_inputs'
|
- id: "pcf_inputs"
|
||||||
address: 0x38
|
address: 0x38
|
||||||
|
|
||||||
logger:
|
logger:
|
||||||
@@ -130,39 +125,38 @@ web_server:
|
|||||||
version: 3
|
version: 3
|
||||||
local: true
|
local: true
|
||||||
|
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_01
|
output: out_01
|
||||||
name: 'OUT 01'
|
name: "OUT 01"
|
||||||
id: light_01
|
id: light_01
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_02
|
output: out_02
|
||||||
name: 'OUT 02'
|
name: "OUT 02"
|
||||||
id: light_02
|
id: light_02
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_03
|
output: out_03
|
||||||
name: 'OUT 03'
|
name: "OUT 03"
|
||||||
id: light_03
|
id: light_03
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_04
|
output: out_04
|
||||||
name: 'OUT 04'
|
name: "OUT 04"
|
||||||
id: light_04
|
id: light_04
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_05
|
output: out_05
|
||||||
name: 'OUT 05'
|
name: "OUT 05"
|
||||||
id: light_05
|
id: light_05
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_06
|
output: out_06
|
||||||
name: 'OUT 06'
|
name: "OUT 06"
|
||||||
id: light_06
|
id: light_06
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_07
|
output: out_07
|
||||||
name: 'OUT 07'
|
name: "OUT 07"
|
||||||
id: light_07
|
id: light_07
|
||||||
- platform: binary
|
- platform: binary
|
||||||
output: out_08
|
output: out_08
|
||||||
name: 'OUT 08'
|
name: "OUT 08"
|
||||||
id: light_08
|
id: light_08
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
@@ -171,7 +165,7 @@ debug:
|
|||||||
sensor:
|
sensor:
|
||||||
- platform: lm75b
|
- platform: lm75b
|
||||||
id: boneIO_temp
|
id: boneIO_temp
|
||||||
name: 'Temperature'
|
name: "Temperature"
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
on_value_range:
|
on_value_range:
|
||||||
@@ -185,7 +179,7 @@ sensor:
|
|||||||
switch:
|
switch:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: buzzer
|
id: buzzer
|
||||||
name: 'Buzzer'
|
name: "Buzzer"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode:
|
mode:
|
||||||
@@ -193,7 +187,7 @@ switch:
|
|||||||
inverted: false
|
inverted: false
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: can_bus_switch
|
id: can_bus_switch
|
||||||
name: 'CAN Bus Switch'
|
name: "CAN Bus Switch"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO35
|
number: GPIO35
|
||||||
mode:
|
mode:
|
||||||
@@ -202,7 +196,7 @@ switch:
|
|||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_01'
|
name: "IN_01"
|
||||||
id: in_01
|
id: in_01
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -215,7 +209,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_01
|
- light.toggle: light_01
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_02'
|
name: "IN_02"
|
||||||
id: in_02
|
id: in_02
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -228,7 +222,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_02
|
- light.toggle: light_02
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_03'
|
name: "IN_03"
|
||||||
id: in_03
|
id: in_03
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -241,7 +235,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_03
|
- light.toggle: light_03
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_04'
|
name: "IN_04"
|
||||||
id: in_04
|
id: in_04
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -254,7 +248,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_04
|
- light.toggle: light_04
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_05'
|
name: "IN_05"
|
||||||
id: in_05
|
id: in_05
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -267,7 +261,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_05
|
- light.toggle: light_05
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_06'
|
name: "IN_06"
|
||||||
id: in_06
|
id: in_06
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -280,7 +274,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_06
|
- light.toggle: light_06
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_07'
|
name: "IN_07"
|
||||||
id: in_07
|
id: in_07
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -293,7 +287,7 @@ binary_sensor:
|
|||||||
- light.toggle: light_07
|
- light.toggle: light_07
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_08'
|
name: "IN_08"
|
||||||
id: in_08
|
id: in_08
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -303,4 +297,4 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
- light.toggle: light_08
|
- light.toggle: light_08
|
||||||
|
|||||||
298
boneio-8x10A_gen2_switches-v0_1.yaml
Normal file
298
boneio-8x10A_gen2_switches-v0_1.yaml
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
substitutions:
|
||||||
|
name: boneio-8x10a-gen2-sw-01
|
||||||
|
friendly_name: "boneIO ESP 8x10A Gen2"
|
||||||
|
serial_prefix: "esp8" #Don't change it.
|
||||||
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-8x10a-gen2-sw-01.json"
|
||||||
|
esphome:
|
||||||
|
name: "${name}"
|
||||||
|
friendly_name: "${friendly_name}"
|
||||||
|
name_add_mac_suffix: true
|
||||||
|
project:
|
||||||
|
name: boneio.8x10a-gen2
|
||||||
|
version: "0.1"
|
||||||
|
on_boot:
|
||||||
|
priority: -100
|
||||||
|
then:
|
||||||
|
- delay: 5s
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
|
then:
|
||||||
|
- component.update: serial_no
|
||||||
|
- logger.log: "Serial No updated on boot"
|
||||||
|
else:
|
||||||
|
- logger.log: "Serial No component not found"
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: esp32-s3-devkitc-1
|
||||||
|
framework:
|
||||||
|
type: esp-idf
|
||||||
|
|
||||||
|
ethernet:
|
||||||
|
id: eth
|
||||||
|
type: W5500
|
||||||
|
clk_pin: GPIO13
|
||||||
|
mosi_pin: GPIO39
|
||||||
|
miso_pin: GPIO38
|
||||||
|
cs_pin: GPIO12
|
||||||
|
interrupt_pin: GPIO2
|
||||||
|
reset_pin: GPIO1
|
||||||
|
clock_speed: 25MHz
|
||||||
|
|
||||||
|
i2c:
|
||||||
|
sda: GPIO10
|
||||||
|
scl: GPIO11
|
||||||
|
scan: True
|
||||||
|
frequency: 400kHz
|
||||||
|
|
||||||
|
output:
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO18
|
||||||
|
inverted: false
|
||||||
|
id: out_01
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO17
|
||||||
|
inverted: false
|
||||||
|
id: out_02
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO16
|
||||||
|
inverted: false
|
||||||
|
id: out_03
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO15
|
||||||
|
inverted: false
|
||||||
|
id: out_04
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO7
|
||||||
|
inverted: false
|
||||||
|
id: out_05
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO6
|
||||||
|
inverted: false
|
||||||
|
id: out_06
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO5
|
||||||
|
inverted: false
|
||||||
|
id: out_07
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO4
|
||||||
|
inverted: false
|
||||||
|
id: out_08
|
||||||
|
|
||||||
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
|
uart:
|
||||||
|
id: boneio_uart
|
||||||
|
rx_pin: GPIO21
|
||||||
|
tx_pin: GPIO14
|
||||||
|
baud_rate: 9600
|
||||||
|
stop_bits: 1
|
||||||
|
modbus:
|
||||||
|
send_wait_time: 80ms
|
||||||
|
uart_id: boneio_uart
|
||||||
|
id: boneio_modbus
|
||||||
|
|
||||||
|
packages:
|
||||||
|
internals_packages:
|
||||||
|
url: https://github.com/boneIO-eu/esphome
|
||||||
|
ref: packages-v2.0.0
|
||||||
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
|
# boneiopackages:
|
||||||
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
|
# ref: main
|
||||||
|
# refresh: 1min
|
||||||
|
# files:
|
||||||
|
# - path: sdm630.yaml
|
||||||
|
|
||||||
|
dashboard_import:
|
||||||
|
package_import_url: github://boneIO-eu/esphome/boneio-8x10A_gen2_switches-v0_1.yaml@latest
|
||||||
|
import_full_config: true
|
||||||
|
|
||||||
|
pcf8574:
|
||||||
|
- id: "pcf_inputs"
|
||||||
|
address: 0x38
|
||||||
|
|
||||||
|
logger:
|
||||||
|
hardware_uart: UART0
|
||||||
|
api:
|
||||||
|
reboot_timeout: 0s
|
||||||
|
ota:
|
||||||
|
- platform: esphome
|
||||||
|
- platform: web_server
|
||||||
|
|
||||||
|
web_server:
|
||||||
|
port: 80
|
||||||
|
version: 3
|
||||||
|
local: true
|
||||||
|
|
||||||
|
switch:
|
||||||
|
- platform: output
|
||||||
|
output: out_01
|
||||||
|
name: "OUT 01"
|
||||||
|
id: switch_01
|
||||||
|
- platform: output
|
||||||
|
output: out_02
|
||||||
|
name: "OUT 02"
|
||||||
|
id: switch_02
|
||||||
|
- platform: output
|
||||||
|
output: out_03
|
||||||
|
name: "OUT 03"
|
||||||
|
id: switch_03
|
||||||
|
- platform: output
|
||||||
|
output: out_04
|
||||||
|
name: "OUT 04"
|
||||||
|
id: switch_04
|
||||||
|
- platform: output
|
||||||
|
output: out_05
|
||||||
|
name: "OUT 05"
|
||||||
|
id: switch_05
|
||||||
|
- platform: output
|
||||||
|
output: out_06
|
||||||
|
name: "OUT 06"
|
||||||
|
id: switch_06
|
||||||
|
- platform: output
|
||||||
|
output: out_07
|
||||||
|
name: "OUT 07"
|
||||||
|
id: switch_07
|
||||||
|
- platform: output
|
||||||
|
output: out_08
|
||||||
|
name: "OUT 08"
|
||||||
|
id: switch_08
|
||||||
|
- platform: gpio
|
||||||
|
id: buzzer
|
||||||
|
name: "Buzzer"
|
||||||
|
pin:
|
||||||
|
number: GPIO9
|
||||||
|
mode:
|
||||||
|
output: true
|
||||||
|
inverted: false
|
||||||
|
- platform: gpio
|
||||||
|
id: can_bus_switch
|
||||||
|
name: "CAN Bus Switch"
|
||||||
|
pin:
|
||||||
|
number: GPIO35
|
||||||
|
mode:
|
||||||
|
output: true
|
||||||
|
inverted: false
|
||||||
|
|
||||||
|
debug:
|
||||||
|
update_interval: 15s
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: lm75b
|
||||||
|
id: boneIO_temp
|
||||||
|
name: "Temperature"
|
||||||
|
update_interval: 30s
|
||||||
|
entity_category: diagnostic
|
||||||
|
on_value_range:
|
||||||
|
- above: 70.0
|
||||||
|
then:
|
||||||
|
- switch.turn_on: buzzer
|
||||||
|
- below: 70.0
|
||||||
|
then:
|
||||||
|
- switch.turn_off: buzzer
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_01"
|
||||||
|
id: in_01
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 0
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_01
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_02"
|
||||||
|
id: in_02
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 1
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_02
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_03"
|
||||||
|
id: in_03
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 2
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_03
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_04"
|
||||||
|
id: in_04
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 3
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_04
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_05"
|
||||||
|
id: in_05
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 4
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_05
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_06"
|
||||||
|
id: in_06
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 5
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_06
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_07"
|
||||||
|
id: in_07
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 6
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_07
|
||||||
|
|
||||||
|
- platform: gpio
|
||||||
|
name: "IN_08"
|
||||||
|
id: in_08
|
||||||
|
pin:
|
||||||
|
pcf8574: pcf_inputs
|
||||||
|
number: 7
|
||||||
|
mode:
|
||||||
|
input: true
|
||||||
|
inverted: true
|
||||||
|
on_press:
|
||||||
|
then:
|
||||||
|
- switch.toggle: switch_08
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
substitutions:
|
substitutions:
|
||||||
name: boneio-dr-gen2-2rgbw-01
|
name: boneio-dr-gen2-2rgbw-01
|
||||||
friendly_name: 'BoneIO Dimmer Gen2'
|
friendly_name: "BoneIO Dimmer Gen2"
|
||||||
serial_prefix: 'dim2' #Don't change it.
|
serial_prefix: "dim2" #Don't change it.
|
||||||
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-2rgbw-01.json'
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-2rgbw-01.json"
|
||||||
esphome:
|
esphome:
|
||||||
name: '${name}'
|
name: "${name}"
|
||||||
friendly_name: '${friendly_name}'
|
friendly_name: "${friendly_name}"
|
||||||
name_add_mac_suffix: true
|
name_add_mac_suffix: true
|
||||||
project:
|
project:
|
||||||
name: boneio.dimmer-led-gen2
|
name: boneio.dimmer-led-gen2
|
||||||
version: '0.1'
|
version: "0.1"
|
||||||
on_boot:
|
on_boot:
|
||||||
priority: -100
|
priority: -100
|
||||||
then:
|
then:
|
||||||
- delay: 5s
|
- delay: 5s
|
||||||
- if:
|
- if:
|
||||||
condition:
|
condition:
|
||||||
lambda: 'return id(serial_no) != nullptr;'
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
then:
|
then:
|
||||||
- component.update: serial_no
|
- component.update: serial_no
|
||||||
- logger.log: "Serial No updated on boot"
|
- logger.log: "Serial No updated on boot"
|
||||||
@@ -25,7 +25,7 @@ esphome:
|
|||||||
|
|
||||||
esp32:
|
esp32:
|
||||||
board: esp32-s3-devkitc-1
|
board: esp32-s3-devkitc-1
|
||||||
framework:
|
framework:
|
||||||
type: esp-idf
|
type: esp-idf
|
||||||
|
|
||||||
ethernet:
|
ethernet:
|
||||||
@@ -45,8 +45,6 @@ i2c:
|
|||||||
scan: True
|
scan: True
|
||||||
frequency: 400kHz
|
frequency: 400kHz
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- platform: ledc
|
- platform: ledc
|
||||||
pin: GPIO18
|
pin: GPIO18
|
||||||
@@ -90,26 +88,23 @@ output:
|
|||||||
inverted: false
|
inverted: false
|
||||||
id: chr04
|
id: chr04
|
||||||
|
|
||||||
|
|
||||||
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
# uart:
|
uart:
|
||||||
# id: boneio_uart
|
id: boneio_uart
|
||||||
# rx_pin: GPIO21
|
rx_pin: GPIO21
|
||||||
# tx_pin: GPIO14
|
tx_pin: GPIO14
|
||||||
# baud_rate: 9600
|
baud_rate: 9600
|
||||||
# stop_bits: 1
|
stop_bits: 1
|
||||||
# modbus:
|
modbus:
|
||||||
# send_wait_time: 80ms
|
send_wait_time: 80ms
|
||||||
# uart_id: boneio_uart
|
uart_id: boneio_uart
|
||||||
# id: boneio_modbus
|
id: boneio_modbus
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
internals_packages:
|
internals_packages:
|
||||||
url: https://github.com/boneIO-eu/esphome
|
url: https://github.com/boneIO-eu/esphome
|
||||||
ref: packages-v2.0.0
|
ref: packages-v2.0.0
|
||||||
files: [
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
'packages/devices/serial_no.yaml',
|
|
||||||
]
|
|
||||||
# boneiopackages:
|
# boneiopackages:
|
||||||
# url: https://github.com/boneIO-eu/esphome_packages
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
# ref: main
|
# ref: main
|
||||||
@@ -122,7 +117,7 @@ dashboard_import:
|
|||||||
import_full_config: true
|
import_full_config: true
|
||||||
|
|
||||||
pcf8574:
|
pcf8574:
|
||||||
- id: 'pcf_inputs'
|
- id: "pcf_inputs"
|
||||||
address: 0x38
|
address: 0x38
|
||||||
|
|
||||||
logger:
|
logger:
|
||||||
@@ -138,11 +133,10 @@ web_server:
|
|||||||
version: 3
|
version: 3
|
||||||
local: true
|
local: true
|
||||||
|
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: rgbw
|
- platform: rgbw
|
||||||
id: rgbw_l
|
id: rgbw_l
|
||||||
name: 'RGBW L'
|
name: "RGBW L"
|
||||||
red: chl01
|
red: chl01
|
||||||
green: chl02
|
green: chl02
|
||||||
blue: chl03
|
blue: chl03
|
||||||
@@ -151,7 +145,7 @@ light:
|
|||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: rgbw
|
- platform: rgbw
|
||||||
id: rgbw_r
|
id: rgbw_r
|
||||||
name: 'RGBW R'
|
name: "RGBW R"
|
||||||
red: chr01
|
red: chr01
|
||||||
green: chr02
|
green: chr02
|
||||||
blue: chr03
|
blue: chr03
|
||||||
@@ -172,7 +166,7 @@ sensor:
|
|||||||
name: "Loop Time"
|
name: "Loop Time"
|
||||||
- platform: lm75b
|
- platform: lm75b
|
||||||
id: boneIO_temp
|
id: boneIO_temp
|
||||||
name: 'Temperature'
|
name: "Temperature"
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
on_value_range:
|
on_value_range:
|
||||||
@@ -186,7 +180,7 @@ sensor:
|
|||||||
switch:
|
switch:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: buzzer
|
id: buzzer
|
||||||
name: 'Buzzer'
|
name: "Buzzer"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode:
|
mode:
|
||||||
@@ -194,7 +188,7 @@ switch:
|
|||||||
inverted: false
|
inverted: false
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: can_bus_switch
|
id: can_bus_switch
|
||||||
name: 'CAN Bus Switch'
|
name: "CAN Bus Switch"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO35
|
number: GPIO35
|
||||||
mode:
|
mode:
|
||||||
@@ -203,7 +197,7 @@ switch:
|
|||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_01'
|
name: "IN_01"
|
||||||
id: in_01
|
id: in_01
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -213,7 +207,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_02'
|
name: "IN_02"
|
||||||
id: in_02
|
id: in_02
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -223,7 +217,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_03'
|
name: "IN_03"
|
||||||
id: in_03
|
id: in_03
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -233,7 +227,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_04'
|
name: "IN_04"
|
||||||
id: in_04
|
id: in_04
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -243,7 +237,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_05'
|
name: "IN_05"
|
||||||
id: in_05
|
id: in_05
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -253,7 +247,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_06'
|
name: "IN_06"
|
||||||
id: in_06
|
id: in_06
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -263,7 +257,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_07'
|
name: "IN_07"
|
||||||
id: in_07
|
id: in_07
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -273,11 +267,11 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_08'
|
name: "IN_08"
|
||||||
id: in_08
|
id: in_08
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
number: 7
|
number: 7
|
||||||
mode:
|
mode:
|
||||||
input: true
|
input: true
|
||||||
inverted: true
|
inverted: true
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
substitutions:
|
substitutions:
|
||||||
name: boneio-dr-gen2-4cct-01
|
name: boneio-dr-gen2-4cct-01
|
||||||
friendly_name: 'BoneIO Dimmer Gen2'
|
friendly_name: "BoneIO Dimmer Gen2"
|
||||||
serial_prefix: 'dim2' #Don't change it.
|
serial_prefix: "dim2" #Don't change it.
|
||||||
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-4cct-01.json'
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-4cct-01.json"
|
||||||
esphome:
|
esphome:
|
||||||
name: '${name}'
|
name: "${name}"
|
||||||
friendly_name: '${friendly_name}'
|
friendly_name: "${friendly_name}"
|
||||||
name_add_mac_suffix: true
|
name_add_mac_suffix: true
|
||||||
project:
|
project:
|
||||||
name: boneio.dimmer-led-gen2
|
name: boneio.dimmer-led-gen2
|
||||||
version: '0.1'
|
version: "0.1"
|
||||||
on_boot:
|
on_boot:
|
||||||
priority: -100
|
priority: -100
|
||||||
then:
|
then:
|
||||||
- delay: 5s
|
- delay: 5s
|
||||||
- if:
|
- if:
|
||||||
condition:
|
condition:
|
||||||
lambda: 'return id(serial_no) != nullptr;'
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
then:
|
then:
|
||||||
- component.update: serial_no
|
- component.update: serial_no
|
||||||
- logger.log: "Serial No updated on boot"
|
- logger.log: "Serial No updated on boot"
|
||||||
@@ -25,7 +25,7 @@ esphome:
|
|||||||
|
|
||||||
esp32:
|
esp32:
|
||||||
board: esp32-s3-devkitc-1
|
board: esp32-s3-devkitc-1
|
||||||
framework:
|
framework:
|
||||||
type: esp-idf
|
type: esp-idf
|
||||||
|
|
||||||
ethernet:
|
ethernet:
|
||||||
@@ -45,8 +45,6 @@ i2c:
|
|||||||
scan: True
|
scan: True
|
||||||
frequency: 400kHz
|
frequency: 400kHz
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- platform: ledc
|
- platform: ledc
|
||||||
pin: GPIO18
|
pin: GPIO18
|
||||||
@@ -90,26 +88,23 @@ output:
|
|||||||
inverted: false
|
inverted: false
|
||||||
id: chr04
|
id: chr04
|
||||||
|
|
||||||
|
|
||||||
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
# uart:
|
uart:
|
||||||
# id: boneio_uart
|
id: boneio_uart
|
||||||
# rx_pin: GPIO21
|
rx_pin: GPIO21
|
||||||
# tx_pin: GPIO14
|
tx_pin: GPIO14
|
||||||
# baud_rate: 9600
|
baud_rate: 9600
|
||||||
# stop_bits: 1
|
stop_bits: 1
|
||||||
# modbus:
|
modbus:
|
||||||
# send_wait_time: 80ms
|
send_wait_time: 80ms
|
||||||
# uart_id: boneio_uart
|
uart_id: boneio_uart
|
||||||
# id: boneio_modbus
|
id: boneio_modbus
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
internals_packages:
|
internals_packages:
|
||||||
url: https://github.com/boneIO-eu/esphome
|
url: https://github.com/boneIO-eu/esphome
|
||||||
ref: packages-v2.0.0
|
ref: packages-v2.0.0
|
||||||
files: [
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
'packages/devices/serial_no.yaml',
|
|
||||||
]
|
|
||||||
# boneiopackages:
|
# boneiopackages:
|
||||||
# url: https://github.com/boneIO-eu/esphome_packages
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
# ref: main
|
# ref: main
|
||||||
@@ -122,7 +117,7 @@ dashboard_import:
|
|||||||
import_full_config: true
|
import_full_config: true
|
||||||
|
|
||||||
pcf8574:
|
pcf8574:
|
||||||
- id: 'pcf_inputs'
|
- id: "pcf_inputs"
|
||||||
address: 0x38
|
address: 0x38
|
||||||
|
|
||||||
logger:
|
logger:
|
||||||
@@ -138,30 +133,29 @@ web_server:
|
|||||||
version: 3
|
version: 3
|
||||||
local: true
|
local: true
|
||||||
|
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: cwww
|
- platform: cwww
|
||||||
name: 'CHL_01_02'
|
name: "CHL_01_02"
|
||||||
cold_white: chl01
|
cold_white: chl01
|
||||||
warm_white: chl02
|
warm_white: chl02
|
||||||
cold_white_color_temperature: 6536 K
|
cold_white_color_temperature: 6536 K
|
||||||
warm_white_color_temperature: 2000 K
|
warm_white_color_temperature: 2000 K
|
||||||
- platform: cwww
|
- platform: cwww
|
||||||
name: 'CHL_03_04'
|
name: "CHL_03_04"
|
||||||
cold_white: chl03
|
cold_white: chl03
|
||||||
warm_white: chl04
|
warm_white: chl04
|
||||||
cold_white_color_temperature: 6536 K
|
cold_white_color_temperature: 6536 K
|
||||||
warm_white_color_temperature: 2000 K
|
warm_white_color_temperature: 2000 K
|
||||||
|
|
||||||
- platform: cwww
|
- platform: cwww
|
||||||
name: 'CHR_01_02'
|
name: "CHR_01_02"
|
||||||
cold_white: chr01
|
cold_white: chr01
|
||||||
warm_white: chr02
|
warm_white: chr02
|
||||||
cold_white_color_temperature: 6536 K
|
cold_white_color_temperature: 6536 K
|
||||||
warm_white_color_temperature: 2000 K
|
warm_white_color_temperature: 2000 K
|
||||||
|
|
||||||
- platform: cwww
|
- platform: cwww
|
||||||
name: 'CHR_03_04'
|
name: "CHR_03_04"
|
||||||
cold_white: chr03
|
cold_white: chr03
|
||||||
warm_white: chr04
|
warm_white: chr04
|
||||||
cold_white_color_temperature: 6536 K
|
cold_white_color_temperature: 6536 K
|
||||||
@@ -180,7 +174,7 @@ sensor:
|
|||||||
name: "Loop Time"
|
name: "Loop Time"
|
||||||
- platform: lm75b
|
- platform: lm75b
|
||||||
id: boneIO_temp
|
id: boneIO_temp
|
||||||
name: 'Temperature'
|
name: "Temperature"
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
on_value_range:
|
on_value_range:
|
||||||
@@ -194,7 +188,7 @@ sensor:
|
|||||||
switch:
|
switch:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: buzzer
|
id: buzzer
|
||||||
name: 'Buzzer'
|
name: "Buzzer"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode:
|
mode:
|
||||||
@@ -202,7 +196,7 @@ switch:
|
|||||||
inverted: false
|
inverted: false
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: can_bus_switch
|
id: can_bus_switch
|
||||||
name: 'CAN Bus Switch'
|
name: "CAN Bus Switch"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO35
|
number: GPIO35
|
||||||
mode:
|
mode:
|
||||||
@@ -211,7 +205,7 @@ switch:
|
|||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_01'
|
name: "IN_01"
|
||||||
id: in_01
|
id: in_01
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -221,7 +215,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_02'
|
name: "IN_02"
|
||||||
id: in_02
|
id: in_02
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -231,7 +225,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_03'
|
name: "IN_03"
|
||||||
id: in_03
|
id: in_03
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -241,7 +235,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_04'
|
name: "IN_04"
|
||||||
id: in_04
|
id: in_04
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -251,7 +245,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_05'
|
name: "IN_05"
|
||||||
id: in_05
|
id: in_05
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -261,7 +255,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_06'
|
name: "IN_06"
|
||||||
id: in_06
|
id: in_06
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -271,7 +265,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_07'
|
name: "IN_07"
|
||||||
id: in_07
|
id: in_07
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -281,11 +275,11 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_08'
|
name: "IN_08"
|
||||||
id: in_08
|
id: in_08
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
number: 7
|
number: 7
|
||||||
mode:
|
mode:
|
||||||
input: true
|
input: true
|
||||||
inverted: true
|
inverted: true
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
substitutions:
|
substitutions:
|
||||||
name: boneio-dr-gen2-8ch-01
|
name: boneio-dr-gen2-8ch-01
|
||||||
friendly_name: 'BoneIO Dimmer Gen2'
|
friendly_name: "BoneIO Dimmer Gen2"
|
||||||
serial_prefix: 'dim2' #Don't change it.
|
serial_prefix: "dim2" #Don't change it.
|
||||||
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json'
|
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json"
|
||||||
esphome:
|
esphome:
|
||||||
name: '${name}'
|
name: "${name}"
|
||||||
friendly_name: '${friendly_name}'
|
friendly_name: "${friendly_name}"
|
||||||
name_add_mac_suffix: true
|
name_add_mac_suffix: true
|
||||||
project:
|
project:
|
||||||
name: boneio.dimmer-led-gen2
|
name: boneio.dimmer-led-gen2
|
||||||
version: '0.1'
|
version: "0.1"
|
||||||
on_boot:
|
on_boot:
|
||||||
priority: -100
|
priority: -100
|
||||||
then:
|
then:
|
||||||
- delay: 5s
|
- delay: 5s
|
||||||
- if:
|
- if:
|
||||||
condition:
|
condition:
|
||||||
lambda: 'return id(serial_no) != nullptr;'
|
lambda: "return id(serial_no) != nullptr;"
|
||||||
then:
|
then:
|
||||||
- component.update: serial_no
|
- component.update: serial_no
|
||||||
- logger.log: "Serial No updated on boot"
|
- logger.log: "Serial No updated on boot"
|
||||||
@@ -25,7 +25,7 @@ esphome:
|
|||||||
|
|
||||||
esp32:
|
esp32:
|
||||||
board: esp32-s3-devkitc-1
|
board: esp32-s3-devkitc-1
|
||||||
framework:
|
framework:
|
||||||
type: esp-idf
|
type: esp-idf
|
||||||
|
|
||||||
ethernet:
|
ethernet:
|
||||||
@@ -45,8 +45,6 @@ i2c:
|
|||||||
scan: True
|
scan: True
|
||||||
frequency: 400kHz
|
frequency: 400kHz
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- platform: ledc
|
- platform: ledc
|
||||||
pin: GPIO18
|
pin: GPIO18
|
||||||
@@ -90,26 +88,23 @@ output:
|
|||||||
inverted: false
|
inverted: false
|
||||||
id: chr04
|
id: chr04
|
||||||
|
|
||||||
|
|
||||||
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
# uart:
|
uart:
|
||||||
# id: boneio_uart
|
id: boneio_uart
|
||||||
# rx_pin: GPIO21
|
rx_pin: GPIO21
|
||||||
# tx_pin: GPIO14
|
tx_pin: GPIO14
|
||||||
# baud_rate: 9600
|
baud_rate: 9600
|
||||||
# stop_bits: 1
|
stop_bits: 1
|
||||||
# modbus:
|
modbus:
|
||||||
# send_wait_time: 80ms
|
send_wait_time: 80ms
|
||||||
# uart_id: boneio_uart
|
uart_id: boneio_uart
|
||||||
# id: boneio_modbus
|
id: boneio_modbus
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
internals_packages:
|
internals_packages:
|
||||||
url: https://github.com/boneIO-eu/esphome
|
url: https://github.com/boneIO-eu/esphome
|
||||||
ref: packages-v2.0.0
|
ref: packages-v2.0.0
|
||||||
files: [
|
files: ["packages/devices/serial_no.yaml"]
|
||||||
'packages/devices/serial_no.yaml',
|
|
||||||
]
|
|
||||||
# boneiopackages:
|
# boneiopackages:
|
||||||
# url: https://github.com/boneIO-eu/esphome_packages
|
# url: https://github.com/boneIO-eu/esphome_packages
|
||||||
# ref: main
|
# ref: main
|
||||||
@@ -122,7 +117,7 @@ dashboard_import:
|
|||||||
import_full_config: true
|
import_full_config: true
|
||||||
|
|
||||||
pcf8574:
|
pcf8574:
|
||||||
- id: 'pcf_inputs'
|
- id: "pcf_inputs"
|
||||||
address: 0x38
|
address: 0x38
|
||||||
|
|
||||||
logger:
|
logger:
|
||||||
@@ -138,54 +133,53 @@ web_server:
|
|||||||
version: 3
|
version: 3
|
||||||
local: true
|
local: true
|
||||||
|
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chl01
|
output: chl01
|
||||||
name: 'CHL 01'
|
name: "CHL 01"
|
||||||
id: chl_01
|
id: chl_01
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chl02
|
output: chl02
|
||||||
name: 'CHL 02'
|
name: "CHL 02"
|
||||||
id: chl_02
|
id: chl_02
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chl03
|
output: chl03
|
||||||
name: 'CHL 03'
|
name: "CHL 03"
|
||||||
id: chl_03
|
id: chl_03
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chl04
|
output: chl04
|
||||||
name: 'CHL 04'
|
name: "CHL 04"
|
||||||
id: chl_04
|
id: chl_04
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
|
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chr01
|
output: chr01
|
||||||
name: 'CHR 01'
|
name: "CHR 01"
|
||||||
id: chr_01
|
id: chr_01
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chr02
|
output: chr02
|
||||||
name: 'CHR 02'
|
name: "CHR 02"
|
||||||
id: chr_02
|
id: chr_02
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chr03
|
output: chr03
|
||||||
name: 'CHR 03'
|
name: "CHR 03"
|
||||||
id: chr_03
|
id: chr_03
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
output: chr04
|
output: chr04
|
||||||
name: 'CHR 04'
|
name: "CHR 04"
|
||||||
id: chr_04
|
id: chr_04
|
||||||
default_transition_length: 2s
|
default_transition_length: 2s
|
||||||
gamma_correct: 0
|
gamma_correct: 0
|
||||||
@@ -203,7 +197,7 @@ sensor:
|
|||||||
name: "Loop Time"
|
name: "Loop Time"
|
||||||
- platform: lm75b
|
- platform: lm75b
|
||||||
id: boneIO_temp
|
id: boneIO_temp
|
||||||
name: 'Temperature'
|
name: "Temperature"
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
on_value_range:
|
on_value_range:
|
||||||
@@ -217,7 +211,7 @@ sensor:
|
|||||||
switch:
|
switch:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: buzzer
|
id: buzzer
|
||||||
name: 'Buzzer'
|
name: "Buzzer"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode:
|
mode:
|
||||||
@@ -225,7 +219,7 @@ switch:
|
|||||||
inverted: false
|
inverted: false
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: can_bus_switch
|
id: can_bus_switch
|
||||||
name: 'CAN Bus Switch'
|
name: "CAN Bus Switch"
|
||||||
pin:
|
pin:
|
||||||
number: GPIO35
|
number: GPIO35
|
||||||
mode:
|
mode:
|
||||||
@@ -234,7 +228,7 @@ switch:
|
|||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_01'
|
name: "IN_01"
|
||||||
id: in_01
|
id: in_01
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -244,7 +238,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_02'
|
name: "IN_02"
|
||||||
id: in_02
|
id: in_02
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -254,7 +248,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_03'
|
name: "IN_03"
|
||||||
id: in_03
|
id: in_03
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -264,7 +258,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_04'
|
name: "IN_04"
|
||||||
id: in_04
|
id: in_04
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -274,7 +268,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_05'
|
name: "IN_05"
|
||||||
id: in_05
|
id: in_05
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -284,7 +278,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_06'
|
name: "IN_06"
|
||||||
id: in_06
|
id: in_06
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -294,7 +288,7 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_07'
|
name: "IN_07"
|
||||||
id: in_07
|
id: in_07
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
@@ -304,11 +298,11 @@ binary_sensor:
|
|||||||
inverted: true
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: 'IN_08'
|
name: "IN_08"
|
||||||
id: in_08
|
id: in_08
|
||||||
pin:
|
pin:
|
||||||
pcf8574: pcf_inputs
|
pcf8574: pcf_inputs
|
||||||
number: 7
|
number: 7
|
||||||
mode:
|
mode:
|
||||||
input: true
|
input: true
|
||||||
inverted: true
|
inverted: true
|
||||||
|
|||||||
@@ -46,16 +46,16 @@ i2c:
|
|||||||
frequency: 400kHz
|
frequency: 400kHz
|
||||||
|
|
||||||
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
|
||||||
# uart:
|
uart:
|
||||||
# id: boneio_uart
|
id: boneio_uart
|
||||||
# rx_pin: GPIO21
|
rx_pin: GPIO21
|
||||||
# tx_pin: GPIO14
|
tx_pin: GPIO14
|
||||||
# baud_rate: 9600
|
baud_rate: 9600
|
||||||
# stop_bits: 1
|
stop_bits: 1
|
||||||
# modbus:
|
modbus:
|
||||||
# send_wait_time: 80ms
|
send_wait_time: 80ms
|
||||||
# uart_id: boneio_uart
|
uart_id: boneio_uart
|
||||||
# id: boneio_modbus
|
id: boneio_modbus
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
internals_packages:
|
internals_packages:
|
||||||
|
|||||||
@@ -40,7 +40,9 @@ include_files = [
|
|||||||
|
|
||||||
|
|
||||||
GITHUB_PAGES_URL = "https://boneio-eu.github.io/esphome"
|
GITHUB_PAGES_URL = "https://boneio-eu.github.io/esphome"
|
||||||
FIRMWARE_VERSION = "2026.1.2"
|
ESPHOME_VERSION = "2026.4.0"
|
||||||
|
ESPHOME_DOCKER_IMAGE = f"ghcr.io/esphome/esphome:{ESPHOME_VERSION}"
|
||||||
|
FIRMWARE_VERSION = ESPHOME_VERSION
|
||||||
|
|
||||||
|
|
||||||
def json_pattern(firmware_name, chip_family="ESP32"):
|
def json_pattern(firmware_name, chip_family="ESP32"):
|
||||||
@@ -93,7 +95,7 @@ for file in glob.glob("*.yaml"):
|
|||||||
print("No file found.")
|
print("No file found.")
|
||||||
break
|
break
|
||||||
firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware.factory.bin"
|
firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware.factory.bin"
|
||||||
cmd = f'docker run --rm -p 6053:6052 -v "{cwd}":/config -it ghcr.io/esphome/esphome compile {file}'
|
cmd = f'docker run --rm -p 6053:6052 -v "{cwd}":/config -it {ESPHOME_DOCKER_IMAGE} compile {file}'
|
||||||
print(cmd)
|
print(cmd)
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
cmd,
|
cmd,
|
||||||
|
|||||||
Reference in New Issue
Block a user