Compare commits

..

58 Commits

Author SHA1 Message Date
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
55 changed files with 6504 additions and 2276 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

@@ -1,103 +0,0 @@
cover:
- platform: time_based
name: "${node_name} Cover 01"
device_class: cover
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: cover
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

@@ -1,32 +0,0 @@
cover:
- platform: time_based
name: "${node_name} Cover 01"
device_class: cover
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
- platform: time_based
name: "${node_name} Cover 02"
device_class: cover
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

View File

@@ -0,0 +1,297 @@
pcf8574:
- id: 'pcf_1'
address: 0x21
pcf8575: true
i2c_id: bus_b
- id: 'pcf_2'
address: 0x20
pcf8575: true
i2c_id: bus_b
output:
- platform: gpio
id: out_1
pin:
pcf8574: pcf_1
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_2
pin:
pcf8574: pcf_1
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_3
pin:
pcf8574: pcf_1
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_4
pin:
pcf8574: pcf_1
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_5
pin:
pcf8574: pcf_1
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_6
pin:
pcf8574: pcf_1
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_7
pin:
pcf8574: pcf_1
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_8
pin:
pcf8574: pcf_1
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_9
pin:
pcf8574: pcf_2
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_2
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_11
pin:
pcf8574: pcf_2
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_2
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_13
pin:
pcf8574: pcf_2
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_2
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_15
pin:
pcf8574: pcf_2
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_2
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_17
pin:
pcf8574: pcf_1
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_1
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_1
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_1
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_1
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_1
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_1
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_1
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_2
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_2
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_2
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_2
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_2
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_2
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_2
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_2
number: 7
mode:
output: true
inverted: true

256
boards_v0_5-v0_6/cover.yaml Normal file
View File

@@ -0,0 +1,256 @@
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
- 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
- platform: time_based
name: "${node_name} Cover 07"
device_class: shutter
id: cover_07
open_action:
- switch.turn_off: cover_close_07
- switch.turn_on: cover_open_07
open_duration: 60s
close_action:
- switch.turn_off: cover_open_07
- switch.turn_on: cover_close_07
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_07
- switch.turn_off: cover_close_07
- platform: time_based
name: "${node_name} Cover 08"
device_class: shutter
id: cover_08
open_action:
- switch.turn_off: cover_close_08
- switch.turn_on: cover_open_08
open_duration: 60s
close_action:
- switch.turn_off: cover_open_08
- switch.turn_on: cover_close_08
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_08
- switch.turn_off: cover_close_08
- platform: time_based
name: "${node_name} Cover 09"
device_class: shutter
id: cover_09
open_action:
- switch.turn_off: cover_close_09
- switch.turn_on: cover_open_09
open_duration: 60s
close_action:
- switch.turn_off: cover_open_09
- switch.turn_on: cover_close_09
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_09
- switch.turn_off: cover_close_09
- platform: time_based
name: "${node_name} Cover 10"
device_class: shutter
id: cover_10
open_action:
- switch.turn_off: cover_close_10
- switch.turn_on: cover_open_10
open_duration: 60s
close_action:
- switch.turn_off: cover_open_10
- switch.turn_on: cover_close_10
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_10
- switch.turn_off: cover_close_10
- platform: time_based
name: "${node_name} Cover 11"
device_class: shutter
id: cover_11
open_action:
- switch.turn_off: cover_close_11
- switch.turn_on: cover_open_11
open_duration: 60s
close_action:
- switch.turn_off: cover_open_11
- switch.turn_on: cover_close_11
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_11
- switch.turn_off: cover_close_11
- platform: time_based
name: "${node_name} Cover 12"
device_class: shutter
id: cover_12
open_action:
- switch.turn_off: cover_close_12
- switch.turn_on: cover_open_12
open_duration: 60s
close_action:
- switch.turn_off: cover_open_12
- switch.turn_on: cover_close_12
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_12
- switch.turn_off: cover_close_12
- platform: time_based
name: "${node_name} Cover 13"
device_class: shutter
id: cover_13
open_action:
- switch.turn_off: cover_close_13
- switch.turn_on: cover_open_13
open_duration: 60s
close_action:
- switch.turn_off: cover_open_13
- switch.turn_on: cover_close_13
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_13
- switch.turn_off: cover_close_13
- platform: time_based
name: "${node_name} Cover 14"
device_class: shutter
id: cover_14
open_action:
- switch.turn_off: cover_close_14
- switch.turn_on: cover_open_14
open_duration: 60s
close_action:
- switch.turn_off: cover_open_14
- switch.turn_on: cover_close_14
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_14
- switch.turn_off: cover_close_14
- platform: time_based
name: "${node_name} Cover 15"
device_class: shutter
id: cover_15
open_action:
- switch.turn_off: cover_close_15
- switch.turn_on: cover_open_15
open_duration: 60s
close_action:
- switch.turn_off: cover_open_15
- switch.turn_on: cover_close_15
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_15
- switch.turn_off: cover_close_15
- platform: time_based
name: "${node_name} Cover 16"
device_class: shutter
id: cover_16
open_action:
- switch.turn_off: cover_close_16
- switch.turn_on: cover_open_16
open_duration: 60s
close_action:
- switch.turn_off: cover_open_16
- switch.turn_on: cover_close_16
close_duration: 60s
stop_action:
- switch.turn_off: cover_open_16
- switch.turn_off: cover_close_16

