Compare commits

...

130 Commits

Author SHA1 Message Date
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
pszafer
206a1912f2 add serial_prefix to config 2024-05-27 20:32:25 +02:00
pszafer
8412fb6fe5 Move uart and modbus to main file 2024-05-23 20:11:00 +02:00
pszafer
1befa8554a Switch dashboard import to latest branch 2024-05-22 19:37:04 +02:00
pszafer
3741466e05 fix fw 2024-05-22 17:03:31 +02:00
pszafer
501155c99e fix ina L power 2024-05-22 16:59:20 +02:00
pszafer
866a2c99ea Add Power measure to INA 2024-05-22 12:47:15 +02:00
pszafer
6b44f23693 fix serial no 2024-05-22 10:25:02 +02:00
pszafer
ac9c9d6ac5 dimmer serial no 2024-05-22 10:00:46 +02:00
pszafer
8733d0f625 add serial number 2024-05-22 09:59:52 +02:00
pszafer
9a5c78334d fix INA to 10A 2024-05-22 09:59:44 +02:00
pszafer
28c60689c6 Dimmer output 2024-05-20 13:10:50 +02:00
pszafer
3ac8e38f75 move dimmer and buzzer to main dimmer file 2024-05-20 09:07:31 +02:00
pszafer
ea52b3d40e fix channel naming 2024-05-19 22:35:02 +02:00
pszafer
f03b078855 fix tag ref 2024-05-19 22:32:51 +02:00
pszafer
f152ce0508 rename ina to ina219 2024-05-19 22:31:33 +02:00
pszafer
dce79eadf6 add dimmer config split into multiple files 2024-05-19 20:41:18 +02:00
pszafer
a36cac224a Remove OTA password 2024-04-24 10:43:27 +02:00
pszafer
75b7cf5a0c change versioning in project config 2024-04-11 13:05:53 +02:00
pszafer
10332236a9 replace lm75 with tp102 2024-04-11 12:57:27 +02:00
pszafer
22e8852a60 fix esp32 board 2024-04-10 22:05:22 +02:00
pszafer
ab51965605 fix naming 1.0.3 2024-04-10 09:15:09 +02:00
pszafer
ddc26dd2b1 fix v0.7 light and cover 2024-04-09 22:21:28 +02:00
pszafer
b444a1655a ref v1.0.1 2024-04-09 22:10:38 +02:00
pszafer
242493a957 add version to name 2024-04-09 22:08:28 +02:00
pszafer
a61a38d6c4 fix too many out_16 2024-04-09 21:12:00 +02:00
pszafer
e5d0d3cb0d fix 24x16 MCP 2024-04-09 21:11:04 +02:00
pszafer
888552ace1 remoe lines from display 2024-04-09 18:46:54 +02:00
pszafer
cebd3d9e45 rm typo 2024-04-09 17:44:28 +02:00
pszafer
6158e73526 fix display bus 2024-04-09 17:28:48 +02:00
pszafer
eeebc59984 change version to v1.0.0 2024-04-09 17:26:57 +02:00
pszafer
a78f47a1d0 add time to 0.6 and remove old configs 2024-04-09 17:19:03 +02:00
pszafer
c1abdd358b this is initial release for single file 2024-04-09 11:36:59 +02:00
pszafer
ca0dde93fa fix boneio cover close action 2024-04-08 16:08:10 +02:00
pszafer
d1b58579b9 re-add cover id 2024-04-08 11:52:03 +02:00
pszafer
81c4df11fd fix repository filenames 2024-04-08 11:36:31 +02:00
pszafer
d50a53ee4a change packages 2024-04-08 11:34:30 +02:00
pszafer
35ac0272bc remove debug info 2024-04-07 22:24:55 +02:00
pszafer
ef63aa5025 readd pcf 2024-04-07 22:11:25 +02:00
pszafer
3235568705 rename boards 2024-04-07 22:08:09 +02:00
pszafer
d11bb863ba fix node name 2024-04-07 20:28:38 +02:00
pszafer
cf3d24dc0c fix naming 2024-04-07 20:02:35 +02:00
pszafer
28ddb5042c rename dirs 2024-04-06 19:47:53 +02:00
pszafer
11fef44b4f remove typo 2024-04-06 08:08:00 +02:00
pszafer
334e7d677c fix display installation 2024-04-06 08:07:01 +02:00
pszafer
2dac5f97c3 add front 0 to outputs and add inputs 2024-04-05 21:38:03 +02:00
pszafer
65bff746a2 fix display 2024-04-05 20:26:01 +02:00
pszafer
817f67193c change dir name 2024-04-05 20:19:48 +02:00
pszafer
7c7b66dddb remove i2c bus 2024-04-05 20:19:04 +02:00
pszafer
749f3745cd add i2c bus 2024-04-05 20:18:14 +02:00
pszafer
c6f05cc406 fix modbus uart 2024-04-05 20:17:40 +02:00
pszafer
7550791f43 test for v0.7 2024-04-05 20:15:18 +02:00
pszafer
8cdbbdbfc8 note about logger 2024-03-28 21:31:42 +01:00
pszafer
1722ecc165 add project info 2024-03-28 21:20:05 +01:00
pszafer
d6aa38183f remove redefined in buzzer 2024-03-28 21:19:16 +01:00
pszafer
cd0e209571 remove redefined 2024-03-28 21:18:43 +01:00
pszafer
a2e2eda7ab change display 2024-03-28 21:17:38 +01:00
pszafer
3ca2550a0c fix uart pins 2024-03-28 21:16:03 +01:00
pszafer
84a11eeac8 import full config 2024-03-28 21:14:47 +01:00
pszafer
afc20b8a48 test boneio lights 2024-03-28 20:24:58 +01:00
Pawel
0a05c6c561 Merge pull request #10 from boneIO-eu/input_board_v_0_5
Input board v 0 5
2024-03-21 06:19:40 +01:00
Pawel
1c97c125aa Merge branch 'dev' into input_board_v_0_5 2024-03-21 06:19:34 +01:00
pszafer
3ecb103909 change config comments 2024-03-21 06:14:38 +01:00
pszafer
e061ec0590 remove ip address from display 2024-03-20 18:40:17 +01:00
pszafer
b715c58c31 add cover mix to config 2024-03-19 19:41:55 +01:00
pszafer
8371dbe5a7 speed up i2c bus frequency 2023-09-07 07:10:36 +02:00
pszafer
01bf7ea304 speed up i2c bus frequency 2023-09-07 07:01:23 +02:00
Kamil_B
1a19b75c41 correction in mosfet 2023-05-25 15:27:52 +02:00
Kamil_B
a7dc90f3c3 add mosfet board 2023-04-14 07:23:35 +02:00
Kamil_B
3272ba1921 add mosfet48 board
add mosfet48 board
2023-01-17 11:50:09 +01:00
Paweł Szafer
e580dc4748 modify console yaml according to addon 2022-12-20 09:53:52 +01:00
Maciej Krasuski
57ff9007ac Update boneio_config_for_esphome_addon.yaml 2022-12-19 22:38:51 +01:00
Maciej Krasuski
0d11a4eba1 Merge branch 'input_board_v_0_5' of https://github.com/boneIO-eu/esphome into input_board_v_0_5 2022-12-19 18:40:39 +01:00
Maciej Krasuski
c4bdc07ebb added ip address and some substitutions 2022-12-19 18:40:34 +01:00
Paweł Szafer
436adbddd8 remove cover config from main dir 2022-12-19 15:49:43 +01:00
Paweł Szafer
78c771489e fix 1 wire pin 2022-12-17 18:45:42 +01:00
Kamil_B
6a55c7fbc1 Add 24 relay board 2022-12-16 10:14:03 +01:00
Paweł Szafer
1cf3b09faa fix covers 2022-12-15 06:39:11 +01:00
Paweł Szafer
9fca8bdc66 adapt main config for PCF 2022-12-14 10:10:45 +01:00
Paweł Szafer
ffd891c65c add name_add_mac_suffix: true 2022-12-14 10:09:17 +01:00
Paweł Szafer
b8de87b0e2 add cover inputs PCF/MCP to input v0.5 2022-12-14 10:04:43 +01:00
Kamil_B
4237cf72c2 update cover 2022-12-01 08:28:04 +01:00
Kamil_B
d525e17d65 update cover 2022-12-01 08:26:57 +01:00
Kamil_B
101836ec17 Merge branch 'dev' of https://github.com/boneIO-eu/esphome into dev 2022-12-01 08:21:52 +01:00
Kamil_B
6a1e0695a7 cover_board
example of a configuration for a shutter plate
2022-12-01 08:21:42 +01:00
Paweł Szafer
4431a53ddb add bus_id to mcp relays 2022-11-27 15:43:10 +01:00
Paweł Szafer
9639d06e77 revert dir_name 2022-11-27 15:26:58 +01:00
Paweł Szafer
6a7afab39c remove .esphome dir 2022-11-27 13:15:11 +01:00
Paweł Szafer
d3e65bce3f ignore .esphome 2022-11-27 13:14:12 +01:00
Paweł Szafer
50a7690c16 fix dir path 2022-11-27 13:13:44 +01:00
Paweł Szafer
eb4dd61311 fix fonts path 2022-11-25 15:53:19 +01:00
111 changed files with 14534 additions and 5190 deletions

View File

@@ -1,50 +0,0 @@
{
"storage_version": 1,
"name": "boneio",
"comment": null,
"esphome_version": "2022.6.2",
"src_version": 1,
"address": "boneio.local",
"web_port": 80,
"esp_platform": "ESP32",
"build_path": ".esphome/build/boneio",
"firmware_bin_path": ".esphome/build/boneio/.pioenvs/boneio/firmware.bin",
"loaded_integrations": [
"api",
"async_tcp",
"binary_sensor",
"display",
"ds1307",
"esp32",
"esphome",
"ethernet",
"external_components",
"font",
"gpio",
"homeassistant",
"i2c",
"ina219",
"json",
"lm75",
"logger",
"md5",
"mdns",
"network",
"ota",
"pcf8574",
"preferences",
"script",
"sensor",
"socket",
"ssd1306_base",
"ssd1306_i2c",
"substitutions",
"switch",
"template",
"text_sensor",
"time",
"uptime",
"web_server",
"web_server_base"
]
}

View File

