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
|
||||
|
||||
env:
|
||||
DEFAULT_ESPHOME_VERSION: "2026.4.0"
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
- "esphome-*"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Version tag (e.g., 2026.1.5)"
|
||||
esphome_version:
|
||||
description: "ESPHome version (e.g., 2026.4.0)"
|
||||
required: true
|
||||
default: "2026.1.5"
|
||||
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
|
||||
@@ -81,6 +119,13 @@ jobs:
|
||||
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
|
||||
@@ -185,7 +230,7 @@ jobs:
|
||||
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
|
||||
@@ -200,7 +245,8 @@ jobs:
|
||||
"version": "${{ matrix.version }}",
|
||||
"version_key": "${{ matrix.version_key }}",
|
||||
"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
|
||||
|
||||
@@ -217,7 +263,9 @@ jobs:
|
||||
path: metadata/
|
||||
|
||||
deploy:
|
||||
needs: build
|
||||
needs:
|
||||
- resolve-version
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -239,19 +287,10 @@ jobs:
|
||||
pattern: metadata-*
|
||||
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
|
||||
run: |
|
||||
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 GITHUB_PAGES_URL="https://boneio-eu.github.io/esphome"
|
||||
|
||||
@@ -417,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:
|
||||
@@ -425,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 }}
|
||||
name: "Firmware ${{ needs.resolve-version.outputs.esphome_version }} (${{ needs.resolve-version.outputs.build }})"
|
||||
body_path: release-notes.md
|
||||
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
|
||||
|
||||
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:
|
||||
@@ -24,14 +29,12 @@ jobs:
|
||||
for FILE in boneio-*.yaml; do
|
||||
BASENAME=$(basename "$FILE")
|
||||
|
||||
# Check package_import_url
|
||||
URL=$(grep 'package_import_url:' "$FILE" 2>/dev/null | awk '{print $2}' | tr -d "'\"")
|
||||
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
|
||||
|
||||
# Extract filename from URL (format: github://org/repo/path/file.yaml@ref)
|
||||
URL_FILE=$(echo "$URL" | sed 's|.*esphome/||' | sed 's|@.*||')
|
||||
|
||||
if [ "$URL_FILE" != "$BASENAME" ]; then
|
||||
@@ -39,7 +42,6 @@ jobs:
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
|
||||
# Check for double extensions
|
||||
if echo "$URL" | grep -q '\.yaml\.yaml'; then
|
||||
echo "::error file=$FILE::Double .yaml.yaml extension in package_import_url"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
@@ -52,3 +54,19 @@ jobs:
|
||||
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
|
||||
|
||||
@@ -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`.
|
||||
|
||||
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:
|
||||
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"
|
||||
@@ -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-v2.0.0
|
||||
files: [
|
||||
'packages/devices/serial_no.yaml',
|
||||
]
|
||||
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
|
||||
|
||||
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:
|
||||
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"
|
||||
@@ -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-v2.0.0
|
||||
files: [
|
||||
'packages/devices/serial_no.yaml',
|
||||
]
|
||||
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,7 +267,7 @@ binary_sensor:
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
name: 'IN_08'
|
||||
name: "IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
pcf8574: pcf_inputs
|
||||
|
||||
@@ -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"
|
||||
@@ -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-v2.0.0
|
||||
files: [
|
||||
'packages/devices/serial_no.yaml',
|
||||
]
|
||||
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,7 +275,7 @@ binary_sensor:
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
name: 'IN_08'
|
||||
name: "IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
pcf8574: pcf_inputs
|
||||
|
||||
@@ -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"
|
||||
@@ -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-v2.0.0
|
||||
files: [
|
||||
'packages/devices/serial_no.yaml',
|
||||
]
|
||||
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,7 +298,7 @@ binary_sensor:
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
name: 'IN_08'
|
||||
name: "IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
pcf8574: pcf_inputs
|
||||
|
||||
@@ -46,16 +46,16 @@ i2c:
|
||||
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:
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user