View File

@@ -0,0 +1,900 @@
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:
- cover.close: cover_01
on_release:
- 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
- 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

@@ -0,0 +1,539 @@
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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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.open: 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

View File

@@ -0,0 +1,310 @@
mcp23017:
- id: 'mcp_outputs_1to16'
i2c_id: bus_b
address: 0x21
- id: 'mcp_outputs_17to32'
i2c_id: bus_b
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_1to16
number: 8
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_1to16
number: 9
mode: OUTPUT
interlock: *cover_interlock_05
restore_mode: always off
- platform: gpio
id: cover_open_06
pin:
mcp23xxx: mcp_outputs_1to16
number: 10
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_1to16
number: 11
mode: OUTPUT
interlock: *cover_interlock_06
restore_mode: always off
- platform: gpio
id: cover_open_07
pin:
mcp23xxx: mcp_outputs_1to16
number: 12
mode: OUTPUT
interlock: &cover_interlock_07 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_07
pin:
mcp23xxx: mcp_outputs_1to16
number: 13
mode: OUTPUT
interlock: *cover_interlock_07
restore_mode: always off
- platform: gpio
id: cover_open_08
pin:
mcp23xxx: mcp_outputs_1to16
number: 14
mode: OUTPUT
interlock: &cover_interlock_08 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_08
pin:
mcp23xxx: mcp_outputs_1to16
number: 15
mode: OUTPUT
interlock: *cover_interlock_08
restore_mode: always off
- platform: gpio
id: cover_open_09
pin:
mcp23xxx: mcp_outputs_17to32
number: 0
mode: OUTPUT
interlock: &cover_interlock_09 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_09
pin:
mcp23xxx: mcp_outputs_17to32
number: 1
mode: OUTPUT
interlock: *cover_interlock_09
restore_mode: always off
- platform: gpio
id: cover_open_10
pin:
mcp23xxx: mcp_outputs_17to32
number: 2
mode: OUTPUT
interlock: &cover_interlock_10 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_10
pin:
mcp23xxx: mcp_outputs_17to32
number: 3
mode: OUTPUT
interlock: *cover_interlock_10
restore_mode: always off
- platform: gpio
id: cover_open_11
pin:
mcp23xxx: mcp_outputs_17to32
number: 4
mode: OUTPUT
interlock: &cover_interlock_11 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_11
pin:
mcp23xxx: mcp_outputs_17to32
number: 5
mode: OUTPUT
interlock: *cover_interlock_11
restore_mode: always off
- platform: gpio
id: cover_open_12
pin:
mcp23xxx: mcp_outputs_17to32
number: 6
mode: OUTPUT
interlock: &cover_interlock_12 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_12
pin:
mcp23xxx: mcp_outputs_17to32
number: 7
mode: OUTPUT
interlock: *cover_interlock_12
restore_mode: always off
- platform: gpio
id: cover_open_13
pin:
mcp23xxx: mcp_outputs_17to32
number: 8
mode: OUTPUT
interlock: &cover_interlock_13 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_13
pin:
mcp23xxx: mcp_outputs_17to32
number: 9
mode: OUTPUT
interlock: *cover_interlock_13
restore_mode: always off
- platform: gpio
id: cover_open_14
pin:
mcp23xxx: mcp_outputs_17to32
number: 10
mode: OUTPUT
interlock: &cover_interlock_14 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_14
pin:
mcp23xxx: mcp_outputs_17to32
number: 11
mode: OUTPUT
interlock: *cover_interlock_14
restore_mode: always off
- platform: gpio
id: cover_open_15
pin:
mcp23xxx: mcp_outputs_17to32
number: 12
mode: OUTPUT
interlock: &cover_interlock_15 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_15
pin:
mcp23xxx: mcp_outputs_17to32
number: 13
mode: OUTPUT
interlock: *cover_interlock_15
restore_mode: always off
- platform: gpio
id: cover_open_16
pin:
mcp23xxx: mcp_outputs_17to32
number: 14
mode: OUTPUT
interlock: &cover_interlock_16 [cover_open_07, cover_close_07]
restore_mode: always off
- platform: gpio
id: cover_close_16
pin:
mcp23xxx: mcp_outputs_17to32
number: 15
mode: OUTPUT
interlock: *cover_interlock_16
restore_mode: always off
# example
# relay
# - platform: gpio
# id: relay_13
# pin:
# mcp23xxx: mcp_outputs_17to32
# number: 4
# mode:
# output: true
# inverted: false