@@ -1,52 +0,0 @@
{
"storage_version": 1,
"name": "boneio",
"comment": null,
"esphome_version": "2022.6.2",
"src_version": 1,
"address": "boneio.local",
"web_port": 80,
"esp_platform": "ESP32",
"build_path": ".esphome/build/boneio",
"firmware_bin_path": ".esphome/build/boneio/.pioenvs/boneio/firmware.bin",
"loaded_integrations": [
"api",
"async_tcp",
"binary_sensor",
"display",
"ds1307",
"esp32",
"esphome",
"ethernet",
"external_components",
"font",
"gpio",
"homeassistant",
"i2c",
"ina219",
"json",
"lm75",
"logger",
"mcp23017",
"mcp23x17_base",
"mcp23xxx_base",
"md5",
"mdns",
"network",
"ota",
"preferences",
"script",
"sensor",
"socket",
"ssd1306_base",
"ssd1306_i2c",
"substitutions",
"switch",
"template",
"text_sensor",
"time",
"uptime",
"web_server",
"web_server_base"
]
}

Submodule .esphome/external_components/463cb5b0 deleted from 491c9da03a

View File

@@ -1,241 +0,0 @@
{
"env_name": "boneio",
"libsource_dirs": [
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/lib",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio",
"/home/poznan.tbhydro.net/admin/.platformio/lib",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries"
],
"defines": [
"PLATFORMIO=50205",
"ARDUINO_NodeMCU_32S",
"ESPHOME_LOG_LEVEL=ESPHOME_LOG_LEVEL_DEBUG",
"USE_ARDUINO",
"USE_ESP32",
"USE_ESP32_FRAMEWORK_ARDUINO",
"USE_ESP32_VARIANT_ESP32",
"ESP32",
"ESP_PLATFORM",
"F_CPU=240000000L",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"ARDUINO=10805",
"ARDUINO_ARCH_ESP32",
"ARDUINO_VARIANT=\"nodemcu-32s\"",
"ARDUINO_BOARD=\"NodeMCU-32S\""
],
"includes": {
"build": [
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/include",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ArduinoJson/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ESPAsyncWebServer-esphome/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncTCP-esphome/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_websocket_client",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/variants/nodemcu-32s"
],
"compatlib": [
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ArduinoJson/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ESPAsyncWebServer-esphome/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncTCP-esphome/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ArduinoJson/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncTCP-esphome/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncTCP-esphome/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ESPAsyncWebServer-esphome/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/ESPAsyncWebServer-esphome/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncTCP-esphome/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
"/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.piolibdeps/boneio/AsyncMqttClient-esphome/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src"
],
"toolchain": [
"/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0",
"/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf",
"/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include",
"/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed",
"/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include"
],
"unity": []
},
"cc_path": "/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gcc",
"cxx_path": "/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++",
"gdb_path": "/home/poznan.tbhydro.net/admin/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gdb",
"prog_path": "/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.pioenvs/boneio/firmware.elf",
"svd_path": null,
"compiler_type": "gcc",
"targets": [
{
"name": "buildfs",
"title": "Build Filesystem Image",
"description": null,
"group": "Platform"
},
{
"name": "size",
"title": "Program Size",
"description": "Calculate program size",
"group": "Platform"
},
{
"name": "upload",
"title": "Upload",
"description": null,
"group": "Platform"
},
{
"name": "uploadfs",
"title": "Upload Filesystem Image",
"description": null,
"group": "Platform"
},
{
"name": "uploadfsota",
"title": "Upload Filesystem Image OTA",
"description": null,
"group": "Platform"
},
{
"name": "erase",
"title": "Erase Flash",
"description": null,
"group": "Platform"
},
{
"name": "compiledb",
"title": "Compilation Database",
"description": "Generate compilation database `compile_commands.json`",
"group": "Advanced"
},
{
"name": "clean",
"title": "Clean",
"group": "General"
},
{
"name": "cleanall",
"title": "Clean All",
"group": "General",
"description": "Clean a build environment and installed library dependencies"
}
],
"extra": {
"flash_images": [
{
"offset": "0x1000",
"path": "/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/sdk/bin/bootloader_dio_40m.bin"
},
{
"offset": "0x8000",
"path": "/home/poznan.tbhydro.net/admin/ProjektyPrywatne/bone/esphome/.esphome/build/boneio/.pioenvs/boneio/partitions.bin"
},
{
"offset": "0xe000",
"path": "/home/poznan.tbhydro.net/admin/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin"
}
]
},
"cc_flags": "-std=gnu99 -Wno-old-style-declaration -Wno-sign-compare -Wno-unused-but-set-variable -Wno-unused-variable -fno-exceptions -Os -g3 -Wall -nostdlib -Wpointer-arith -Wno-error=unused-but-set-variable -Wno-error=unused-variable -mlongcalls -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wno-error=deprecated-declarations -Wno-error=unused-function -Wno-unused-parameter -Wno-sign-compare -fstack-protector -fexceptions -Werror=reorder",
"cxx_flags": "-fno-rtti -fno-exceptions -std=gnu++11 -Wno-sign-compare -Wno-unused-but-set-variable -Wno-unused-variable -fno-exceptions -Os -g3 -Wall -nostdlib -Wpointer-arith -Wno-error=unused-but-set-variable -Wno-error=unused-variable -mlongcalls -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wno-error=deprecated-declarations -Wno-error=unused-function -Wno-unused-parameter -Wno-sign-compare -fstack-protector -fexceptions -Werror=reorder"
}

2
.gitignore vendored
View File

@@ -127,3 +127,5 @@ dmypy.json
# Pyre type checker
.pyre/
.esphome/

View File

@@ -2,6 +2,11 @@
BoneIO ESP Esphome configuration and custom components repo
Dev branch is for the newest not released version of the board!
Old instructions: Look for branch with yout input board version to download current software.
Look for branch with yout input board version to download current software.
These are source codes for Esphome software installed on boneIO devices.
To install it via USB-C cable go to https://boneio.eu/esp and choose board you'd like to install.
To install it through network, copy file you'd like to use from root directory and paste it in your esphome dashboard.
Set boneio name as visible

216
boards/24x16_output.yaml Normal file
View File

@@ -0,0 +1,216 @@
output:
- platform: gpio
id: out_01
pin:
mcp23xxx: mcp_left
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: out_02
pin:
mcp23xxx: mcp_left
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: out_03
pin:
mcp23xxx: mcp_left
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: out_04
pin:
mcp23xxx: mcp_left
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: out_05
pin:
mcp23xxx: mcp_left
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: out_06
pin:
mcp23xxx: mcp_left
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: out_07
pin:
mcp23xxx: mcp_left
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: out_08
pin:
mcp23xxx: mcp_left
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: out_09
pin:
mcp23xxx: mcp_right
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: out_10
pin:
mcp23xxx: mcp_right
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: out_11
pin:
mcp23xxx: mcp_right
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: out_12
pin:
mcp23xxx: mcp_right
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: out_13
pin:
mcp23xxx: mcp_left
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: out_14
pin:
mcp23xxx: mcp_left
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: out_15
pin:
mcp23xxx: mcp_left
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: out_16
pin:
mcp23xxx: mcp_left
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: out_17
pin:
mcp23xxx: mcp_left
number: 3
mode:
output: true
inverted: false
- platform: gpio
id: out_18
pin:
mcp23xxx: mcp_left
number: 2
mode:
output: true
inverted: false
- platform: gpio
id: out_19
pin:
mcp23xxx: mcp_left
number: 1
mode:
output: true
inverted: false
- platform: gpio
id: out_20
pin:
mcp23xxx: mcp_left
number: 0
mode:
output: true
inverted: false
- platform: gpio
id: out_21
pin:
mcp23xxx: mcp_right
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: out_22
pin:
mcp23xxx: mcp_right
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: out_23
pin:
mcp23xxx: mcp_right
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: out_24
pin:
mcp23xxx: mcp_right
number: 15
mode:
output: true
inverted: false

View File

@@ -1,103 +0,0 @@
cover:
- platform: time_based
name: "${node_name} Cover 01"
device_class: shutter
id: cover_01
open_action:
- switch.turn_off: cover_close_01
- switch.turn_on: cover_open_01
open_duration: 60s
close_action:
- switch.turn_off: cover_open_01
- switch.turn_on: cover_close_01
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_01
- switch.turn_off: cover_close_01
tilt_action:
- cover.close: this cover
- delay: 2s
- switch.turn_on: open_cover_switch
- lambda: |- wyliczenie czasu z zadanej pozycji
- delay: X
- switch.turn_off: open_cover_switch
- platform: time_based
name: "${node_name} Cover 02"
device_class: shutter
id: cover_02
open_action:
- switch.turn_off: cover_close_02
- switch.turn_on: cover_open_02
open_duration: 60s
close_action:
- switch.turn_off: cover_open_02
- switch.turn_on: cover_close_02
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_02
- switch.turn_off: cover_close_02
- platform: time_based
name: "${node_name} Cover 03"
device_class: shutter
id: cover_03
open_action:
- switch.turn_off: cover_close_03
- switch.turn_on: cover_open_03
open_duration: 60s
close_action:
- switch.turn_off: cover_open_03
- switch.turn_on: cover_close_03
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_03
- switch.turn_off: cover_close_03
- platform: time_based
name: "${node_name} Cover 04"
device_class: shutter
id: cover_04
open_action:
- switch.turn_off: cover_close_04
- switch.turn_on: cover_open_04
open_duration: 60s
close_action:
- switch.turn_off: cover_open_04
- switch.turn_on: cover_close_04
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_04
- switch.turn_off: cover_close_04
- platform: time_based
name: "${node_name} Cover 05"
device_class: shutter
id: cover_05
open_action:
- switch.turn_off: cover_close_05
- switch.turn_on: cover_open_05
open_duration: 60s
close_action:
- switch.turn_off: cover_open_05
- switch.turn_on: cover_close_05
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_05
- switch.turn_off: cover_close_05
- platform: time_based
name: "${node_name} Cover 06"
device_class: shutter
id: cover_06
open_action:
- switch.turn_off: cover_close_06
- switch.turn_on: cover_open_06
open_duration: 60s
close_action:
- switch.turn_off: cover_open_06
- switch.turn_on: cover_close_06
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_06
- switch.turn_off: cover_close_06

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

