Compare commits

...

92 Commits

Author SHA1 Message Date
pszafer
ad67951090 fxi version vreation 2026-02-17 12:24:17 +01:00
pszafer
82ec7c0b09 fix yaml validation 2026-02-17 08:42:54 +01:00
pszafer
11d973c5d4 fix yaml's 2026-02-16 15:38:18 +01:00
pszafer
03f572d229 redesign of esphome repo 2026-02-16 12:12:00 +01:00
pszafer
fa915bd64a Rename boneio-input24_gen2-v0_01.yaml to boneio-input24_gen2-v0_1.yaml 2026-01-30 21:26:49 +01:00
pszafer
21891245d2 input24 fixes 2026-01-30 21:26:19 +01:00
pszafer
d954fcffeb Add boneIO input24 gen2 2026-01-30 21:19:33 +01:00
pszafer
0774915d3b Add copy for backward compatibility (GitHub raw doesn't follow symlinks) 2026-01-26 14:42:52 +01:00
pszafer
8f1c3b199a fix 8x10A 2026-01-26 14:39:58 +01:00
pszafer
ef8bc33eb5 Add symlink for backward compatibility 2026-01-26 14:37:20 +01:00
pszafer
fbbd0802e0 rename packages to packages-v1.7.2 2026-01-26 14:34:29 +01:00
pszafer
07d5b661c2 fix building fw 2026-01-26 08:44:11 +01:00
pszafer
914762dd6f attempt to autodeploy esphome firmware 2026-01-26 08:36:13 +01:00
Pawel
f23f29f9a5 Merge pull request #41 from mzielinski/main
Rename dallas to dallas_temp
2026-01-24 18:25:45 +01:00
Maciej Zieliński
b1acfffe8c Rename dallas to dallas_temp 2026-01-24 18:00:45 +01:00
pszafer
f59ea698fb add status LED configuration to 32x10 lights dev config 2026-01-08 16:30:20 +01:00
pszafer
105aab5763 add boneio esp gen2 test config 2026-01-08 16:02:24 +01:00
pszafer
1c18068199 update 8x10A on_press action 2025-12-04 20:59:07 +01:00
pszafer
de0586476f fix serial_prefix 2025-11-30 11:10:54 +01:00
pszafer
b6b00c31f1 fix friendly name 2025-11-30 11:07:16 +01:00
Pawel
349972f250 Merge pull request #37 from maqlec/new_esp_compatibility
fix: update lambda return type for hostname text sensor to std::strin…
2025-11-30 11:05:16 +01:00
Pawel
7cd07c6f8c Merge pull request #36 from hubertozog/main
esphome update - Update one_wire.yaml
2025-11-30 11:05:07 +01:00
pszafer
26bae1d1f3 fix 8x10A fw 2025-11-30 11:03:26 +01:00
pszafer
a33a14bae4 rm abandoned 8x10A gen1 2025-11-30 10:59:33 +01:00
pszafer
329d3c0227 rm debug options from boneio 8x10A 2025-11-30 10:59:17 +01:00
pszafer
fcb7eb2787 fix uppercase 2025-11-26 20:35:34 +01:00
pszafer
38039f2465 add 8x10A 2025-11-26 20:29:39 +01:00
Maciej Pawłowski
a1680e9197 fix: update lambda return type for hostname text sensor to std::string. compatible with esphome 2025.11 2025-11-23 20:11:51 +00:00
pszafer
ae9c3aaf30 fix gpio for 8x10A 2025-11-23 08:52:13 +01:00
pszafer
db9e77c592 fix manifest for dimmer 2025-11-23 08:51:53 +01:00
pszafer
b86a00ee97 add dev boneio esp 8x10A 2025-11-10 09:28:50 +01:00
pszafer
b3da7d4288 fix modbus connection issues with Esphome 2025.10 2025-11-10 08:15:49 +01:00
pszafer
cbf466c5f5 add boneio dimmer gen2 rgbw and 4cct 2025-10-24 20:28:02 +02:00
hubertozog
f50b45a1c9 esphome update - Update one_wire.yaml 2025-10-22 15:59:48 +02:00
pszafer
cc0b1c9083 change fw creation 2025-09-25 13:45:56 +02:00
pszafer
9a6f5fe172 add boneio dimmer gen2 fw 2025-09-25 12:34:48 +02:00
pszafer
913bae573a add framework esp-idf as default for boneio yaml's 2025-09-01 06:30:01 +02:00
pszafer
e0616ecf46 Add web server ota 2025-07-29 08:15:39 +02:00
pszafer
e4b1e36270 Update LAN component 2025-07-29 08:14:23 +02:00
pszafer
9c93a4f6fa fix modbus temp 2025-07-28 20:53:46 +02:00
pszafer
0dfc3144ae update to latest release 2025-07-28 20:12:01 +02:00
Pawel
84baf6486a Merge pull request #30 from SQ9MDD/main
Update serial_no.yaml
2025-07-18 09:03:28 +02:00
Rysiek Labus (SQ9MDD)
0d1676a53f Update serial_no.yaml 2025-07-17 20:56:31 +02:00
pszafer
c1e24bd26f fix sdm path 2025-06-24 20:47:08 +02:00
pszafer
85b38bf32c fix to main 2025-06-24 20:36:33 +02:00
pszafer
509a1fe7c2 dimmer gen2 with can and v0_9 with can 2025-06-18 11:25:39 +02:00
pszafer
719a94d5fd fix fw creation 2025-06-18 08:53:11 +02:00
pszafer
c2f43e827a add serial_no id 2025-06-18 08:52:59 +02:00
pszafer
ebbcc61699 Dimmer gen2 dev0_4 2025-06-17 14:35:44 +02:00
pszafer
08db63a36f note about dev version 2025-03-10 09:40:33 +01:00
pszafer
e050de0d4f add multiclick to rgbw 2024-12-04 09:40:56 +01:00
pszafer
5735034bbc add new cover version 2024-12-04 09:11:15 +01:00
pszafer
cfa89d128e move from single output file to multiple output files 2024-10-29 11:56:43 +01:00
pszafer
acfc4aea01 add multiclick on dimmer 2024-10-25 09:33:22 +02:00
pszafer
56a32dfa83 fix typo boards 2024-10-25 09:22:45 +02:00
pszafer
c11ffdd002 move dimmer output to external file 2024-10-25 09:18:54 +02:00
pszafer
a86adfce01 fix 24x16 and cover mix 2024-10-23 14:53:36 +02:00
pszafer
18d722454b Add testing new UI 2024-10-23 13:20:05 +02:00
pszafer
b3f4062e9a Add testing new UI 2024-10-23 12:50:58 +02:00
pszafer
18a71c4371 add reboot_timeout: 0s 2024-10-23 12:27:13 +02:00
pszafer
40bd165cf6 v1.4.0 2024-10-07 14:40:06 +02:00
Pawel
3c9548291e Merge pull request #17 from wedr0wycz/main
Corrected pcf inputs ids
2024-10-07 12:35:19 +02:00
Pawel
5f88f5030f Merge branch 'main' into main 2024-10-07 12:35:07 +02:00
Pawel
9e95318de6 Revert to @latest and ref version 2024-10-07 12:33:58 +02:00
pszafer
b47b41298f fix ina219 devices 2024-10-07 12:21:06 +02:00
pszafer
77d975597e add v1.3.0 ref 2024-10-07 12:18:04 +02:00
wedr0wycz
3e6e24db28 minor editorial corrections 2024-10-06 14:48:03 +02:00
wedr0wycz
9441de7db3 corrected input id name 2024-10-05 21:11:23 +02:00
wedr0wycz
1b19e7e2a9 corrected id name 2024-10-05 21:05:05 +02:00
pszafer
0509f60860 add 8x10A 2024-10-04 19:34:32 +02:00
pszafer
9df077dc8c change phy addr in v0.9 2024-09-30 09:07:55 +02:00
pszafer
5ab0ad7794 fix devices_v0_7-v0_9 2024-09-29 14:10:51 +02:00
pszafer
5ad10482c9 Add v0.9 test board 2024-09-29 14:07:25 +02:00
wedr0wycz
56801a916c Update boneio-32x10_switches_v0_4.yaml 2024-09-23 16:12:34 +02:00
wedr0wycz
fba8511135 Update pcf.yaml 2024-09-23 15:41:05 +02:00
wedr0wycz
324c55b1d3 Merge branch 'boneIO-eu:main' into main 2024-09-20 15:21:39 +02:00
wedr0wycz
b53356ee8e change id name 2024-09-19 21:25:48 +02:00
Pawel
128ce7d2c5 Merge pull request #16 from wedr0wycz/main
New format configuration for 0.4PP
2024-08-20 08:48:32 +02:00
wedr0wycz
24398e5bfd nowy katalog z konfigami dla wersji 0.4PP 2024-08-18 00:26:31 +02:00
wedr0wycz
a1aefcccf8 Create display.yaml 2024-08-17 22:28:39 +02:00
wedr0wycz
9f0bc09e32 Create pcf.yaml 2024-08-17 22:16:42 +02:00
wedr0wycz
1f484039e7 Update ina219.yaml 2024-08-17 22:04:46 +02:00
wedr0wycz
f92c1d1523 Create ina219.yaml 2024-08-17 22:04:19 +02:00
wedr0wycz
609b2ebe76 Update i2c.yaml 2024-08-17 22:03:23 +02:00
wedr0wycz
118887d7a9 Create i2c.yaml 2024-08-17 22:02:53 +02:00
wedr0wycz
91dd0d9e78 Update boneio-32x10_switches_v0_4.yaml 2024-08-17 21:53:01 +02:00
wedr0wycz
fb3a0c5308 Update boneio-32x10_switches_v0_4.yaml 2024-06-26 09:42:46 +02:00
wedr0wycz
8c4ce848f0 Create boneio-32x10_switches_v0_4.yaml 2024-06-26 09:39:07 +02:00
pszafer
c917caeca2 Compability fix with Esphome 2024.6 2024-06-24 20:28:56 +02:00
pszafer
f0e782c98b fix cct fw 2024-06-21 11:22:31 +02:00
pszafer
bda1bc7450 Add mosfet board 48 2024-06-12 10:19:16 +02:00
pszafer
ace9718634 change to only esp as serial prefix 2024-05-27 21:31:27 +02:00
107 changed files with 11128 additions and 1279 deletions

452
.github/workflows/build-firmware.yml vendored Normal file
View File

@@ -0,0 +1,452 @@
name: Build ESPHome Firmware
on:
push:
tags:
- "esphome-*"
workflow_dispatch:
inputs:
esphome_version:
description: "ESPHome version (e.g., 2026.1.5)"
required: true
default: "2026.1.5"
build:
description: "Build number (e.g., b1)"
required: true
default: "b1"
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# 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
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@v7
id: esphome-build
with:
yaml-file: ${{ matrix.yaml_file }}
version: latest
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 }}"
}
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
runs-on: ubuntu-latest
permissions:
contents: write
pages: write
id-token: write
steps:
- name: Download firmware artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
pattern: firmware-*
merge-multiple: true
- name: Download metadata artifacts
uses: actions/download-artifact@v4
with:
path: metadata
pattern: metadata-*
merge-multiple: true
- name: Get 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 format: esphome-2026.1.5-b1
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
echo "esphome_version=$ESPHOME_VER" >> $GITHUB_OUTPUT
echo "build=$BUILD" >> $GITHUB_OUTPUT
echo "full_version=${ESPHOME_VER}-${BUILD}" >> $GITHUB_OUTPUT
echo "Version: $ESPHOME_VER, Build: $BUILD"
- name: Prepare GitHub Pages content
run: |
mkdir -p gh-pages/firmware gh-pages/manifests release
export VERSION="${{ steps.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 "$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_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>
</body>
</html>
EOF
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./gh-pages
force_orphan: true
- name: Create GitHub Release
if: github.event_name == 'push'
uses: softprops/action-gh-release@v2
with:
name: "Firmware ${{ steps.version.outputs.esphome_version }} (${{ steps.version.outputs.build }})"
files: release/*
generate_release_notes: true

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

@@ -0,0 +1,54 @@
name: Validate ESPHome Configs
on:
push:
branches: [main]
paths:
- "boneio-*.yaml"
- "packages/**"
pull_request:
paths:
- "boneio-*.yaml"
- "packages/**"
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")
# Check package_import_url
URL=$(grep 'package_import_url:' "$FILE" 2>/dev/null | awk '{print $2}' | tr -d "'\"")
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
echo "::error file=$FILE::package_import_url mismatch: URL references '$URL_FILE' but file is '$BASENAME'"
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))
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!"

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"python.languageServer": "None"
}

View File

@@ -1,368 +0,0 @@
switch:
- platform: gpio
id: cover_open_01_out01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_01_out02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off
- platform: gpio
id: cover_open_02_out03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_02_out04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off
- platform: gpio
id: cover_open_03_out05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_03_out06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
restore_mode: always off
- platform: gpio
id: cover_open_04_out07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_04_out08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
restore_mode: always off
- platform: gpio
id: cover_open_05_out09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_05_out10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
restore_mode: always off
- platform: gpio
id: cover_open_06_out11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_06_out12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
restore_mode: always off
- platform: gpio
id: cover_open_07_out13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_07_out14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
restore_mode: always off
- platform: gpio
id: cover_open_08_out15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_08_out16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
restore_mode: always off
- platform: gpio
id: cover_open_09_out17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_09 [cover_open_09_out17, cover_close_09_out18]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_09_out18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_09
restore_mode: always off
- platform: gpio
id: cover_open_10_out19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_10 [cover_open_10_out19, cover_close_10_out20]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_10_out20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_10
restore_mode: always off
- platform: gpio
id: cover_open_11_out21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_11 [cover_open_11_out21, cover_close_11_out22]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_11_out22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_11
restore_mode: always off
- platform: gpio
id: cover_open_12_out23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_12 [cover_open_12_out23, cover_close_12_out24]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_12_out24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_12
restore_mode: always off
- platform: gpio
id: cover_open_13_out25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_13 [cover_open_13_out25, cover_close_13_out26]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_13_out26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_13
restore_mode: always off
- platform: gpio
id: cover_open_14_out27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_14 [cover_open_14_out27, cover_close_14_out28]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_14_out28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_14
restore_mode: always off
- platform: gpio
id: cover_open_15_out29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_15 [cover_open_15_out29, cover_close_15_out30]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_15_out30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_15
restore_mode: always off
- platform: gpio
id: cover_open_16_out31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_16 [cover_open_16_out31, cover_close_16_out32]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_16_out32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_16
restore_mode: always off

View File

@@ -1,329 +0,0 @@
switch:
- platform: gpio
id: cover_open_01_out01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_01_out02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off
- platform: gpio
id: cover_open_02_out03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_02_out04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off
- platform: gpio
id: cover_open_03_out05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_03_out06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
restore_mode: always off
- platform: gpio
id: cover_open_04_out07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_04_out08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
restore_mode: always off
- platform: gpio
id: cover_open_05_out09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_05_out10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
restore_mode: always off
- platform: gpio
id: cover_open_06_out11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_06_out12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
restore_mode: always off
- platform: gpio
id: cover_open_07_out13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_07_out14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
restore_mode: always off
- platform: gpio
id: cover_open_08_out15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_08_out16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
restore_mode: always off
output:
- platform: gpio
id: out_17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-24-sw-06 name: boneio-24-sw-06
friendly_name: 'BoneIO ESP 24x16 Switches' friendly_name: 'BoneIO ESP 24x16 Switches'
serial_prefix: 'esp24' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,23 +34,26 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf_with_mcp.yaml', 'packages/devices_v0_5-v0_6/pcf_with_mcp.yaml',
'boards/24x16_output.yaml', 'packages/boards/24x16_output.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml', # 'packages/devices_v0_5-v0_6/one_wire.yaml',
] ]
logger: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-24-sw-07 name: boneio-24-sw-07
friendly_name: 'BoneIO ESP 24x16 Switches' friendly_name: 'BoneIO ESP 24x16 Switches'
serial_prefix: 'esp24' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,22 +34,25 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf_with_mcp.yaml', 'packages/devices_v0_7-v0_9/pcf_with_mcp.yaml',
'boards/24x16_output.yaml', 'packages/boards/24x16_output.yaml',
# 'devices_v0_7/one_wire.yaml', # 'packages/devices_v0_7-v0_9/one_wire.yaml',
] ]
logger: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-32-l-06 name: boneio-32-l-06
friendly_name: 'BoneIO ESP 32x10 Lights' friendly_name: 'BoneIO ESP 32x10 Lights'
serial_prefix: 'esp32' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,24 +34,42 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml', 'packages/devices_v0_5-v0_6/pcf.yaml',
'boards/32x10_output.yaml', 'packages/boards/output/out01_02.yaml',
# 'devices_v0_5-v0_6/one_wire.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: logger:
baud_rate: 0 #IMPORTANT FOR V0.5-V0.6 TO GET MODBUS WORKING baud_rate: 0 #IMPORTANT FOR V0.5-V0.6 TO GET MODBUS WORKING
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-32-l-07 name: boneio-32-l-07
friendly_name: 'BoneIO ESP 32x10 Lights' friendly_name: 'BoneIO ESP 32x10 Lights'
serial_prefix: 'esp32' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,27 +34,45 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf.yaml', 'packages/devices_v0_7-v0_9/pcf.yaml',
'boards/32x10_output.yaml', 'packages/boards/output/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
local: true local: true
version: 3
time: time:
- platform: homeassistant - platform: homeassistant

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-32-sw-06 name: boneio-32-sw-06
friendly_name: 'BoneIO ESP 32x10 Switches' friendly_name: 'BoneIO ESP 32x10 Switches'
serial_prefix: 'esp32' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,23 +34,41 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml', 'packages/devices_v0_5-v0_6/pcf.yaml',
'boards/32x10_output.yaml', 'packages/boards/output/out01_02.yaml',
# 'devices_v0_5-v0_6/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-32-sw-07 name: boneio-32-sw-07
friendly_name: 'BoneIO ESP 32x10 Switches' friendly_name: 'BoneIO ESP 32x10 Switches'
serial_prefix: 'esp32' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -10,16 +10,26 @@ esphome:
project: project:
name: boneio.32x10-lights name: boneio.32x10-lights
version: '0.7' version: '0.7'
on_boot:
- priority: 1001
then:
- lambda: |-
gpio_reset_pin((gpio_num_t)14);
gpio_reset_pin((gpio_num_t)15);
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,22 +40,40 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf.yaml', 'packages/devices_v0_7-v0_9/pcf.yaml',
'boards/32x10_output.yaml', 'packages/boards/output/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -635,7 +663,11 @@ binary_sensor:
# UNCOMMENT BELOW TO USE MODBUS # UNCOMMENT BELOW TO USE MODBUS
# uart: # uart:
# id: uart_pin14_15 # id: uart_pin14_15
# rx_pin: GPIO14 # rx_pin:
# number: GPIO14
# mode:
# input: true
# pullup: true
# tx_pin: GPIO15 # tx_pin: GPIO15
# baud_rate: 9600 # baud_rate: 9600
# stop_bits: 1 # stop_bits: 1

View File

@@ -0,0 +1,300 @@
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"
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.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: "OUT 01"
id: light_01
- platform: binary
output: out_02
name: "OUT 02"
id: light_02
- platform: binary
output: out_03
name: "OUT 03"
id: light_03
- platform: binary
output: out_04
name: "OUT 04"
id: light_04
- platform: binary
output: out_05
name: "OUT 05"
id: light_05
- platform: binary
output: out_06
name: "OUT 06"
id: light_06
- platform: binary
output: out_07
name: "OUT 07"
id: light_07
- platform: binary
output: out_08
name: "OUT 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: "IN_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: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_02
- platform: gpio
name: "IN_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: "IN_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: "IN_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: "IN_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: "IN_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: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
on_press:
then:
- 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

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-cm-l-06 name: boneio-cm-l-06
friendly_name: 'BoneIO ESP Cover Mix Lights' friendly_name: 'BoneIO ESP Cover Mix Lights'
serial_prefix: 'espcm' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,23 +34,41 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml', 'packages/devices_v0_5-v0_6/pcf.yaml',
'boards/8_covers_16_output.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_5-v0_6/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -65,11 +87,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -80,11 +100,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -95,11 +113,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -110,11 +126,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -125,11 +139,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -140,11 +152,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -155,11 +165,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -170,11 +178,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-cm-l-07 name: boneio-cm-l-07
friendly_name: 'BoneIO ESP Cover Mix Lights' friendly_name: 'BoneIO ESP Cover Mix Lights'
serial_prefix: 'espcm' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,22 +34,40 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf.yaml', 'packages/devices_v0_7-v0_9/pcf.yaml',
'boards/8_covers_16_output.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -61,11 +83,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -76,11 +96,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -91,11 +109,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -106,11 +122,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -121,11 +135,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -136,11 +148,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -151,11 +161,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -166,11 +174,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-cm-sw-06 name: boneio-cm-sw-06
friendly_name: 'BoneIO ESP Cover Mix Switches' friendly_name: 'BoneIO ESP Cover Mix Switches'
serial_prefix: 'espcm' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,23 +34,41 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml', 'packages/devices_v0_5-v0_6/pcf.yaml',
'boards/8_covers_16_output.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -65,11 +87,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -80,11 +100,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -95,11 +113,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -110,11 +126,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -125,11 +139,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -140,11 +152,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -155,11 +165,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -170,11 +178,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-cm-sw-07 name: boneio-cm-sw-07
friendly_name: 'BoneIO ESP Cover Mix Switches' friendly_name: 'BoneIO ESP Cover Mix Switches'
serial_prefix: 'espcm' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,22 +34,40 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf.yaml', 'packages/devices_v0_7-v0_9/pcf.yaml',
'boards/8_covers_16_output.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -61,11 +83,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -76,11 +96,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -91,11 +109,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -106,11 +122,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -121,11 +135,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -136,11 +148,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -151,11 +161,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -166,11 +174,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-c-06 name: boneio-c-06
friendly_name: 'BoneIO ESP Cover' friendly_name: 'BoneIO ESP Cover'
serial_prefix: 'espc' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,23 +34,41 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml', 'packages/devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml', 'packages/devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml', 'packages/devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml', 'packages/devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml', 'packages/devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml', 'packages/devices_v0_5-v0_6/pcf.yaml',
'boards/16_cover_pcf.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_5-v0_6/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -65,11 +87,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -80,11 +100,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -95,11 +113,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -110,11 +126,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -125,11 +139,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -140,11 +152,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -155,11 +165,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -170,11 +178,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -185,11 +191,9 @@ cover:
name: 'Cover 09' name: 'Cover 09'
id: cover_09 id: cover_09
open_action: open_action:
- switch.turn_off: cover_close_09_out18
- switch.turn_on: cover_open_09_out17 - switch.turn_on: cover_open_09_out17
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_on: cover_close_09_out18 - switch.turn_on: cover_close_09_out18
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -200,11 +204,9 @@ cover:
name: 'Cover 10' name: 'Cover 10'
id: cover_10 id: cover_10
open_action: open_action:
- switch.turn_off: cover_close_10_out20
- switch.turn_on: cover_open_10_out19 - switch.turn_on: cover_open_10_out19
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_on: cover_close_10_out20 - switch.turn_on: cover_close_10_out20
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -215,11 +217,9 @@ cover:
name: 'Cover 11' name: 'Cover 11'
id: cover_11 id: cover_11
open_action: open_action:
- switch.turn_off: cover_close_11_out22
- switch.turn_on: cover_open_11_out21 - switch.turn_on: cover_open_11_out21
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_on: cover_close_11_out22 - switch.turn_on: cover_close_11_out22
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -230,11 +230,9 @@ cover:
name: 'Cover 12' name: 'Cover 12'
id: cover_12 id: cover_12
open_action: open_action:
- switch.turn_off: cover_close_12_out24
- switch.turn_on: cover_open_12_out23 - switch.turn_on: cover_open_12_out23
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_on: cover_close_12_out24 - switch.turn_on: cover_close_12_out24
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -245,11 +243,9 @@ cover:
name: 'Cover 13' name: 'Cover 13'
id: cover_13 id: cover_13
open_action: open_action:
- switch.turn_off: cover_close_13_out26
- switch.turn_on: cover_open_13_out25 - switch.turn_on: cover_open_13_out25
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_on: cover_close_13_out26 - switch.turn_on: cover_close_13_out26
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -260,11 +256,9 @@ cover:
name: 'Cover 14' name: 'Cover 14'
id: cover_14 id: cover_14
open_action: open_action:
- switch.turn_off: cover_close_14_out28
- switch.turn_on: cover_open_14_out27 - switch.turn_on: cover_open_14_out27
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_on: cover_close_14_out28 - switch.turn_on: cover_close_14_out28
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -275,11 +269,9 @@ cover:
name: 'Cover 15' name: 'Cover 15'
id: cover_15 id: cover_15
open_action: open_action:
- switch.turn_off: cover_close_15_out30
- switch.turn_on: cover_open_15_out29 - switch.turn_on: cover_open_15_out29
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_on: cover_close_15_out30 - switch.turn_on: cover_close_15_out30
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -290,11 +282,9 @@ cover:
name: 'Cover 16' name: 'Cover 16'
id: cover_16 id: cover_16
open_action: open_action:
- switch.turn_off: cover_close_16_out32
- switch.turn_on: cover_open_16_out31 - switch.turn_on: cover_open_16_out31
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_on: cover_close_16_out32 - switch.turn_on: cover_close_16_out32
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -1,7 +1,7 @@
substitutions: substitutions:
name: boneio-c-07 name: boneio-c-07
friendly_name: 'BoneIO ESP Cover' friendly_name: 'BoneIO ESP Cover'
serial_prefix: 'espc' #Don't change it. serial_prefix: 'esp' #Don't change it.
esphome: esphome:
name: '${name}' name: '${name}'
@@ -13,13 +13,17 @@ esphome:
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
framework:
type: esp-idf
ethernet: ethernet:
id: eth id: eth
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -30,22 +34,40 @@ dashboard_import:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: [ files: [
'devices/buzzer.yaml', 'packages/devices/buzzer.yaml',
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices_v0_7/display.yaml', 'packages/devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml', 'packages/devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml', 'packages/devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7/lm75b.yaml', 'packages/devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7/pcf.yaml', 'packages/devices_v0_7-v0_9/pcf.yaml',
'boards/16_cover_pcf.yaml', 'packages/boards/cover/out01_02.yaml',
# 'devices_v0_7/one_wire.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: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -61,11 +83,9 @@ cover:
name: 'Cover 01' name: 'Cover 01'
id: cover_01 id: cover_01
open_action: open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01 - switch.turn_on: cover_open_01_out01
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02 - switch.turn_on: cover_close_01_out02
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -76,11 +96,9 @@ cover:
name: 'Cover 02' name: 'Cover 02'
id: cover_02 id: cover_02
open_action: open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03 - switch.turn_on: cover_open_02_out03
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04 - switch.turn_on: cover_close_02_out04
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -91,11 +109,9 @@ cover:
name: 'Cover 03' name: 'Cover 03'
id: cover_03 id: cover_03
open_action: open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05 - switch.turn_on: cover_open_03_out05
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06 - switch.turn_on: cover_close_03_out06
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -106,11 +122,9 @@ cover:
name: 'Cover 04' name: 'Cover 04'
id: cover_04 id: cover_04
open_action: open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07 - switch.turn_on: cover_open_04_out07
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08 - switch.turn_on: cover_close_04_out08
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -121,11 +135,9 @@ cover:
name: 'Cover 05' name: 'Cover 05'
id: cover_05 id: cover_05
open_action: open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09 - switch.turn_on: cover_open_05_out09
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10 - switch.turn_on: cover_close_05_out10
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -136,11 +148,9 @@ cover:
name: 'Cover 06' name: 'Cover 06'
id: cover_06 id: cover_06
open_action: open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11 - switch.turn_on: cover_open_06_out11
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12 - switch.turn_on: cover_close_06_out12
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -151,11 +161,9 @@ cover:
name: 'Cover 07' name: 'Cover 07'
id: cover_07 id: cover_07
open_action: open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13 - switch.turn_on: cover_open_07_out13
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14 - switch.turn_on: cover_close_07_out14
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -166,11 +174,9 @@ cover:
name: 'Cover 08' name: 'Cover 08'
id: cover_08 id: cover_08
open_action: open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15 - switch.turn_on: cover_open_08_out15
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16 - switch.turn_on: cover_close_08_out16
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -181,11 +187,9 @@ cover:
name: 'Cover 09' name: 'Cover 09'
id: cover_09 id: cover_09
open_action: open_action:
- switch.turn_off: cover_close_09_out18
- switch.turn_on: cover_open_09_out17 - switch.turn_on: cover_open_09_out17
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_on: cover_close_09_out18 - switch.turn_on: cover_close_09_out18
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -196,11 +200,9 @@ cover:
name: 'Cover 10' name: 'Cover 10'
id: cover_10 id: cover_10
open_action: open_action:
- switch.turn_off: cover_close_10_out20
- switch.turn_on: cover_open_10_out19 - switch.turn_on: cover_open_10_out19
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_on: cover_close_10_out20 - switch.turn_on: cover_close_10_out20
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -211,11 +213,9 @@ cover:
name: 'Cover 11' name: 'Cover 11'
id: cover_11 id: cover_11
open_action: open_action:
- switch.turn_off: cover_close_11_out22
- switch.turn_on: cover_open_11_out21 - switch.turn_on: cover_open_11_out21
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_on: cover_close_11_out22 - switch.turn_on: cover_close_11_out22
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -226,11 +226,9 @@ cover:
name: 'Cover 12' name: 'Cover 12'
id: cover_12 id: cover_12
open_action: open_action:
- switch.turn_off: cover_close_12_out24
- switch.turn_on: cover_open_12_out23 - switch.turn_on: cover_open_12_out23
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_on: cover_close_12_out24 - switch.turn_on: cover_close_12_out24
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -241,11 +239,9 @@ cover:
name: 'Cover 13' name: 'Cover 13'
id: cover_13 id: cover_13
open_action: open_action:
- switch.turn_off: cover_close_13_out26
- switch.turn_on: cover_open_13_out25 - switch.turn_on: cover_open_13_out25
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_on: cover_close_13_out26 - switch.turn_on: cover_close_13_out26
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -256,11 +252,9 @@ cover:
name: 'Cover 14' name: 'Cover 14'
id: cover_14 id: cover_14
open_action: open_action:
- switch.turn_off: cover_close_14_out28
- switch.turn_on: cover_open_14_out27 - switch.turn_on: cover_open_14_out27
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_on: cover_close_14_out28 - switch.turn_on: cover_close_14_out28
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -271,11 +265,9 @@ cover:
name: 'Cover 15' name: 'Cover 15'
id: cover_15 id: cover_15
open_action: open_action:
- switch.turn_off: cover_close_15_out30
- switch.turn_on: cover_open_15_out29 - switch.turn_on: cover_open_15_out29
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_on: cover_close_15_out30 - switch.turn_on: cover_close_15_out30
close_duration: 10s close_duration: 10s
stop_action: stop_action:
@@ -286,11 +278,9 @@ cover:
name: 'Cover 16' name: 'Cover 16'
id: cover_16 id: cover_16
open_action: open_action:
- switch.turn_off: cover_close_16_out32
- switch.turn_on: cover_open_16_out31 - switch.turn_on: cover_open_16_out31
open_duration: 10s open_duration: 10s
close_action: close_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_on: cover_close_16_out32 - switch.turn_on: cover_close_16_out32
close_duration: 10s close_duration: 10s
stop_action: stop_action:

View File

@@ -13,6 +13,8 @@ esphome:
esp32: esp32:
board: esp32dev board: esp32dev
framework:
type: esp-idf
external_components: external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75 - source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
@@ -21,12 +23,13 @@ external_components:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: files:
[ [
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices/dimmer_i2c.yaml', 'packages/devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml', 'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
] ]
ethernet: ethernet:
@@ -34,7 +37,9 @@ ethernet:
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -48,7 +53,10 @@ pcf8574:
logger: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -68,7 +76,7 @@ text_sensor:
id: hostname id: hostname
entity_category: diagnostic entity_category: diagnostic
lambda: |- lambda: |-
return id(eth).get_use_address(); return std::string(id(eth).get_use_address());
update_interval: 5min update_interval: 5min
binary_sensor: binary_sensor:
@@ -80,6 +88,26 @@ binary_sensor:
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing: # double click
- ON for at most 1s
- OFF for at most 0.5s
- ON for at most 1s
- OFF for at least 0.2s
then:
- light.toggle: rgbw_l
- logger.log: 'Double Click'
- timing: # single click
- ON for at most 1s
- OFF for at least 0.5s
then:
- light.toggle: rgbw_l
- logger.log: 'Single Click'
- timing: # long click
- ON for at least 1.4s
then:
- light.toggle: rgbw_r
- logger.log: 'Long Click'
- platform: gpio - platform: gpio
name: 'IN_02' name: 'IN_02'
pin: pin:
@@ -133,51 +161,9 @@ binary_sensor:
input: true input: true
inverted: true inverted: true
output:
- platform: ledc
pin: 33
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: 32
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: 12
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: 14
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: 13
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04
light: light:
- platform: rgbw - platform: rgbw
id: rgbw_l
name: 'RGBW L' name: 'RGBW L'
red: chl01 red: chl01
green: chl02 green: chl02
@@ -186,6 +172,7 @@ light:
default_transition_length: 2s default_transition_length: 2s
gamma_correct: 0 gamma_correct: 0
- platform: rgbw - platform: rgbw
id: rgbw_r
name: 'RGBW R' name: 'RGBW R'
red: chr01 red: chr01
green: chr02 green: chr02

View File

@@ -13,6 +13,8 @@ esphome:
esp32: esp32:
board: esp32dev board: esp32dev
framework:
type: esp-idf
external_components: external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75 - source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
@@ -21,12 +23,13 @@ external_components:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: files:
[ [
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices/dimmer_i2c.yaml', 'packages/devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml', 'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
] ]
ethernet: ethernet:
@@ -34,7 +37,9 @@ ethernet:
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -48,7 +53,10 @@ pcf8574:
logger: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -68,7 +76,7 @@ text_sensor:
id: hostname id: hostname
entity_category: diagnostic entity_category: diagnostic
lambda: |- lambda: |-
return id(eth).get_use_address(); return std::string(id(eth).get_use_address());
update_interval: 5min update_interval: 5min
binary_sensor: binary_sensor:
@@ -133,49 +141,6 @@ binary_sensor:
input: true input: true
inverted: true inverted: true
output:
- platform: ledc
pin: 33
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: 32
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: 12
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: 14
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: 13
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04
light: light:
- platform: cwww - platform: cwww
name: 'CHL_01_02' name: 'CHL_01_02'
@@ -192,15 +157,15 @@ light:
- platform: cwww - platform: cwww
name: 'CHR_01_02' name: 'CHR_01_02'
cold_white: chl01 cold_white: chr01
warm_white: chl02 warm_white: chr02
cold_white_color_temperature: 6536 K cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K warm_white_color_temperature: 2000 K
- platform: cwww - platform: cwww
name: 'CHR_03_04' name: 'CHR_03_04'
cold_white: chl03 cold_white: chr03
warm_white: chl04 warm_white: chr04
cold_white_color_temperature: 6536 K cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K warm_white_color_temperature: 2000 K

View File

@@ -13,6 +13,8 @@ esphome:
esp32: esp32:
board: esp32dev board: esp32dev
framework:
type: esp-idf
external_components: external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75 - source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
@@ -21,12 +23,13 @@ external_components:
packages: packages:
internals_packages: internals_packages:
url: https://github.com/boneIO-eu/esphome url: https://github.com/boneIO-eu/esphome
ref: v1.0.16 ref: packages-v2.0.0
files: files:
[ [
'devices/serial_no.yaml', 'packages/devices/serial_no.yaml',
'devices/dimmer_i2c.yaml', 'packages/devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml', 'packages/devices/dimmer_ina219.yaml',
'packages/boards/dimmer_output.yaml',
] ]
ethernet: ethernet:
@@ -34,7 +37,9 @@ ethernet:
type: LAN8720 type: LAN8720
mdc_pin: GPIO23 mdc_pin: GPIO23
mdio_pin: GPIO18 mdio_pin: GPIO18
clk_mode: GPIO0_IN clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1 phy_addr: 1
power_pin: GPIO16 power_pin: GPIO16
@@ -48,7 +53,10 @@ pcf8574:
logger: logger:
api: api:
reboot_timeout: 0s
ota: ota:
- platform: esphome
- platform: web_server
web_server: web_server:
port: 80 port: 80
@@ -68,113 +76,310 @@ text_sensor:
id: hostname id: hostname
entity_category: diagnostic entity_category: diagnostic
lambda: |- lambda: |-
return id(eth).get_use_address(); return std::string(id(eth).get_use_address());
update_interval: 5min update_interval: 5min
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: 'IN_01' name: 'IN_01'
id: in_01
pin: pin:
pcf8574: pcf_inputs pcf8574: pcf_inputs
number: 1 number: 1
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_01
then:
- if:
condition:
lambda: 'return id(chl_01).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_01
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_01
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_01
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_02' name: 'IN_02'
id: in_02
pin: pin:
pcf8574: pcf_inputs pcf8574: pcf_inputs
number: 2 number: 2
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_02
then:
- if:
condition:
lambda: 'return id(chl_02).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_02
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_02
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_02
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_03' name: 'IN_03'
id: in_03
pin: pin:
pcf8574: pcf_inputs pcf8574: pcf_inputs
number: 3 number: 3
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_03
then:
- if:
condition:
lambda: 'return id(chl_03).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_03
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_03
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_03
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_04' name: 'IN_04'
id: in_04
pin: pin:
pcf8574: pcf_inputs pcf8574: pcf_inputs
number: 4 number: 4
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_04
then:
- if:
condition:
lambda: 'return id(chl_04).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_04
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_04
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_04
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_05' name: 'IN_05'
id: in_05
pin: pin:
number: 36 number: 36
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_05
then:
- if:
condition:
lambda: 'return id(chr_01).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chr_01
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chr_01
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chr_01
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_06' name: 'IN_06'
id: in_06
pin: pin:
number: 39 number: 39
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_06
then:
- if:
condition:
lambda: 'return id(chr_02).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chr_02
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chr_02
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chr_02
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_07' name: 'IN_07'
id: in_07
pin: pin:
number: 34 number: 34
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_07
then:
- if:
condition:
lambda: 'return id(chr_03).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chr_03
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chr_03
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chr_03
invalid_cooldown: 0.5s
- platform: gpio - platform: gpio
name: 'IN_08' name: 'IN_08'
id: in_08
pin: pin:
number: 35 number: 35
mode: mode:
input: true input: true
inverted: true inverted: true
on_multi_click:
output: - timing:
- platform: ledc - ON for at least 0.7s
pin: 33 then:
frequency: 1000Hz - while:
inverted: false condition:
id: chl01 binary_sensor.is_on: in_08
- platform: ledc then:
pin: 32 - if:
frequency: 1000Hz condition:
inverted: false lambda: 'return id(chr_04).current_values.get_brightness() >= 0.90f;'
id: chl02 then:
- platform: ledc - light.turn_on:
pin: 12 id: chr_04
frequency: 1000Hz brightness: 5%
inverted: false transition_length: 0.2s
id: chl03 else:
- platform: ledc - light.dim_relative:
pin: 14 id: chr_04
frequency: 1000Hz relative_brightness: 5%
inverted: false transition_length: 0.2s
id: chl04 - delay: 200ms
invalid_cooldown: 0.5s
- platform: ledc - timing: #single click
pin: 13 - ON for at most 0.4s
frequency: 1000Hz - OFF for at least 0.1s
inverted: false then:
id: chr01 light.toggle: chr_04
- platform: ledc invalid_cooldown: 0.5s
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04
light: light:
- platform: monochromatic - platform: monochromatic

View File

@@ -0,0 +1,277 @@
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"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-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: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
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
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-dimmer_gen2_2rgbw-v0_1.yaml@main
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: rgbw
id: rgbw_l
name: "RGBW L"
red: chl01
green: chl02
blue: chl03
white: chl04
default_transition_length: 2s
gamma_correct: 0
- platform: rgbw
id: rgbw_r
name: "RGBW R"
red: chr01
green: chr02
blue: chr03
white: chr04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- 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: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,285 @@
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"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-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: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
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
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-dimmer_gen2_4cct-v0_1.yaml@main
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: cwww
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"
cold_white: chl03
warm_white: chl04
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
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"
cold_white: chr03
warm_white: chr04
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- 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: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,308 @@
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"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-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: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
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
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-dimmer_gen2_8ch-v0_1.yaml@main
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: monochromatic
output: chl01
name: "CHL 01"
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: "CHL 02"
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: "CHL 03"
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: "CHL 04"
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: "CHR 01"
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: "CHR 02"
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: "CHR 03"
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: "CHR 04"
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- 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: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,367 @@
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"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: boneio.input24-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
# 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-input24_gen2-v0_1.yaml@latest
import_full_config: true
pcf8574:
- id: pcf_inputs_1_to_8
address: 0x38
- id: pcf_inputs_9_to_24
address: 0x20
pcf8575: true
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
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: "IN_01"
id: in_01
pin:
pcf8574: pcf_inputs_1_to_8
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "IN_02"
id: in_02
pin:
pcf8574: pcf_inputs_1_to_8
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "IN_03"
id: in_03
pin:
pcf8574: pcf_inputs_1_to_8
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "IN_04"
id: in_04
pin:
pcf8574: pcf_inputs_1_to_8
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "IN_05"
id: in_05
pin:
pcf8574: pcf_inputs_1_to_8
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "IN_06"
id: in_06
pin:
pcf8574: pcf_inputs_1_to_8
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "IN_07"
id: in_07
pin:
pcf8574: pcf_inputs_1_to_8
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: "IN_08"
id: in_08
pin:
pcf8574: pcf_inputs_1_to_8
number: 7
mode:
input: true
inverted: true
- platform: gpio
name: "IN_09"
id: in_09
pin:
pcf8574: pcf_inputs_9_to_24
number: 7
mode:
input: true
inverted: true
- platform: gpio
name: "IN_10"
id: in_10
pin:
pcf8574: pcf_inputs_9_to_24
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: "IN_11"
id: in_11
pin:
pcf8574: pcf_inputs_9_to_24
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "IN_12"
id: in_12
pin:
pcf8574: pcf_inputs_9_to_24
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "IN_13"
id: in_13
pin:
pcf8574: pcf_inputs_9_to_24
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "IN_14"
id: in_14
pin:
pcf8574: pcf_inputs_9_to_24
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "IN_15"
id: in_15
pin:
pcf8574: pcf_inputs_9_to_24
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "IN_16"
id: in_16
pin:
pcf8574: pcf_inputs_9_to_24
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "IN_17"
id: in_17
pin:
pcf8574: pcf_inputs_9_to_24
number: 15
mode:
input: true
inverted: true
- platform: gpio
name: "IN_18"
id: in_18
pin:
pcf8574: pcf_inputs_9_to_24
number: 14
mode:
input: true
inverted: true
- platform: gpio
name: "IN_19"
id: in_19
pin:
pcf8574: pcf_inputs_9_to_24
number: 13
mode:
input: true
inverted: true
- platform: gpio
name: "IN_20"
id: in_20
pin:
pcf8574: pcf_inputs_9_to_24
number: 12
mode:
input: true
inverted: true
- platform: gpio
name: "IN_21"
id: in_21
pin:
pcf8574: pcf_inputs_9_to_24
number: 11
mode:
input: true
inverted: true
- platform: gpio
name: "IN_22"
id: in_22
pin:
pcf8574: pcf_inputs_9_to_24
number: 10
mode:
input: true
inverted: true
- platform: gpio
name: "IN_23"
id: in_23
pin:
pcf8574: pcf_inputs_9_to_24
number: 9
mode:
input: true
inverted: true
- platform: gpio
name: "IN_24"
id: in_24
pin:
pcf8574: pcf_inputs_9_to_24
number: 8
mode:
input: true
inverted: true

View File

@@ -1,10 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
import subprocess
import glob import glob
import json
import os import os
import re import re
import json
import shutil import shutil
import subprocess
from pathlib import Path from pathlib import Path
home = str(Path.home()) home = str(Path.home())
@@ -14,23 +14,51 @@ cwd = os.getcwd()
pattern = r"name:\s*(\S+)" pattern = r"name:\s*(\S+)"
json_destination = "../website/public/esp" json_destination = "../website2/public/fwesp"
firmware_destination = "../website/public/esp/firmware" firmware_destination = "../website2/public/fwesp/firmware"
firmware_destination2 = "../esphome_uploader/firmware"
# Lista plików do wykluczenia z przetwarzania
exclude_files = [
"dimmer_gen2_can.yaml",
"dimmer_gen2_emc.yaml",
"dev-boneio-32x10_lights_v0_9.yaml"
"boneio-mosfet48_lights_v0_7.yaml",
"boneio-mosfet48_switches_v0_7.yaml"
"boneio-8x10A_v0_1.yaml"
"boneio-dimmer_gen2_8ch-dev0_4.yaml",
# Dodaj tutaj kolejne pliki do wykluczenia
]
include_files = [
"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"
]
def json_pattern(firmware_name): GITHUB_PAGES_URL = "https://boneio-eu.github.io/esphome"
FIRMWARE_VERSION = "2026.1.2"
def json_pattern(firmware_name, chip_family="ESP32"):
# GitHub Pages supports CORS - works with ESP Web Tools
firmware_path = f"{GITHUB_PAGES_URL}/firmware/{firmware_name}.bin"
return { return {
"name": "ESPHome", "name": "ESPHome",
"version": "2024.5.0", "version": FIRMWARE_VERSION,
"home_assistant_domain": "esphome", "home_assistant_domain": "esphome",
"funding_url": "https://esphome.io/guides/supporters.html", "funding_url": "https://esphome.io/guides/supporters.html",
"new_install_prompt_erase": False, "new_install_prompt_erase": False,
"builds": [ "builds": [
{ {
"chipFamily": "ESP32", "chipFamily": chip_family,
"parts": [ "parts": [
{ {
"path": f"/esp/firmware/{firmware_name}.bin", "path": firmware_path,
"offset": 0, "offset": 0,
} }
], ],
@@ -51,23 +79,38 @@ def get_boneio_name(file):
for file in glob.glob("*.yaml"): for file in glob.glob("*.yaml"):
# Pomiń pliki z listy wykluczeń
if file in exclude_files:
print(f"Skipping excluded file: {file}")
continue
if file not in include_files:
print(f"Skipping file: {file}")
continue
filename = get_boneio_name(file) filename = get_boneio_name(file)
chip_family = "ESP32-S3" if "gen2" in filename else "ESP32"
if not filename: if not filename:
print("No file found.") print("No file found.")
break break
firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware-factory.bin" firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware.factory.bin"
print("CWD", cwd) cmd = f'docker run --rm -p 6053:6052 -v "{cwd}":/config -it ghcr.io/esphome/esphome compile {file}'
subprocess.run( print(cmd)
f'docker run --rm -p 6052:6052 -v "{cwd}":/config -it ghcr.io/esphome/esphome compile {file}', result = subprocess.run(
cmd,
shell=True, shell=True,
) )
if result.returncode != 0:
print("Process failed, breaking.")
break
shutil.copyfile(firmware_path, f"{firmware_destination}/{filename}.bin") shutil.copyfile(firmware_path, f"{firmware_destination}/{filename}.bin")
shutil.copyfile(firmware_path, f"{firmware_destination2}/{filename}.bin")
with open( with open(
f"{json_destination}/{filename}.json", "w", encoding="utf-8" f"{json_destination}/{filename}.json", "w", encoding="utf-8"
) as f: ) as f:
print(f"Creating JSON file: {json_destination}/{filename}.json")
json.dump( json.dump(
json_pattern(firmware_name=filename), json_pattern(firmware_name=filename, chip_family=chip_family),
f, f,
ensure_ascii=False, ensure_ascii=False,
indent=4, indent=4,

View File

@@ -0,0 +1,676 @@
substitutions:
name: boneio-32-sw-04
friendly_name: 'BoneIO ESP 32x10 Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-switches
version: '0.4PP'
esp32:
board: nodemcu-32s
framework:
type: esp-idf
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1
power_pin: GPIO16
#use_address:
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_4.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'devices/serial_no.yaml',
'devices_v0_4/display.yaml',
'devices_v0_4/i2c.yaml',
'devices_v0_4/ina219.yaml',
'devices_v0_4/lm75b.yaml',
'devices_v0_4/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_4/time.yaml',
# 'devices_v0_7/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# disable web server - for testing only
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
switch:
- platform: output
name: 'Switch 01'
output: out_01
id: switch_01
- platform: output
name: 'Switch 02'
output: out_02
id: switch_02
- platform: output
name: 'Switch 03'
output: out_03
id: switch_03
- platform: output
name: 'Switch 04'
output: out_04
id: switch_04
- platform: output
name: 'Switch 05'
output: out_05
id: switch_05
- platform: output
name: 'Switch 06'
output: out_06
id: switch_06
- platform: output
name: 'Switch 07'
output: out_07
id: switch_07
- platform: output
name: 'Switch 08'
output: out_08
id: switch_08
- platform: output
name: 'Switch 09'
output: out_09
id: switch_09
- platform: output
name: 'Switch 10'
output: out_10
id: switch_10
- platform: output
name: 'Switch 11'
output: out_11
id: switch_11
- platform: output
name: 'Switch 12'
output: out_12
id: switch_12
- platform: output
name: 'Switch 13'
output: out_13
id: switch_13
- platform: output
name: 'Switch 14'
output: out_14
id: switch_14
- platform: output
name: 'Switch 15'
output: out_15
id: switch_15
- platform: output
name: 'Switch 16'
output: out_16
id: switch_16
- platform: output
name: 'Switch 17'
output: out_17
id: switch_17
- platform: output
name: 'Switch 18'
output: out_18
id: switch_18
- platform: output
name: 'Switch 19'
output: out_19
id: switch_19
- platform: output
name: 'Switch 20'
output: out_20
id: switch_20
- platform: output
name: 'Switch 21'
output: out_21
id: switch_21
- platform: output
name: 'Switch 22'
output: out_22
id: switch_22
- platform: output
name: 'Switch 23'
output: out_23
id: switch_23
- platform: output
name: 'Switch 24'
output: out_24
id: switch_24
- platform: output
name: 'Switch 25'
output: out_25
id: switch_25
- platform: output
name: 'Switch 26'
output: out_26
id: switch_26
- platform: output
name: 'Switch 27'
output: out_27
id: switch_27
- platform: output
name: 'Switch 28'
output: out_28
id: switch_28
- platform: output
name: 'Switch 29'
output: out_29
id: switch_29
- platform: output
name: 'Switch 30'
output: out_30
id: switch_30
- platform: output
name: 'Switch 31'
output: out_31
id: switch_31
- platform: output
name: 'Switch 32'
output: out_32
id: switch_32
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to16
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_1to16
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_1to16
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_1to16
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_1to16
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_1to16
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_1to16
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_1to16
number: 7
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_08
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to16
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_09
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to16
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_10
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to16
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_11
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to16
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_12
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to16
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_13
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to16
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_14
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_1to16
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_15
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_1to16
number: 15
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_16
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_17to32
number: 7
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_17
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_17to32
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_18
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_17to32
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_19
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_17to32
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_20
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_17to32
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_21
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_17to32
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_22
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_17to32
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_23
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_17to32
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_24
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_17to32
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_25
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_17to32
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_26
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_17to32
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_27
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_17to32
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_28
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_17to32
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_29
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_17to32
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_30
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_17to32
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_31
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_17to32
number: 15
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_32
- platform: gpio
name: 'IN_33'
pin:
number: GPIO33
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
number: GPIO17
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
number: GPIO12
mode:
input: true
pullup: true
inverted: false
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin14_15
# rx_pin: GPIO14
# tx_pin: GPIO15
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin14_15
# id: boneio_modbus
# modbus_controller:
# - id: YOURDEVICE ID
# address: 0x09
# modbus_id: mod_bus
# setup_priority: -10
# update_interval: 60s

View File

@@ -0,0 +1,306 @@
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"
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-v1.7.2
files: [
'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.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: 'OUT 01'
id: light_01
- platform: binary
output: out_02
name: 'OUT 02'
id: light_02
- platform: binary
output: out_03
name: 'OUT 03'
id: light_03
- platform: binary
output: out_04
name: 'OUT 04'
id: light_04
- platform: binary
output: out_05
name: 'OUT 05'
id: light_05
- platform: binary
output: out_06
name: 'OUT 06'
id: light_06
- platform: binary
output: out_07
name: 'OUT 07'
id: light_07
- platform: binary
output: out_08
name: 'OUT 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: 'IN_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: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_02
- platform: gpio
name: 'IN_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: 'IN_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: 'IN_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: 'IN_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: 'IN_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: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_08

View File

@@ -0,0 +1,390 @@
substitutions:
name: boneio-dr-8ch-04
friendly_name: 'BoneIO Dimmer LED'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led
version: '0.4'
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO12
mosi_pin: GPIO14
miso_pin: GPIO13
cs_pin: GPIO39
interrupt_pin: GPIO21
reset_pin: GPIO38
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
i2c:
sda: GPIO11
scl: GPIO10
scan: True
frequency: 400kHz
uart:
id: uart_pin8_9
rx_pin: GPIO8
tx_pin: GPIO9
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio1 - tx, gpio2 rx
modbus:
send_wait_time: 200ms
uart_id: uart_pin8_9
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
# 'devices/dimmer_ina219.yaml',
# 'boards/dimmer_output.yaml',
]
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
# import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
local: true
text_sensor:
- platform: version
name: 'boneio-dimmer- Version'
icon: mdi:cube-outline
entity_category: diagnostic
- platform: ethernet_info
ip_address:
entity_category: diagnostic
name: boneio-dimmer IP
- platform: template
name: 'Hostname'
id: hostname
entity_category: diagnostic
lambda: |-
return std::string(id(eth).get_use_address());
update_interval: 5min
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
sensor:
- platform: lm75
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
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHL Voltage
current:
name: CHLCurrent
power:
name: CHL Watts
temperature:
name: CHL Temperature
address: 0x70
update_interval: 10s
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHR Voltage
current:
name: CHR Current
power:
name: CHR Watts
temperature:
name: CHR Temperature
address: 0x73
update_interval: 10s
- platform: modbus_controller
modbus_controller_id: sht20
name: 'MTemperature'
register_type: read
address: 1
unit_of_measurement: '°C'
device_class: 'temperature'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sht20
name: 'MHumidity'
register_type: read
address: 2
unit_of_measurement: '%'
device_class: 'humidity'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO42
mode:
output: true
inverted: true
modbus_controller:
- id: sht20
address: 62
modbus_id: boneio_modbus
setup_priority: -10
update_interval: 20s
canbus:
- platform: esp32_can
tx_pin: GPIO01
rx_pin: GPIO02
can_id: 4
bit_rate: 50kbps
on_frame:
- can_id: 5
then:
- lambda: |-
if(x.size() > 0) {
switch(x[0]) {
case 0x12: // button release
id(can_bus_button).publish_state(false);
break;
case 0x11: // button press
id(can_bus_button).publish_state(true);
break;
}
}
button:
- platform: template
name: 'CAN Sensor ON'
on_press:
- logger.log: Button Pressed
- canbus.send: [0x11, 0x22, 0x33]
- platform: template
name: 'CAN Sensor OFF'
on_press:
- logger.log: Button Pressed
- canbus.send: [0x12, 0x22, 0x33]

View File

@@ -0,0 +1,374 @@
substitutions:
name: boneio-dr-gen2-8ch-dev04
friendly_name: 'BoneIO Dimmer dev0.4'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-dr-gen2-8ch-dev04.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: 'dev0.4'
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
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio48 - tx, gpio47 rx, gpio35 stb
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',
# 'devices/dimmer_i2c.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-dimmer_gen2_8ch-dev0_4.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
# http_request:
# timeout: 7s
# verify_ssl: false
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# - platform: http_request
# update:
# - id: update_std
# platform: http_request
# name: boneIO FW Update
# update_interval: 3 minutes
# source: ${firmware_manifest}
web_server:
port: 80
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
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
- platform: gpio
name: "CAN RX"
pin: GPIO47
- platform: gpio
name: "CAN TX"
pin: GPIO48
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
# canbus:
# - platform: esp32_can
# tx_pin: GPIO48
# rx_pin: GPIO47
# can_id: 4
# bit_rate: 50kbps
# on_frame:
# - can_id: 5
# then:
# - lambda: |-
# if(x.size() > 0) {
# switch(x[0]) {
# case 0x12: // button release
# id(can_bus_button).publish_state(false);
# break;
# case 0x11: // button press
# id(can_bus_button).publish_state(true);
# break;
# }
# }
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]

View File

@@ -0,0 +1,314 @@
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'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-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: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
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
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'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-dimmer_gen2_8ch-v0_1.yaml@main
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: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- 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: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,736 @@
substitutions:
name: boneio-32-l-09
friendly_name: 'BoneIO ESP 32x10 Lights'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-lights
version: 'dev0.9'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_out
phy_addr: 0
power_pin: GPIO12
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_9.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_9/display.yaml',
'devices_v0_9/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',
]
logger:
api:
reboot_timeout: 0s
# http_request:
# verify_ssl: false
ota:
- platform: esphome
- platform: web_server
# - platform: http_request
# name: Firmware Update
# source: https://boneio.eu/esp/
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
light:
- platform: binary
name: 'Light 01'
output: out_01
id: light_01
- platform: binary
name: 'Light 02'
output: out_02
id: light_02
- platform: binary
name: 'Light 03'
output: out_03
id: light_03
- platform: binary
name: 'Light 04'
output: out_04
id: light_04
- platform: binary
name: 'Light 05'
output: out_05
id: light_05
- platform: binary
name: 'Light 06'
output: out_06
id: light_06
- platform: binary
name: 'Light 07'
output: out_07
id: light_07
- platform: binary
name: 'Light 08'
output: out_08
id: light_08
- platform: binary
name: 'Light 09'
output: out_09
id: light_09
- platform: binary
name: 'Light 10'
output: out_10
id: light_10
- platform: binary
name: 'Light 11'
output: out_11
id: light_11
- platform: binary
name: 'Light 12'
output: out_12
id: light_12
- platform: binary
name: 'Light 13'
output: out_13
id: light_13
- platform: binary
name: 'Light 14'
output: out_14
id: light_14
- platform: binary
name: 'Light 15'
output: out_15
id: light_15
- platform: binary
name: 'Light 16'
output: out_16
id: light_16
- platform: binary
name: 'Light 17'
output: out_17
id: light_17
- platform: binary
name: 'Light 18'
output: out_18
id: light_18
- platform: binary
name: 'Light 19'
output: out_19
id: light_19
- platform: binary
name: 'Light 20'
output: out_20
id: light_20
- platform: binary
name: 'Light 21'
output: out_21
id: light_21
- platform: binary
name: 'Light 22'
output: out_22
id: light_22
- platform: binary
name: 'Light 23'
output: out_23
id: light_23
- platform: binary
name: 'Light 24'
output: out_24
id: light_24
- platform: binary
name: 'Light 25'
output: out_25
id: light_25
- platform: binary
name: 'Light 26'
output: out_26
id: light_26
- platform: binary
name: 'Light 27'
output: out_27
id: light_27
- platform: binary
name: 'Light 28'
output: out_28
id: light_28
- platform: binary
name: 'Light 29'
output: out_29
id: light_29
- platform: binary
name: 'Light 30'
output: out_30
id: light_30
- platform: binary
name: 'Light 31'
output: out_31
id: light_31
- platform: binary
name: 'Light 32'
output: out_32
id: light_32
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_02
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_03
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_04
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_05
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_06
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_07
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_08
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_09
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_10
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_11
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_12
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_13
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_14
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_15
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_16
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_17
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_18
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_19
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_20
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_21
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_22
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_23
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_24
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_25
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_26
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_27
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_28
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_29
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_30
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_31
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_32
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
uart:
id: uart_pin14_15
rx_pin: GPIO14
tx_pin: GPIO15
baud_rate: 9600
stop_bits: 1
modbus:
send_wait_time: 200ms
uart_id: uart_pin14_15
id: boneio_modbus
modbus_controller:
- id: sht20
address: 62
modbus_id: boneio_modbus
setup_priority: -10
update_interval: 20s
sensor:
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Temperature'
register_type: read
address: 1
unit_of_measurement: '°C'
device_class: 'temperature'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Humidity'
register_type: read
address: 2
unit_of_measurement: '%'
device_class: 'humidity'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
canbus:
- platform: esp32_can
tx_pin: GPIO05
rx_pin: GPIO04
can_id: 5
bit_rate: 50kbps
on_frame:
- can_id: 4
then:
- lambda: |-
if(x.size() > 0) {
switch(x[0]) {
case 0x12: // button release
id(can_bus_button).publish_state(false);
break;
case 0x11: // button press
id(can_bus_button).publish_state(true);
break;
}
}
button:
- platform: template
name: 'CAN Sensor ON'
on_press:
- logger.log: Button Pressed
- canbus.send: [0x11, 0x22, 0x33]
- platform: template
name: 'CAN Sensor OFF'
on_press:
- logger.log: Button Pressed
- canbus.send: [0x12, 0x22, 0x33]

View File

@@ -0,0 +1,355 @@
substitutions:
name: boneio-8x10a-cover-dev01
friendly_name: 'BoneIO Relay 8x10A dev0.1'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-relay-8x10a-cover-dev0.3.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.relay-8x10a-cover
version: 'dev0.3'
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
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
spi:
- id: spi_ade7953
mosi_pin: GPIO35
miso_pin: GPIO37
clk_pin: GPIO36
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',
]
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-relay-8x10a-cover-dev0.3.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# update:
# - id: update_std
# platform: http_request
# name: boneIO FW Update
# update_interval: 3 minutes
# source: ${firmware_manifest}
web_server:
port: 80
version: 3
local: true
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
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
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO40
irq_pin: GPIO15
update_interval: 10s
voltage:
name: "ADE7953 1 Voltage"
current_a:
name: "ADE7953 1 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO41
irq_pin: GPIO16
update_interval: 10s
voltage:
name: "ADE7953 2 Voltage"
current_a:
name: "ADE7953 2 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO42
irq_pin: GPIO17
update_interval: 10s
voltage:
name: "ADE7953 3 Voltage"
current_a:
name: "ADE7953 3 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO45
irq_pin: GPIO18
update_interval: 10s
voltage:
name: "ADE7953 4 Voltage"
current_a:
name: "ADE7953 4 Current"
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
# *** POCZĄTEK AKTUALIZACJI ***
- platform: gpio
id: can_stb # Poprzednio id: can_bus_switch
name: 'CAN STB' # Poprzednio name: 'CAN Bus Switch'
pin:
number: GPIO20 # Pin dla CAN_STB
mode:
output: true
inverted: false
- platform: gpio
id: can_led
name: 'CAN LED'
pin:
number: GPIO8 # Pin dla CAN_LED
mode:
output: true
inverted: false
# *** KONIEC AKTUALIZACJI ***
- platform: gpio
name: "CAN RX"
pin: GPIO47
- platform: gpio
name: "CAN TX"
pin: GPIO48
# Przełączniki dla linii RST układów ADE7953
- platform: gpio
name: "ADE7953 RST 1"
pin: GPIO4
- platform: gpio
name: "ADE7953 RST 2"
pin: GPIO5
- platform: gpio
name: "ADE7953 RST 3"
pin: GPIO6
- platform: gpio
name: "ADE7953 RST 4"
pin: GPIO7
# !!! BRAKUJĄCA SEKCJA !!!
# Musisz tutaj dodać definicje dla 8 przekaźników.
# Na przykład:
# - platform: gpio
# name: "Relay 1"
# pin: GPIO_PIN_PRZEKAŹNIKA_1
# - platform: gpio
# name: "Relay 2"
# pin: GPIO_PIN_PRZEKAŹNIKA_2
# ... i tak 8 razy
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
# canbus:
# - platform: esp32_can
# tx_pin: GPIO48
# rx_pin: GPIO47
# can_id: 4
# bit_rate: 50kbps
# on_frame:
# - can_id: 5
# then:
# - lambda: |-
# if(x.size() > 0) {
# switch(x[0]) {
# case 0x12: // button release
# id(can_bus_button).publish_state(false);
# break;
# case 0x11: // button press
# id(can_bus_button).publish_state(true);
# break;
# }
# }
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,194 @@
substitutions:
name: boneio-ps-01
friendly_name: 'BoneIO PS-01 Czujnik Obecności'
serial_prefix: 'ps01' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-ps-01.json' # URL manifestu
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.presence-sensor-ps01
version: 'dev0.1' # Przykładowa wersja
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:
variant: esp32s3
flash_size: 16MB
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
# --- NOWA SEKCJA: WiFi ---
wifi:
ssid: "TwojeSSID"
password: "TwojeHaslo"
# Tryb AP do pierwszej konfiguracji
ap:
ssid: "PS-01 Sensor Setup"
password: "boneio-setup"
captive_portal:
i2c:
id: i2c_bus # Dodano ID dla czujników
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
# --- ZAKTUALIZOWANY UART (dla radaru) ---
uart:
- id: radar_uart
tx_pin: GPIO21 # ESP TX -> Radar RX
rx_pin: GPIO14 # ESP RX -> Radar TX
baud_rate: 115200 # Standard dla LD2412
- id: boneio_uart
rx_pin: GPIO47 # CAN RX wg tabeli (dla CAN Bus)
tx_pin: GPIO48 # CAN TX wg tabeli (dla CAN Bus)
baud_rate: 9600
stop_bits: 1
# --- NOWA SEKCJA: Radar LD2412 ---
ld2412:
uart_id: radar_uart
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'devices/serial_no.yaml',
]
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-ps-01-presence-sensor.yaml@main # Zgadywany URL
import_full_config: true
# --- USUNIĘTY pcf8574 ---
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
# --- USUNIĘTE 'output' i 'light' ---
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
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
# --- NOWA SEKCJA: Czujniki I2C ---
- platform: sht4x
i2c_id: i2c_bus
address: 0x44 # Z tabeli
temperature:
name: "Temperatura"
humidity:
name: "Wilgotność"
update_interval: 15s
- platform: veml7700
address: 0x10
update_interval: 60s
# short variant of sensor definition:
ambient_light: "Ambient light"
# longer variant of sensor definition:
actual_gain:
name: "Actual gain"
# Czujniki dla radaru LD2412 (dystans, energia)
# zostaną dodane automatycznie przez komponent 'ld2412'
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO12 # Zaktualizowany pin
mode: output
inverted: false
- platform: gpio
id: can_stb
name: 'CAN STB'
pin:
number: GPIO13 # Zaktualizowany pin
mode: output
inverted: false
# --- NOWA SEKCJA: Przełączniki ---
- platform: gpio
id: led_status
name: 'LED Status'
pin:
number: GPIO1 # Zaktualizowany pin
mode: output
inverted: false
- platform: gpio
id: relay_1
name: 'Przekaźnik 1'
pin:
number: GPIO18 # Z tabeli
mode: output
inverted: false
- platform: gpio
id: relay_2
name: 'Przekaźnik 2'
pin:
number: GPIO17 # Z tabeli
mode: output
inverted: false
binary_sensor:
- platform: gpio
name: 'Obecność (Pin OUT)'
pin:
number: GPIO41 # RADAR_OUT
mode: input
device_class: presence

View File

@@ -0,0 +1,309 @@
substitutions:
name: boneio-dev01
friendly_name: 'BoneIO Dimmer dev0.1'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: false
project:
name: boneio.dimmer-led
version: 'dev0.1'
esp32:
board: esp32-s3-devkitc-1
ethernet:
id: eth
type: W5500
clk_pin: GPIO14
mosi_pin: GPIO12
miso_pin: GPIO13
cs_pin: GPIO21
interrupt_pin: GPIO38
reset_pin: GPIO39
# Enable fallback hotspot (captive portal) in case wifi connection fails
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: uart_pin
rx_pin: GPIO48
tx_pin: GPIO47
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio1 - tx, gpio2 rx
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin8_9
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
#'devices/dimmer_ina219.yaml',
]
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
# import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
sensor:
- platform: lm75
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
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHL Voltage
current:
name: CHLCurrent
power:
name: CHL Watts
temperature:
name: CHL Temperature
address: 0x70
update_interval: 10s
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHR Voltage
current:
name: CHR Current
power:
name: CHR Watts
temperature:
name: CHR Temperature
address: 0x73
update_interval: 10s
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO42
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,284 @@
#CAN
substitutions:
name: boneio-dr-gen2-8ch-dev04-3328f7
friendly_name: BoneIO Dimmer dev0.4 3328f7
serial_prefix: dim2 #Don't change it.
firmware_manifest: https://boneio.eu/esp/boneio-dr-gen2-8ch-dev04.json
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: boneio.dimmer-led-gen2
version: dev0.4
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
external_components:
- source: github://mrk-its/esphome-canopen
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
# use_address: 192.168.13.107
use_address: 192.168.50.173
i2c:
sda: GPIO10
scl: GPIO11
scan: true
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio48 - tx, gpio47 rx, gpio35 stb
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v1.7.2
files: [devices/serial_no.yaml]
dashboard_import:
package_import_url:
github://boneIO-eu/esphome/boneio-dimmer_g2_8ch-dev0_4.yaml@main
import_full_config: true
pcf8574:
- id: pcf_inputs
address: 0x38
# http_request:
# timeout: 7s
# verify_ssl: false
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
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: GPIO3
mode:
output: true
inverted: false
- platform: template
id: master
name: master
optimistic: true
on_turn_on:
then:
- delay: 0ms
- lambda: id(can_open).send_entity_cmd(0x2, 1, (uint8_t)1);
on_turn_off:
then:
- delay: 0ms
- lambda: id(can_open).send_entity_cmd(0x2, 1, (uint8_t)0);
binary_sensor:
- platform: gpio
name: IN_01
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: IN_02
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: IN_03
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: IN_04
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: IN_05
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: IN_06
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: IN_07
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: IN_08
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
canbus:
- platform: esp32_can
id: can_bus
tx_pin: GPIO48
rx_pin: GPIO47
can_id: 1
bit_rate: 50kbps
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]
canopen:
id: can_open
canbus_id: can_bus
entities: []
node_id: 1

View File

View File

@@ -0,0 +1,724 @@
substitutions:
name: boneio-48-l-07
friendly_name: 'BoneIO ESP Mosfet 48 Lights'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.mosfet48-lights
version: '0.7'
esp32:
board: nodemcu-32s
framework:
type: esp-idf
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-mosfet48_lights_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v2.0.0
files: [
'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:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
light:
- platform: binary
name: 'Light 01'
output: out_01
id: light_01
- platform: binary
name: 'Light 02'
output: out_02
id: light_02
- platform: binary
name: 'Light 03'
output: out_03
id: light_03
- platform: binary
name: 'Light 04'
output: out_04
id: light_04
- platform: binary
name: 'Light 05'
output: out_05
id: light_05
- platform: binary
name: 'Light 06'
output: out_06
id: light_06
- platform: binary
name: 'Light 07'
output: out_07
id: light_07
- platform: binary
name: 'Light 08'
output: out_08
id: light_08
- platform: binary
name: 'Light 09'
output: out_09
id: light_09
- platform: binary
name: 'Light 10'
output: out_10
id: light_10
- platform: binary
name: 'Light 11'
output: out_11
id: light_11
- platform: binary
name: 'Light 12'
output: out_12
id: light_12
- platform: binary
name: 'Light 13'
output: out_13
id: light_13
- platform: binary
name: 'Light 14'
output: out_14
id: light_14
- platform: binary
name: 'Light 15'
output: out_15
id: light_15
- platform: binary
name: 'Light 16'
output: out_16
id: light_16
- platform: binary
name: 'Light 17'
output: out_17
id: light_17
- platform: binary
name: 'Light 18'
output: out_18
id: light_18
- platform: binary
name: 'Light 19'
output: out_19
id: light_19
- platform: binary
name: 'Light 20'
output: out_20
id: light_20
- platform: binary
name: 'Light 21'
output: out_21
id: light_21
- platform: binary
name: 'Light 22'
output: out_22
id: light_22
- platform: binary
name: 'Light 23'
output: out_23
id: light_23
- platform: binary
name: 'Light 24'
output: out_24
id: light_24
- platform: binary
name: 'Light 25'
output: out_25
id: light_25
- platform: binary
name: 'Light 26'
output: out_26
id: light_26
- platform: binary
name: 'Light 27'
output: out_27
id: light_27
- platform: binary
name: 'Light 28'
output: out_28
id: light_28
- platform: binary
name: 'Light 29'
output: out_29
id: light_29
- platform: binary
name: 'Light 30'
output: out_30
id: light_30
- platform: binary
name: 'Light 31'
output: out_31
id: light_31
- platform: binary
name: 'Light 32'
output: out_32
id: light_32
- platform: binary
name: 'Light 33'
output: out_33
id: light_33
- platform: binary
name: 'Light 34'
output: out_34
id: light_34
- platform: binary
name: 'Light 35'
output: out_35
id: light_35
- platform: binary
name: 'Light 36'
output: out_36
id: light_36
- platform: binary
name: 'Light 37'
output: out_37
id: light_37
- platform: binary
name: 'Light 38'
output: out_38
id: light_38
- platform: binary
name: 'Light 39'
output: out_39
id: light_39
- platform: binary
name: 'Light 40'
output: out_40
id: light_40
- platform: binary
name: 'Light 41'
output: out_41
id: light_41
- platform: binary
name: 'Light 42'
output: out_42
id: light_42
- platform: binary
name: 'Light 43'
output: out_43
id: light_43
- platform: binary
name: 'Light 44'
output: out_44
id: light_44
- platform: binary
name: 'Light 45'
output: out_45
id: light_45
- platform: binary
name: 'Light 46'
output: out_46
id: light_46
- platform: binary
name: 'Light 47'
output: out_47
id: light_47
- platform: binary
name: 'Light 48'
output: out_48
id: light_48
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_02
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_03
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_04
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_05
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_06
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_07
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_08
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_09
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_10
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_11
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_12
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_13
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_14
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_15
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_16
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_17
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_18
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_19
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_20
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_21
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_22
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_23
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_24
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_25
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_26
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_27
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_28
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_29
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_30
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_31
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- light.toggle: light_32
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin14_15
# rx_pin: GPIO14
# tx_pin: GPIO15
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin14_15
# id: boneio_modbus
# modbus_controller:
# - id: YOURDEVICE ID
# address: 0x09
# modbus_id: mod_bus
# setup_priority: -10
# update_interval: 60s

View File

@@ -0,0 +1,724 @@
substitutions:
name: boneio-48-sw-07
friendly_name: 'BoneIO ESP Mosfet 48 Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.mosfet48-lights
version: '0.7'
esp32:
board: nodemcu-32s
framework:
type: esp-idf
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-mosfet48_switches_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: packages-v2.0.0
files: [
'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:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
switch:
- platform: output
name: 'Switch 01'
output: out_01
id: switch_01
- platform: output
name: 'Switch 02'
output: out_02
id: switch_02
- platform: output
name: 'Switch 03'
output: out_03
id: switch_03
- platform: output
name: 'Switch 04'
output: out_04
id: switch_04
- platform: output
name: 'Switch 05'
output: out_05
id: switch_05
- platform: output
name: 'Switch 06'
output: out_06
id: switch_06
- platform: output
name: 'Switch 07'
output: out_07
id: switch_07
- platform: output
name: 'Switch 08'
output: out_08
id: switch_08
- platform: output
name: 'Switch 09'
output: out_09
id: switch_09
- platform: output
name: 'Switch 10'
output: out_10
id: switch_10
- platform: output
name: 'Switch 11'
output: out_11
id: switch_11
- platform: output
name: 'Switch 12'
output: out_12
id: switch_12
- platform: output
name: 'Switch 13'
output: out_13
id: switch_13
- platform: output
name: 'Switch 14'
output: out_14
id: switch_14
- platform: output
name: 'Switch 15'
output: out_15
id: switch_15
- platform: output
name: 'Switch 16'
output: out_16
id: switch_16
- platform: output
name: 'Switch 17'
output: out_17
id: switch_17
- platform: output
name: 'Switch 18'
output: out_18
id: switch_18
- platform: output
name: 'Switch 19'
output: out_19
id: switch_19
- platform: output
name: 'Switch 20'
output: out_20
id: switch_20
- platform: output
name: 'Switch 21'
output: out_21
id: switch_21
- platform: output
name: 'Switch 22'
output: out_22
id: switch_22
- platform: output
name: 'Switch 23'
output: out_23
id: switch_23
- platform: output
name: 'Switch 24'
output: out_24
id: switch_24
- platform: output
name: 'Switch 25'
output: out_25
id: switch_25
- platform: output
name: 'Switch 26'
output: out_26
id: switch_26
- platform: output
name: 'Switch 27'
output: out_27
id: switch_27
- platform: output
name: 'Switch 28'
output: out_28
id: switch_28
- platform: output
name: 'Switch 29'
output: out_29
id: switch_29
- platform: output
name: 'Switch 30'
output: out_30
id: switch_30
- platform: output
name: 'Switch 31'
output: out_31
id: switch_31
- platform: output
name: 'Switch 32'
output: out_32
id: switch_32
- platform: output
name: 'Switch 33'
output: out_33
id: switch_33
- platform: output
name: 'Switch 34'
output: out_34
id: switch_34
- platform: output
name: 'Switch 35'
output: out_35
id: switch_35
- platform: output
name: 'Switch 36'
output: out_36
id: switch_36
- platform: output
name: 'Switch 37'
output: out_37
id: switch_37
- platform: output
name: 'Switch 38'
output: out_38
id: switch_38
- platform: output
name: 'Switch 39'
output: out_39
id: switch_39
- platform: output
name: 'Switch 40'
output: out_40
id: switch_40
- platform: output
name: 'Switch 41'
output: out_41
id: switch_41
- platform: output
name: 'Switch 42'
output: out_42
id: switch_42
- platform: output
name: 'Switch 43'
output: out_43
id: switch_43
- platform: output
name: 'Switch 44'
output: out_44
id: switch_44
- platform: output
name: 'Switch 45'
output: out_45
id: switch_45
- platform: output
name: 'Switch 46'
output: out_46
id: switch_46
- platform: output
name: 'Switch 47'
output: out_47
id: switch_47
- platform: output
name: 'Switch 48'
output: out_48
id: switch_48
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
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_1to14
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_1to14
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_1to14
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_1to14
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_1to14
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_1to14
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_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_08
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_09
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_10
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_11
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_12
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_13
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_14
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_15
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_16
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_17
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_18
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_19
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_20
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_21
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_22
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_23
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_24
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_25
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_26
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_27
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_28
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_29
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_30
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_31
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_32
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin14_15
# rx_pin: GPIO14
# tx_pin: GPIO15
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin14_15
# id: boneio_modbus
# modbus_controller:
# - id: YOURDEVICE ID
# address: 0x09
# modbus_id: mod_bus
# setup_priority: -10
# update_interval: 60s

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_01_out01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_01_out02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_02_out03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_02_out04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_03_out05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_03_out06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_04_out07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_04_out08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_05_out09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_05_out10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_06_out11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_06_out12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_07_out13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_07_out14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_08_out15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_08_out16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_09_out17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_09 [cover_open_09_out17, cover_close_09_out18]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_09_out18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_09
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_10_out19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_10 [cover_open_10_out19, cover_close_10_out20]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_10_out20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_10
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_11_out21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_11 [cover_open_11_out21, cover_close_11_out22]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_11_out22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_11
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_12_out23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_12 [cover_open_12_out23, cover_close_12_out24]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_12_out24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_12
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_13_out25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_13 [cover_open_13_out25, cover_close_13_out26]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_13_out26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_13
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_14_out27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_14 [cover_open_14_out27, cover_close_14_out28]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_14_out28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_14
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_15_out29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_15 [cover_open_15_out29, cover_close_15_out30]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_15_out30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_15
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_16_out31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_16 [cover_open_16_out31, cover_close_16_out32]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_16_out32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_16
restore_mode: always off

View File

@@ -3,7 +3,7 @@ output:
id: out_01 id: out_01
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 15 number: 7
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -11,7 +11,7 @@ output:
id: out_02 id: out_02
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 14 number: 6
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -20,7 +20,7 @@ output:
id: out_03 id: out_03
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 13 number: 5
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -29,7 +29,7 @@ output:
id: out_04 id: out_04
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 12 number: 4
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -38,7 +38,7 @@ output:
id: out_05 id: out_05
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 11 number: 3
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -47,7 +47,7 @@ output:
id: out_06 id: out_06
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 10 number: 2
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -56,7 +56,7 @@ output:
id: out_07 id: out_07
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 9 number: 1
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -65,7 +65,7 @@ output:
id: out_08 id: out_08
pin: pin:
pcf8574: pcf_left pcf8574: pcf_left
number: 8 number: 0
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -73,8 +73,8 @@ output:
- platform: gpio - platform: gpio
id: out_09 id: out_09
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 15 number: 7
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -82,8 +82,8 @@ output:
- platform: gpio - platform: gpio
id: out_10 id: out_10
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 14 number: 6
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -91,8 +91,8 @@ output:
- platform: gpio - platform: gpio
id: out_11 id: out_11
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 13 number: 5
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -100,8 +100,8 @@ output:
- platform: gpio - platform: gpio
id: out_12 id: out_12
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 12 number: 4
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -109,8 +109,8 @@ output:
- platform: gpio - platform: gpio
id: out_13 id: out_13
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 11 number: 3
mode: mode:
output: true output: true
inverted: true inverted: true
@@ -118,14 +118,257 @@ output:
- platform: gpio - platform: gpio
id: out_14 id: out_14
pin: pin:
pcf8574: pcf_right pcf8574: pcf_middle
number: 10 number: 2
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_15 id: out_15
pin:
pcf8574: pcf_middle
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_middle
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_17
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_33
pin:
pcf8574: pcf_middle
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_34
pin:
pcf8574: pcf_middle
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_35
pin:
pcf8574: pcf_middle
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_36
pin:
pcf8574: pcf_middle
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_37
pin:
pcf8574: pcf_middle
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_38
pin:
pcf8574: pcf_middle
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_39
pin:
pcf8574: pcf_middle
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_40
pin:
pcf8574: pcf_middle
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_41
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_42
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 9 number: 9
@@ -134,154 +377,55 @@ output:
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_16 id: out_43
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 8 number: 10
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_17 id: out_44
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 0 number: 11
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_26 id: out_45
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 1 number: 12
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_27 id: out_46
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 2 number: 13
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_28 id: out_47
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 3 number: 14
mode: mode:
output: true output: true
inverted: true inverted: true
- platform: gpio - platform: gpio
id: out_29 id: out_48
pin: pin:
pcf8574: pcf_right pcf8574: pcf_right
number: 4 number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode: mode:
output: true output: true
inverted: true inverted: true

View File

@@ -0,0 +1,17 @@
output:
- platform: gpio
id: out_01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true

5
packages/configuration/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
# Gitignore settings for ESPHome
# This is an example and may include too much for your use-case.
# You can modify this file to suit your needs.
/.esphome/
/secrets.yaml

View File

@@ -0,0 +1,291 @@
substitutions:
name: boneio-dev02
friendly_name: 'BoneIO Dimmer dev0.2'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: false
project:
name: boneio.dimmer-led
version: 'dev0.2'
esp32:
board: esp32-s3-devkitc-1
ethernet:
id: eth
type: W5500
clk_pin: GPIO12
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO13
interrupt_pin: GPIO2
reset_pin: GPIO1
# Enable fallback hotspot (captive portal) in case wifi connection fails
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO14
tx_pin: GPIO21
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio1 - tx, gpio2 rx
modbus:
send_wait_time: 200ms
uart_id: boneio_uart
id: boneio_modbus
packages:
boneio_packages:
url: "https://github.com/boneIO-eu/esphome_packages"
refresh: 1min
files:
- path: "sdm630.yaml"
vars:
device_name: "MySDM"
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.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
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
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
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,42 @@
output:
- platform: ledc
pin: 33
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: 32
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: 12
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: 14
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: 13
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04

View File

@@ -1,9 +1,10 @@
text_sensor: text_sensor:
- platform: template - platform: template
name: 'Serial No.' name: 'Serial No.'
id: serial_no
lambda: |- lambda: |-
std::string mac = get_mac_address(); std::string mac = get_mac_address();
return to_string("${serial_prefix}") + mac.erase(0, mac.length()/2); return std::string("${serial_prefix}") + mac.substr(mac.length()/2);
icon: mdi:expansion-card-variant icon: mdi:expansion-card-variant
entity_category: diagnostic entity_category: diagnostic
update_interval: 60min update_interval: 60min

View File

@@ -0,0 +1,131 @@
#i2c address: 0x3C input oled
sensor:
- platform: uptime
id: wt32_uptime_seconds
update_interval: 60s
entity_category: diagnostic
on_raw_value:
then:
- text_sensor.template.publish:
id: wt32_uptime
state: !lambda |-
int seconds = round(id(wt32_uptime_seconds).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(to_string(minutes) + "m")
).c_str();
text_sensor:
- platform: template
name: Uptime
id: wt32_uptime
entity_category: diagnostic
icon: mdi:clock-start
- platform: template
name: 'IP Address'
id: ip_address
entity_category: diagnostic
icon: 'mdi:ip-network'
lambda: |-
return id(eth).get_ip_addresses().empty() ? "Unset" : id(eth).get_ip_addresses()[0].str();
update_interval: 60s
script:
- id: screensaver_script
# screensaver script, turn on screensaver after 30 seconds, restart counter each time when invoked
mode: restart
then:
# set the time after which the screensaver will be activated
- delay: 30s
- display.page.show: screensaver
- component.update: oled_display
esphome:
on_boot:
priority: 0
then:
- display.page.show: first_page
- component.update: ip_address
- component.update: oled_display
- script.execute: screensaver_script
binary_sensor:
- platform: gpio
entity_category: config
id: boneIO_button
pin:
number: GPIO4
mode:
input: true
pullup: true
inverted: true
on_press:
then:
# woke up when on the screensaver, as well do not include the logo page and screensaver in a loop when pushing a button
- if:
condition:
# on the last page go to the first page skipping the screensaver and logo page
display.is_displaying_page: last_page
then:
- display.page.show: first_page
- component.update: oled_display
else:
- if:
condition:
# on the screensaver, show the logo for a while and display the first page
display.is_displaying_page: screensaver
then:
- display.page.show: first_page
- component.update: oled_display
else:
# not the last page and screensaver go to the next page
- display.page.show_next: oled_display
- component.update: oled_display
# restart screensaver script
- script.execute: screensaver_script
display:
- platform: ssd1306_i2c
id: oled_display
model: "SH1106 128x64"
address: 0x3C
contrast: 0.5
pages:
- id: first_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "bone IO");
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"IP addr:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(ip_address).state.c_str());
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state);
# additional pages should be defined between the first and last page
- id: last_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "bone IO");
it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
- id: screensaver
lambda: |-
it.fill(COLOR_OFF);
font:
- file: 'gfonts://Ubuntu'
id: size_10
size: 10

View File

@@ -0,0 +1,6 @@
i2c:
- id: i2c_bus
sda: GPIO14
scl: GPIO15
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,13 @@
pcf8574:
- id: 'pcf_right'
address: 0x20
pcf8575: true
- id: 'pcf_left'
address: 0x21
pcf8575: true
- id: 'pcf_inputs_1to16'
address: 0x26
pcf8575: true
- id: 'pcf_inputs_17to32'
address: 0x27
pcf8575: true

View File

@@ -0,0 +1,3 @@
time:
- platform: ds1307
id: ds1307_time

View File

@@ -1,5 +1,6 @@
dallas: one_wire:
- pin: GPIO32 - platform: gpio
pin: GPIO32
# sensor: # sensor:
# - platform: dallas # - platform: dallas

View File

@@ -0,0 +1,20 @@
sensor:
# Module power consmption
- platform: ina219
address: 0x40
shunt_resistance: 0.1 ohm
current:
id: ina_current
name: 'INA219 Current'
power:
id: ina_power
name: 'INA219 Power'
bus_voltage:
id: ina_bus_voltage
name: 'INA219 Bus Voltage'
shunt_voltage:
id: ina_shunt_voltage
name: 'INA219 Shunt Voltage'
max_voltage: 32.0V
max_current: 3.2A
update_interval: 30s

View File

@@ -0,0 +1,12 @@
#i2c address: 0x48 output lm75b temp
#LM75B
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
sensor:
# Lower board temperature
- platform: lm75
id: boneIO_temp
name: 'LM75B Temperature'
update_interval: 30s

View File

@@ -1,14 +1,15 @@
dallas: one_wire:
- pin: GPIO32 - platform: gpio
pin: GPIO32
# sensor: # sensor:
# - platform: dallas # - platform: dallas_temp
# address: 0x283c01d607d4df28 # address: 0x283c01d607d4df28
# name: "Dallas Sensor 1" # name: "Dallas Sensor 1"
# #
# - platform: dallas # - platform: dallas_temp
# address: 0xdfe67a061e64ff28 # address: 0xdfe67a061e64ff28
# name: "Dallas Sensor 2" # name: "Dallas Sensor 2"
# #
# - platform: dallas # - platform: dallas_temp
# address: 0xa7a89f071e64ff28 # address: 0xa7a89f071e64ff28
# name: "Dallas Sensor 3" # name: "Dallas Sensor 3"

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