View File

@@ -0,0 +1,491 @@
binary_sensor:
- platform: gpio
name: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_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: '${node_name} IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_17
- platform: gpio
name: '${node_name} IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_18
- platform: gpio
name: '${node_name} IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_19
- platform: gpio
name: '${node_name} IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_20
- platform: gpio
name: '${node_name} IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_21
- platform: gpio
name: '${node_name} IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_22
- platform: gpio
name: '${node_name} IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_23
- platform: gpio
name: '${node_name} IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_24
- platform: gpio
name: '${node_name} IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_25
- platform: gpio
name: '${node_name} IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_26
- platform: gpio
name: '${node_name} IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_27
- platform: gpio
name: '${node_name} IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_28
- platform: gpio
name: '${node_name} IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_29
- platform: gpio
name: '${node_name} IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_30
- platform: gpio
name: '${node_name} IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_31
- platform: gpio
name: '${node_name} IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_32
- platform: gpio
name: '${node_name} IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: '${node_name} IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: '${node_name} IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true

View File

@@ -0,0 +1,121 @@
cover:
- platform: time_based
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: 10s
close_action:
- switch.turn_off: cover_open_01
- switch.turn_on: cover_close_01
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01
- switch.turn_off: cover_close_01
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02
- switch.turn_on: cover_open_02
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02
- switch.turn_on: cover_close_02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02
- switch.turn_off: cover_close_02
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03
- switch.turn_on: cover_open_03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03
- switch.turn_on: cover_close_03
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03
- switch.turn_off: cover_close_03
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04
- switch.turn_on: cover_open_04
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04
- switch.turn_on: cover_close_04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04
- switch.turn_off: cover_close_04
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05
- switch.turn_on: cover_open_05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05
- switch.turn_on: cover_close_05
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05
- switch.turn_off: cover_close_05
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06
- switch.turn_on: cover_open_06
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06
- switch.turn_on: cover_close_06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06
- switch.turn_off: cover_close_06
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07
- switch.turn_on: cover_open_07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07
- switch.turn_on: cover_close_07
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07
- switch.turn_off: cover_close_07
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08
- switch.turn_on: cover_open_08
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08
- switch.turn_on: cover_close_08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08
- switch.turn_off: cover_close_08

View File

@@ -5,9 +5,11 @@ pca9685:
- address: 0x41
id: pca_hub_1to16
frequency: 500
i2c_id: bus_b
- address: 0x42
id: pca_hub_17to32
frequency: 500
i2c_id: bus_b
output:
- platform: pca9685

View File