@@ -1,485 +0,0 @@
binary_sensor:
- platform: gpio
name: "${node_name} IN_01"
id: in_01
pin:
mcp23xxx: mcp_inputs_1to16
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_01
on_release:
then:
cover.stop: cover_01
- platform: gpio
name: "${node_name} IN_02"
id: in_02
pin:
mcp23xxx: mcp_inputs_1to16
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_01
on_release:
then:
cover.stop: cover_01
- platform: gpio
name: "${node_name} IN_03"
id: in_03
pin:
mcp23xxx: mcp_inputs_1to16
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_02
on_release:
then:
cover.stop: cover_02
- platform: gpio
name: "${node_name} IN_04"
id: in_04
pin:
mcp23xxx: mcp_inputs_1to16
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_02
on_release:
then:
cover.stop: cover_02
- platform: gpio
name: "${node_name} IN_05"
id: in_05
pin:
mcp23xxx: mcp_inputs_1to16
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_03
on_release:
then:
cover.stop: cover_03
- platform: gpio
name: "${node_name} IN_06"
id: in_06
pin:
mcp23xxx: mcp_inputs_1to16
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_03
on_release:
then:
cover.stop: cover_03
- platform: gpio
name: "${node_name} IN_07"
id: in_07
pin:
mcp23xxx: mcp_inputs_1to16
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_04
on_release:
then:
cover.stop: cover_04
- platform: gpio
name: "${node_name} IN_08"
id: in_08
pin:
mcp23xxx: mcp_inputs_1to16
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_04
on_release:
then:
cover.stop: cover_04
- platform: gpio
name: "${node_name} IN_09"
id: in_09
pin:
mcp23xxx: mcp_inputs_1to16
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_05
on_release:
then:
cover.stop: cover_05
- platform: gpio
name: "${node_name} IN_10"
id: in_10
pin:
mcp23xxx: mcp_inputs_1to16
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_05
on_release:
then:
cover.stop: cover_05
- platform: gpio
name: "${node_name} IN_11"
id: in_11
pin:
mcp23xxx: mcp_inputs_1to16
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_06
on_release:
then:
cover.stop: cover_06
- platform: gpio
name: "${node_name} IN_12"
id: in_12
pin:
mcp23xxx: mcp_inputs_1to16
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_06
on_release:
then:
cover.stop: cover_06
- platform: gpio
name: "${node_name} IN_13"
id: in_13
pin:
mcp23xxx: mcp_inputs_1to16
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_13
- platform: gpio
name: "${node_name} IN_14"
id: in_14
pin:
mcp23xxx: mcp_inputs_1to16
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_14
- platform: gpio
name: "${node_name} IN_15"
id: in_15
pin:
mcp23xxx: mcp_inputs_1to16
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_15
- platform: gpio
name: "${node_name} IN_16"
id: in_16
pin:
mcp23xxx: mcp_inputs_1to16
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_16
- platform: gpio
name: "${node_name} IN_17"
id: in_17
pin:
mcp23xxx: mcp_inputs_17to32
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_17
- platform: gpio
name: "${node_name} IN_18"
id: in_18
pin:
mcp23xxx: mcp_inputs_17to32
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_18
- platform: gpio
name: "${node_name} IN_19"
id: in_19
pin:
mcp23xxx: mcp_inputs_17to32
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_19
- platform: gpio
name: "${node_name} IN_20"
id: in_20
pin:
mcp23xxx: mcp_inputs_17to32
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_20
- platform: gpio
name: "${node_name} IN_21"
id: in_21
pin:
mcp23xxx: mcp_inputs_17to32
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_21
- platform: gpio
name: "${node_name} IN_22"
id: in_22
pin:
mcp23xxx: mcp_inputs_17to32
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_22
- platform: gpio
name: "${node_name} IN_23"
id: in_23
pin:
mcp23xxx: mcp_inputs_17to32
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_22
- platform: gpio
name: "${node_name} IN_24"
id: in_24
pin:
mcp23xxx: mcp_inputs_17to32
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_24
- platform: gpio
name: "${node_name} IN_25"
id: in_25
pin:
mcp23xxx: mcp_inputs_17to32
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_25
- platform: gpio
name: "${node_name} IN_26"
id: in_26
pin:
mcp23xxx: mcp_inputs_17to32
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_26
- platform: gpio
name: "${node_name} IN_27"
id: in_27
pin:
mcp23xxx: mcp_inputs_17to32
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_27
- platform: gpio
name: "${node_name} IN_28"
id: in_28
pin:
mcp23xxx: mcp_inputs_17to32
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_28
- platform: gpio
name: "${node_name} IN_29"
id: in_29
pin:
mcp23xxx: mcp_inputs_17to32
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_29
- platform: gpio
name: "${node_name} IN_30"
id: in_30
pin:
mcp23xxx: mcp_inputs_17to32
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_30
- platform: gpio
name: "${node_name} IN_31"
id: in_31
pin:
mcp23xxx: mcp_inputs_17to32
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_31
- platform: gpio
name: "${node_name} IN_32"
id: in_32
pin:
mcp23xxx: mcp_inputs_17to32
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_32

View File

@@ -1,297 +0,0 @@
mcp23017:
- id: 'mcp_outputs_1to16'
address: 0x21
- id: 'mcp_outputs_17to32'
address: 0x20
switch:
- platform: gpio
id: cover_open_01
pin:
mcp23xxx: mcp_outputs_1to16
number: 0
mode: OUTPUT
interlock: &cover_interlock_01 [cover_open_01, cover_close_01]
restore_mode: always off
- platform: gpio
id: cover_close_01
pin:
mcp23xxx: mcp_outputs_1to16
number: 1
mode: OUTPUT
interlock: *cover_interlock_01
restore_mode: always off
- platform: gpio
id: cover_open_02
pin:
mcp23xxx: mcp_outputs_1to16
number: 2
mode: OUTPUT
interlock: &cover_interlock_02 [cover_open_02, cover_close_02]
restore_mode: always off
- platform: gpio
id: cover_close_02
pin:
mcp23xxx: mcp_outputs_1to16
number: 3
mode: OUTPUT
interlock: *cover_interlock_02
restore_mode: always off
- platform: gpio
id: cover_open_03
pin:
mcp23xxx: mcp_outputs_1to16
number: 4
mode: OUTPUT
interlock: &cover_interlock_03 [cover_open_03, cover_close_03]
restore_mode: always off
- platform: gpio
id: cover_close_03
pin:
mcp23xxx: mcp_outputs_1to16
number: 5
mode: OUTPUT
interlock: *cover_interlock_03
restore_mode: always off
- platform: gpio
id: cover_open_04
pin:
mcp23xxx: mcp_outputs_1to16
number: 6
mode: OUTPUT
interlock: &cover_interlock_04 [cover_open_04, cover_close_04]
restore_mode: always off
- platform: gpio
id: cover_close_04
pin:
mcp23xxx: mcp_outputs_1to16
number: 7
mode: OUTPUT
interlock: *cover_interlock_04
restore_mode: always off
- platform: gpio
id: cover_open_05
pin:
mcp23xxx: mcp_outputs_17to32
number: 0
mode: OUTPUT
interlock: &cover_interlock_05 [cover_open_05, cover_close_05]
restore_mode: always off
- platform: gpio
id: cover_close_05
pin:
mcp23xxx: mcp_outputs_17to32
number: 1
mode: OUTPUT
interlock: *cover_interlock_05
restore_mode: always off
- platform: gpio
id: cover_open_06
pin:
mcp23xxx: mcp_outputs_17to32
number: 2
mode: OUTPUT
interlock: &cover_interlock_06 [cover_open_06, cover_close_06]
restore_mode: always off
- platform: gpio
id: cover_close_06
pin:
mcp23xxx: mcp_outputs_17to32
number: 3
mode: OUTPUT
interlock: *cover_interlock_06
restore_mode: always off
# relay
- platform: gpio
id: relay_13
pin:
mcp23xxx: mcp_outputs_17to32
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: relay_14
pin:
mcp23xxx: mcp_outputs_17to32
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: relay_15
pin:
mcp23xxx: mcp_outputs_17to32
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: relay_16
pin:
mcp23xxx: mcp_outputs_17to32
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: relay_17
pin:
mcp23xxx: mcp_outputs_1to16
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: relay_18
pin:
mcp23xxx: mcp_outputs_1to16
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_19
pin:
mcp23xxx: mcp_outputs_1to16
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_20
pin:
mcp23xxx: mcp_outputs_1to16
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_21
pin:
mcp23xxx: mcp_outputs_1to16
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_22
pin:
mcp23xxx: mcp_outputs_1to16
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_23
pin:
mcp23xxx: mcp_outputs_1to16
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_24
pin:
mcp23xxx: mcp_outputs_1to16
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: relay_25
pin:
mcp23xxx: mcp_outputs_17to32
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: relay_26
pin:
mcp23xxx: mcp_outputs_17to32
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_27
pin:
mcp23xxx: mcp_outputs_17to32
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_28
pin:
mcp23xxx: mcp_outputs_17to32
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_29
pin:
mcp23xxx: mcp_outputs_17to32
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_30
pin:
mcp23xxx: mcp_outputs_17to32
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_31
pin:
mcp23xxx: mcp_outputs_17to32
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_32
pin:
mcp23xxx: mcp_outputs_17to32
number: 8
mode:
output: true
inverted: false

View File

