Merge pull request #46 from boneIO-eu/main

Fix configs of ESP firmwares
This commit is contained in:
Pawel
2026-04-16 14:32:12 +02:00
committed by GitHub
107 changed files with 1690 additions and 591 deletions

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

View File

@@ -1,55 +1,271 @@
name: Build ESPHome Firmware
env:
DEFAULT_ESPHOME_VERSION: "2026.4.0"
on:
push:
tags:
- 'v*'
- "esphome-*"
workflow_dispatch:
inputs:
version:
description: 'Version tag (e.g., 2026.1.2)'
esphome_version:
description: "ESPHome version (e.g., 2026.4.0)"
required: true
default: '2026.1.2'
default: "2026.4.0"
build:
description: "Build number (e.g., b1)"
required: true
default: "b1"
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:
needs: resolve-version
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Testing with single firmware first
# Dimmer LED v0.3
- yaml_file: boneio-dimmer_8ch-v0_3.yaml
board_name: "Dimmer LED"
board_value: "dimmer"
version: "v0.3"
version_key: "v0.3"
output_option: "8 Channels"
chip_family: "ESP32"
- yaml_file: boneio-dimmer_2rgbw-v0_3.yaml
board_name: "Dimmer LED"
board_value: "dimmer"
version: "v0.3"
version_key: "v0.3"
output_option: "2xRGBW"
chip_family: "ESP32"
- yaml_file: boneio-dimmer_4cct-v0_3.yaml
board_name: "Dimmer LED"
board_value: "dimmer"
version: "v0.3"
version_key: "v0.3"
output_option: "4 CCT"
chip_family: "ESP32"
# Dimmer LED gen2 v0.1
- yaml_file: boneio-dimmer_gen2_8ch-v0_1.yaml
# Uncomment below after testing:
# - yaml_file: boneio-dimmer_gen2_2rgbw-v0_1.yaml
# - yaml_file: boneio-32x10_lights_v0_7.yaml
# - yaml_file: boneio-32x10_switches_v0_7.yaml
# - yaml_file: boneio-24x16_switches_v0_7.yaml
# - yaml_file: boneio-cover_v0_7.yaml
# - yaml_file: boneio-cover_mix_lights_v0_7.yaml
# - yaml_file: boneio-cover_mix_switches_v0_7.yaml
# - yaml_file: boneio-8x10A_gen2_lights-v0_1.yaml
# - yaml_file: boneio-mosfet48_lights_v0_7.yaml
board_name: "Dimmer LED gen2"
board_value: "dimmer_g2"
version: "v0.1"
version_key: "v0.1"
output_option: "8 Channels"
chip_family: "ESP32-S3"
- yaml_file: boneio-dimmer_gen2_2rgbw-v0_1.yaml
board_name: "Dimmer LED gen2"
board_value: "dimmer_g2"
version: "v0.1"
version_key: "v0.1"
output_option: "2xRGBW"
chip_family: "ESP32-S3"
- yaml_file: boneio-dimmer_gen2_4cct-v0_1.yaml
board_name: "Dimmer LED gen2"
board_value: "dimmer_g2"
version: "v0.1"
version_key: "v0.1"
output_option: "4 CCT"
chip_family: "ESP32-S3"
# Input24 gen2
- yaml_file: boneio-input24_gen2-v0_1.yaml
board_name: "boneIO ESP Input24 gen2"
board_value: "input24"
version: "v0.1"
version_key: "v0.1"
output_option: "None"
chip_family: "ESP32-S3"
# 8x10A gen2
- yaml_file: boneio-8x10A_gen2_lights-v0_1.yaml
board_name: "boneIO ESP 8x10A gen2"
board_value: "8x10A"
version: "v0.1"
version_key: "v0.1"
output_option: "Lights"
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
- yaml_file: boneio-32x10_lights_v0_7.yaml
board_name: "boneIO ESP 32x10"
board_value: "32x10"
version: "v0.7 PP"
version_key: "v0.7"
output_option: "Lights"
chip_family: "ESP32"
- yaml_file: boneio-32x10_switches_v0_7.yaml
board_name: "boneIO ESP 32x10"
board_value: "32x10"
version: "v0.7 PP"
version_key: "v0.7"
output_option: "Switches"
chip_family: "ESP32"
# 32x10 v0.6
- yaml_file: boneio-32x10_lights_v0_5-v0_6.yaml
board_name: "boneIO ESP 32x10"
board_value: "32x10"
version: "v0.5/v0.6 PP"
version_key: "v0.6"
output_option: "Lights"
chip_family: "ESP32"
- yaml_file: boneio-32x10_switches_v0_5-v0_6.yaml
board_name: "boneIO ESP 32x10"
board_value: "32x10"
version: "v0.5/v0.6 PP"
version_key: "v0.6"
output_option: "Switches"
chip_family: "ESP32"
# 24x16
- yaml_file: boneio-24x16_switches_v0_7.yaml
board_name: "boneIO ESP 24x16"
board_value: "24x16"
version: "v0.7 MP"
version_key: "v0.7"
output_option: "Switches"
chip_family: "ESP32"
- yaml_file: boneio-24x16_switches_v0_5-v0_6.yaml
board_name: "boneIO ESP 24x16"
board_value: "24x16"
version: "v0.5/v0.6 MP"
version_key: "v0.6"
output_option: "Switches"
chip_family: "ESP32"
# Cover
- yaml_file: boneio-cover_v0_7.yaml
board_name: "boneIO ESP Cover"
board_value: "cover"
version: "v0.7 PP"
version_key: "v0.7"
output_option: ""
chip_family: "ESP32"
- yaml_file: boneio-cover_v0_5-v0_6.yaml
board_name: "boneIO ESP Cover"
board_value: "cover"
version: "v0.5/v0.6 PP"
version_key: "v0.6"
output_option: ""
chip_family: "ESP32"
# Cover Mix
- yaml_file: boneio-cover_mix_lights_v0_7.yaml
board_name: "boneIO ESP Cover Mix"
board_value: "mix"
version: "v0.7 PP"
version_key: "v0.7"
output_option: "Lights"
chip_family: "ESP32"
- yaml_file: boneio-cover_mix_switches_v0_7.yaml
board_name: "boneIO ESP Cover Mix"
board_value: "mix"
version: "v0.7 PP"
version_key: "v0.7"
output_option: "Switches"
chip_family: "ESP32"
- yaml_file: boneio-cover_mix_lights_v0_5-v0_6.yaml
board_name: "boneIO ESP Cover Mix"
board_value: "mix"
version: "v0.5/v0.6 PP"
version_key: "v0.6"
output_option: "Lights"
chip_family: "ESP32"
- yaml_file: boneio-cover_mix_switches_v0_5-v0_6.yaml
board_name: "boneIO ESP Cover Mix"
board_value: "mix"
version: "v0.5/v0.6 PP"
version_key: "v0.6"
output_option: "Switches"
chip_family: "ESP32"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build firmware
uses: esphome/build-action@v4
uses: esphome/build-action@v7
id: esphome-build
with:
yaml-file: ${{ matrix.yaml_file }}
version: latest
version: ${{ needs.resolve-version.outputs.esphome_version }}
complete-manifest: true
- name: Save build metadata
run: |
mkdir -p metadata
cat > metadata/${{ steps.esphome-build.outputs.original-name }}.json << 'METADATA_EOF'
{
"firmware_name": "${{ steps.esphome-build.outputs.original-name }}",
"yaml_file": "${{ matrix.yaml_file }}",
"board_name": "${{ matrix.board_name }}",
"board_value": "${{ matrix.board_value }}",
"version": "${{ matrix.version }}",
"version_key": "${{ matrix.version_key }}",
"output_option": "${{ matrix.output_option }}",
"chip_family": "${{ matrix.chip_family }}",
"esphome_version": "${{ needs.resolve-version.outputs.esphome_version }}"
}
METADATA_EOF
- name: Upload firmware artifact
uses: actions/upload-artifact@v4
with:
name: firmware-${{ steps.esphome-build.outputs.original-name }}
path: ${{ steps.esphome-build.outputs.name }}
- name: Upload metadata artifact
uses: actions/upload-artifact@v4
with:
name: metadata-${{ steps.esphome-build.outputs.original-name }}
path: metadata/
deploy:
needs: build
needs:
- resolve-version
- build
runs-on: ubuntu-latest
permissions:
contents: write
@@ -64,43 +280,175 @@ jobs:
pattern: firmware-*
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: Download metadata artifacts
uses: actions/download-artifact@v4
with:
path: metadata
pattern: metadata-*
merge-multiple: true
- name: Prepare GitHub Pages content
run: |
mkdir -p gh-pages/firmware
# esphome/build-action outputs: name/, name/manifest.json, name/*.bin
for dir in artifacts/*/; do
NAME=$(basename "$dir")
# Copy firmware binary
cp "$dir"*.bin gh-pages/firmware/
# Copy manifest and rename to firmware name
cp "$dir"manifest.json gh-pages/${NAME}.json
mkdir -p gh-pages/firmware gh-pages/manifests release
export VERSION="${{ needs.resolve-version.outputs.full_version }}"
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export GITHUB_PAGES_URL="https://boneio-eu.github.io/esphome"
# Debug: show artifact structure
echo "=== Artifacts structure ==="
find artifacts/ -type f | head -80
echo "=== End artifacts ==="
# Copy and rename firmware binaries
# esphome/build-action outputs: name-chip/name-chip.factory.bin and name-chip.ota.bin
for factory_bin in $(find artifacts/ -name '*.factory.bin'); do
BASENAME=$(basename "$factory_bin")
# Remove .factory from name: boneio-dr-8ch-03-esp32.factory.bin -> boneio-dr-8ch-03-esp32.bin
SIMPLE_NAME="${BASENAME/.factory.bin/.bin}"
cp "$factory_bin" "gh-pages/firmware/${SIMPLE_NAME}"
echo " Copied to gh-pages/firmware/${SIMPLE_NAME}"
done
# Copy all binaries (factory + ota) to release folder for GitHub Release
find artifacts/ -name '*.factory.bin' -exec cp {} release/ \;
find artifacts/ -name '*.ota.bin' -exec cp {} release/ \;
echo "=== Release files ==="
ls -la release/
echo "=== End release ==="
# Generate manifest JSONs + firmware-catalog.json from metadata
python3 << 'PYTHON_EOF'
import json
import glob
import os
version = os.environ.get("VERSION", "unknown")
build_date = os.environ.get("BUILD_DATE", "unknown")
github_pages_url = os.environ.get("GITHUB_PAGES_URL", "")
# Read all metadata files
builds = []
for meta_file in glob.glob("metadata/*.json"):
with open(meta_file) as f:
builds.append(json.load(f))
# Discover actual firmware files on gh-pages to map metadata -> binary
fw_files = {}
for f in glob.glob("gh-pages/firmware/*.bin"):
fw_files[os.path.basename(f)] = f
print(f"Found {len(fw_files)} firmware files: {list(fw_files.keys())}")
# Generate individual ESP Web Tools manifests
for build in builds:
fw_name = build["firmware_name"]
chip = build["chip_family"]
chip_suffix = chip.lower().replace("-", "") # ESP32-S3 -> esp32s3
# Find matching binary file
bin_filename = f"{fw_name}-{chip_suffix}.bin"
if bin_filename not in fw_files:
# Fallback: try without chip suffix
bin_filename = f"{fw_name}.bin"
if bin_filename not in fw_files:
print(f" WARNING: No binary found for {fw_name} (tried {fw_name}-{chip_suffix}.bin)")
# List candidates
candidates = [k for k in fw_files if fw_name in k]
if candidates:
bin_filename = candidates[0]
print(f" Using candidate: {bin_filename}")
else:
continue
manifest = {
"name": f'{build["board_name"]} {build["output_option"]} {build["version"]}'.strip(),
"version": version,
"builds": [
{
"chipFamily": chip,
"parts": [
{
"path": f'{github_pages_url}/firmware/{bin_filename}',
"offset": 0
}
]
}
]
}
manifest_path = f'gh-pages/manifests/{fw_name}.json'
with open(manifest_path, 'w') as f:
json.dump(manifest, f, indent=2)
print(f' Generated manifest: {fw_name}.json -> {bin_filename}')
# Group by board for catalog
boards_map = {}
for build in builds:
board_value = build["board_value"]
if board_value not in boards_map:
boards_map[board_value] = {
"name": build["board_name"],
"value": board_value,
"versions_map": {}
}
version_key = build["version_key"]
if version_key not in boards_map[board_value]["versions_map"]:
boards_map[board_value]["versions_map"][version_key] = {
"version": build["version"],
"versionKey": version_key,
"options": []
}
manifest_url = f'{github_pages_url}/manifests/{build["firmware_name"]}.json'
yaml_url = f'https://github.com/boneIO-eu/esphome/blob/main/{build["yaml_file"]}'
option = {
"name": build["output_option"] if build["output_option"] else "Standard",
"manifest_url": manifest_url,
"yaml_url": yaml_url
}
boards_map[board_value]["versions_map"][version_key]["options"].append(option)
# Convert to final structure
boards = []
for board_value, board_data in boards_map.items():
versions = list(board_data["versions_map"].values())
boards.append({
"name": board_data["name"],
"value": board_data["value"],
"versions": versions
})
catalog = {
"version": version,
"build_date": build_date,
"boards": boards
}
with open("gh-pages/firmware-catalog.json", "w") as f:
json.dump(catalog, f, indent=2)
print(f"Generated firmware-catalog.json with {len(boards)} boards")
print(f"Generated {len(builds)} manifest files")
PYTHON_EOF
# Create version file
echo "${{ steps.version.outputs.version }}" > gh-pages/version.txt
# Create index with firmware list
echo "$VERSION" > gh-pages/version.txt
# Create index page
cat > gh-pages/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head><title>boneIO Firmware</title></head>
<body>
<h1>boneIO ESPHome Firmware</h1>
<p><a href="firmware-catalog.json">Firmware Catalog (JSON API)</a></p>
<h2>Manifests</h2>
<ul>
EOF
for json in gh-pages/*.json; do
NAME=$(basename "$json" .json)
echo "<li><a href=\"${NAME}.json\">${NAME}</a></li>" >> gh-pages/index.html
for json_file in gh-pages/manifests/*.json; do
NAME=$(basename "$json_file" .json)
echo "<li><a href=\"manifests/${NAME}.json\">${NAME}</a></li>" >> gh-pages/index.html
done
cat >> gh-pages/index.html << 'EOF'
</ul>
@@ -108,6 +456,44 @@ jobs:
</html>
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
uses: peaceiris/actions-gh-pages@v4
with:
@@ -116,9 +502,9 @@ jobs:
force_orphan: true
- name: Create GitHub Release
if: github.event_name == 'push'
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.version.outputs.version }}
name: Firmware v${{ steps.version.outputs.version }}
files: gh-pages/firmware/*.bin
generate_release_notes: true
name: "Firmware ${{ needs.resolve-version.outputs.esphome_version }} (${{ needs.resolve-version.outputs.build }})"
body_path: release-notes.md
files: release/*

72
.github/workflows/validate-firmware.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
name: Validate ESPHome Configs
env:
ESPHOME_VERSION: "2026.4.0"
on:
push:
branches: [main]
paths:
- "boneio-*.yaml"
- "packages/**"
- ".github/workflows/validate-firmware.yml"
pull_request:
paths:
- "boneio-*.yaml"
- "packages/**"
- ".github/workflows/validate-firmware.yml"
jobs:
validate-urls:
name: Validate package_import_url
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check package_import_url consistency
run: |
ERRORS=0
for FILE in boneio-*.yaml; do
BASENAME=$(basename "$FILE")
URL=$(grep 'package_import_url:' "$FILE" 2>/dev/null | awk '{print $2}' | sed "s/['\"]//g")
if [ -z "$URL" ]; then
echo "::warning::No package_import_url found in $FILE"
continue
fi
URL_FILE=$(echo "$URL" | sed 's|.*esphome/||' | sed 's|@.*||')
if [ "$URL_FILE" != "$BASENAME" ]; then
echo "::error file=$FILE::package_import_url mismatch: URL references '$URL_FILE' but file is '$BASENAME'"
ERRORS=$((ERRORS + 1))
fi
if echo "$URL" | grep -q '\.yaml\.yaml'; then
echo "::error file=$FILE::Double .yaml.yaml extension in package_import_url"
ERRORS=$((ERRORS + 1))
fi
done
if [ $ERRORS -gt 0 ]; then
echo ""
echo "Found $ERRORS error(s) in package_import_url validation"
exit 1
fi
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

View File

@@ -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.
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 through network, copy file you'd like to use from root directory and paste it in your esphome dashboard.
Set boneio name as visible
Firmware releases are created from tags in the format `esphome-<version>-<build>`, for example `esphome-2026.4.0-b1`.

View File

@@ -34,18 +34,18 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf_with_mcp.yaml',
'boards/24x16_output.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf_with_mcp.yaml',
'packages/boards/24x16_output.yaml',
# 'packages/devices_v0_5-v0_6/one_wire.yaml',
]
logger:

View File

@@ -34,17 +34,17 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_with_mcp.yaml',
'boards/24x16_output.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf_with_mcp.yaml',
'packages/boards/24x16_output.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View File

@@ -34,33 +34,33 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf.yaml',
'packages/boards/output/out01_02.yaml',
'packages/boards/output/out03_04.yaml',
'packages/boards/output/out05_06.yaml',
'packages/boards/output/out07_08.yaml',
'packages/boards/output/out09_10.yaml',
'packages/boards/output/out11_12.yaml',
'packages/boards/output/out13_14.yaml',
'packages/boards/output/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_5-v0_6/one_wire.yaml',
]
logger:

View File

@@ -34,32 +34,32 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/output/out01_02.yaml',
'packages/boards/output/out03_04.yaml',
'packages/boards/output/out05_06.yaml',
'packages/boards/output/out07_08.yaml',
'packages/boards/output/out09_10.yaml',
'packages/boards/output/out11_12.yaml',
'packages/boards/output/out13_14.yaml',
'packages/boards/output/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View File

@@ -34,33 +34,33 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf.yaml',
'packages/boards/output/out01_02.yaml',
'packages/boards/output/out03_04.yaml',
'packages/boards/output/out05_06.yaml',
'packages/boards/output/out07_08.yaml',
'packages/boards/output/out09_10.yaml',
'packages/boards/output/out11_12.yaml',
'packages/boards/output/out13_14.yaml',
'packages/boards/output/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_5-v0_6/one_wire.yaml',
]
logger:

View File

@@ -40,32 +40,32 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/output/out01_02.yaml',
'packages/boards/output/out03_04.yaml',
'packages/boards/output/out05_06.yaml',
'packages/boards/output/out07_08.yaml',
'packages/boards/output/out09_10.yaml',
'packages/boards/output/out11_12.yaml',
'packages/boards/output/out13_14.yaml',
'packages/boards/output/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View 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

View File

@@ -1,22 +1,22 @@
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'
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: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.8x10a-gen2
version: '0.1'
version: "0.1"
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
lambda: "return id(serial_no) != nullptr;"
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
@@ -25,7 +25,7 @@ esphome:
esp32:
board: esp32-s3-devkitc-1
framework:
framework:
type: esp-idf
ethernet:
@@ -45,8 +45,6 @@ i2c:
scan: True
frequency: 400kHz
output:
- platform: gpio
pin: GPIO18
@@ -82,26 +80,23 @@ output:
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
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-v1.7.2
files: [
'devices/serial_no.yaml',
]
ref: packages-v2.0.0
files: ["packages/devices/serial_no.yaml"]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
@@ -114,7 +109,7 @@ dashboard_import:
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
- id: "pcf_inputs"
address: 0x38
logger:
@@ -130,39 +125,38 @@ web_server:
version: 3
local: true
light:
- platform: binary
output: out_01
name: 'OUT 01'
name: "OUT 01"
id: light_01
- platform: binary
output: out_02
name: 'OUT 02'
name: "OUT 02"
id: light_02
- platform: binary
output: out_03
name: 'OUT 03'
name: "OUT 03"
id: light_03
- platform: binary
output: out_04
name: 'OUT 04'
name: "OUT 04"
id: light_04
- platform: binary
output: out_05
name: 'OUT 05'
name: "OUT 05"
id: light_05
- platform: binary
output: out_06
name: 'OUT 06'
name: "OUT 06"
id: light_06
- platform: binary
output: out_07
name: 'OUT 07'
name: "OUT 07"
id: light_07
- platform: binary
output: out_08
name: 'OUT 08'
name: "OUT 08"
id: light_08
debug:
@@ -171,7 +165,7 @@ debug:
sensor:
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
name: "Temperature"
update_interval: 30s
entity_category: diagnostic
on_value_range:
@@ -185,7 +179,7 @@ sensor:
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
name: "Buzzer"
pin:
number: GPIO9
mode:
@@ -193,7 +187,7 @@ switch:
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
name: "CAN Bus Switch"
pin:
number: GPIO35
mode:
@@ -202,7 +196,7 @@ switch:
binary_sensor:
- platform: gpio
name: 'IN_01'
name: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
@@ -215,7 +209,7 @@ binary_sensor:
- light.toggle: light_01
- platform: gpio
name: 'IN_02'
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
@@ -228,7 +222,7 @@ binary_sensor:
- light.toggle: light_02
- platform: gpio
name: 'IN_03'
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
@@ -241,7 +235,7 @@ binary_sensor:
- light.toggle: light_03
- platform: gpio
name: 'IN_04'
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
@@ -254,7 +248,7 @@ binary_sensor:
- light.toggle: light_04
- platform: gpio
name: 'IN_05'
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
@@ -267,7 +261,7 @@ binary_sensor:
- light.toggle: light_05
- platform: gpio
name: 'IN_06'
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
@@ -280,7 +274,7 @@ binary_sensor:
- light.toggle: light_06
- platform: gpio
name: 'IN_07'
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
@@ -293,7 +287,7 @@ binary_sensor:
- light.toggle: light_07
- platform: gpio
name: 'IN_08'
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
@@ -303,4 +297,4 @@ binary_sensor:
inverted: true
on_press:
then:
- light.toggle: light_08
- light.toggle: light_08

View 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

View File

@@ -34,33 +34,33 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_5-v0_6/one_wire.yaml',
]
logger:

View File

@@ -34,32 +34,32 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View File

@@ -34,33 +34,33 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_7/one_wire.yaml',
]
logger:

View File

@@ -34,32 +34,32 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View File

@@ -34,33 +34,33 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/cover/out17_18.yaml',
'boards/cover/out19_20.yaml',
'boards/cover/out21_22.yaml',
'boards/cover/out23_24.yaml',
'boards/cover/out25_26.yaml',
'boards/cover/out27_28.yaml',
'boards/cover/out29_30.yaml',
'boards/cover/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_5-v0_6/display.yaml',
'packages/devices_v0_5-v0_6/time.yaml',
'packages/devices_v0_5-v0_6/i2c.yaml',
'packages/devices_v0_5-v0_6/ina219.yaml',
'packages/devices_v0_5-v0_6/lm75b.yaml',
'packages/devices_v0_5-v0_6/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/cover/out17_18.yaml',
'packages/boards/cover/out19_20.yaml',
'packages/boards/cover/out21_22.yaml',
'packages/boards/cover/out23_24.yaml',
'packages/boards/cover/out25_26.yaml',
'packages/boards/cover/out27_28.yaml',
'packages/boards/cover/out29_30.yaml',
'packages/boards/cover/out31_32.yaml',
# 'packages/devices_v0_5-v0_6/one_wire.yaml',
]
logger:

View File

@@ -34,32 +34,32 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/cover/out17_18.yaml',
'boards/cover/out19_20.yaml',
'boards/cover/out21_22.yaml',
'boards/cover/out23_24.yaml',
'boards/cover/out25_26.yaml',
'boards/cover/out27_28.yaml',
'boards/cover/out29_30.yaml',
'boards/cover/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/cover/out01_02.yaml',
'packages/boards/cover/out03_04.yaml',
'packages/boards/cover/out05_06.yaml',
'packages/boards/cover/out07_08.yaml',
'packages/boards/cover/out09_10.yaml',
'packages/boards/cover/out11_12.yaml',
'packages/boards/cover/out13_14.yaml',
'packages/boards/cover/out15_16.yaml',
'packages/boards/cover/out17_18.yaml',
'packages/boards/cover/out19_20.yaml',
'packages/boards/cover/out21_22.yaml',
'packages/boards/cover/out23_24.yaml',
'packages/boards/cover/out25_26.yaml',
'packages/boards/cover/out27_28.yaml',
'packages/boards/cover/out29_30.yaml',
'packages/boards/cover/out31_32.yaml',
# 'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:

View File

@@ -23,13 +23,13 @@ external_components:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
'packages/devices/serial_no.yaml',
'packages/devices/dimmer_i2c.yaml',
'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
]
ethernet:

View File

@@ -23,13 +23,13 @@ external_components:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
'packages/devices/serial_no.yaml',
'packages/devices/dimmer_i2c.yaml',
'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
]
ethernet:

View File

@@ -23,13 +23,13 @@ external_components:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
'packages/devices/serial_no.yaml',
'packages/devices/dimmer_i2c.yaml',
'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
]
ethernet:

View File

@@ -1,22 +1,22 @@
substitutions:
name: boneio-dr-gen2-2rgbw-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-2rgbw-01.json'
friendly_name: "BoneIO Dimmer Gen2"
serial_prefix: "dim2" #Don't change it.
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-2rgbw-01.json"
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
version: "0.1"
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
lambda: "return id(serial_no) != nullptr;"
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
@@ -25,7 +25,7 @@ esphome:
esp32:
board: esp32-s3-devkitc-1
framework:
framework:
type: esp-idf
ethernet:
@@ -45,8 +45,6 @@ i2c:
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
@@ -90,26 +88,23 @@ output:
inverted: false
id: chr04
# 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
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-v1.7.2
files: [
'devices/serial_no.yaml',
]
ref: packages-v2.0.0
files: ["packages/devices/serial_no.yaml"]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
@@ -122,7 +117,7 @@ dashboard_import:
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
- id: "pcf_inputs"
address: 0x38
logger:
@@ -138,11 +133,10 @@ web_server:
version: 3
local: true
light:
- platform: rgbw
id: rgbw_l
name: 'RGBW L'
name: "RGBW L"
red: chl01
green: chl02
blue: chl03
@@ -151,7 +145,7 @@ light:
gamma_correct: 0
- platform: rgbw
id: rgbw_r
name: 'RGBW R'
name: "RGBW R"
red: chr01
green: chr02
blue: chr03
@@ -172,7 +166,7 @@ sensor:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
name: "Temperature"
update_interval: 30s
entity_category: diagnostic
on_value_range:
@@ -186,7 +180,7 @@ sensor:
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
name: "Buzzer"
pin:
number: GPIO9
mode:
@@ -194,7 +188,7 @@ switch:
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
name: "CAN Bus Switch"
pin:
number: GPIO35
mode:
@@ -203,7 +197,7 @@ switch:
binary_sensor:
- platform: gpio
name: 'IN_01'
name: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
@@ -213,7 +207,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_02'
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
@@ -223,7 +217,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_03'
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
@@ -233,7 +227,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_04'
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
@@ -243,7 +237,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_05'
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
@@ -253,7 +247,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_06'
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
@@ -263,7 +257,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_07'
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
@@ -273,11 +267,11 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_08'
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
inverted: true

View File

@@ -1,22 +1,22 @@
substitutions:
name: boneio-dr-gen2-4cct-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-4cct-01.json'
friendly_name: "BoneIO Dimmer Gen2"
serial_prefix: "dim2" #Don't change it.
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-4cct-01.json"
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
version: "0.1"
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
lambda: "return id(serial_no) != nullptr;"
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
@@ -25,7 +25,7 @@ esphome:
esp32:
board: esp32-s3-devkitc-1
framework:
framework:
type: esp-idf
ethernet:
@@ -45,8 +45,6 @@ i2c:
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
@@ -90,26 +88,23 @@ output:
inverted: false
id: chr04
# 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
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-v1.7.2
files: [
'devices/serial_no.yaml',
]
ref: packages-v2.0.0
files: ["packages/devices/serial_no.yaml"]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
@@ -122,7 +117,7 @@ dashboard_import:
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
- id: "pcf_inputs"
address: 0x38
logger:
@@ -138,30 +133,29 @@ web_server:
version: 3
local: true
light:
- platform: cwww
name: 'CHL_01_02'
name: "CHL_01_02"
cold_white: chl01
warm_white: chl02
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHL_03_04'
name: "CHL_03_04"
cold_white: chl03
warm_white: chl04
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHR_01_02'
name: "CHR_01_02"
cold_white: chr01
warm_white: chr02
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHR_03_04'
name: "CHR_03_04"
cold_white: chr03
warm_white: chr04
cold_white_color_temperature: 6536 K
@@ -180,7 +174,7 @@ sensor:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
name: "Temperature"
update_interval: 30s
entity_category: diagnostic
on_value_range:
@@ -194,7 +188,7 @@ sensor:
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
name: "Buzzer"
pin:
number: GPIO9
mode:
@@ -202,7 +196,7 @@ switch:
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
name: "CAN Bus Switch"
pin:
number: GPIO35
mode:
@@ -211,7 +205,7 @@ switch:
binary_sensor:
- platform: gpio
name: 'IN_01'
name: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
@@ -221,7 +215,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_02'
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
@@ -231,7 +225,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_03'
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
@@ -241,7 +235,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_04'
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
@@ -251,7 +245,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_05'
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
@@ -261,7 +255,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_06'
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
@@ -271,7 +265,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_07'
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
@@ -281,11 +275,11 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_08'
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
inverted: true

View File

@@ -1,22 +1,22 @@
substitutions:
name: boneio-dr-gen2-8ch-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json'
friendly_name: "BoneIO Dimmer Gen2"
serial_prefix: "dim2" #Don't change it.
firmware_manifest: "https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json"
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
version: "0.1"
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
lambda: "return id(serial_no) != nullptr;"
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
@@ -25,7 +25,7 @@ esphome:
esp32:
board: esp32-s3-devkitc-1
framework:
framework:
type: esp-idf
ethernet:
@@ -45,8 +45,6 @@ i2c:
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
@@ -90,26 +88,23 @@ output:
inverted: false
id: chr04
# 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
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-v1.7.2
files: [
'devices/serial_no.yaml',
]
ref: packages-v2.0.0
files: ["packages/devices/serial_no.yaml"]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
@@ -122,7 +117,7 @@ dashboard_import:
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
- id: "pcf_inputs"
address: 0x38
logger:
@@ -138,54 +133,53 @@ web_server:
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
name: "CHL 01"
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
name: "CHL 02"
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
name: "CHL 03"
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
name: "CHL 04"
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
name: "CHR 01"
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
name: "CHR 02"
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
name: "CHR 03"
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
name: "CHR 04"
id: chr_04
default_transition_length: 2s
gamma_correct: 0
@@ -203,7 +197,7 @@ sensor:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
name: "Temperature"
update_interval: 30s
entity_category: diagnostic
on_value_range:
@@ -217,7 +211,7 @@ sensor:
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
name: "Buzzer"
pin:
number: GPIO9
mode:
@@ -225,7 +219,7 @@ switch:
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
name: "CAN Bus Switch"
pin:
number: GPIO35
mode:
@@ -234,7 +228,7 @@ switch:
binary_sensor:
- platform: gpio
name: 'IN_01'
name: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
@@ -244,7 +238,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_02'
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
@@ -254,7 +248,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_03'
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
@@ -264,7 +258,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_04'
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
@@ -274,7 +268,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_05'
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
@@ -284,7 +278,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_06'
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
@@ -294,7 +288,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_07'
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
@@ -304,11 +298,11 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_08'
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
inverted: true

View File

@@ -1,22 +1,22 @@
substitutions:
name: boneio-input24-gen2-01
friendly_name: 'boneIO ESP Input24 Gen2'
serial_prefix: 'esp24' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-input24-gen2-01.json'
friendly_name: "boneIO ESP Input24 Gen2"
serial_prefix: "esp24" #Don't change it.
firmware_manifest: "https://boneio.eu/fwesp/boneio-input24-gen2-01.json"
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.input24-gen2
version: '0.1'
version: "0.1"
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
lambda: "return id(serial_no) != nullptr;"
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
@@ -25,7 +25,7 @@ esphome:
esp32:
board: esp32-s3-devkitc-1
framework:
framework:
type: esp-idf
ethernet:
@@ -45,26 +45,23 @@ i2c:
scan: True
frequency: 400kHz
# 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
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-v1.7.2
files: [
'devices/serial_no.yaml',
]
ref: packages-v2.0.0
files: ["packages/devices/serial_no.yaml"]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
@@ -73,7 +70,7 @@ packages:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-input24_gen2-v0_1.yaml.yaml@latest
package_import_url: github://boneIO-eu/esphome/boneio-input24_gen2-v0_1.yaml@latest
import_full_config: true
pcf8574:
@@ -99,7 +96,7 @@ web_server:
sensor:
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
name: "Temperature"
update_interval: 30s
entity_category: diagnostic
on_value_range:
@@ -113,7 +110,7 @@ sensor:
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
name: "Buzzer"
pin:
number: GPIO9
mode:
@@ -121,7 +118,7 @@ switch:
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
name: "CAN Bus Switch"
pin:
number: GPIO35
mode:
@@ -130,7 +127,7 @@ switch:
binary_sensor:
- platform: gpio
name: 'IN_01'
name: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs_1_to_8
@@ -140,7 +137,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_02'
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs_1_to_8
@@ -150,7 +147,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_03'
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs_1_to_8
@@ -160,7 +157,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_04'
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs_1_to_8
@@ -170,7 +167,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_05'
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs_1_to_8
@@ -180,7 +177,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_06'
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs_1_to_8
@@ -190,7 +187,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_07'
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs_1_to_8
@@ -200,7 +197,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_08'
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs_1_to_8
@@ -210,7 +207,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_09'
name: "IN_09"
id: in_09
pin:
pcf8574: pcf_inputs_9_to_24
@@ -220,7 +217,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_10'
name: "IN_10"
id: in_10
pin:
pcf8574: pcf_inputs_9_to_24
@@ -230,7 +227,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_11'
name: "IN_11"
id: in_11
pin:
pcf8574: pcf_inputs_9_to_24
@@ -240,7 +237,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_12'
name: "IN_12"
id: in_12
pin:
pcf8574: pcf_inputs_9_to_24
@@ -250,7 +247,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_13'
name: "IN_13"
id: in_13
pin:
pcf8574: pcf_inputs_9_to_24
@@ -260,7 +257,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_14'
name: "IN_14"
id: in_14
pin:
pcf8574: pcf_inputs_9_to_24
@@ -270,7 +267,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_15'
name: "IN_15"
id: in_15
pin:
pcf8574: pcf_inputs_9_to_24
@@ -280,7 +277,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_16'
name: "IN_16"
id: in_16
pin:
pcf8574: pcf_inputs_9_to_24
@@ -290,7 +287,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_17'
name: "IN_17"
id: in_17
pin:
pcf8574: pcf_inputs_9_to_24
@@ -300,7 +297,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_18'
name: "IN_18"
id: in_18
pin:
pcf8574: pcf_inputs_9_to_24
@@ -310,7 +307,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_19'
name: "IN_19"
id: in_19
pin:
pcf8574: pcf_inputs_9_to_24
@@ -320,7 +317,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_20'
name: "IN_20"
id: in_20
pin:
pcf8574: pcf_inputs_9_to_24
@@ -330,7 +327,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_21'
name: "IN_21"
id: in_21
pin:
pcf8574: pcf_inputs_9_to_24
@@ -340,7 +337,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_22'
name: "IN_22"
id: in_22
pin:
pcf8574: pcf_inputs_9_to_24
@@ -350,7 +347,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_23'
name: "IN_23"
id: in_23
pin:
pcf8574: pcf_inputs_9_to_24
@@ -360,11 +357,11 @@ binary_sensor:
inverted: true
- platform: gpio
name: 'IN_24'
name: "IN_24"
id: in_24
pin:
pcf8574: pcf_inputs_9_to_24
number: 8
mode:
input: true
inverted: true
inverted: true

View File

@@ -26,13 +26,13 @@ exclude_files = [
"boneio-mosfet48_lights_v0_7.yaml",
"boneio-mosfet48_switches_v0_7.yaml"
"boneio-8x10A_v0_1.yaml"
"boneio-dimmer_gen2_8ch-dev0_4.yaml"
"boneio-dimmer_gen2_8ch-dev0_4.yaml",
# Dodaj tutaj kolejne pliki do wykluczenia
]
include_files = [
"boneio-input24_gen2-v0_01.yaml",
"boneio-input24_gen2-v0_1.yaml",
# "boneio-8x10A_gen2_lights-v0_1.yaml",
# "boneio-dimmer_gen2_2rgbw-v0_1.yaml",
# "boneio-dimmer_gen2_8ch-v0_1"
@@ -40,7 +40,9 @@ include_files = [
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"):
@@ -93,7 +95,7 @@ for file in glob.glob("*.yaml"):
print("No file found.")
break
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)
result = subprocess.run(
cmd,

View File

@@ -34,17 +34,17 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_mosfet.yaml',
'boards/mosfet48_output.yaml',
# 'devices_v0_7/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf_mosfet.yaml',
'packages/boards/mosfet48_output.yaml',
# 'packages/devices_v0_7/one_wire.yaml',
]
logger:

View File

@@ -34,17 +34,17 @@ dashboard_import:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
ref: packages-v2.0.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_mosfet.yaml',
'boards/mosfet48_output.yaml',
# 'devices_v0_7/one_wire.yaml',
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf_mosfet.yaml',
'packages/boards/mosfet48_output.yaml',
# 'packages/devices_v0_7/one_wire.yaml',
]
logger:

Some files were not shown because too many files have changed in this diff Show More