@@ -0,0 +1,543 @@
pcf8574:
- id: 'pcf_1'
address: 0x20
pcf8575: true
i2c_id: bus_b
- id: 'pcf_2'
address: 0x21
pcf8575: true
i2c_id: bus_b
- id: 'pcf_3'
address: 0x22
pcf8575: true
i2c_id: bus_b
switch:
- platform: gpio
id: relay_1
name: "Relay_01"
pin:
pcf8574: pcf_1
# Use pin number 0
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: relay_2
name: "Relay_02"
pin:
pcf8574: pcf_1
# Use pin number 1
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_3
name: "Relay_03"
pin:
pcf8574: pcf_1
# Use pin number 2
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_4
name: "Relay_04"
pin:
pcf8574: pcf_1
# Use pin number 3
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_5
name: "Relay_05"
pin:
pcf8574: pcf_1
# Use pin number 4
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_6
name: "Relay_06"
pin:
pcf8574: pcf_1
# Use pin number 5
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_7
name: "Relay_07"
pin:
pcf8574: pcf_1
# Use pin number 6
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_8
name: "Relay_08"
pin:
pcf8574: pcf_1
# Use pin number 7
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_9
name: "Relay_09"
pin:
pcf8574: pcf_2
# Use pin number 0
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: relay_10
name: "Relay_10"
pin:
pcf8574: pcf_2
# Use pin number 1
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_11
name: "Relay_11"
pin:
pcf8574: pcf_2
# Use pin number 2
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_12
name: "Relay_12"
pin:
pcf8574: pcf_2
# Use pin number 3
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_13
name: "Relay_13"
pin:
pcf8574: pcf_2
# Use pin number 4
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_14
name: "Relay_14"
pin:
pcf8574: pcf_2
# Use pin number 5
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_15
name: "Relay_15"
pin:
pcf8574: pcf_2
# Use pin number 6
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_16
name: "Relay_16"
pin:
pcf8574: pcf_2
# Use pin number 7
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_17
name: "Relay_17"
pin:
pcf8574: pcf_3
# Use pin number 15
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: relay_18
name: "Relay_18"
pin:
pcf8574: pcf_3
# Use pin number 14
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_19
name: "Relay_19"
pin:
pcf8574: pcf_3
# Use pin number 13
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_20
name: "Relay_20"
pin:
pcf8574: pcf_3
# Use pin number 12
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_21
name: "Relay_21"
pin:
pcf8574: pcf_3
# Use pin number 11
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_22
name: "Relay_22"
pin:
pcf8574: pcf_3
# Use pin number 10
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_23
name: "Relay_23"
pin:
pcf8574: pcf_3
# Use pin number 9
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_24
name: "Relay_24"
pin:
pcf8574: pcf_3
# Use pin number 8
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_25
name: "Relay_25"
pin:
pcf8574: pcf_1
# Use pin number 15
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_26
name: "Relay_26"
pin:
pcf8574: pcf_1
# Use pin number 14
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_27
name: "Relay_27"
pin:
pcf8574: pcf_1
# Use pin number 13
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_28
name: "Relay_28"
pin:
pcf8574: pcf_1
# Use pin number 12
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_29
name: "Relay_29"
pin:
pcf8574: pcf_1
# Use pin number 11
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_30
name: "Relay_30"
pin:
pcf8574: pcf_1
# Use pin number 10
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_31
name: "Relay_31"
pin:
pcf8574: pcf_1
# Use pin number 9
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_32
name: "Relay_32"
pin:
pcf8574: pcf_1
# Use pin number 8
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_33
name: "Relay_33"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_34
name: "Relay_34"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_35
name: "Relay_35"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_36
name: "Relay_36"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_37
name: "Relay_37"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_38
name: "Relay_38"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_39
name: "Relay_39"
pin:
pcf8574: pcf_2
# Use pin number 9
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_40
name: "Relay_40"
pin:
pcf8574: pcf_2
# Use pin number 8
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_41
name: "Relay_41"
pin:
pcf8574: pcf_3
# Use pin number 15
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_42
name: "Relay_42"
pin:
pcf8574: pcf_3
# Use pin number 14
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_43
name: "Relay_43"
pin:
pcf8574: pcf_3
# Use pin number 13
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_44
name: "Relay_44"
pin:
pcf8574: pcf_3
# Use pin number 12
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_45
name: "Relay_45"
pin:
pcf8574: pcf_3
# Use pin number 11
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_46
name: "Relay_46"
pin:
pcf8574: pcf_3
# Use pin number 10
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_47
name: "Relay_47"
pin:
pcf8574: pcf_3
# Use pin number 9
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_48
name: "Relay_48"
pin:
pcf8574: pcf_3
# Use pin number 8
number: 15
mode:
output: true
inverted: true

View File