@@ -1,559 +0,0 @@
# require light configuration (monochromatic_light.yaml)
binary_sensor:
- platform: gpio
name: "${node_name} IN_01"
id: in_01
pin:
mcp23xxx: mcp_inputs_1to16
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_1
- platform: gpio
name: "${node_name} IN_02"
id: in_02
pin:
mcp23xxx: mcp_inputs_1to16
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
- light.toggle:
id: led_2
- platform: gpio
name: "${node_name} IN_03"
id: in_03
pin:
mcp23xxx: mcp_inputs_1to16
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
- light.toggle:
id: led_3
- platform: gpio
name: "${node_name} IN_04"
id: in_04
pin:
mcp23xxx: mcp_inputs_1to16
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_4
- platform: gpio
name: "${node_name} IN_05"
id: in_05
pin:
mcp23xxx: mcp_inputs_1to16
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_5
- platform: gpio
name: "${node_name} IN_06"
id: in_06
pin:
mcp23xxx: mcp_inputs_1to16
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_6
- platform: gpio
name: "${node_name} IN_07"
id: in_07
pin:
mcp23xxx: mcp_inputs_1to16
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_7
- platform: gpio
name: "${node_name} IN_08"
id: in_08
pin:
mcp23xxx: mcp_inputs_1to16
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_8
- platform: gpio
name: "${node_name} IN_09"
id: in_09
pin:
mcp23xxx: mcp_inputs_1to16
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
- while:
condition:
binary_sensor.is_on: in_09
then:
- logger.log: "Dimm light led_4 by -5%"
- light.dim_relative:
id: led_4
relative_brightness: -5%
transition_length: 0.2s
- delay: 0.2s
- platform: gpio
name: "${node_name} IN_10"
id: in_10
pin:
mcp23xxx: mcp_inputs_1to16
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
- while:
condition:
binary_sensor.is_on: in_10
then:
- logger.log: "Dimm light led_4 by -10%"
- light.dim_relative:
id: led_4
relative_brightness: -10%
transition_length: 0.2s
- delay: 0.2s
- platform: gpio
name: "${node_name} IN_11"
id: in_11
pin:
mcp23xxx: mcp_inputs_1to16
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
- while:
condition:
binary_sensor.is_on: in_11
then:
- logger.log: "Dimm light led_4 by 5%"
- light.dim_relative:
id: led_4
relative_brightness: 5%
transition_length: 0.2s
- delay: 0.2s
- platform: gpio
name: "${node_name} IN_12"
id: in_12
pin:
mcp23xxx: mcp_inputs_1to16
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
- while:
condition:
binary_sensor.is_on: in_12
then:
- logger.log: "Dimm light led_4 by 10%"
- light.dim_relative:
id: led_4
relative_brightness: 10%
transition_length: 0.2s
- delay: 0.2s
- platform: gpio
name: "${node_name} IN_13"
id: in_13
pin:
mcp23xxx: mcp_inputs_1to16
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_13
- platform: gpio
name: "${node_name} IN_14"
id: in_14
pin:
mcp23xxx: mcp_inputs_1to16
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
- if:
condition:
light.is_on: led_4
then:
- while:
condition:
binary_sensor.is_on: in_14
then:
- logger.log: "Dimm light led_4 by -10%"
- light.dim_relative:
id: led_4
relative_brightness: -10%
transition_length: 0.2s
- delay: 0.2s
else:
- while:
condition:
binary_sensor.is_on: in_14
then:
- logger.log: "Dimm light led_4 by 10%"
- light.dim_relative:
id: led_4
relative_brightness: 10%
transition_length: 0.2s
- delay: 0.2s
- platform: gpio
name: "${node_name} IN_15"
id: in_15
pin:
mcp23xxx: mcp_inputs_1to16
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_15
- platform: gpio
name: "${node_name} IN_16"
id: in_16
pin:
mcp23xxx: mcp_inputs_1to16
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_16
- platform: gpio
name: "${node_name} IN_17"
id: in_17
pin:
mcp23xxx: mcp_inputs_17to32
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_17
- platform: gpio
name: "${node_name} IN_18"
id: in_18
pin:
mcp23xxx: mcp_inputs_17to32
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_18
- platform: gpio
name: "${node_name} IN_19"
id: in_19
pin:
mcp23xxx: mcp_inputs_17to32
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_19
- platform: gpio
name: "${node_name} IN_20"
id: in_20
pin:
mcp23xxx: mcp_inputs_17to32
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_20
- platform: gpio
name: "${node_name} IN_21"
id: in_21
pin:
mcp23xxx: mcp_inputs_17to32
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_21
- platform: gpio
name: "${node_name} IN_22"
id: in_22
pin:
mcp23xxx: mcp_inputs_17to32
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_22
- platform: gpio
name: "${node_name} IN_23"
id: in_23
pin:
mcp23xxx: mcp_inputs_17to32
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_23
- platform: gpio
name: "${node_name} IN_24"
id: in_24
pin:
mcp23xxx: mcp_inputs_17to32
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_24
- platform: gpio
name: "${node_name} IN_25"
id: in_25
pin:
mcp23xxx: mcp_inputs_17to32
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_25
- platform: gpio
name: "${node_name} IN_26"
id: in_26
pin:
mcp23xxx: mcp_inputs_17to32
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_26
- platform: gpio
name: "${node_name} IN_27"
id: in_27
pin:
mcp23xxx: mcp_inputs_17to32
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_27
- platform: gpio
name: "${node_name} IN_28"
id: in_28
pin:
mcp23xxx: mcp_inputs_17to32
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_28
- platform: gpio
name: "${node_name} IN_29"
id: in_29
pin:
mcp23xxx: mcp_inputs_17to32
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_29
- platform: gpio
name: "${node_name} IN_30"
id: in_30
pin:
mcp23xxx: mcp_inputs_17to32
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_30
- platform: gpio
name: "${node_name} IN_31"
id: in_31
pin:
mcp23xxx: mcp_inputs_17to32
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_31
- platform: gpio
name: "${node_name} IN_32"
id: in_32
pin:
mcp23xxx: mcp_inputs_17to32
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- light.toggle:
id: led_32
- platform: gpio
name: "${node_name} IN_33"
id: in_33
pin:
number: GPIO33
mode:
input: true
pullup: false
inverted: true
- platform: gpio
name: "${node_name} IN_34"
id: in_34
pin:
number: GPIO17
mode:
input: true
pullup: false
inverted: true
- platform: gpio
name: "${node_name} IN_35"
id: in_35
pin:
number: GPIO12
mode:
input: true
pullup: false
inverted: false

View File

@@ -1,140 +0,0 @@
# i2c address: 0x41 output pca pwm
# i2c address: 0x42 output pca pwm
pca9685:
- address: 0x41
id: pca_hub_1to16
frequency: 500
- address: 0x42
id: pca_hub_17to32
frequency: 500
output:
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_1'
channel: 0
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_2'
channel: 1
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_3'
channel: 2
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_4'
channel: 3
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_5'
channel: 4
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_6'
channel: 5
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_7'
channel: 6
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_8'
channel: 7
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_9'
channel: 8
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_10'
channel: 9
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_11'
channel: 10
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_12'
channel: 11
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_13'
channel: 12
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_14'
channel: 13
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_15'
channel: 14
- platform: pca9685
pca9685_id: 'pca_hub_1to16'
id: 'pca_output_16'
channel: 15
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_17'
channel: 0
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_18'
channel: 1
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_19'
channel: 2
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_20'
channel: 3
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_21'
channel: 4
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_22'
channel: 5
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_23'
channel: 6
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_24'
channel: 7
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_25'
channel: 8
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_26'
channel: 9
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_27'
channel: 10
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_28'
channel: 11
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_29'
channel: 12
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_30'
channel: 13
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_31'
channel: 14
- platform: pca9685
pca9685_id: 'pca_hub_17to32'
id: 'pca_output_32'
channel: 15

42
boards/dimmer_output.yaml Normal file
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,161 +0,0 @@
light:
- platform: monochromatic
output: pca_output_1
name: "${node_name} LED 01"
id: led_1
default_transition_length: 2s
- platform: monochromatic
output: pca_output_2
name: "${node_name} LED 02"
id: led_2
default_transition_length: 2s
- platform: monochromatic
output: pca_output_3
name: "${node_name} LED 03"
id: led_3
default_transition_length: 2s
- platform: monochromatic
output: pca_output_4
name: "${node_name} LED 04"
id: led_4
default_transition_length: 2s
- platform: monochromatic
output: pca_output_5
name: "${node_name} LED 05"
id: led_5
default_transition_length: 2s
- platform: monochromatic
output: pca_output_6
name: "${node_name} LED 06"
id: led_6
default_transition_length: 2s
- platform: monochromatic
output: pca_output_7
name: "${node_name} LED 07"
id: led_7
default_transition_length: 2s
- platform: monochromatic
output: pca_output_8
name: "${node_name} LED 08"
id: led_8
default_transition_length: 2s
- platform: monochromatic
output: pca_output_9
name: "${node_name} LED 09"
id: led_9
default_transition_length: 2s
- platform: monochromatic
output: pca_output_10
name: "${node_name} LED 10"
id: led_10
default_transition_length: 2s
- platform: monochromatic
output: pca_output_11
name: "${node_name} LED 11"
id: led_11
default_transition_length: 2s
- platform: monochromatic
output: pca_output_12
name: "${node_name} LED 12"
id: led_12
default_transition_length: 2s
- platform: monochromatic
output: pca_output_13
name: "${node_name} LED 13"
id: led_13
default_transition_length: 2s
- platform: monochromatic
output: pca_output_14
name: "${node_name} LED 14"
id: led_14
default_transition_length: 2s
- platform: monochromatic
output: pca_output_15
name: "${node_name} LED 15"
id: led_15
default_transition_length: 2s
- platform: monochromatic
output: pca_output_16
name: "${node_name} LED 16"
id: led_16
default_transition_length: 2s
- platform: monochromatic
output: pca_output_17
name: "${node_name} LED 17"
id: led_17
default_transition_length: 2s
- platform: monochromatic
output: pca_output_18
name: "${node_name} LED 18"
id: led_18
default_transition_length: 2s
- platform: monochromatic
output: pca_output_19
name: "${node_name} LED 19"
id: led_19
default_transition_length: 2s
- platform: monochromatic
output: pca_output_20
name: "${node_name} LED 20"
id: led_20
default_transition_length: 2s
- platform: monochromatic
output: pca_output_21
name: "${node_name} LED 21"
id: led_21
default_transition_length: 2s
- platform: monochromatic
output: pca_output_22
name: "${node_name} LED 22"
id: led_22
default_transition_length: 2s
- platform: monochromatic
output: pca_output_23
name: "${node_name} LED 23"
id: led_23
default_transition_length: 2s
- platform: monochromatic
output: pca_output_24
name: "${node_name} LED 24"
id: led_24
default_transition_length: 2s
- platform: monochromatic
output: pca_output_25
name: "${node_name} LED 25"
id: led_25
default_transition_length: 2s
- platform: monochromatic
output: pca_output_26
name: "${node_name} LED 26"
id: led_26
default_transition_length: 2s
- platform: monochromatic
output: pca_output_27
name: "${node_name} LED 27"
id: led_27
default_transition_length: 2s
- platform: monochromatic
output: pca_output_28
name: "${node_name} LED 28"
id: led_28
default_transition_length: 2s
- platform: monochromatic
output: pca_output_29
name: "${node_name} LED 29"
id: led_29
default_transition_length: 2s
- platform: monochromatic
output: pca_output_30
name: "${node_name} LED 30"
id: led_30
default_transition_length: 2s
- platform: monochromatic
output: pca_output_31
name: "${node_name} LED 31"
id: led_31
default_transition_length: 2s
- platform: monochromatic
output: pca_output_32
name: "${node_name} LED 32"
id: led_32
default_transition_length: 2s

431
boards/mosfet48_output.yaml Normal file
View File