@@ -1,218 +1,175 @@
#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
binary_sensor:
- platform: gpio
name: "${node_name} IN_01"
id: in_01
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_01
on_release:
then:
cover.stop: cover_01
- switch.toggle: relay_1
- platform: gpio
name: "${node_name} IN_02"
id: in_02
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_01
on_release:
then:
cover.stop: cover_01
- switch.toggle: relay_2
- platform: gpio
name: "${node_name} IN_03"
id: in_03
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_02
on_release:
then:
cover.stop: cover_02
- switch.toggle: relay_3
- platform: gpio
name: "${node_name} IN_04"
id: in_04
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_02
on_release:
then:
cover.stop: cover_02
- switch.toggle: relay_4
- platform: gpio
name: "${node_name} IN_05"
id: in_05
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_03
on_release:
then:
cover.stop: cover_03
- switch.toggle: relay_5
- platform: gpio
name: "${node_name} IN_06"
id: in_06
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_03
on_release:
then:
cover.stop: cover_03
- switch.toggle: relay_6
- platform: gpio
name: "${node_name} IN_07"
id: in_07
pin:
mcp23xxx: mcp_inputs_1to16
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_04
on_release:
then:
cover.stop: cover_04
- switch.toggle: relay_7
- platform: gpio
name: "${node_name} IN_08"
id: in_08
pin:
mcp23xxx: mcp_inputs_1to16
number: 7
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_04
on_release:
then:
cover.stop: cover_04
- switch.toggle: relay_8
- platform: gpio
name: "${node_name} IN_09"
id: in_09
pin:
mcp23xxx: mcp_inputs_1to16
number: 8
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_05
on_release:
then:
cover.stop: cover_05
- switch.toggle: relay_9
- platform: gpio
name: "${node_name} IN_10"
id: in_10
pin:
mcp23xxx: mcp_inputs_1to16
number: 9
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_05
on_release:
then:
cover.stop: cover_05
- switch.toggle: relay_10
- platform: gpio
name: "${node_name} IN_11"
id: in_11
pin:
mcp23xxx: mcp_inputs_1to16
number: 10
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.open: cover_06
on_release:
then:
cover.stop: cover_06
- switch.toggle: relay_11
- platform: gpio
name: "${node_name} IN_12"
id: in_12
pin:
mcp23xxx: mcp_inputs_1to16
number: 11
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
pullup: false
inverted: true
on_press:
then:
cover.close: cover_06
on_release:
then:
cover.stop: cover_06
- switch.toggle: relay_12
- platform: gpio
name: "${node_name} IN_13"
id: in_13
pin:
mcp23xxx: mcp_inputs_1to16
number: 12
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -222,11 +179,10 @@ binary_sensor:
name: "${node_name} IN_14"
id: in_14
pin:
mcp23xxx: mcp_inputs_1to16
number: 13
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -236,11 +192,10 @@ binary_sensor:
name: "${node_name} IN_15"
id: in_15
pin:
mcp23xxx: mcp_inputs_1to16
number: 14
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -250,11 +205,10 @@ binary_sensor:
name: "${node_name} IN_16"
id: in_16
pin:
mcp23xxx: mcp_inputs_1to16
number: 15
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -264,11 +218,10 @@ binary_sensor:
name: "${node_name} IN_17"
id: in_17
pin:
mcp23xxx: mcp_inputs_17to32
number: 7
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -278,11 +231,10 @@ binary_sensor:
name: "${node_name} IN_18"
id: in_18
pin:
mcp23xxx: mcp_inputs_17to32
number: 6
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -292,11 +244,10 @@ binary_sensor:
name: "${node_name} IN_19"
id: in_19
pin:
mcp23xxx: mcp_inputs_17to32
number: 5
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -306,11 +257,10 @@ binary_sensor:
name: "${node_name} IN_20"
id: in_20
pin:
mcp23xxx: mcp_inputs_17to32
number: 4
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -320,11 +270,10 @@ binary_sensor:
name: "${node_name} IN_21"
id: in_21
pin:
mcp23xxx: mcp_inputs_17to32
number: 3
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -334,11 +283,10 @@ binary_sensor:
name: "${node_name} IN_22"
id: in_22
pin:
mcp23xxx: mcp_inputs_17to32
number: 2
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -348,25 +296,23 @@ binary_sensor:
name: "${node_name} IN_23"
id: in_23
pin:
mcp23xxx: mcp_inputs_17to32
number: 1
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_22
- switch.toggle: relay_23
- platform: gpio
name: "${node_name} IN_24"
id: in_24
pin:
mcp23xxx: mcp_inputs_17to32
number: 0
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
pullup: false
inverted: true
on_press:
then:
@@ -376,110 +322,106 @@ binary_sensor:
name: "${node_name} IN_25"
id: in_25
pin:
mcp23xxx: mcp_inputs_17to32
number: 8
pcf8574: pcf_inputs_15to28
number: 11
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
pcf8574: pcf_inputs_15to28
number: 12
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
pcf8574: pcf_inputs_15to28
number: 13
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
pcf8574: pcf_inputs_15to28
number: 14
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
pcf8574: pcf_inputs_28to35_menu
number: 0
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
pcf8574: pcf_inputs_28to35_menu
number: 1
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
pcf8574: pcf_inputs_28to35_menu
number: 2
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
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
pullup: false
inverted: true
on_press:
then:
- switch.toggle: relay_32
- platform: gpio
name: "${node_name} IN_33"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_34"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_35"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true

View File

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

View File

@@ -2,8 +2,10 @@
mcp23017:
- id: 'mcp_outputs_1to16'
address: 0x21
i2c_id: bus_b
- id: 'mcp_outputs_17to32'
address: 0x20
i2c_id: bus_b
switch:
- platform: gpio

View File

@@ -1,4 +1,5 @@
# 8 covers (16 outputs for covers)
# 16 outputs as switch
pcf8574:
- id: 'pcf_1'
address: 0x21
@@ -7,23 +8,23 @@ pcf8574:
- id: 'pcf_2'
address: 0x20
pcf8575: true
i2c_id: bus_b
i2c_id: bus_b
switch:
- platform: gpio
id: relay_1
name: "Relay_01"
id: cover_open_01
pin:
pcf8574: pcf_1
# Use pin number 0
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01, cover_close_01]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_2
name: "Relay_02"
id: cover_close_01
pin:
pcf8574: pcf_1
# Use pin number 1
@@ -31,164 +32,167 @@ switch:
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off
- platform: gpio
id: relay_3
name: "Relay_03"
id: cover_open_02
pin:
pcf8574: pcf_1
# Use pin number 2
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02, cover_close_02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_4
name: "Relay_04"
id: cover_close_02
pin:
pcf8574: pcf_1
# Use pin number 3
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off
- platform: gpio
id: relay_5
name: "Relay_05"
id: cover_open_03
pin:
pcf8574: pcf_1
# Use pin number 4
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03, cover_close_03]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_6
name: "Relay_06"
id: cover_close_03
pin:
pcf8574: pcf_1
# Use pin number 5
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
- platform: gpio
id: relay_7
name: "Relay_07"
id: cover_open_04
pin:
pcf8574: pcf_1
# Use pin number 6
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04, cover_close_04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_8
name: "Relay_08"
id: cover_close_04
pin:
pcf8574: pcf_1
# Use pin number 7
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
- platform: gpio
id: relay_9
name: "Relay_09"
id: cover_open_05
pin:
pcf8574: pcf_2
# Use pin number 0
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05, cover_close_05]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_10
name: "Relay_10"
id: cover_close_05
pin:
pcf8574: pcf_2
# Use pin number 1
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
- platform: gpio
id: relay_11
name: "Relay_11"
id: cover_open_06
pin:
pcf8574: pcf_2
# Use pin number 2
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06, cover_close_06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_12
name: "Relay_12"
id: cover_close_06
pin:
pcf8574: pcf_2
# Use pin number 3
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
- platform: gpio
id: relay_13
name: "Relay_13"
id: cover_open_07
pin:
pcf8574: pcf_2
# Use pin number 4
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07, cover_close_07]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_14
name: "Relay_14"
id: cover_close_07
pin:
pcf8574: pcf_2
# Use pin number 5
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
- platform: gpio
id: relay_15
name: "Relay_15"
id: cover_open_08
pin:
pcf8574: pcf_2
# Use pin number 6
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08, cover_close_08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: relay_16
name: "Relay_16"
id: cover_close_08
pin:
pcf8574: pcf_2
# Use pin number 7
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
- platform: gpio
id: relay_17
name: "Relay_17"
name: 'Relay_17'
pin:
pcf8574: pcf_1
# Use pin number 15
@@ -199,7 +203,7 @@ switch:
- platform: gpio
id: relay_18
name: "Relay_18"
name: 'Relay_18'
pin:
pcf8574: pcf_1
# Use pin number 14
@@ -207,10 +211,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_19
name: "Relay_19"
name: 'Relay_19'
pin:
pcf8574: pcf_1
# Use pin number 13
@@ -218,10 +222,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_20
name: "Relay_20"
name: 'Relay_20'
pin:
pcf8574: pcf_1
# Use pin number 12
@@ -229,10 +233,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_21
name: "Relay_21"
name: 'Relay_21'
pin:
pcf8574: pcf_1
# Use pin number 11
@@ -240,10 +244,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_22
name: "Relay_22"
name: 'Relay_22'
pin:
pcf8574: pcf_1
# Use pin number 10
@@ -251,10 +255,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_23
name: "Relay_23"
name: 'Relay_23'
pin:
pcf8574: pcf_1
# Use pin number 9
@@ -262,10 +266,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_24
name: "Relay_24"
name: 'Relay_24'
pin:
pcf8574: pcf_1
# Use pin number 8
@@ -273,10 +277,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_25
name: "Relay_25"
name: 'Relay_25'
pin:
pcf8574: pcf_2
# Use pin number 15
@@ -284,10 +288,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_26
name: "Relay_26"
name: 'Relay_26'
pin:
pcf8574: pcf_2
# Use pin number 14
@@ -295,10 +299,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_27
name: "Relay_27"
name: 'Relay_27'
pin:
pcf8574: pcf_2
# Use pin number 13
@@ -306,10 +310,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_28
name: "Relay_28"
name: 'Relay_28'
pin:
pcf8574: pcf_2
# Use pin number 12
@@ -317,10 +321,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_29
name: "Relay_29"
name: 'Relay_29'
pin:
pcf8574: pcf_2
# Use pin number 11
@@ -328,10 +332,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_30
name: "Relay_30"
name: 'Relay_30'
pin:
pcf8574: pcf_2
# Use pin number 10
@@ -339,10 +343,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_31
name: "Relay_31"
name: 'Relay_31'
pin:
pcf8574: pcf_2
# Use pin number 9
@@ -350,10 +354,10 @@ switch:
mode:
output: true
inverted: true
- platform: gpio
id: relay_32
name: "Relay_32"
name: 'Relay_32'
pin:
pcf8574: pcf_2
# Use pin number 8
@@ -361,5 +365,3 @@ switch:
mode:
output: true
inverted: true