@@ -0,0 +1,431 @@
output:
- platform: gpio
id: out_01
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_02
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_03
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_04
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_05
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_06
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_07
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_08
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_09
pin:
pcf8574: pcf_middle
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_middle
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_11
pin:
pcf8574: pcf_middle
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_middle
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_13
pin:
pcf8574: pcf_middle
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_middle
number: 2
mode:
output: true
inverted: true
- platform: gpio
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:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_43
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_44
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_45
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_46
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_47
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_48
pin:
pcf8574: pcf_right
number: 15
mode:
output: 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

View File

@@ -1,483 +0,0 @@
#i2c addresses
# address: 0x26 input mcp io
# address: 0x27 input mcp io
# address: 0x3C input oled
# address: 0x40 input ina219 power
# address: 0x68 input rtc ds1307
binary_sensor:
- platform: gpio
name: "${node_name} IN_01"
id: in_01
pin:
mcp23xxx: mcp_inputs_1to16
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_1
- platform: gpio
name: "${node_name} IN_02"
id: in_02
pin:
mcp23xxx: mcp_inputs_1to16
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_2
- platform: gpio
name: "${node_name} IN_03"
id: in_03
pin:
mcp23xxx: mcp_inputs_1to16
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_3
- platform: gpio
name: "${node_name} IN_04"
id: in_04
pin:
mcp23xxx: mcp_inputs_1to16
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_4
- platform: gpio
name: "${node_name} IN_05"
id: in_05
pin:
mcp23xxx: mcp_inputs_1to16
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_5
- platform: gpio
name: "${node_name} IN_06"
id: in_06
pin:
mcp23xxx: mcp_inputs_1to16
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_6
- platform: gpio
name: "${node_name} IN_07"
id: in_07
pin:
mcp23xxx: mcp_inputs_1to16
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_7
- platform: gpio
name: "${node_name} IN_08"
id: in_08
pin:
mcp23xxx: mcp_inputs_1to16
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_8
- platform: gpio
name: "${node_name} IN_09"
id: in_09
pin:
mcp23xxx: mcp_inputs_1to16
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_9
- platform: gpio
name: "${node_name} IN_10"
id: in_10
pin:
mcp23xxx: mcp_inputs_1to16
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_10
- platform: gpio
name: "${node_name} IN_11"
id: in_11
pin:
mcp23xxx: mcp_inputs_1to16
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_11
- platform: gpio
name: "${node_name} IN_12"
id: in_12
pin:
mcp23xxx: mcp_inputs_1to16
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_12
- platform: gpio
name: "${node_name} IN_13"
id: in_13
pin:
mcp23xxx: mcp_inputs_1to16
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_13
- platform: gpio
name: "${node_name} IN_14"
id: in_14
pin:
mcp23xxx: mcp_inputs_1to16
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_14
- platform: gpio
name: "${node_name} IN_15"
id: in_15
pin:
mcp23xxx: mcp_inputs_1to16
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_15
- platform: gpio
name: "${node_name} IN_16"
id: in_16
pin:
mcp23xxx: mcp_inputs_1to16
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_16
- platform: gpio
name: "${node_name} IN_17"
id: in_17
pin:
mcp23xxx: mcp_inputs_17to32
number: 7
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_17
- platform: gpio
name: "${node_name} IN_18"
id: in_18
pin:
mcp23xxx: mcp_inputs_17to32
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_18
- platform: gpio
name: "${node_name} IN_19"
id: in_19
pin:
mcp23xxx: mcp_inputs_17to32
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_19
- platform: gpio
name: "${node_name} IN_20"
id: in_20
pin:
mcp23xxx: mcp_inputs_17to32
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_20
- platform: gpio
name: "${node_name} IN_21"
id: in_21
pin:
mcp23xxx: mcp_inputs_17to32
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_21
- platform: gpio
name: "${node_name} IN_22"
id: in_22
pin:
mcp23xxx: mcp_inputs_17to32
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_22
- platform: gpio
name: "${node_name} IN_23"
id: in_23
pin:
mcp23xxx: mcp_inputs_17to32
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_23
- platform: gpio
name: "${node_name} IN_24"
id: in_24
pin:
mcp23xxx: mcp_inputs_17to32
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_24
- platform: gpio
name: "${node_name} IN_25"
id: in_25
pin:
mcp23xxx: mcp_inputs_17to32
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_25
- platform: gpio
name: "${node_name} IN_26"
id: in_26
pin:
mcp23xxx: mcp_inputs_17to32
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_26
- platform: gpio
name: "${node_name} IN_27"
id: in_27
pin:
mcp23xxx: mcp_inputs_17to32
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_27
- platform: gpio
name: "${node_name} IN_28"
id: in_28
pin:
mcp23xxx: mcp_inputs_17to32
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_28
- platform: gpio
name: "${node_name} IN_29"
id: in_29
pin:
mcp23xxx: mcp_inputs_17to32
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_29
- platform: gpio
name: "${node_name} IN_30"
id: in_30
pin:
mcp23xxx: mcp_inputs_17to32
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_30
- platform: gpio
name: "${node_name} IN_31"
id: in_31
pin:
mcp23xxx: mcp_inputs_17to32
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_31
- platform: gpio
name: "${node_name} IN_32"
id: in_32
pin:
mcp23xxx: mcp_inputs_17to32
number: 15
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_32
- platform: gpio
name: "${node_name} IN_33"
pin:
number: GPIO33
mode:
input: true
pullup: false
inverted: true
- platform: gpio
name: "${node_name} IN_34"
pin:
number: GPIO17
mode:
input: true
pullup: false
inverted: true
- platform: gpio
name: "${node_name} IN_35"
pin:
number: GPIO12
mode:
input: true
pullup: true
inverted: false

View File

@@ -1,327 +0,0 @@
mcp23017:
- id: 'mcp_outputs_1to16'
address: 0x21
- id: 'mcp_outputs_17to32'
address: 0x20
switch:
- platform: gpio
id: relay_1
name: "${node_name} Relay 01"
pin:
mcp23xxx: mcp_outputs_1to16
number: 0
mode:
output: true
inverted: false
- platform: gpio
id: relay_2
name: "${node_name} Relay 02"
pin:
mcp23xxx: mcp_outputs_1to16
number: 1
mode:
output: true
inverted: false
- platform: gpio
id: relay_3
name: "${node_name} Relay 03"
pin:
mcp23xxx: mcp_outputs_1to16
number: 2
mode:
output: true
inverted: false
- platform: gpio
id: relay_4
name: "${node_name} Relay 04"
pin:
mcp23xxx: mcp_outputs_1to16
number: 3
mode:
output: true
inverted: false
- platform: gpio
id: relay_5
name: "${node_name} Relay 05"
pin:
mcp23xxx: mcp_outputs_1to16
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: relay_6
name: "${node_name} Relay 06"
pin:
mcp23xxx: mcp_outputs_1to16
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: relay_7
name: "${node_name} Relay 07"
pin:
mcp23xxx: mcp_outputs_1to16
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: relay_8
name: "${node_name} Relay 08"
pin:
mcp23xxx: mcp_outputs_1to16
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: relay_9
name: "${node_name} Relay 09"
pin:
mcp23xxx: mcp_outputs_17to32
number: 0
mode:
output: true
inverted: false
- platform: gpio
id: relay_10
name: "${node_name} Relay 10"
pin:
mcp23xxx: mcp_outputs_17to32
number: 1
mode:
output: true
inverted: false
- platform: gpio
id: relay_11
name: "${node_name} Relay 11"
pin:
mcp23xxx: mcp_outputs_17to32
number: 2
mode:
output: true
inverted: false
- platform: gpio
id: relay_12
name: "${node_name} Relay 12"
pin:
mcp23xxx: mcp_outputs_17to32
number: 3
mode:
output: true
inverted: false
- platform: gpio
id: relay_13
name: "${node_name} Relay 13"
pin:
mcp23xxx: mcp_outputs_17to32
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: relay_14
name: "${node_name} Relay 14"
pin:
mcp23xxx: mcp_outputs_17to32
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: relay_15
name: "${node_name} Relay 15"
pin:
mcp23xxx: mcp_outputs_17to32
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: relay_16
name: "${node_name} Relay 16"
pin:
mcp23xxx: mcp_outputs_17to32
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: relay_17
name: "${node_name} Relay 17"
pin:
mcp23xxx: mcp_outputs_1to16
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: relay_18
name: "${node_name} Relay 18"
pin:
mcp23xxx: mcp_outputs_1to16
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_19
name: "${node_name} Relay 19"
pin:
mcp23xxx: mcp_outputs_1to16
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_20
name: "${node_name} Relay 20"
pin:
mcp23xxx: mcp_outputs_1to16
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_21
name: "${node_name} Relay 21"
pin:
mcp23xxx: mcp_outputs_1to16
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_22
name: "${node_name} Relay 22"
pin:
mcp23xxx: mcp_outputs_1to16
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_23
name: "${node_name} Relay 23"
pin:
mcp23xxx: mcp_outputs_1to16
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_24
name: "${node_name} Relay 24"
pin:
mcp23xxx: mcp_outputs_1to16
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: relay_25
name: "${node_name} Relay 25"
pin:
mcp23xxx: mcp_outputs_17to32
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: relay_26
name: "${node_name} Relay 26"
pin:
mcp23xxx: mcp_outputs_17to32
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_27
name: "${node_name} Relay 27"
pin:
mcp23xxx: mcp_outputs_17to32
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_28
name: "${node_name} Relay 28"
pin:
mcp23xxx: mcp_outputs_17to32
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_29
name: "${node_name} Relay 29"
pin:
mcp23xxx: mcp_outputs_17to32
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_30
name: "${node_name} Relay 30"
pin:
mcp23xxx: mcp_outputs_17to32
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_31
name: "${node_name} Relay 31"
pin:
mcp23xxx: mcp_outputs_17to32
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_32
name: "${node_name} Relay 32"
pin:
mcp23xxx: mcp_outputs_17to32
number: 8
mode:
output: true
inverted: false

View File