View File

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

View File

@@ -0,0 +1,287 @@
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- platform: gpio
id: out_17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true

View File

@@ -1,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:

836
boneio-covers_v0_7.yaml Normal file
View File

@@ -0,0 +1,836 @@
substitutions:
name: boneio-esp32x10-covers
friendly_name: 'BoneIO ESP 32x10 Cover'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
platform: ESP32
board: nodemcu-32s
name_add_mac_suffix: true
project:
name: boneio.32x10-covers
version: '1.0'
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-covers_v0_7.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files: [
'devices_v0_7/buzzer.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml',
'devices_v0_7/lm75b.yaml',
'devices_v0_7/pcf.yaml',
'boards_v0_7/16_cover_pcf.yaml',
# 'devices_v0_7/one_wire.yaml',
# 'devices_v0_7/uart.yaml',
]
logger:
api:
ota:
password: boneio
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

155
boneio-lights.yaml Normal file
View File

@@ -0,0 +1,155 @@
substitutions:
name_add_mac_suffix: 'true'
node_name: boneio
esphome:
name: ${node_name}
platform: ESP32
board: nodemcu-32s
# set to false if you already added this device to ESPHOME add-on
name_add_mac_suffix: ${name_add_mac_suffix}
project:
name: boneio.32x10-lights
version: '1.0'
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-lights.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files:
[
'devices/buzzer.yaml',
# 'devices/display.yaml',
'devices/i2c.yaml',
'devices/ina219.yaml',
'devices/lm75b.yaml',
'devices/one_wire.yaml',
'devices/pcf_inputs.yaml',
'devices/uart.yaml',
'boards/32x10_outputs.yaml',
]
logger:
baud_rate: 0 #IMPORTANT FOR V0.5 TO GET MODBUS WORKING
api:
ota:
password: boneio
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
light:
- platform: binary
name: 'OUT 1'
output: out_1
- platform: binary
name: 'OUT 2'
output: out_2
- platform: binary
name: 'OUT 3'
output: out_3
- platform: binary
name: 'OUT 4'
output: out_4
- platform: binary
name: 'OUT 5'
output: out_5
- platform: binary
name: 'OUT 6'
output: out_6
- platform: binary
name: 'OUT 7'
output: out_7
- platform: binary
name: 'OUT 8'
output: out_8
- platform: binary
name: 'OUT 9'
output: out_9
- platform: binary
name: 'OUT 10'
output: out_10
- platform: binary
name: 'OUT 11'
output: out_11
- platform: binary
name: 'OUT 12'
output: out_12
- platform: binary
name: 'OUT 13'
output: out_13
- platform: binary
name: 'OUT 14'
output: out_14
- platform: binary
name: 'OUT 15'
output: out_15
- platform: binary
name: 'OUT 16'
output: out_16
- platform: binary
name: 'OUT 17'
output: out_17
- platform: binary
name: 'OUT 18'
output: out_18
- platform: binary
name: 'OUT 19'
output: out_19
- platform: binary
name: 'OUT 20'
output: out_20
- platform: binary
name: 'OUT 21'
output: out_21
- platform: binary
name: 'OUT 22'
output: out_22
- platform: binary
name: 'OUT 23'
output: out_23
- platform: binary
name: 'OUT 24'
output: out_24
- platform: binary
name: 'OUT 25'
output: out_25
- platform: binary
name: 'OUT 26'
output: out_26
- platform: binary
name: 'OUT 27'
output: out_27
- platform: binary
name: 'OUT 28'
output: out_28
- platform: binary
name: 'OUT 29'
output: out_29
- platform: binary
name: 'OUT 30'
output: out_30
- platform: binary
name: 'OUT 31'
output: out_31
- platform: binary
name: 'OUT 32'
output: out_32