@@ -1,365 +0,0 @@
pcf8574:
- id: 'pcf_1'
address: 0x21
pcf8575: true
i2c_id: bus_b
- id: 'pcf_2'
address: 0x20
pcf8575: true
i2c_id: bus_b
switch:
- platform: gpio
id: relay_1
name: "Relay_01"
pin:
pcf8574: pcf_1
# Use pin number 0
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_2
name: "Relay_02"
pin:
pcf8574: pcf_1
# Use pin number 1
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_3
name: "Relay_03"
pin:
pcf8574: pcf_1
# Use pin number 2
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_4
name: "Relay_04"
pin:
pcf8574: pcf_1
# Use pin number 3
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_5
name: "Relay_05"
pin:
pcf8574: pcf_1
# Use pin number 4
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_6
name: "Relay_06"
pin:
pcf8574: pcf_1
# Use pin number 5
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_7
name: "Relay_07"
pin:
pcf8574: pcf_1
# Use pin number 6
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_8
name: "Relay_08"
pin:
pcf8574: pcf_1
# Use pin number 7
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_9
name: "Relay_09"
pin:
pcf8574: pcf_2
# Use pin number 0
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_10
name: "Relay_10"
pin:
pcf8574: pcf_2
# Use pin number 1
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_11
name: "Relay_11"
pin:
pcf8574: pcf_2
# Use pin number 2
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_12
name: "Relay_12"
pin:
pcf8574: pcf_2
# Use pin number 3
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_13
name: "Relay_13"
pin:
pcf8574: pcf_2
# Use pin number 4
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_14
name: "Relay_14"
pin:
pcf8574: pcf_2
# Use pin number 5
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_15
name: "Relay_15"
pin:
pcf8574: pcf_2
# Use pin number 6
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_16
name: "Relay_16"
pin:
pcf8574: pcf_2
# Use pin number 7
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_17
name: "Relay_17"
pin:
pcf8574: pcf_1
# Use pin number 15
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_18
name: "Relay_18"
pin:
pcf8574: pcf_1
# Use pin number 14
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_19
name: "Relay_19"
pin:
pcf8574: pcf_1
# Use pin number 13
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_20
name: "Relay_20"
pin:
pcf8574: pcf_1
# Use pin number 12
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_21
name: "Relay_21"
pin:
pcf8574: pcf_1
# Use pin number 11
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_22
name: "Relay_22"
pin:
pcf8574: pcf_1
# Use pin number 10
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_23
name: "Relay_23"
pin:
pcf8574: pcf_1
# Use pin number 9
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_24
name: "Relay_24"
pin:
pcf8574: pcf_1
# Use pin number 8
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: relay_25
name: "Relay_25"
pin:
pcf8574: pcf_2
# Use pin number 15
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_26
name: "Relay_26"
pin:
pcf8574: pcf_2
# Use pin number 14
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_27
name: "Relay_27"
pin:
pcf8574: pcf_2
# Use pin number 13
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_28
name: "Relay_28"
pin:
pcf8574: pcf_2
# Use pin number 12
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_29
name: "Relay_29"
pin:
pcf8574: pcf_2
# Use pin number 11
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_30
name: "Relay_30"
pin:
pcf8574: pcf_2
# Use pin number 10
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_31
name: "Relay_31"
pin:
pcf8574: pcf_2
# Use pin number 9
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_32
name: "Relay_32"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 7
mode:
output: true
inverted: true

View File

@@ -1,42 +0,0 @@
substitutions:
node_name: boneio
packages:
# devices
core: !include devices/wt32_eth01.yaml
internals: !include devices/boneio_board.yaml
temp: !include devices/lm75b.yaml
display: !include devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
# relay32
output: !include boards/relay32_outputs_PCF.yaml
input: !include boards/relay32_inputs.yaml
# dimmer led
# output: !include boards/dimmer_led8x4_outputs.yaml
# input: !include boards/dimmer_led8x4_inputs.yaml
# light: !include boards/monochromatic_lights.yaml
# cover
# output: !include boards/cover16_outputs.yaml
# input: !include boards/cover16_inputs.yaml
# cover: !include boards/cover.yaml
logger:
baud_rate: 0
api:
ota:
password: boneio
# disable web server - for testing only
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
# instead try to synchronize via network repeatedly ...
on_time_sync:
then:
# ... and update the RTC when the synchronization was successful
ds1307.write_time:

View File

@@ -0,0 +1,603 @@
substitutions:
name: boneio-24-sw-06
friendly_name: 'BoneIO ESP 24x16 Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.24x16-switches-v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-24x16_switches_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.4.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf_with_mcp.yaml',
'boards/24x16_output.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_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
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
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
- 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_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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

@@ -1,13 +1,164 @@
#i2c addresses
# address: 0x26 input pcf io
# address: 0x27 input pcf io
# address: 0x3C input oled
# address: 0x40 input ina219 power
# address: 0x68 input rtc ds1307
substitutions:
name: boneio-24-sw-07
friendly_name: 'BoneIO ESP 24x16 Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.24x16-switches
version: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-24x16_switches_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.2.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_with_mcp.yaml',
'boards/24x16_output.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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
binary_sensor:
- platform: gpio
name: "${node_name} IN_01"
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
@@ -17,10 +168,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_1
- switch.toggle: switch_01
- platform: gpio
name: "${node_name} IN_02"
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
@@ -30,10 +181,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_2
- switch.toggle: switch_02
- platform: gpio
name: "${node_name} IN_03"
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
@@ -43,10 +194,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_3
- switch.toggle: switch_03
- platform: gpio
name: "${node_name} IN_04"
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
@@ -56,10 +207,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_4
- switch.toggle: switch_04
- platform: gpio
name: "${node_name} IN_05"
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
@@ -69,10 +220,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_5
- switch.toggle: switch_05
- platform: gpio
name: "${node_name} IN_06"
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
@@ -82,10 +233,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_6
- switch.toggle: switch_06
- platform: gpio
name: "${node_name} IN_07"
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
@@ -95,10 +246,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_7
- switch.toggle: switch_07
- platform: gpio
name: "${node_name} IN_08"
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
@@ -108,10 +259,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_8
- switch.toggle: switch_08
- platform: gpio
name: "${node_name} IN_09"
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
@@ -121,10 +272,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_9
- switch.toggle: switch_09
- platform: gpio
name: "${node_name} IN_10"
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
@@ -134,10 +285,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_10
- switch.toggle: switch_10
- platform: gpio
name: "${node_name} IN_11"
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
@@ -147,10 +298,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_11
- switch.toggle: switch_11
- platform: gpio
name: "${node_name} IN_12"
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
@@ -160,10 +311,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_12
- switch.toggle: switch_12
- platform: gpio
name: "${node_name} IN_13"
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
@@ -173,10 +324,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_13
- switch.toggle: switch_13
- platform: gpio
name: "${node_name} IN_14"
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
@@ -186,10 +337,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_14
- switch.toggle: switch_14
- platform: gpio
name: "${node_name} IN_15"
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
@@ -199,10 +350,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_15
- switch.toggle: switch_15
- platform: gpio
name: "${node_name} IN_16"
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
@@ -212,10 +363,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_16
- switch.toggle: switch_16
- platform: gpio
name: "${node_name} IN_17"
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
@@ -225,10 +376,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_17
- switch.toggle: switch_17
- platform: gpio
name: "${node_name} IN_18"
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
@@ -238,10 +389,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_18
- switch.toggle: switch_18
- platform: gpio
name: "${node_name} IN_19"
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
@@ -251,10 +402,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_19
- switch.toggle: switch_19
- platform: gpio
name: "${node_name} IN_20"
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
@@ -264,10 +415,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_20
- switch.toggle: switch_20
- platform: gpio
name: "${node_name} IN_21"
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
@@ -277,10 +428,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_21
- switch.toggle: switch_21
- platform: gpio
name: "${node_name} IN_22"
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
@@ -290,10 +441,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_22
- switch.toggle: switch_22
- platform: gpio
name: "${node_name} IN_23"
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
@@ -303,10 +454,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_23
- switch.toggle: switch_23
- platform: gpio
name: "${node_name} IN_24"
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
@@ -316,10 +467,10 @@ binary_sensor:
inverted: true
on_press:
then:
- switch.toggle: relay_24
- switch.toggle: switch_24
- platform: gpio
name: "${node_name} IN_25"
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
@@ -327,12 +478,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_25
- platform: gpio
name: "${node_name} IN_26"
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
@@ -340,12 +488,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_26
- platform: gpio
name: "${node_name} IN_27"
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
@@ -353,12 +498,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_27
- platform: gpio
name: "${node_name} IN_28"
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
@@ -366,12 +508,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_28
- platform: gpio
name: "${node_name} IN_29"
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
@@ -379,12 +518,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_29
- platform: gpio
name: "${node_name} IN_30"
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
@@ -392,12 +528,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_30
- platform: gpio
name: "${node_name} IN_31"
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
@@ -405,12 +538,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_31
- platform: gpio
name: "${node_name} IN_32"
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
@@ -418,12 +548,9 @@ binary_sensor:
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_32
- platform: gpio
name: "${node_name} IN_33"
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
@@ -432,7 +559,7 @@ binary_sensor:
inverted: true
- platform: gpio
name: "${node_name} IN_34"
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
@@ -441,11 +568,32 @@ binary_sensor:
inverted: true
- platform: gpio
name: "${node_name} IN_35"
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,675 @@
substitutions:
name: boneio-32-l-06
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_v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
]
logger:
baud_rate: 0 #IMPORTANT FOR V0.5-V0.6 TO GET MODBUS WORKING
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_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
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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,671 @@
substitutions:
name: boneio-32-l-07
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: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
version: 3
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
######################
### 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,670 @@
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: '0.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: v1.6.0
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
ota:
- platform: esphome
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
######################
### 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,671 @@
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
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_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: v1.6.0
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
# 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,674 @@
substitutions:
name: boneio-32-sw-06
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-lights_v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_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_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_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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,670 @@
substitutions:
name: boneio-32-sw-07
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-lights
version: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/output/out01_02.yaml',
'boards/output/out03_04.yaml',
'boards/output/out05_06.yaml',
'boards/output/out07_08.yaml',
'boards/output/out09_10.yaml',
'boards/output/out11_12.yaml',
'boards/output/out13_14.yaml',
'boards/output/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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_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

208
boneio-8x10A_v0_1.yaml Normal file
View File

@@ -0,0 +1,208 @@
substitutions:
name: boneio-8-s-01
friendly_name: 'BoneIO ESP 8x10A Switches'
serial_prefix: 'espm' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.8_10-switches
version: '0.1'
esp32:
board: esp32dev
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-8x10A_v0_1.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.4.0
files:
[
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
mcp23017:
- id: 'mcp1'
address: 0x20
# Individual outputs
switch:
- platform: gpio
name: 'OUT 1'
id: out_01
pin:
mcp23xxx: mcp1
number: 8
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 2'
id: out_02
pin:
mcp23xxx: mcp1
number: 9
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 3'
id: out_03
pin:
mcp23xxx: mcp1
number: 10
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 4'
id: out_04
pin:
mcp23xxx: mcp1
number: 11
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 5'
id: out_05
pin:
mcp23xxx: mcp1
number: 12
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 6'
id: out_06
pin:
mcp23xxx: mcp1
number: 13
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 7'
id: out_07
pin:
mcp23xxx: mcp1
number: 14
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 8'
id: out_08
pin:
mcp23xxx: mcp1
number: 15
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN 01'
id: in_01
pin:
mcp23xxx: mcp1
number: 0
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 02'
id: in_02
pin:
mcp23xxx: mcp1
number: 1
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 03'
id: in_03
pin:
mcp23xxx: mcp1
number: 2
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 04'
id: in_04
pin:
mcp23xxx: mcp1
number: 3
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 05'
id: in_05
pin:
mcp23xxx: mcp1
number: 4
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 06'
id: in_06
pin:
mcp23xxx: mcp1
number: 5
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 07'
id: in_07
pin:
mcp23xxx: mcp1
number: 6
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 08'
id: in_08
pin:
mcp23xxx: mcp1
number: 7
mode:
input: true
inverted: false

View File

@@ -0,0 +1,779 @@
substitutions:
name: boneio-cm-l-06
friendly_name: 'BoneIO ESP Cover Mix Lights'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover-mix-lights_v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_lights_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_time:
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
light:
- 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:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- 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_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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,775 @@
substitutions:
name: boneio-cm-l-07
friendly_name: 'BoneIO ESP Cover Mix Lights'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover-mix-lights
version: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_lights_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
light:
- 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:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- 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,778 @@
substitutions:
name: boneio-cm-sw-06
friendly_name: 'BoneIO ESP Cover Mix Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover-mix-switches_v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_switches_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_time:
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
switch:
- 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_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- 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_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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,775 @@
substitutions:
name: boneio-cm-sw-07
friendly_name: 'BoneIO ESP Cover Mix Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover-mix-switches
version: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_switches_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/output/out17_18.yaml',
'boards/output/out19_20.yaml',
'boards/output/out21_22.yaml',
'boards/output/out23_24.yaml',
'boards/output/out25_26.yaml',
'boards/output/out27_28.yaml',
'boards/output/out29_30.yaml',
'boards/output/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
switch:
- 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_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- 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

881
boneio-cover_v0_5-v0_6.yaml Normal file
View File

@@ -0,0 +1,881 @@
substitutions:
name: boneio-c-06
friendly_name: 'BoneIO ESP Cover'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover_v0_5-v0_6
version: '0.6'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_v0_5-v0_6.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_5-v0_6/display.yaml',
'devices_v0_5-v0_6/time.yaml',
'devices_v0_5-v0_6/i2c.yaml',
'devices_v0_5-v0_6/ina219.yaml',
'devices_v0_5-v0_6/lm75b.yaml',
'devices_v0_5-v0_6/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/cover/out17_18.yaml',
'boards/cover/out19_20.yaml',
'boards/cover/out21_22.yaml',
'boards/cover/out23_24.yaml',
'boards/cover/out25_26.yaml',
'boards/cover/out27_28.yaml',
'boards/cover/out29_30.yaml',
'boards/cover/out31_32.yaml',
# 'devices_v0_5-v0_6/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
on_time_sync:
then:
ds1307.write_time:
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
- platform: time_based
name: 'Cover 09'
id: cover_09
open_action:
- switch.turn_off: cover_close_09_out18
- switch.turn_on: cover_open_09_out17
open_duration: 10s
close_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_on: cover_close_09_out18
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_off: cover_close_09_out18
- platform: time_based
name: 'Cover 10'
id: cover_10
open_action:
- switch.turn_off: cover_close_10_out20
- switch.turn_on: cover_open_10_out19
open_duration: 10s
close_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_on: cover_close_10_out20
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_off: cover_close_10_out20
- platform: time_based
name: 'Cover 11'
id: cover_11
open_action:
- switch.turn_off: cover_close_11_out22
- switch.turn_on: cover_open_11_out21
open_duration: 10s
close_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_on: cover_close_11_out22
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_off: cover_close_11_out22
- platform: time_based
name: 'Cover 12'
id: cover_12
open_action:
- switch.turn_off: cover_close_12_out24
- switch.turn_on: cover_open_12_out23
open_duration: 10s
close_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_on: cover_close_12_out24
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_off: cover_close_12_out24
- platform: time_based
name: 'Cover 13'
id: cover_13
open_action:
- switch.turn_off: cover_close_13_out26
- switch.turn_on: cover_open_13_out25
open_duration: 10s
close_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_on: cover_close_13_out26
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_off: cover_close_13_out26
- platform: time_based
name: 'Cover 14'
id: cover_14
open_action:
- switch.turn_off: cover_close_14_out28
- switch.turn_on: cover_open_14_out27
open_duration: 10s
close_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_on: cover_close_14_out28
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_off: cover_close_14_out28
- platform: time_based
name: 'Cover 15'
id: cover_15
open_action:
- switch.turn_off: cover_close_15_out30
- switch.turn_on: cover_open_15_out29
open_duration: 10s
close_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_on: cover_close_15_out30
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_off: cover_close_15_out30
- platform: time_based
name: 'Cover 16'
id: cover_16
open_action:
- switch.turn_off: cover_close_16_out32
- switch.turn_on: cover_open_16_out31
open_duration: 10s
close_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_on: cover_close_16_out32
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_off: cover_close_16_out32
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:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_16
on_release:
then:
- cover.stop: cover_16
- 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_pin3_1
# rx_pin: GPIO3
# tx_pin: GPIO1
# 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

877
boneio-cover_v0_7.yaml Normal file
View File

@@ -0,0 +1,877 @@
substitutions:
name: boneio-c-07
friendly_name: 'BoneIO ESP Cover'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-cover
version: '0.7'
esp32:
board: nodemcu-32s
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-cover_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf.yaml',
'boards/cover/out01_02.yaml',
'boards/cover/out03_04.yaml',
'boards/cover/out05_06.yaml',
'boards/cover/out07_08.yaml',
'boards/cover/out09_10.yaml',
'boards/cover/out11_12.yaml',
'boards/cover/out13_14.yaml',
'boards/cover/out15_16.yaml',
'boards/cover/out17_18.yaml',
'boards/cover/out19_20.yaml',
'boards/cover/out21_22.yaml',
'boards/cover/out23_24.yaml',
'boards/cover/out25_26.yaml',
'boards/cover/out27_28.yaml',
'boards/cover/out29_30.yaml',
'boards/cover/out31_32.yaml',
# 'devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
- platform: time_based
name: 'Cover 09'
id: cover_09
open_action:
- switch.turn_off: cover_close_09_out18
- switch.turn_on: cover_open_09_out17
open_duration: 10s
close_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_on: cover_close_09_out18
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_off: cover_close_09_out18
- platform: time_based
name: 'Cover 10'
id: cover_10
open_action:
- switch.turn_off: cover_close_10_out20
- switch.turn_on: cover_open_10_out19
open_duration: 10s
close_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_on: cover_close_10_out20
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_off: cover_close_10_out20
- platform: time_based
name: 'Cover 11'
id: cover_11
open_action:
- switch.turn_off: cover_close_11_out22
- switch.turn_on: cover_open_11_out21
open_duration: 10s
close_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_on: cover_close_11_out22
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_off: cover_close_11_out22
- platform: time_based
name: 'Cover 12'
id: cover_12
open_action:
- switch.turn_off: cover_close_12_out24
- switch.turn_on: cover_open_12_out23
open_duration: 10s
close_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_on: cover_close_12_out24
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_off: cover_close_12_out24
- platform: time_based
name: 'Cover 13'
id: cover_13
open_action:
- switch.turn_off: cover_close_13_out26
- switch.turn_on: cover_open_13_out25
open_duration: 10s
close_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_on: cover_close_13_out26
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_off: cover_close_13_out26
- platform: time_based
name: 'Cover 14'
id: cover_14
open_action:
- switch.turn_off: cover_close_14_out28
- switch.turn_on: cover_open_14_out27
open_duration: 10s
close_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_on: cover_close_14_out28
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_off: cover_close_14_out28
- platform: time_based
name: 'Cover 15'
id: cover_15
open_action:
- switch.turn_off: cover_close_15_out30
- switch.turn_on: cover_open_15_out29
open_duration: 10s
close_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_on: cover_close_15_out30
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_off: cover_close_15_out30
- platform: time_based
name: 'Cover 16'
id: cover_16
open_action:
- switch.turn_off: cover_close_16_out32
- switch.turn_on: cover_open_16_out31
open_duration: 10s
close_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_on: cover_close_16_out32
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_off: cover_close_16_out32
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:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_16
on_release:
then:
- cover.stop: cover_16
- 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,180 @@
substitutions:
name: boneio-dr-rgbw-03
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.3'
esp32:
board: esp32dev
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]
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
]
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_2rgbw-v0_3.yaml@latest
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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 id(eth).get_use_address();
update_interval: 5min
binary_sensor:
- platform: gpio
name: 'IN_01'
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
pin:
number: 36
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
pin:
number: 39
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
pin:
number: 34
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
pin:
number: 35
mode:
input: true
inverted: true
light:
- platform: rgbw
name: 'RGBW L'
red: chl01
green: chl02
blue: chl03
white: chl04
default_transition_length: 2s
gamma_correct: 0
- platform: rgbw
name: 'RGBW R'
red: chr01
green: chr02
blue: chr03
white: chr04
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
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
pcf8574: pcf_inputs
number: 0
mode:
output: true
inverted: true

View File

@@ -0,0 +1,190 @@
substitutions:
name: boneio-dr-4cct-03
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.3'
esp32:
board: esp32dev
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]
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
]
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_4cct-v0_3.yaml@latest
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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 id(eth).get_use_address();
update_interval: 5min
binary_sensor:
- platform: gpio
name: 'IN_01'
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
pin:
number: 36
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
pin:
number: 39
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
pin:
number: 34
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
pin:
number: 35
mode:
input: true
inverted: 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
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
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
pcf8574: pcf_inputs
number: 0
mode:
output: true
inverted: true

453
boneio-dimmer_8ch-v0_3.yaml Normal file
View File