629
boneio-lights_v0_7.yaml Normal file
View File

@@ -0,0 +1,629 @@
substitutions:
name: boneio-esp32x10-lights
friendly_name: 'BoneIO ESP 32x10 Lights'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
platform: ESP32
board: nodemcu-32s
name_add_mac_suffix: true
project:
name: boneio.32x10-lights
version: '1.0'
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-lights_v0_7.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files: [
'devices_v0_7/buzzer.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml',
'devices_v0_7/lm75b.yaml',
'devices_v0_7/pcf.yaml',
'boards_v0_7/32x10_output.yaml',
# 'devices_v0_7/one_wire.yaml',
# 'devices_v0_7/uart.yaml',
]
logger:
api:
ota:
password: boneio
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

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

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

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

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

View File

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

View File

@@ -23,14 +23,14 @@ sensor:
text_sensor:
- platform: template
name: ${node_name} Uptime
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
# 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
@@ -63,7 +63,7 @@ binary_sensor:
# 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
# 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
@@ -71,69 +71,55 @@ binary_sensor:
else:
- if:
condition:
# on the screensaver, show the logo for a while and display the first page
# 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
# 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
# it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"IP addr:");
# it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_addresses().str().c_str());
display:
- platform: ssd1306_i2c
id: oled_display
model: "SH1106 128x64"
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);
it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO");
it.strftime(64, 25, id(roboto_9), TextAlign::BASELINE_CENTER ,"%c", id(homeassistant_time).now());
it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(roboto_9), 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);
it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(4, 25, id(roboto_9), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(roboto_9), 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
- file: 'gfonts://Roboto'
id: roboto_9
size: 9

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,13 @@
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

View File

@@ -1,5 +1,5 @@
uart:
id: uart
id: uart_pin3_1
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600

9
devices_v0_7/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

130
devices_v0_7/display.yaml Normal file
View File

@@ -0,0 +1,130 @@
#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
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, "boneIO");
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_7/i2c.yaml Normal file
View File

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

20
devices_v0_7/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_7/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

View File

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

21
devices_v0_7/pcf.yaml Normal file
View File

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

6
devices_v0_7/uart.yaml Normal file
View File

@@ -0,0 +1,6 @@
uart:
id: uart_pin3_1
rx_pin: GPIO14
tx_pin: GPIO15
baud_rate: 9600
stop_bits: 1

Binary file not shown.

Binary file not shown.