@@ -0,0 +1,453 @@
substitutions:
name: boneio-dr-8ch-03
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.3'
esp32:
board: esp32dev
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]
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files:
[
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices/dimmer_ina219.yaml',
'boards/dimmer_output.yaml',
]
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
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
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 id(eth).get_use_address();
update_interval: 5min
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: 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
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: 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
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: 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
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: 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
name: 'IN_05'
id: in_05
pin:
number: 36
mode:
input: 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
name: 'IN_06'
id: in_06
pin:
number: 39
mode:
input: 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
name: 'IN_07'
id: in_07
pin:
number: 34
mode:
input: 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
name: 'IN_08'
id: in_08
pin:
number: 35
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_08
then:
- if:
condition:
lambda: 'return id(chr_04).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chr_04
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chr_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: chr_04
invalid_cooldown: 0.5s
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
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
pcf8574: pcf_inputs
number: 0
mode:
output: true
inverted: true

View File

@@ -0,0 +1,719 @@
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
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_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: v1.4.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_mosfet.yaml',
'boards/mosfet48_output.yaml',
# 'devices_v0_7/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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,719 @@
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
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_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: v1.4.0
files: [
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7-v0_9/ina219.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
'devices_v0_7-v0_9/pcf_mosfet.yaml',
'boards/mosfet48_output.yaml',
# 'devices_v0_7/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
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

@@ -1,42 +0,0 @@
substitutions:
node_name: boneio
packages:
# devices
core: !include boneio/devices/wt32_eth01.yaml
internals: !include boneio/devices/boneio_board.yaml
temp: !include boneio/devices/lm75b.yaml
display: !include boneio/devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
# relay32
output: !include boneio/boards/relay32_outputs.yaml
input: !include boneio/boards/relay32_inputs.yaml
# dimmer led
# output: !include boards/dimmer_led8x4_outputs.yaml
# input: !include boards/dimmer_led8x4_inputs.yaml
# light: !include boards/monochromatic_lights.yaml
# cover
# output: !include boards/cover16_outputs.yaml
# input: !include boards/cover16_inputs.yaml
# cover: !include boards/cover.yaml
logger:
baud_rate: 0
api:
ota:
password: boneio
# disable web server - for testing only
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
# instead try to synchronize via network repeatedly ...
on_time_sync:
then:
# ... and update the RTC when the synchronization was successful
ds1307.write_time:

File diff suppressed because it is too large Load Diff

78
create_firmware.py Normal file
View File

@@ -0,0 +1,78 @@
#!/usr/bin/python
import subprocess
import glob
import os
import re
import json
import shutil
from pathlib import Path
home = str(Path.home())
cwd = os.getcwd()
pattern = r"name:\s*(\S+)"
json_destination = "../website/public/esp"
firmware_destination = "../website/public/esp/firmware"
def json_pattern(firmware_name):
return {
"name": "ESPHome",
"version": "2024.10.1",
"home_assistant_domain": "esphome",
"funding_url": "https://esphome.io/guides/supporters.html",
"new_install_prompt_erase": False,
"builds": [
{
"chipFamily": "ESP32",
"parts": [
{
"path": f"/esp/firmware/{firmware_name}.bin",
"offset": 0,
}
],
}
],
}
def get_boneio_name(file):
with open(file) as f:
next(f)
name = next(f)
match = re.search(pattern, name)
if match:
extracted_text = match.group(1)
return extracted_text
return None
for file in glob.glob("*.yaml"):
filename = get_boneio_name(file)
if not filename:
print("No file found.")
break
firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware.factory.bin"
cmd = f'docker run --rm -p 6052:6052 -v "{cwd}":/config -it ghcr.io/esphome/esphome compile {file}'
print(cmd)
result = subprocess.run(
cmd,
shell=True,
)
if result.returncode != 0:
print("Process failed, breaking.")
break
shutil.copyfile(firmware_path, f"{firmware_destination}/{filename}.bin")
with open(
f"{json_destination}/{filename}.json", "w", encoding="utf-8"
) as f:
json.dump(
json_pattern(firmware_name=filename),
f,
ensure_ascii=False,
indent=4,
)

View File

@@ -1,55 +0,0 @@
#i2c address: 0x26 input pcf io
#i2c address: 0x27 input pcf io
#i2c address: 0x40 input ina219 power
#i2c address: 0x68 input rtc ds1307
time:
- platform: ds1307
id: ds1307_time
address: 0x68
i2c_id: bus_a
sensor:
# Module power consmption
- platform: ina219
address: 0x40
i2c_id: bus_a
shunt_resistance: 0.1 ohm
current:
id: ina_current
name: "${node_name} INA219 Current"
power:
id: ina_power
name: "${node_name} INA219 Power"
bus_voltage:
id: ina_bus_voltage
name: "${node_name} INA219 Bus Voltage"
shunt_voltage:
id: ina_shunt_voltage
name: "${node_name} INA219 Shunt Voltage"
max_voltage: 32.0V
max_current: 3.2A
update_interval: 30s
switch:
- platform: gpio
id: buzzer
name: "Buzzer"
pin:
number: GPIO2
mode:
output: true
inverted: false
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: bus_a
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: bus_a
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: bus_a
address: 0x22
pcf8575: false

9
devices/buzzer.yaml Normal file
View File

@@ -0,0 +1,9 @@
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO2
mode:
output: true
inverted: false

5
devices/dimmer_i2c.yaml Normal file
View File

@@ -0,0 +1,5 @@
i2c:
sda: GPIO4
scl: GPIO5
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,37 @@
sensor:
- platform: ina219
address: 0x40
shunt_resistance: 0.005 ohm
bus_voltage:
name: 'VDDL Supply'
entity_category: diagnostic
power:
name: 'VDDL Power'
entity_category: diagnostic
current:
name: 'VDDL Current'
entity_category: diagnostic
shunt_voltage:
name: 'VDDL Shunt Voltage'
entity_category: diagnostic
max_voltage: 32V
max_current: 10A
update_interval: 5s
- platform: ina219
address: 0x41
shunt_resistance: 0.005 ohm
bus_voltage:
name: 'VDDR Supply'
entity_category: diagnostic
power:
name: 'VDDR Power'
entity_category: diagnostic
current:
name: 'VDDR Current'
entity_category: diagnostic
shunt_voltage:
name: 'VDDR Shunt Voltage'
entity_category: diagnostic
max_voltage: 32V
max_current: 10A
update_interval: 5s

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,139 +0,0 @@
#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: ${node_name} Uptime
id: wt32_uptime
entity_category: diagnostic
icon: mdi:clock-start
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:
# by default display show the first page defined in display (which is the logo page) until full initialization
# after that we show the first_page and start the screensaver script
priority: 0
then:
- display.page.show: first_page
- component.update: oled_display
- script.execute: screensaver_script
binary_sensor:
- platform: gpio
entity_category: config
id: boneIO_button
pin:
pcf8574: pcf_inputs_28to35_menu
number: 7
mode:
input: 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: logo_page
- component.update: oled_display
- delay: 500ms
- 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
i2c_id: bus_b
contrast: 0.5
pages:
- id: logo_page
lambda: |-
it.printf(64,25, id(danubeBig), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(64,40, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "take control");
it.printf(64,50, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "of your home");
- id: first_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
it.strftime(64, 25, id(dejaVuSmall), TextAlign::BASELINE_CENTER ,"%c", id(ds1307_time).now());
it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"IP addr:");
it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_address().str().c_str());
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(dejaVuSmall), 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(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(4, 25, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
- id: screensaver
lambda: |-
it.fill(COLOR_OFF);
font:
- file: "fonts/DejaVuSans.ttf"
id: dejaVuSmall
size: 9
- file: "fonts/danube__.ttf"
id: danubeBig
size: 20
- file: "fonts/danube__.ttf"
id: danubeSmall
size: 9

View File

@@ -1,13 +0,0 @@
#i2c address: 0x48 output lm75b temp
#LM75B
external_components:
- source: github://btomala/esphome-LM75@v1.0
components: [ lm75 ]
sensor:
# Lower board temperature
- platform: lm75
id: boneIO_temp
name: "${node_name} LM75B Temperature"
update_interval: 30s
i2c_id: bus_b

9
devices/serial_no.yaml Normal file
View File

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

View File

@@ -1,6 +0,0 @@
uart:
id: uart
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600
stop_bits: 1

View File

@@ -1,25 +0,0 @@
esphome:
name: ${node_name}
platform: ESP32
board: nodemcu-32s
i2c:
- id: bus_a
sda: GPIO14
scl: GPIO15
scan: True
frequency: 100kHz
- id: bus_b
sda: GPIO17
scl: GPIO33
scan: True
frequency: 100kHz
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16

131
devices_v0_4/display.yaml Normal file
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

6
devices_v0_4/i2c.yaml Normal file
View File

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

20
devices_v0_4/ina219.yaml Normal file
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

12
devices_v0_4/lm75b.yaml Normal file
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

13
devices_v0_4/pcf.yaml Normal file
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

3
devices_v0_4/time.yaml Normal file
View File

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

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:
pcf8574: pcf_inputs_28to35_menu
number: 7
mode:
input: 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
i2c_id: bus_b
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,11 @@
i2c:
- id: bus_a
sda: GPIO14
scl: GPIO15
scan: True
frequency: 400kHz
- id: bus_b
sda: GPIO17
scl: GPIO33
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,25 @@
#i2c address: 0x26 input pcf io
#i2c address: 0x27 input pcf io
#i2c address: 0x40 input ina219 power
#i2c address: 0x68 input rtc ds1307
sensor:
# Module power consmption
- platform: ina219
address: 0x40
i2c_id: bus_a
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,13 @@
#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
i2c_id: bus_b

View File

@@ -1,5 +1,5 @@
dallas:
- pin: GPIO4
- pin: GPIO32
# sensor:
# - platform: dallas

View File

@@ -0,0 +1,21 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: bus_a
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: bus_a
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: bus_a
address: 0x22
pcf8575: false
- id: 'pcf_left'
address: 0x21
pcf8575: true
i2c_id: bus_b
- id: 'pcf_right'
address: 0x20
pcf8575: true
i2c_id: bus_b

View File

@@ -0,0 +1,20 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: bus_a
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: bus_a
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: bus_a
address: 0x22
pcf8575: false
mcp23017:
- id: 'mcp_left'
address: 0x21
i2c_id: bus_b
- id: 'mcp_right'
address: 0x20
i2c_id: bus_b

View File

@@ -0,0 +1,5 @@
time:
- platform: ds1307
id: ds1307_time
address: 0x68
i2c_id: bus_a

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

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