Compare commits

..
9 Commits
Author SHA1 Message Date
randy 6a3002d9b7 Add status_led package: network, API, error and OTA status on a visible RGB light
CI / ESPHome config validation (push) Failing after 7s
CI / YAML lint (push) Failing after 37s
Red blink without network, orange without an API client, purple on a
component error, blue blink during OTA, green when things are back to
normal, then the light returns to its previous state.

echo uses it on the gateway LED ring; drop its status_led on GPIO23,
which never worked because the ledc output owns that pin.
2026-09-29 23:33:50 +02:00
randy 6845679bc0 echo: only the gateway LED ring is visible, the ATOM LED is inside 2026-09-29 23:24:39 +02:00
randy a3950d9f17 echo: it's a Xiaomi Mijia Gateway with an ATOM Echo brain transplant 2026-09-29 23:23:44 +02:00
randy 0d6aa6e3d7 nspanel-patio: jump straight to the Von card
Temporarily make it the default page and render it once, instead of
rendering home, next and next.
2026-09-29 23:23:14 +02:00
randy 271a5a5a54 nspanel: popups for OTA progress and device info, Info card on every panel
common/nspanel_popup.yaml shows a popupNotify page during OTA (written straight
to the display uart, since OTA blocks the loop that sends the component's
queued commands) and a device info popup (version, build time, IPs) from the
Info button on the new last card or the show_info API action. The OTA gets
id ota_esphome to extend it. Also documents the NSPanel pinout.
2026-09-29 23:23:14 +02:00
randy c5ab280725 air-office-r: document hardware, disable the LEDs until the stick is fixed
The TZT 8-bit WS2812 stick lights up random colours after the first LED.
2026-09-29 23:22:17 +02:00
randy 1a2aec5d01 Document hardware, pinout and I2C devices in a header comment of every device
Merge the old pinout comment blocks into the header and mark what each pin is used for.
2026-09-29 23:22:17 +02:00
randy 882428e491 Move echo's to ipv6 only network 2026-09-29 21:53:38 +02:00
randy 20f6db5a70 ipv6_only: take audio from esphome#19750 2026-09-29 19:42:15 +02:00
66 changed files with 1167 additions and 402 deletions

No files matched your search

+2 -6
View File
@@ -4,13 +4,9 @@
# common: !include common/common.yaml # common: !include common/common.yaml
# ipv6_only: !include common/ipv6_only.yaml # ipv6_only: !include common/ipv6_only.yaml
external_components: external_components:
# network enable_ipv4 (esphome/esphome#19750), drop once merged # network enable_ipv4 + audio HTTP reader over IPv6 (esphome/esphome#19750), drop once merged
- source: github://pr#19750 - source: github://pr#19750
components: [const, network, wifi] components: [const, network, wifi, audio]
# audio HTTP reader over IPv6 (dual-stack hosts resolve A first), drop once in #19750
- source: github://randybb/esphome-components
components: [audio]
refresh: 1h
wifi: wifi:
networks: networks:
+3
View File
@@ -31,6 +31,9 @@ esp32:
minimum_chip_revision: 3.0 minimum_chip_revision: 3.0
sram1_as_iram: true sram1_as_iram: true
packages:
popup: !include nspanel_popup.yaml
external_components: external_components:
- source: - source:
type: git type: git
+98
View File
@@ -0,0 +1,98 @@
---
# NSPanel popups (popupNotify page), without changes to nspanel_lovelace:
# - OTA progress
# - device info (version, IPs) via the show_info API action
# Needs nspanel_lovelace (id nspanel_id), its uart (id display_uart) and the
# ota id ota_esphome (common/ota_esp32.yaml).
# The component doesn't track these popups; the panel either reboots (OTA)
# or goes back to the default page afterwards.
api:
actions:
- action: show_info
then:
- script.execute: info_popup
script:
- id: info_popup
mode: restart
then:
- lambda: |-
char build[Application::BUILD_TIME_STR_SIZE];
App.get_build_time_string(build);
std::string msg = "ESPHome " ESPHOME_VERSION "\r\n";
msg += build;
// global/ULA first, link-local last
std::vector<std::string> ips;
for (int pass = 0; pass < 2; pass++) {
for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) {
if (!ip.is_set()) continue;
char buf[network::IP_ADDRESS_BUFFER_SIZE];
ip.str_to(buf);
bool ll = strncmp(buf, "fe80", 4) == 0;
if (ll == (pass == 1)) ips.emplace_back(buf);
}
}
for (auto &ip : ips) msg += "\r\n" + ip;
id(nspanel_id).send_display_command("pageType~popupNotify");
id(nspanel_id).send_display_command(
"entityUpdateDetail~info~" + App.get_friendly_name() + "~65535~~65535~~65535~" + msg + "~65535~15");
- delay: 15s
- lambda: 'id(nspanel_id).render_default_page();'
# OTA blocks the main loop, and nspanel_lovelace only sends its queued
# commands from loop(), so these frames go straight to the uart in the
# component's format: 55 BB, length (LE), command, CRC16 (LE).
- id: ota_popup
parameters:
message: string
then:
- lambda: |-
auto send = [](const std::string &cmd) {
uint8_t hdr[4] = {0x55, 0xBB, uint8_t(cmd.size() & 0xFF), uint8_t(cmd.size() >> 8)};
uint16_t crc = crc16(hdr, 4);
crc = crc16(reinterpret_cast<const uint8_t *>(cmd.data()), cmd.size(), crc);
uint8_t tail[2] = {uint8_t(crc & 0xFF), uint8_t(crc >> 8)};
id(display_uart).write_array(hdr, 4);
id(display_uart).write_array(reinterpret_cast<const uint8_t *>(cmd.data()), cmd.size());
id(display_uart).write_array(tail, 2);
id(display_uart).flush();
};
send("dimmode~100~100");
send("pageType~popupNotify");
send("entityUpdateDetail~ota~Aktualizácia firmvéru~65535~~65535~~65535~" + message + "~65535~0");
ota:
- id: !extend ota_esphome
on_begin:
- script.execute:
id: ota_popup
message: Nahrávam…
on_progress:
- lambda: |-
static int last = -1;
int pct = (int) x / 10 * 10;
if (pct != last) {
last = pct;
id(ota_popup)->execute("Nahrávam… " + std::to_string(pct) + " %");
}
on_end:
- script.execute:
id: ota_popup
message: Hotovo, reštartujem
on_error:
- script.execute:
id: ota_popup
message: Aktualizácia zlyhala
- delay: 5s
- lambda: |-
id(nspanel_id).set_display_dim(5, 80);
id(nspanel_id).render_default_page();
button:
# put button.<device>_info on a card: the panel presses it through HA
- platform: template
name: Info
id: info_button
entity_category: diagnostic
on_press:
- script.execute: info_popup
+1
View File
@@ -1,5 +1,6 @@
--- ---
ota: ota:
- platform: esphome - platform: esphome
id: ota_esphome
password: !secret ota_password password: !secret ota_password
allow_partition_access: true allow_partition_access: true
+126
View File
@@ -0,0 +1,126 @@
---
# Status on a visible RGB light, which stays a normal light otherwise:
# network down red, slow blink
# no API client (HA) orange, slow blink
# component error purple, steady
# OTA blue, fast blink; green when done, 3 red blinks on error
# back to normal green for 1 s, then the light goes back to how it was
# packages:
# status_led: !include
# file: common/status_led.yaml
# vars:
# light_id: led_light
# Needs the ota id ota_esphome (common/ota_esp32.yaml).
defaults:
brightness: "0.3"
globals:
- id: status_led_active
type: bool
initial_value: "false"
- id: status_led_saved
type: light::LightColorValues
- id: status_led_last
type: uint32_t
initial_value: "0xFFFFFFFF"
script:
- id: status_led_show
parameters:
r: float
g: float
b: float
lit: bool
then:
- lambda: |-
auto *l = id(${light_id});
uint32_t key = (lit << 24) | (uint32_t(r * 255) << 16) | (uint32_t(g * 255) << 8) | uint32_t(b * 255);
if (!id(status_led_active)) {
id(status_led_saved) = l->remote_values;
id(status_led_active) = true;
} else if (key == id(status_led_last)) {
return; // unchanged: don't flood Home Assistant with the same state
}
id(status_led_last) = key;
if (lit) {
l->turn_on().set_rgb(r, g, b).set_brightness(${brightness}).set_transition_length(0).set_effect("None").perform();
} else {
l->turn_off().set_transition_length(0).perform();
}
l->loop(); // write now: OTA blocks the main loop
- id: status_led_restore
parameters:
confirm: bool
then:
- lambda: |-
if (id(status_led_active) && confirm) id(status_led_show)->execute(0.0f, 1.0f, 0.0f, true);
- if:
condition:
lambda: 'return id(status_led_active) && confirm;'
then:
- delay: 1s # green: back to normal
- lambda: |-
if (!id(status_led_active)) return;
id(status_led_active) = false;
id(status_led_last) = 0xFFFFFFFF;
id(${light_id})->make_call().from_light_color_values(id(status_led_saved)).set_transition_length(0).perform();
interval:
- interval: 500ms
then:
- lambda: |-
static uint8_t tick = 0;
tick++;
bool slow = (tick / 2) % 2 == 0; // 1 s on, 1 s off
bool problem = !network::is_connected() || !api::global_api_server->is_connected() ||
(App.get_app_state() & STATUS_LED_ERROR);
if (problem) id(status_led_restore)->stop();
if (!network::is_connected()) {
id(status_led_show)->execute(1.0f, 0.0f, 0.0f, slow);
} else if (!api::global_api_server->is_connected()) {
id(status_led_show)->execute(1.0f, 0.4f, 0.0f, slow);
} else if (App.get_app_state() & STATUS_LED_ERROR) {
id(status_led_show)->execute(0.6f, 0.0f, 1.0f, true);
} else if (id(status_led_active) && !id(status_led_restore)->is_running()) {
id(status_led_restore)->execute(true);
}
ota:
- id: !extend ota_esphome
on_begin:
- script.execute:
id: status_led_show
r: 0.0
g: 0.0
b: 1.0
lit: true
on_progress:
- lambda: 'id(status_led_show)->execute(0.0f, 0.0f, 1.0f, (millis() / 250) % 2 == 0);'
on_end:
- script.execute:
id: status_led_show
r: 0.0
g: 1.0
b: 0.0
lit: true
on_error:
- repeat:
count: 3
then:
- script.execute:
id: status_led_show
r: 1.0
g: 0.0
b: 0.0
lit: true
- delay: 250ms
- script.execute:
id: status_led_show
r: 1.0
g: 0.0
b: 0.0
lit: false
- delay: 250ms
- script.execute:
id: status_led_restore
confirm: false
+61 -59
View File
@@ -1,4 +1,12 @@
--- ---
# Hardware: IKEA VINDRIKTNING (modded) + M5Stack M5Stamp Pico
# Pinout:
# GPIO21 PM1006 UART -> particle_uart (uart tx_pin)
# GPIO22 PM1006 UART -> particle_uart (uart rx_pin)
# GPIO25 TZT 8-bit WS2812 5050 stick (8 LEDs, 7 visible outside; LEDs 1-7 broken), disabled
# GPIO27 Onboard RGB LED (1x WS2812, inside), unused
# GPIO32 Grove SDA -> i2c (i2c sda)
# GPIO33 Grove SCL -> i2c (i2c scl)
substitutions: substitutions:
device: air-office-r device: air-office-r
name: Office R Air name: Office R Air
@@ -45,65 +53,59 @@ uart:
# number: 39 # number: 39
# inverted: true # inverted: true
light: # LEDs disabled until the stick is fixed (LEDs after the first one light up randomly)
- platform: esp32_rmt_led_strip # light:
# name: LED # # only the first LED of the stick: the rest get garbage (broken DOUT after LED 0)
id: neo # - platform: esp32_rmt_led_strip
channel_colors: GRB # name: NEO
pin: 27 # id: neo
num_leds: 1 # channel_colors: GRB
chipset: ws2812 # pin: 25
restore_mode: ALWAYS_OFF # num_leds: 1
- platform: esp32_rmt_led_strip # chipset: ws2812
name: NEO # restore_mode: ALWAYS_OFF
id: neo_strip # effects:
channel_colors: GRB # - random:
pin: 25 # - random:
num_leds: 7 # name: "My Slow Random Effect"
chipset: ws2812 # transition_length: 30s
restore_mode: ALWAYS_OFF # update_interval: 30s
effects: # - random:
- random: # name: "My Fast Random Effect"
- random: # transition_length: 4s
name: "My Slow Random Effect" # update_interval: 5s
transition_length: 30s # - strobe:
update_interval: 30s # - strobe:
- random: # name: Strobe Effect With Custom Values
name: "My Fast Random Effect" # colors:
transition_length: 4s # - state: True
update_interval: 5s # brightness: 100%
- strobe: # red: 100%
- strobe: # green: 90%
name: Strobe Effect With Custom Values # blue: 0%
colors: # duration: 500ms
- state: True # - state: False
brightness: 100% # duration: 250ms
red: 100% # - state: True
green: 90% # brightness: 100%
blue: 0% # red: 0%
duration: 500ms # green: 100%
- state: False # blue: 0%
duration: 250ms # duration: 500ms
- state: True # - flicker:
brightness: 100% # - flicker:
red: 0% # name: Flicker Effect With Custom Values
green: 100% # alpha: 95%
blue: 0% # intensity: 1.5%
duration: 500ms # - addressable_rainbow:
- flicker: # - addressable_rainbow:
- flicker: # name: Rainbow Effect With Custom Values
name: Flicker Effect With Custom Values # speed: 10
alpha: 95% # width: 50
intensity: 1.5% # - addressable_scan:
- addressable_rainbow: # - addressable_scan:
- addressable_rainbow: # name: Scan Effect With Custom Values
name: Rainbow Effect With Custom Values # move_interval: 100ms
speed: 10
width: 50
- addressable_scan:
- addressable_scan:
name: Scan Effect With Custom Values
move_interval: 100ms
sensor: sensor:
# https://blissair.com/what-is-pm-2-5.htm # https://blissair.com/what-is-pm-2-5.htm
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: Apollo Automation ESK-1 ESPHome Starter Kit
# Pinout:
# GPIO0 -> i2c_1 (i2c scl)
# GPIO1 -> i2c_1 (i2c sda)
# GPIO4 -> Accessory Power (switch gpio)
# GPIO5 -> Onboard RGB LED (light esp32_rmt_led_strip)
# GPIO14 -> RGB LEDs (light esp32_rmt_led_strip)
# GPIO18 -> buzzer_output (output ledc)
# I2C:
# 0x38 aht20 (sensor aht10)
substitutions: substitutions:
device: apollo-dev #test device: apollo-dev #test
name: Apollo DEV #test name: Apollo DEV #test
+19
View File
@@ -1,4 +1,23 @@
--- ---
# Hardware: M5Stack AtomS3
# Pinout:
# GPIO1 Grove SCL -> motor_in1 (output gpio)
# GPIO2 Grove SDA -> motor_in2 (output gpio)
# GPIO5 -> canbus/esp32_can (canbus esp32_can tx_pin)
# GPIO6 -> canbus/esp32_can (canbus esp32_can rx_pin)
# GPIO15 -> display_tft (display mipi_spi cs_pin)
# GPIO16 -> gpio_tft_backlight (output ledc)
# GPIO17 -> spi (spi clk_pin)
# GPIO21 -> spi (spi mosi_pin)
# GPIO33 -> display_tft (display mipi_spi dc_pin)
# GPIO34 -> display_tft (display mipi_spi reset_pin)
# GPIO38 -> i2c_main (i2c sda)
# GPIO39 -> i2c_main (i2c scl)
# GPIO41 -> Button (binary_sensor gpio) (inverted)
# I2C:
# 0x21 pcf8574_hub (pcf8574)
# 0x26 m5stack_relay_1 (m5stack_4relay)
# 0x3C lcd (display ssd1306_i2c)
substitutions: substitutions:
device: atoms3 device: atoms3
name: AtomS3 name: AtomS3
+8 -8
View File
@@ -1,4 +1,12 @@
--- ---
# Hardware: Sonoff Dual R2
# Pinout:
# GPIO0 Pin "button 0" on expansion header
# GPIO5 Relay #2 and green color on LED -> relay_2 (output gpio)
# GPIO9 Pin "button 1" on expansion header
# GPIO10 Push Button
# GPIO12 Relay #1 and red color on LED -> relay_1 (output gpio)
# GPIO13 Blue Status LED -> status_led (status_led) (inverted)
substitutions: substitutions:
device: basement-2 device: basement-2
name_short: Basement name_short: Basement
@@ -18,14 +26,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# Sonoff Dual R2
# GPIO10 Push Button
# GPIO00 Pin "button 0" on expansion header
# GPIO09 Pin "button 1" on expansion header
# GPIO12 Relay #1 and red color on LED
# GPIO05 Relay #2 and green color on LED
# GPIO13 Blue Status LED
status_led: status_led:
pin: pin:
number: 13 number: 13
+8 -9
View File
@@ -1,4 +1,12 @@
--- ---
# Hardware: Sonoff Dual R2
# Pinout:
# GPIO0 Pin "button 0" on expansion header -> Light Switch (binary_sensor gpio) (inverted)
# GPIO5 Relay #2 and green color on LED -> Socket 1 (switch gpio)
# GPIO9 Pin "button 1" on expansion header -> Door (binary_sensor gpio) (inverted)
# GPIO10 Push Button -> Socket 1 Switch (binary_sensor gpio) (inverted)
# GPIO12 Relay #1 and red color on LED -> Sewage Treatment Aerator Pump [relay_1] (switch gpio)
# GPIO13 Blue Status LED -> status_led (status_led) (inverted)
substitutions: substitutions:
device: basement device: basement
name: Basement name: Basement
@@ -17,15 +25,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# Sonoff Dual R2
# Pin Function
# GPIO10 Push Button
# GPIO00 Pin "button 0" on expansion header
# GPIO09 Pin "button 1" on expansion header
# GPIO12 Relay #1 and red color on LED
# GPIO05 Relay #2 and green color on LED
# GPIO13 Blue Status LED
globals: globals:
- id: aerator_auto - id: aerator_auto
type: bool type: bool
+19 -8
View File
@@ -1,4 +1,23 @@
--- ---
# Hardware: Xiaomi Mi Bedside Lamp 2 (ESP-WROOM-32D, single core; RGBW LEDs)
# Pinout (github.com/mmakaay/esphome-xiaomi_bslamp2, doc/technical_details.md):
# GPIO1 Debug pad TX
# GPIO2 Debug pad, free I/O
# GPIO3 Debug pad RX
# GPIO4 LEDs master switch 2
# GPIO5 LEDs blue PWM
# GPIO12 LEDs white PWM
# GPIO13 LEDs red PWM
# GPIO14 LEDs green PWM
# GPIO16 Front panel interrupt
# GPIO17 EEPROM I2C SDA
# GPIO18 EEPROM I2C SCL
# GPIO19 Front panel I2C SCL -> front_panel_i2c (i2c scl)
# GPIO21 Front panel I2C SDA -> front_panel_i2c (i2c sda)
# GPIO33 LEDs master switch 1
# I2C:
# 0x10 EEPROM-like IC on its own bus (GPIO17/18), not configured
# 0x2C Front panel
substitutions: substitutions:
device: bedroom-lamp-left device: bedroom-lamp-left
name: Bedroom Lamp Left name: Bedroom Lamp Left
@@ -33,14 +52,6 @@ external_components:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
# Mi Desk Lamp
# Pin Function (Name)
# GPIO02: Button (GPIO_KEY1)
# GPIO04: Cold White (GPIO_PWM1)
# GPIO05: Warm White (GPIO_PWM2)
# GPIO12: Rotary switch A pin (GPIO_ROT_A)
# GPIO13: Rotary switch B pin (GPIO_ROT_B)
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
# Behavior: default # Behavior: default
# #
+19 -8
View File
@@ -1,4 +1,23 @@
--- ---
# Hardware: Xiaomi Mi Bedside Lamp 2 (ESP-WROOM-32D, single core; RGBW LEDs)
# Pinout (github.com/mmakaay/esphome-xiaomi_bslamp2, doc/technical_details.md):
# GPIO1 Debug pad TX
# GPIO2 Debug pad, free I/O
# GPIO3 Debug pad RX
# GPIO4 LEDs master switch 2
# GPIO5 LEDs blue PWM
# GPIO12 LEDs white PWM
# GPIO13 LEDs red PWM
# GPIO14 LEDs green PWM
# GPIO16 Front panel interrupt
# GPIO17 EEPROM I2C SDA
# GPIO18 EEPROM I2C SCL
# GPIO19 Front panel I2C SCL -> front_panel_i2c (i2c scl)
# GPIO21 Front panel I2C SDA -> front_panel_i2c (i2c sda)
# GPIO33 LEDs master switch 1
# I2C:
# 0x10 EEPROM-like IC on its own bus (GPIO17/18), not configured
# 0x2C Front panel
substitutions: substitutions:
device: bedroom-lamp-right device: bedroom-lamp-right
name: Bedroom Lamp Right name: Bedroom Lamp Right
@@ -33,14 +52,6 @@ external_components:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
# Mi Desk Lamp
# Pin Function (Name)
# GPIO02: Button (GPIO_KEY1)
# GPIO04: Cold White (GPIO_PWM1)
# GPIO05: Warm White (GPIO_PWM2)
# GPIO12: Rotary switch A pin (GPIO_ROT_A)
# GPIO13: Rotary switch B pin (GPIO_ROT_B)
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
# Behavior: default # Behavior: default
# #
+3
View File
@@ -1,4 +1,7 @@
--- ---
# Hardware: Espressif ESP32-C6-DevKitC-1
# Pinout:
# GPIO8 -> LED (light esp32_rmt_led_strip)
substitutions: substitutions:
device: c6-test-1 device: c6-test-1
name: C6 TEST 1 name: C6 TEST 1
+3
View File
@@ -1,4 +1,7 @@
--- ---
# Hardware: Espressif ESP32-C6-DevKitC-1
# Pinout:
# GPIO8 -> LED (light esp32_rmt_led_strip)
substitutions: substitutions:
device: c6-test-2 device: c6-test-2
name: C6 TEST 2 name: C6 TEST 2
+17
View File
@@ -1,4 +1,21 @@
--- ---
# Hardware: ESP32-CAM (AI-Thinker style, runs hot)
# Pinout:
# GPIO0 -> Camera (esp32_camera)
# GPIO5 -> Camera (esp32_camera data_pins)
# GPIO18 -> Camera (esp32_camera data_pins)
# GPIO19 -> Camera (esp32_camera data_pins)
# GPIO21 -> Camera (esp32_camera data_pins)
# GPIO22 -> Camera (esp32_camera pixel_clock_pin)
# GPIO23 -> Camera (esp32_camera href_pin)
# GPIO25 -> Camera (esp32_camera vsync_pin)
# GPIO26 -> i2c_bus (i2c sda)
# GPIO27 -> i2c_bus (i2c scl)
# GPIO32 -> Enable (switch gpio)
# GPIO34 -> Camera (esp32_camera data_pins)
# GPIO35 -> Camera (esp32_camera data_pins)
# GPIO36 -> Camera (esp32_camera data_pins)
# GPIO39 -> Camera (esp32_camera data_pins)
substitutions: substitutions:
device: cam-1 device: cam-1
name: Cam 1 name: Cam 1
+6
View File
@@ -1,4 +1,10 @@
--- ---
# Hardware: ESP32 DevKit
# Pinout:
# GPIO0 -> Boot (binary_sensor gpio) (inverted)
# GPIO2 -> LED (switch gpio)
# GPIO22 -> can_bus (canbus esp32_can rx_pin)
# GPIO23 -> can_bus (canbus esp32_can tx_pin)
substitutions: substitutions:
device: can-node-1 device: can-node-1
name: CAN Node 1 name: CAN Node 1
+9
View File
@@ -1,4 +1,13 @@
--- ---
# Hardware: ESP32 DevKit
# Pinout:
# GPIO17 -> i2c (i2c sda)
# GPIO18 -> i2c (i2c scl)
# GPIO19 -> as3935_i2c (as3935_i2c irq_pin)
# GPIO22 -> can_bus (canbus esp32_can rx_pin)
# GPIO23 -> can_bus (canbus esp32_can tx_pin)
# I2C:
# 0x03 as3935_i2c (as3935_i2c)
substitutions: substitutions:
device: can-node-2 device: can-node-2
name: CAN Node 2 name: CAN Node 2
+9
View File
@@ -1,4 +1,13 @@
--- ---
# Hardware: M5Stack M5Stamp Pico
# Pinout:
# GPIO22 -> uart_distance (uart rx_pin)
# GPIO25 -> uart_distance (uart tx_pin)
# GPIO26 -> hdmi_cec (hdmi_cec)
# GPIO27 -> LED (light esp32_rmt_led_strip)
# GPIO32 Grove SDA -> i2c (i2c sda)
# GPIO33 Grove SCL -> i2c (i2c scl)
# GPIO39 -> Bedroom TV Button (binary_sensor gpio) (inverted)
substitutions: substitutions:
device: cec-bedroom device: cec-bedroom
name: Bedroom TV name: Bedroom TV
+14 -15
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: M5Stack M5Stamp C3
# Pinout:
# GPIO0 I2C SCL
# GPIO1 I2C SDA, BUTTON
# GPIO2 RGB
# GPIO4 DISPLAY CLOCK -> tm1637_display (display tm1637 clk_pin)
# GPIO5 DISPLAY DIO -> tm1637_display (display tm1637 dio_pin)
# GPIO6 GPIO
# GPIO7 GPIO
# GPIO8 GPIO
# GPIO9 GPIO (BUZZER?) -> rtttl_out (output ledc)
# GPIO10 GPIO
# GPIO20 UART RX
# GPIO21 UART TX
substitutions: substitutions:
device: clock-1 device: clock-1
name: Clock 1 name: Clock 1
@@ -25,21 +39,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# GPIO21 UART TX
# GPIO20 UART RX
# GPIO0 I2C SCL
# GPIO1 I2C SDA
# GPIO2 RGB
# GPIO1 BUTTON
# GPIO4 DISPLAY CLOCK
# GPIO5 DISPLAY DIO
# GPIO6 GPIO
# GPIO7 GPIO
# GPIO8 GPIO
# GPIO10 GPIO
#
# GPIO9 GPIO (BUZZER?)
# https://github.com/granadaxronos/120-SONG_NOKIA_RTTTL_RINGTONE_PLAYER_FOR_ARDUINO_UNO/blob/master/RTTTL_PLAYER/songs.h # https://github.com/granadaxronos/120-SONG_NOKIA_RTTTL_RINGTONE_PLAYER_FOR_ARDUINO_UNO/blob/master/RTTTL_PLAYER/songs.h
api: api:
actions: actions:
+9
View File
@@ -1,4 +1,13 @@
--- ---
# Hardware: M5Stack M5Stamp Pico
# Pinout:
# GPIO25 -> rtttl_out (output ledc)
# GPIO27 -> LED (light esp32_rmt_led_strip)
# GPIO32 Grove SDA -> i2c_main (i2c sda)
# GPIO33 Grove SCL -> i2c_main (i2c scl)
# GPIO39 -> Button (binary_sensor gpio) (inverted)
# I2C:
# 0x24 tm1650_display (display tm1650)
substitutions: substitutions:
device: clock-living-room device: clock-living-room
name: Living room Clock name: Living room Clock
+7 -8
View File
@@ -1,4 +1,11 @@
--- ---
# Hardware: Xiaomi Mi Desk Lamp, brain transplant: M5Stack M5Stamp Pico (originally ESP8266)
# Pinout:
# GPIO18 Warm White (GPIO_PWM2) -> warm_white (output ledc)
# GPIO19 Cold White (GPIO_PWM1) -> cold_white (output ledc)
# GPIO21 Rotary switch A pin (GPIO_ROT_A) -> rotary (sensor rotary_encoder pin_a)
# GPIO26 Rotary switch B pin (GPIO_ROT_B) -> rotary (sensor rotary_encoder pin_b)
# GPIO36 Button (GPIO_KEY1) -> rotary_button (binary_sensor gpio) (inverted)
substitutions: substitutions:
device: desk-lamp device: desk-lamp
name: Desk Lamp name: Desk Lamp
@@ -21,14 +28,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# Mi Desk Lamp
# Pin Function (Name)
# GPIO18: Warm White (GPIO_PWM2)
# GPIO19: Cold White (GPIO_PWM1)
# GPIO21: Rotary switch A pin (GPIO_ROT_A)
# GPIO26: Rotary switch B pin (GPIO_ROT_B)
# GPIO36: Button (GPIO_KEY1)
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
+7
View File
@@ -1,4 +1,11 @@
--- ---
# Hardware: M5Stack M5Stamp Pico
# Pinout:
# GPIO22 -> dimmer1 (output ac_dimmer gate_pin)
# GPIO25 -> dimmer1 (output ac_dimmer zero_cross_pin) (inverted)
# GPIO27 -> LED (light esp32_rmt_led_strip)
# GPIO32 Grove SDA
# GPIO33 Grove SCL
substitutions: substitutions:
device: dimmer device: dimmer
name: Dimmer name: Dimmer
+11
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack ATOM Echo
# Pinout:
# GPIO19 -> speaker_bus (i2s_audio i2s_bclk_pin)
# GPIO22 -> speaker_id (speaker i2s_audio i2s_dout_pin)
# GPIO23 -> echo_microphone (microphone i2s_audio i2s_din_pin)
# GPIO26 Grove SDA
# GPIO27 -> LED (light esp32_rmt_led_strip)
# GPIO32 Grove SCL
# GPIO33 -> speaker_bus (i2s_audio i2s_lrclk_pin)
# GPIO39 -> Button (binary_sensor gpio) (inverted)
substitutions: substitutions:
device: echo-1 device: echo-1
name: Echo 1 name: Echo 1
@@ -19,6 +29,7 @@ esp32:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml
external_components: external_components:
# speaker media player: skip a failed playlist item (esphome#19862), drop once merged # speaker media player: skip a failed playlist item (esphome#19862), drop once merged
+18 -8
View File
@@ -1,4 +1,16 @@
--- ---
# Hardware: Xiaomi Mijia Gateway, brain transplant: M5Stack ATOM Echo (kept the speaker, LEDs and PSU)
# Pinout:
# GPIO12 -> Button (binary_sensor gpio) (inverted)
# GPIO19 -> speaker_bus (i2s_audio i2s_bclk_pin)
# GPIO21 Gateway LED ring red -> led_red (output ledc)
# GPIO22 -> speaker_id (speaker i2s_audio i2s_dout_pin)
# GPIO23 Gateway LED ring blue -> led_blue (output ledc)
# GPIO25 Gateway LED ring green -> led_green (output ledc)
# GPIO26 Grove SDA -> i2c (i2c sda)
# GPIO27 ATOM onboard RGB LED (inside, not visible)
# GPIO32 Grove SCL -> i2c (i2c scl)
# GPIO33 -> speaker_bus (i2s_audio i2s_lrclk_pin)
substitutions: substitutions:
device: echo device: echo
name: Echo name: Echo
@@ -20,6 +32,11 @@ esp32:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml
status_led: !include
file: common/status_led.yaml
vars:
light_id: led_light
external_components: external_components:
# speaker media player: skip a failed playlist item (esphome#19862), drop once merged # speaker media player: skip a failed playlist item (esphome#19862), drop once merged
@@ -77,11 +94,6 @@ light:
red: led_red red: led_red
green: led_green green: led_green
blue: led_blue blue: led_blue
- platform: status_led
id: led_status
pin:
number: 23
allow_other_uses: true
output: output:
- platform: ledc - platform: ledc
@@ -92,9 +104,7 @@ output:
pin: 25 pin: 25
- platform: ledc - platform: ledc
id: led_blue id: led_blue
pin: pin: 23
number: 23
allow_other_uses: true
i2s_audio: i2s_audio:
- id: speaker_bus - id: speaker_bus
+18 -17
View File
@@ -1,4 +1,22 @@
--- ---
# Hardware: M5Stack M5Stamp C3
# Pinout:
# GPIO0 I2C SCL -> i2c_grove (i2c scl)
# GPIO1 I2C SDA, BUTTON -> i2c_grove (i2c sda)
# GPIO2 RGB
# GPIO4 GPIO
# GPIO5 GPIO
# GPIO6 GPIO
# GPIO7 GPIO
# GPIO8 GPIO
# GPIO9 GPIO
# GPIO10 GPIO
# GPIO18 UART RX -> uart_hdmi_switch (uart rx_pin)
# GPIO19 UART TX -> uart_hdmi_switch (uart tx_pin)
# GPIO20 UART RX, LOGGER -> uart_log (uart rx_pin)
# GPIO21 UART TX, LOGGER -> uart_log (uart tx_pin)
# I2C:
# 0x20 pcf8574_hub (pcf8574)
substitutions: substitutions:
device: eworkbench device: eworkbench
name: Electronics Workbench name: Electronics Workbench
@@ -22,23 +40,6 @@ esp32:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
# GPIO20 UART RX, LOGGER
# GPIO21 UART TX, LOGGER
# GPIO9 GPIO
#
# GPIO0 I2C SCL
# GPIO1 I2C SDA
# GPIO2 RGB
# GPIO1 BUTTON
# GPIO4 GPIO
# GPIO5 GPIO
# GPIO6 GPIO
# GPIO7 GPIO
# GPIO8 GPIO
# GPIO10 GPIO
# GPIO18 UART RX
# GPIO19 UART TX
i2c: i2c:
- id: i2c_grove - id: i2c_grove
sda: 1 sda: 1
+18 -15
View File
@@ -1,4 +1,22 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 Relay2
# GPIO21 I2C1 SCL -> i2c (i2c scl)
# GPIO22 Relay1
# GPIO23 RS485 Tx
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
# GPIO26 I2C0 SDA - white
# GPIO27 NEO 1x
# GPIO32 I2C0 SCL
# GPIO33 RS485 Rx
# GPIO39 BUTTON -> Status Button (binary_sensor gpio)
# I2C:
# 0x18 one_wire_bus (one_wire ds2482)
# 0x27 pca9554_module (pca9554)
substitutions: substitutions:
device: fireplace device: fireplace
name: Heating Fireplace name: Heating Fireplace
@@ -30,21 +48,6 @@ packages:
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: M5ATOM+Atom Hub Switch
# IR G12
# NEO G27 1x
# BUTTON G39
# I2C0 SDA G26 - white
# I2C0 SCL G32
# I2C1 SDA G25 - red
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# RS485 Rx G33
# RS485 Tx G23
# Relay1 G22
# Relay2 G19
i2c: i2c:
# - id: i2c0 # - id: i2c0
# sda: 26 # sda: 26
+15 -15
View File
@@ -1,4 +1,19 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 RELAY-2 -> relay_2 (output gpio)
# GPIO21 I2C1 SCL
# GPIO22 RELAY-1 -> relay_1 (output gpio)
# GPIO23 RS485 TX
# GPIO25 I2C1 SDA red
# GPIO26 I2C0 SDA white
# GPIO27 NEO
# GPIO32 I2C0 SCL -> gate_ogi_state (binary_sensor gpio) (inverted); gate_ogi_blink (binary_sensor gpio) (inverted)
# GPIO33 RS485 RX
# GPIO39 BUTTON
substitutions: substitutions:
device: gate device: gate
name: Gate name: Gate
@@ -21,21 +36,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: M5ATOM
# IR G12
# NEO G27
# BUTTON G39
# I2C0 SDA G26 white
# I2C0 SCL G32
# I2C1 SDA G25 red
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# RS485 RX G33
# RS485 TX G23
# RELAY-1 G22
# RELAY-2 G19
button: button:
- platform: output - platform: output
name: Open name: Open
+27 -16
View File
@@ -1,4 +1,31 @@
--- ---
# Hardware: Olimex ESP32-POE-ISO
# Pinout:
# # UEXT
# 3V3 1 2 GND
# GPIO4 3 4 GPIO36 U1TXD/U1RXD
# GPIO16 5 6 GPIO13 I2C-SCL/I2C-SDA
# GPIO15 7 8 GPIO2 HS2_CMD/HS2_DATA0
# GPIO14 9 10 GPIO5 HS2_CLK/SPI_CS
#
# SD/MMC; shared with UEXT, no CS!!!
# GPIO15 HS2_CMD
# GPIO14 HS2_CLK
# GPIO2 HS2_DATA0
#
# GPIO34 BUT1
# GPIO35 Battery Measurment ADC
# GPIO39 Ext Power Sense ADC
# Used:
# GPIO4 uart_modbus (uart tx_pin)
# GPIO12 ethernet (ethernet power_pin)
# GPIO13 i2c (i2c sda)
# GPIO16 i2c (i2c scl)
# GPIO17 ethernet (ethernet)
# GPIO18 ethernet (ethernet mdio_pin)
# GPIO23 ethernet (ethernet mdc_pin)
# GPIO34 user_button (binary_sensor gpio) (inverted)
# GPIO36 uart_modbus (uart rx_pin)
substitutions: substitutions:
device: gateway device: gateway
name: Gateway name: Gateway
@@ -33,22 +60,6 @@ packages:
# common: !include common/common.yaml # common: !include common/common.yaml
common_eth: !include common/common_eth.yaml common_eth: !include common/common_eth.yaml
## UEXT
# 3V3 1 2 GND
# GPIO4 3 4 GPIO36 U1TXD/U1RXD
# GPIO16 5 6 GPIO13 I2C-SCL/I2C-SDA
# GPIO15 7 8 GPIO2 HS2_CMD/HS2_DATA0
# GPIO14 9 10 GPIO5 HS2_CLK/SPI_CS
#
# SD/MMC; shared with UEXT, no CS!!!
# GPIO15 HS2_CMD
# GPIO14 HS2_CLK
# GPIO2 HS2_DATA0
# GPIO34 BUT1
# GPIO35 Battery Measurment ADC
# GPIO39 Ext Power Sense ADC
i2c: i2c:
sda: 13 sda: 13
scl: 16 scl: 16
+18 -15
View File
@@ -1,4 +1,22 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 NC -> Demand [heating_demand] (switch gpio)
# GPIO21 I2C1 SCL -> i2c (i2c scl)
# GPIO22 1-WIRE -> Demand [hot_water_demand] (switch gpio)
# GPIO23 UART1 RX -> uart_modbus (uart rx_pin)
# GPIO25 I2C1 SDA -> i2c (i2c sda)
# GPIO26 I2C0 SDA
# GPIO27 NEO
# GPIO32 I2C0 SCL
# GPIO33 UART1 TX -> uart_modbus (uart tx_pin)
# GPIO39 BUTTON
# I2C:
# 0x18 one_wire_bus (one_wire ds2482)
# 0x27 pca9554_module (pca9554)
substitutions: substitutions:
device: heater device: heater
name: Heater name: Heater
@@ -39,21 +57,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: M5ATOM
# IR G12
# NEO G27
# BUTTON G39
# I2C0 SDA G26
# I2C0 SCL G32
# I2C1 SDA G25
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# UART1 RX G23
# UART1 TX G33
# 1-WIRE G22
# NC G19
#logger: #logger:
# level: VERBOSE # level: VERBOSE
# logs: # logs:
+17 -15
View File
@@ -1,4 +1,21 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 Relay2
# GPIO21 I2C1 SCL -> i2c (i2c scl)
# GPIO22 Relay1 -> power_supply1 (power_supply)
# GPIO23 RS485 Tx
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
# GPIO26 I2C0 SDA - white
# GPIO27 NEO 1x
# GPIO32 I2C0 SCL
# GPIO33 RS485 Rx
# GPIO39 BUTTON -> Status Button (binary_sensor gpio)
# I2C:
# 0x40 pca9685_hub1 (pca9685)
substitutions: substitutions:
device: kitchen device: kitchen
name: Kitchen name: Kitchen
@@ -41,21 +58,6 @@ packages:
api: api:
reboot_timeout: 300s reboot_timeout: 300s
# PINOUTS: M5ATOM+Atom Hub Switch
# IR G12
# NEO G27 1x
# BUTTON G39
# I2C0 SDA G26 - white
# I2C0 SCL G32
# I2C1 SDA G25 - red
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# RS485 Rx G33
# RS485 Tx G23
# Relay1 G22
# Relay2 G19
i2c: i2c:
# - id: i2c0 # - id: i2c0
# sda: 26 # sda: 26
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack M5Stamp Pico
# Pinout:
# GPIO22 -> i2c (i2c scl)
# GPIO25 -> i2c (i2c sda)
# GPIO26 -> as3935_i2c (as3935_i2c irq_pin)
# GPIO27 -> neo (light esp32_rmt_led_strip)
# GPIO32 Grove SDA
# GPIO33 Grove SCL
# I2C:
# 0x03 as3935_i2c (as3935_i2c)
substitutions: substitutions:
device: lightening device: lightening
name: Lightening detector name: Lightening detector
+47 -18
View File
@@ -1,4 +1,51 @@
--- ---
# Hardware: Guition ESP32-S3-4848S040
# Pinout:
# # Display (RGB, pins in the mipi_rgb model)
# CS 39
# SCK 48 ST7701S init (3-wire SPI)
# SDA 47
# DE 18
# HSYNC 16
# VSYNC 17
# PCLK 21
# BL 38
# # Capacitive Touch (GT911)
# TP_SDA 19
# TP_SCL 45
# # Relays (86 box variant)
# RELAY1 40
# RELAY2 2
# RELAY3 1
# Used:
# GPIO0 main_display (display mipi_rgb data_pins.red)
# GPIO3 main_display (display mipi_rgb data_pins.green)
# GPIO4 main_display (display mipi_rgb data_pins.blue)
# GPIO5 main_display (display mipi_rgb data_pins.blue)
# GPIO6 main_display (display mipi_rgb data_pins.blue)
# GPIO7 main_display (display mipi_rgb data_pins.blue)
# GPIO8 main_display (display mipi_rgb data_pins.green)
# GPIO9 main_display (display mipi_rgb data_pins.green)
# GPIO10 main_display (display mipi_rgb data_pins.green)
# GPIO11 main_display (display mipi_rgb data_pins.red)
# GPIO12 main_display (display mipi_rgb data_pins.red)
# GPIO13 main_display (display mipi_rgb data_pins.red)
# GPIO14 main_display (display mipi_rgb data_pins.red)
# GPIO15 main_display (display mipi_rgb data_pins.blue)
# GPIO16 main_display (display mipi_rgb hsync_pin)
# GPIO17 main_display (display mipi_rgb vsync_pin)
# GPIO18 main_display (display mipi_rgb de_pin)
# GPIO19 i2c_main (i2c sda)
# GPIO20 main_display (display mipi_rgb data_pins.green)
# GPIO21 main_display (display mipi_rgb pclk_pin)
# GPIO38 gpio_backlight_pwm (output ledc)
# GPIO39 main_display (display mipi_rgb cs_pin)
# GPIO45 i2c_main (i2c scl)
# GPIO46 main_display (display mipi_rgb data_pins.green)
# GPIO47 lcd_spi (spi mosi_pin)
# GPIO48 lcd_spi (spi clk_pin)
# I2C:
# 0x5D main_touch (touchscreen gt911)
substitutions: substitutions:
device: lvgl-4848s040 device: lvgl-4848s040
name: LVGL 4848S040 name: LVGL 4848S040
@@ -35,24 +82,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: Guition ESP32-S3-4848S040, 4", 480x480, ST7701S, capacitive
## Display (RGB, pins in the mipi_rgb model)
# CS 39
# SCK 48 ST7701S init (3-wire SPI)
# SDA 47
# DE 18
# HSYNC 16
# VSYNC 17
# PCLK 21
# BL 38
## Capacitive Touch (GT911)
# TP_SDA 19
# TP_SCL 45
## Relays (86 box variant)
# RELAY1 40
# RELAY2 2
# RELAY3 1
api: api:
# status page until Home Assistant connects (log viewers don't subscribe to states) # status page until Home Assistant connects (log viewers don't subscribe to states)
on_client_connected: on_client_connected:
+13
View File
@@ -1,4 +1,17 @@
--- ---
# Hardware: Guition JC3248W535
# Pinout:
# GPIO1 -> main_backlight (power_supply)
# GPIO4 -> touchscreen_bus (i2c sda)
# GPIO8 -> touchscreen_bus (i2c scl)
# GPIO21 -> display_qspi (spi data_pins)
# GPIO39 -> display_qspi (spi data_pins)
# GPIO40 -> display_qspi (spi data_pins)
# GPIO45 -> main_display (display mipi_spi cs_pin)
# GPIO47 -> display_qspi (spi clk_pin)
# GPIO48 -> display_qspi (spi data_pins)
# I2C:
# 0x3B main_touch (touchscreen axs15231)
substitutions: substitutions:
device: lvgl-eworkbench device: lvgl-eworkbench
name: Electronics Workbench Display name: Electronics Workbench Display
+15
View File
@@ -1,4 +1,19 @@
--- ---
# Hardware: Guition JC3248W535
# Pinout:
# GPIO1 -> gpio_backlight_pwm (output ledc)
# GPIO4 -> touchscreen_bus (i2c sda)
# GPIO8 -> touchscreen_bus (i2c scl)
# GPIO21 -> display_qspi (spi data_pins)
# GPIO39 -> display_qspi (spi data_pins)
# GPIO40 -> display_qspi (spi data_pins)
# GPIO43 -> ext_uart (uart tx_pin)
# GPIO44 -> ext_uart (uart rx_pin)
# GPIO45 -> main_display (display mipi_spi cs_pin)
# GPIO47 -> display_qspi (spi clk_pin)
# GPIO48 -> display_qspi (spi data_pins)
# I2C:
# 0x3B main_touch (touchscreen axs15231)
substitutions: substitutions:
device: lvgl-trainer device: lvgl-trainer
name: Trainer Display name: Trainer Display
+84 -57
View File
@@ -1,4 +1,88 @@
--- ---
# Hardware: Sunton ESP32-8048S043 (CYD 4.3", 800x480, capacitive touch)
# Pinout:
# # Display
# R0 GND
# R1 GND
# R2 GND
# R3 45
# R4 48
# R5 47
# R6 21
# R7 14
# G0 GND
# G1 GND
# G2 5
# G3 6
# G4 7
# G5 15
# G6 16
# G7 4
# B0 GND
# B1 GND
# B2 GND
# B3 8
# B4 3
# B5 46
# B6 9
# B7 1
# DCLK 42
# HSYNC 39
# VSYNC 41
# DE 40
# BL 2
# # Capacitive Touch
# TP_INT
# TP_RST 38
# TP_SDA 19
# TP_SCL 20
# # SDCARD
# TF_CS 10
# SPI_MOSI 11
# SPI_CLK 12
# SPI_MISO 13
# # SPI Conector (HC1.25-4)
# SPI_CS 19
# SPI_MOSI 11
# SPI_CLK 12
# SPI_MISO 13
# # UART1 (SH1.0-4)
# 1 GND
# 2 3V3-ESP
# 3 17
# 4 18
# # UART1, USB Connector (Resistive) / I2C (Capacitive) (HC1.25-4)
# 1 17
# 2 18
# 3 19 TP_SDA
# 4 20 TP_SCL
# Used:
# GPIO1 main_display (display mipi_rgb data_pins.blue)
# GPIO2 gpio_backlight_pwm (output ledc)
# GPIO3 main_display (display mipi_rgb data_pins.blue)
# GPIO4 main_display (display mipi_rgb data_pins.green)
# GPIO5 main_display (display mipi_rgb data_pins.green)
# GPIO6 main_display (display mipi_rgb data_pins.green)
# GPIO7 main_display (display mipi_rgb data_pins.green)
# GPIO8 main_display (display mipi_rgb data_pins.blue)
# GPIO9 main_display (display mipi_rgb data_pins.blue)
# GPIO14 main_display (display mipi_rgb data_pins.red)
# GPIO15 main_display (display mipi_rgb data_pins.green)
# GPIO16 main_display (display mipi_rgb data_pins.green)
# GPIO19 i2c_main (i2c sda)
# GPIO20 i2c_main (i2c scl)
# GPIO21 main_display (display mipi_rgb data_pins.red)
# GPIO38 main_touch (touchscreen gt911 reset_pin)
# GPIO39 main_display (display mipi_rgb hsync_pin)
# GPIO40 main_display (display mipi_rgb de_pin)
# GPIO41 main_display (display mipi_rgb vsync_pin)
# GPIO42 main_display (display mipi_rgb pclk_pin)
# GPIO45 main_display (display mipi_rgb data_pins.red)
# GPIO46 main_display (display mipi_rgb data_pins.blue)
# GPIO47 main_display (display mipi_rgb data_pins.red)
# GPIO48 main_display (display mipi_rgb data_pins.red)
# I2C:
# 0x5D main_touch (touchscreen gt911)
substitutions: substitutions:
device: lvgl device: lvgl
name: LVGL name: LVGL
@@ -36,63 +120,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: ESP32 Cheap Yellow Display, 4.3", IPS, Capacitive
## Display
# R0 GND
# R1 GND
# R2 GND
# R3 45
# R4 48
# R5 47
# R6 21
# R7 14
# G0 GND
# G1 GND
# G2 5
# G3 6
# G4 7
# G5 15
# G6 16
# G7 4
# B0 GND
# B1 GND
# B2 GND
# B3 8
# B4 3
# B5 46
# B6 9
# B7 1
# DCLK 42
# HSYNC 39
# VSYNC 41
# DE 40
# BL 2
## Capacitive Touch
# TP_INT
# TP_RST 38
# TP_SDA 19
# TP_SCL 20
## SDCARD
# TF_CS 10
# SPI_MOSI 11
# SPI_CLK 12
# SPI_MISO 13
## SPI Conector (HC1.25-4)
# SPI_CS 19
# SPI_MOSI 11
# SPI_CLK 12
# SPI_MISO 13
## UART1 (SH1.0-4)
# 1 GND
# 2 3V3-ESP
# 3 17
# 4 18
## UART1, USB Connector (Resistive) / I2C (Capacitive) (HC1.25-4)
# 1 17
# 2 18
# 3 19 TP_SDA
# 4 20 TP_SCL
api: api:
# status page until Home Assistant connects (log viewers don't subscribe to states) # status page until Home Assistant connects (log viewers don't subscribe to states)
on_client_connected: on_client_connected:
+21
View File
@@ -1,4 +1,25 @@
--- ---
# Hardware: M5Stack M5Paper
# Pinout:
# GPIO2 -> main_power (switch gpio)
# GPIO5 -> ext_power (switch gpio)
# GPIO12 -> spi (spi mosi_pin)
# GPIO13 -> spi (spi miso_pin)
# GPIO14 -> spi (spi clk_pin)
# GPIO15 -> m5paper_display (display it8951 cs_pin)
# GPIO21 -> i2c_main (i2c sda)
# GPIO22 -> i2c_main (i2c scl)
# GPIO23 -> m5paper_display (display it8951 reset_pin)
# GPIO27 -> m5paper_display (display it8951 busy_pin)
# GPIO35 -> Battery Voltage (sensor adc)
# GPIO36 -> gt911_touchscreen (touchscreen gt911 interrupt_pin)
# GPIO37 -> M5Paper Button UP (binary_sensor gpio) (inverted)
# GPIO38 -> M5Paper Button Press (binary_sensor gpio) (inverted)
# GPIO39 -> M5Paper Button Down (binary_sensor gpio) (inverted)
# I2C:
# 0x44 sensor sht3xd (sensor sht3xd)
# 0x51 rtc_time (time bm8563)
# 0x5D gt911_touchscreen (touchscreen gt911)
substitutions: substitutions:
device: m5paper device: m5paper
name: M5Paper name: M5Paper
+15 -15
View File
@@ -1,4 +1,19 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 NC
# GPIO21 I2C1 SCL
# GPIO22 1-WIRE
# GPIO23 UART1 RX
# GPIO25 I2C1 SDA
# GPIO26 I2C0 SDA -> uart_modbus (uart rx_pin)
# GPIO27 NEO
# GPIO32 I2C0 SCL -> uart_modbus (uart tx_pin)
# GPIO33 UART1 TX
# GPIO39 BUTTON
substitutions: substitutions:
device: mains-power device: mains-power
name: Mains Power name: Mains Power
@@ -28,21 +43,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: M5ATOM
# IR G12
# NEO G27
# BUTTON G39
# I2C0 SDA G26
# I2C0 SCL G32
# I2C1 SDA G25
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# UART1 RX G23
# UART1 TX G33
# 1-WIRE G22
# NC G19
modbus: modbus:
uart_id: uart_modbus uart_id: uart_modbus
+1
View File
@@ -1,4 +1,5 @@
--- ---
# Hardware: Nordic nRF52840 DK
esphome: esphome:
name: mcu-nrf-dk name: mcu-nrf-dk
friendly_name: mcu-nrf-dk friendly_name: mcu-nrf-dk
+21
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> relay_1 (output gpio)
# GPIO23 Relay 3 (no relay, connector)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-bedroom device: nspanel-bedroom
name: Bedroom NSPanel name: Bedroom NSPanel
@@ -51,6 +65,13 @@ nspanel_lovelace:
title: Kúrenie title: Kúrenie
thermo_entity_id: climate.bt_trv_bedroom thermo_entity_id: climate.bt_trv_bedroom
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.bedroom_nspanel_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
+22
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2 -> Relay 2 (switch gpio)
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> Relay 1 (switch gpio)
# GPIO23 Relay 3 (no relay, connector)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-dev device: nspanel-dev
name: NSPanel DEV name: NSPanel DEV
@@ -60,6 +74,7 @@ external_components:
packages: packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
nspanel_popup: !include common/nspanel_popup.yaml
# common: !include common/common_dev.yaml # common: !include common/common_dev.yaml
# web_server: # web_server:
@@ -441,6 +456,13 @@ nspanel_lovelace:
- name: Rast trávy - name: Rast trávy
entity_id: automation.irrigation_grow_grass entity_id: automation.irrigation_grow_grass
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.nspanel_dev_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
+21
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2 -> Dining Table Light MAIN (switch gpio)
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> Kitchen Worktop Light (switch gpio)
# GPIO23 Relay 3 (no relay, connector)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-fireplace device: nspanel-fireplace
name: Fireplace NSPanel name: Fireplace NSPanel
@@ -108,6 +122,13 @@ nspanel_lovelace:
- name: Auto-zatváranie - name: Auto-zatváranie
entity_id: switch.gate_auto_close entity_id: switch.gate_auto_close
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.fireplace_nspanel_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
+21
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> relay_1 (output gpio)
# GPIO23 Relay 3 (no relay, connector)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-office-j device: nspanel-office-j
name: Office J NSPanel name: Office J NSPanel
@@ -61,6 +75,13 @@ nspanel_lovelace:
- name: Auto-zatváranie - name: Auto-zatváranie
entity_id: switch.gate_auto_close entity_id: switch.gate_auto_close
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.office_j_nspanel_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
+21
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2 -> relay_2 (switch gpio)
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> relay_1 (output gpio)
# GPIO23 Relay 3 (no relay, connector) -> Presence Light (light esp32_rmt_led_strip)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-office-r device: nspanel-office-r
name: Office R NSPanel name: Office R NSPanel
@@ -82,6 +96,13 @@ nspanel_lovelace:
- name: Auto-zatváranie - name: Auto-zatváranie
entity_id: switch.gate_auto_close entity_id: switch.gate_auto_close
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.office_r_nspanel_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
+35 -6
View File
@@ -1,4 +1,18 @@
--- ---
# Hardware: Sonoff NSPanel (EU)
# Pinout:
# GPIO2 IO2
# GPIO4 Screen power -> Screen Power (switch gpio) (inverted)
# GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted)
# GPIO16 Display UART TX -> display_uart (uart tx_pin)
# GPIO17 Display UART RX -> display_uart (uart rx_pin)
# GPIO19 Relay 2 -> Light MAIN (switch gpio)
# GPIO21 Buzzer -> buzzer_out (output ledc)
# GPIO22 Relay 1 -> Outside Light Back (switch gpio)
# GPIO23 Relay 3 (no relay, connector)
# GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted)
# GPIO37 ALS (light sensor)
# GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc)
substitutions: substitutions:
device: nspanel-patio device: nspanel-patio
name: Patio NSPanel name: Patio NSPanel
@@ -23,6 +37,7 @@ nspanel_lovelace:
cards: cards:
- type: cardGrid - type: cardGrid
title: Kuchyňa / Obývačka title: Kuchyňa / Obývačka
id: card_home
entities: entities:
- name: Kuchyňa / Obývačka - name: Kuchyňa / Obývačka
entity_id: light.kitchen entity_id: light.kitchen
@@ -55,6 +70,7 @@ nspanel_lovelace:
- type: cardGrid - type: cardGrid
title: Von title: Von
id: card_outside
entities: entities:
- name: Terasa - name: Terasa
entity_id: light.patio_lights entity_id: light.patio_lights
@@ -137,6 +153,13 @@ nspanel_lovelace:
- name: Rast trávy - name: Rast trávy
entity_id: automation.irrigation_grow_grass entity_id: automation.irrigation_grow_grass
- type: cardEntities
title: Info
entities:
- name: Zariadenie
entity_id: button.patio_nspanel_info
icon: information-outline
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
name: Left Button name: Left Button
@@ -145,9 +168,7 @@ binary_sensor:
inverted: true inverted: true
on_click: on_click:
- switch.toggle: relay_1 - switch.toggle: relay_1
- lambda: 'id(nspanel_id).render_default_page();' - script.execute: show_outside_card
- lambda: 'id(nspanel_id).render_next_page();'
- lambda: 'id(nspanel_id).render_next_page();'
- platform: gpio - platform: gpio
name: Right Button name: Right Button
@@ -166,9 +187,7 @@ binary_sensor:
action: light.toggle action: light.toggle
data: data:
entity_id: light.patio_lights entity_id: light.patio_lights
- lambda: 'id(nspanel_id).render_default_page();' - script.execute: show_outside_card
- lambda: 'id(nspanel_id).render_next_page();'
- lambda: 'id(nspanel_id).render_next_page();'
else: else:
- switch.toggle: relay_2 - switch.toggle: relay_2
@@ -190,3 +209,13 @@ switch:
entity_category: config entity_category: config
pin: pin:
number: 19 number: 19
script:
# jump straight to the "Von" card (one render instead of home + next + next):
# make it the default page for a moment, render it, restore the home card
- id: show_outside_card
then:
- lambda: |-
id(nspanel_id).set_default_page("card_outside");
id(nspanel_id).render_default_page();
id(nspanel_id).set_default_page("card_home");
+11 -7
View File
@@ -1,4 +1,15 @@
--- ---
# Hardware: M5Stack M5Stamp C3
# Pinout:
# GPIO0 I2C SDA
# GPIO1 I2C SCL
# GPIO2 NEO
# GPIO3 BUTTON
# GPIO4 -> led_red (output ledc)
# GPIO5 -> led_green (output ledc)
# GPIO6 -> led_blue (output ledc)
# GPIO20 UART RX
# GPIO21 UART TX
substitutions: substitutions:
device: office-r device: office-r
name: Office R name: Office R
@@ -24,13 +35,6 @@ packages:
common: !include common/common.yaml common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# GPIO21 UART TX
# GPIO20 UART RX
# GPIO0 I2C SDA
# GPIO1 I2C SCL
# GPIO2 NEO
# GPIO3 BUTTON
light: light:
- platform: rgb - platform: rgb
name: "MS Teams Presence Light" name: "MS Teams Presence Light"
+17 -15
View File
@@ -1,4 +1,21 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 Relay2 -> Relay (switch gpio)
# GPIO21 I2C1 SCL -> i2c (i2c scl)
# GPIO22 Relay1 -> power_supply1 (power_supply)
# GPIO23 RS485 Tx
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
# GPIO26 I2C0 SDA - white
# GPIO27 NEO 1x
# GPIO32 I2C0 SCL
# GPIO33 RS485 Rx
# GPIO39 BUTTON -> Status Button (binary_sensor gpio)
# I2C:
# 0x40 pca9685_hub1 (pca9685)
substitutions: substitutions:
device: patio device: patio
name: Patio name: Patio
@@ -40,21 +57,6 @@ packages:
ipv6_only: !include common/ipv6_only.yaml ipv6_only: !include common/ipv6_only.yaml
# PINOUTS: M5ATOM+Atom Hub Switch
# IR G12
# NEO G27 1x
# BUTTON G39
# I2C0 SDA G26 - white
# I2C0 SCL G32
# I2C1 SDA G25 - red
# I2C1 SCL G21
# UART0 RX G3
# UART0 TX G1
# RS485 Rx G33
# RS485 Tx G23
# Relay1 G22
# Relay2 G19
i2c: i2c:
# - id: i2c0 # - id: i2c0
# sda: 26 # sda: 26
+12
View File
@@ -1,4 +1,16 @@
--- ---
# Hardware: Sonoff POW Elite
# Pinout:
# GPIO0 -> reset (binary_sensor gpio)
# GPIO2 -> relay_on (switch gpio)
# GPIO4 -> relay_off (switch gpio)
# GPIO5 -> wifi_status_led (light status_led) (inverted)
# GPIO14 -> tm1621_display (display tm1621 data_pin)
# GPIO16 -> cse7766_uart (uart rx_pin)
# GPIO18 -> led (output ledc) (inverted)
# GPIO25 -> tm1621_display (display tm1621 cs_pin)
# GPIO26 -> tm1621_display (display tm1621 read_pin)
# GPIO27 -> tm1621_display (display tm1621 write_pin)
substitutions: substitutions:
device: pow-dishwasher device: pow-dishwasher
name: Dishwasher POW name: Dishwasher POW
+12
View File
@@ -1,4 +1,16 @@
--- ---
# Hardware: Sonoff POW Elite
# Pinout:
# GPIO0 -> reset (binary_sensor gpio)
# GPIO2 -> relay_on (switch gpio)
# GPIO4 -> relay_off (switch gpio)
# GPIO5 -> wifi_status_led (light status_led) (inverted)
# GPIO14 -> tm1621_display (display tm1621 data_pin)
# GPIO16 -> cse7766_uart (uart rx_pin)
# GPIO18 -> led (output ledc) (inverted)
# GPIO25 -> tm1621_display (display tm1621 cs_pin)
# GPIO26 -> tm1621_display (display tm1621 read_pin)
# GPIO27 -> tm1621_display (display tm1621 write_pin)
substitutions: substitutions:
device: pow-washer device: pow-washer
name: Washer POW name: Washer POW
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout:
# GPIO19 -> spi (spi mosi_pin)
# GPIO21 -> rf_tx (remote_transmitter)
# GPIO22 -> spi (spi miso_pin)
# GPIO23 -> spi (spi clk_pin)
# GPIO25 -> rf_rx (remote_receiver)
# GPIO26 Grove SDA
# GPIO32 Grove SCL
# GPIO33 -> cc1101 (cc1101 cs_pin)
substitutions: substitutions:
device: rf device: rf
name: RF Bridge name: RF Bridge
+5
View File
@@ -1,4 +1,9 @@
--- ---
# Hardware: Sonoff RF Bridge (obsolete)
# Pinout:
# GPIO4 -> remote_receiver (remote_receiver)
# GPIO5 -> remote_transmitter (remote_transmitter)
# GPIO13 -> status_led (status_led) (inverted)
substitutions: substitutions:
device: rf433 device: rf433
name: RF433 Bridge name: RF433 Bridge
+12 -9
View File
@@ -1,4 +1,16 @@
--- ---
# Hardware: M5Stack M5Stamp S3
# Pinout:
# GPIO0 Button
# GPIO1 I2C SDA -> i2c_rfid (i2c sda)
# GPIO2 I2C SDA, Notify LED -> i2c_rfid (i2c scl)
# GPIO3 -> notify_led (light esp32_rmt_led_strip)
# GPIO4 Buzzer -> buzzer (output ledc)
# GPIO19 U-
# GPIO20 U+
# GPIO21 RGB -> status_led (light esp32_rmt_led_strip)
# I2C:
# 0x24 pn532_module (pn532_i2c)
substitutions: substitutions:
device: rfid-reader device: rfid-reader
name: RFID Reader name: RFID Reader
@@ -45,15 +57,6 @@ packages:
# logger: # logger:
# hardware_uart: UART0 # hardware_uart: UART0
# GPIO20 U+
# GPIO19 U-
# GPIO0 Button
# GPIO1 I2C SDA
# GPIO2 I2C SDA
# GPIO2 Notify LED
# GPIO4 Buzzer
# GPIO21 RGB
api: api:
actions: actions:
- action: rfidreader_tag_ok - action: rfidreader_tag_ok
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO19 -> Light (switch gpio)
# GPIO21 -> i2c (i2c scl)
# GPIO22 -> Garden Light (switch gpio)
# GPIO25 -> i2c (i2c sda)
# GPIO26 Grove SDA
# GPIO32 Grove SCL
# I2C:
# 0x27 pca9554_module (pca9554)
substitutions: substitutions:
device: shed device: shed
name: Shed name: Shed
+11 -12
View File
@@ -1,4 +1,15 @@
--- ---
# Hardware: BlitzWolf BW-SHP2/SHP6
# Pinout:
# GPIO0 GPIO_LED1_INV Red LED (inverted), Power Status -> led_red (output gpio)
# GPIO1 GPIO_USER RXD, Optional sensor
# GPIO2 GPIO_LEDLNK_INV Blue LED (inverted), Link Status -> led_blue (output gpio)
# GPIO3 GPIO_USER TXD, Optional sensor
# GPIO5 GPIO_HJL_CF BL0937 or HJL-01 CF power -> sensor/hlw8012 (sensor hlw8012 cf_pin)
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage) -> sensor/hlw8012 (sensor hlw8012 sel_pin) (inverted)
# GPIO13 GPIO_KEY1 Button -> Button (binary_sensor gpio) (inverted)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage -> sensor/hlw8012 (sensor hlw8012 cf1_pin)
# GPIO15 GPIO_REL1 Relay -> Relay (switch gpio)
substitutions: substitutions:
device: socket-01 device: socket-01
name: Socket 01 name: Socket 01
@@ -19,18 +30,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# BlitzWolf BW-SHP2 and BW-SHP6 (ESP8285 - BL0937 or HJL-01 Energy Monitoring)
# Pin Name Function
# GPIO15 GPIO_REL1 Relay
# GPIO13 GPIO_KEY1 Button
# GPIO00 GPIO_LED1_INV Red LED (inverted), Power Status
# GPIO02 GPIO_LEDLNK_INV Blue LED (inverted), Link Status
# GPIO05 GPIO_HJL_CF BL0937 or HJL-01 CF power
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage
# GPIO01 GPIO_USER RXD, Optional sensor
# GPIO03 GPIO_USER TXD, Optional sensor
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
pin: pin:
+11 -12
View File
@@ -1,4 +1,15 @@
--- ---
# Hardware: BlitzWolf BW-SHP2/SHP6
# Pinout:
# GPIO0 GPIO_LED1_INV Red LED (inverted), Power Status -> led_red (output gpio)
# GPIO1 GPIO_USER RXD, Optional sensor
# GPIO2 GPIO_LEDLNK_INV Blue LED (inverted), Link Status -> led_blue (output gpio)
# GPIO3 GPIO_USER TXD, Optional sensor
# GPIO5 GPIO_HJL_CF BL0937 or HJL-01 CF power -> sensor/hlw8012 (sensor hlw8012 cf_pin)
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage) -> sensor/hlw8012 (sensor hlw8012 sel_pin) (inverted)
# GPIO13 GPIO_KEY1 Button -> Button (binary_sensor gpio) (inverted)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage -> sensor/hlw8012 (sensor hlw8012 cf1_pin)
# GPIO15 GPIO_REL1 Relay -> Relay (switch gpio)
substitutions: substitutions:
device: socket-02 device: socket-02
name: Socket 02 name: Socket 02
@@ -19,18 +30,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# BlitzWolf BW-SHP2 and BW-SHP6 (ESP8285 - BL0937 or HJL-01 Energy Monitoring)
# Pin Name Function
# GPIO15 GPIO_REL1 Relay
# GPIO13 GPIO_KEY1 Button
# GPIO00 GPIO_LED1_INV Red LED (inverted), Power Status
# GPIO02 GPIO_LEDLNK_INV Blue LED (inverted), Link Status
# GPIO05 GPIO_HJL_CF BL0937 or HJL-01 CF power
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage
# GPIO01 GPIO_USER RXD, Optional sensor
# GPIO03 GPIO_USER TXD, Optional sensor
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
pin: pin:
+11 -12
View File
@@ -1,4 +1,15 @@
--- ---
# Hardware: BlitzWolf BW-SHP2/SHP6
# Pinout:
# GPIO0 GPIO_LED1_INV Red LED (inverted), Power Status -> led_red (output gpio)
# GPIO1 GPIO_USER RXD, Optional sensor
# GPIO2 GPIO_LEDLNK_INV Blue LED (inverted), Link Status -> led_blue (output gpio)
# GPIO3 GPIO_USER TXD, Optional sensor
# GPIO5 GPIO_HJL_CF BL0937 or HJL-01 CF power -> sensor/hlw8012 (sensor hlw8012 cf_pin)
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage) -> sensor/hlw8012 (sensor hlw8012 sel_pin) (inverted)
# GPIO13 GPIO_KEY1 Button -> Button (binary_sensor gpio) (inverted)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage -> sensor/hlw8012 (sensor hlw8012 cf1_pin)
# GPIO15 GPIO_REL1 Relay -> Relay (switch gpio)
substitutions: substitutions:
device: socket-03 device: socket-03
name: Socket 03 name: Socket 03
@@ -25,18 +36,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# BlitzWolf BW-SHP2 and BW-SHP6 (ESP8285 - BL0937 or HJL-01 Energy Monitoring)
# Pin Name Function
# GPIO15 GPIO_REL1 Relay
# GPIO13 GPIO_KEY1 Button
# GPIO00 GPIO_LED1_INV Red LED (inverted), Power Status
# GPIO02 GPIO_LEDLNK_INV Blue LED (inverted), Link Status
# GPIO05 GPIO_HJL_CF BL0937 or HJL-01 CF power
# GPIO12 GPIO_NRG_SEL_INV BL0937 or HJL-01 Sel output (0 = Voltage)
# GPIO14 GPIO_NRG_CF1 BL0937 or HJL-01 CF1 current / voltage
# GPIO01 GPIO_USER RXD, Optional sensor
# GPIO03 GPIO_USER TXD, Optional sensor
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
pin: pin:
+40
View File
@@ -1,3 +1,43 @@
# Hardware: M5Stack CoreS3 + Stack-chan kit
# Pinout:
# GPIO0 -> i2s_bus (i2s_audio i2s_mclk_pin)
# GPIO2 -> Camera (esp32_camera)
# GPIO3 -> display_tft (display mipi_spi cs_pin)
# GPIO5 -> ir_tx (remote_transmitter)
# GPIO6 -> uart_servo (uart tx_pin)
# GPIO7 -> uart_servo (uart rx_pin)
# GPIO10 -> ir_rx (remote_receiver)
# GPIO11 -> i2c_bsp (i2c scl)
# GPIO12 -> i2c_bsp (i2c sda)
# GPIO13 -> speaker_id (speaker i2s_audio i2s_dout_pin)
# GPIO14 -> stackchan_microphone (microphone i2s_audio i2s_din_pin)
# GPIO15 -> Camera (esp32_camera data_pins)
# GPIO16 -> Camera (esp32_camera data_pins)
# GPIO33 -> i2s_bus (i2s_audio i2s_lrclk_pin)
# GPIO34 -> i2s_bus (i2s_audio i2s_bclk_pin)
# GPIO35 -> display_tft (display mipi_spi dc_pin)
# GPIO36 -> spi_bus (spi clk_pin)
# GPIO37 -> spi_bus (spi mosi_pin)
# GPIO38 -> Camera (esp32_camera href_pin)
# GPIO39 -> Camera (esp32_camera data_pins)
# GPIO40 -> Camera (esp32_camera data_pins)
# GPIO41 -> Camera (esp32_camera data_pins)
# GPIO42 -> Camera (esp32_camera data_pins)
# GPIO45 -> Camera (esp32_camera pixel_clock_pin)
# GPIO46 -> Camera (esp32_camera vsync_pin)
# GPIO47 -> Camera (esp32_camera data_pins)
# GPIO48 -> Camera (esp32_camera data_pins)
# I2C:
# 0x23 sensor ltr_als_ps (sensor ltr_als_ps)
# 0x34 axp2101_pmu (axp2101)
# 0x36 aw88298_dac (audio_dac aw88298)
# 0x38 touch_lcd (touchscreen ft63x6)
# 0x40 es7210_adc (audio_adc es7210)
# 0x41 sensor ina226 (sensor ina226)
# 0x51 rtc_time (time bm8563)
# 0x58 aw9523b_hub (aw9523b)
# 0x68 touch_hub (si12t)
# 0x6F m5ioe1_hub (m5ioe1)
substitutions: substitutions:
device: stackchan device: stackchan
name: StackChan name: StackChan
+4
View File
@@ -1,4 +1,8 @@
--- ---
# Hardware: Sonoff Mini
# Pinout:
# GPIO12 -> relay (output gpio)
# GPIO13 -> led_blue (output gpio)
substitutions: substitutions:
device: staircase-light device: staircase-light
name: Staircase name: Staircase
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack M5Stamp C3
# Pinout:
# GPIO0 Grove SCL -> touchscreen/xpt2046 (touchscreen xpt2046 cs_pin)
# GPIO1 Grove SDA -> touchscreen/xpt2046 (touchscreen xpt2046 interrupt_pin)
# GPIO4 -> spi (spi clk_pin)
# GPIO5 -> spi (spi mosi_pin)
# GPIO6 -> spi (spi miso_pin)
# GPIO7 -> main_display (display mipi_spi cs_pin)
# GPIO8 -> main_display (display mipi_spi dc_pin)
# GPIO10 -> main_display (display mipi_spi reset_pin)
substitutions: substitutions:
device: tft device: tft
name: TFT name: TFT
+1
View File
@@ -1,4 +1,5 @@
--- ---
# Hardware: LilyGO T-PCIE
substitutions: substitutions:
device: tracker device: tracker
name: Tracker name: Tracker
+18 -10
View File
@@ -1,4 +1,22 @@
--- ---
# Hardware: Huacanxing H801
# Pinout:
# # H801 LED module
# Function Pin Channel
# R GPIO15 PWM1
# G GPIO13 PWM2
# B GPIO12 PWM3
# W1 GPIO14 PWM4
# W2 GPIO04 PWM5
# LED D1 R GPIO05
# LED D2 G GPIO01
# Used:
# GPIO4 pwm_warm_white (output esp8266_pwm)
# GPIO5 status_led_id (light status_led)
# GPIO12 pwm_blue (output esp8266_pwm)
# GPIO13 pwm_green (output esp8266_pwm)
# GPIO14 pwm_cold_white (output esp8266_pwm)
# GPIO15 pwm_red (output esp8266_pwm)
substitutions: substitutions:
device: tv-light device: tv-light
name: TV Light name: TV Light
@@ -17,16 +35,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
## H801 LED module
# Function Pin Channel
# R GPIO15 PWM1
# G GPIO13 PWM2
# B GPIO12 PWM3
# W1 GPIO14 PWM4
# W2 GPIO04 PWM5
# LED D1 R GPIO05
# LED D2 G GPIO01
light: light:
- platform: status_led - platform: status_led
id: status_led_id id: status_led_id
+2
View File
@@ -1,4 +1,6 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout: see common/vehicle_base.yaml
substitutions: substitutions:
device: vehicle-honda-pcx125 device: vehicle-honda-pcx125
name: Vehicle Honda PCX125 name: Vehicle Honda PCX125
+2
View File
@@ -1,4 +1,6 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout: see common/vehicle_base.yaml
substitutions: substitutions:
device: vehicle-suzuki-dl650 device: vehicle-suzuki-dl650
name: Vehicle Suzuki DL650 name: Vehicle Suzuki DL650
+2
View File
@@ -1,4 +1,6 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout: see common/vehicle_base.yaml
substitutions: substitutions:
device: vehicle-toyota-auris-ts device: vehicle-toyota-auris-ts
name: Vehicle Toyota Auris TS name: Vehicle Toyota Auris TS
+2
View File
@@ -1,4 +1,6 @@
--- ---
# Hardware: M5Stack ATOM Lite
# Pinout: see common/vehicle_base.yaml
substitutions: substitutions:
device: vehicle-toyota-yaris-cross device: vehicle-toyota-yaris-cross
name: Vehicle Toyota Yaris Cross name: Vehicle Toyota Yaris Cross
+7 -7
View File
@@ -1,4 +1,11 @@
--- ---
# Hardware: Sonoff Basic R2
# Pinout:
# GPIO0 BUTTON -> Button (binary_sensor gpio) (inverted)
# GPIO1 TX PIN
# GPIO3 RX PIN
# GPIO12 RELAY -> Relay (switch gpio)
# GPIO13 LED1 -> led (output gpio)
substitutions: substitutions:
device: waterproof-socket device: waterproof-socket
name: Waterproof Socket name: Waterproof Socket
@@ -17,13 +24,6 @@ esp8266:
packages: packages:
common: !include common/common_esp8266.yaml common: !include common/common_esp8266.yaml
# Sonoff Basic R2
# GPIO00 - BUTTON
# GPIO12 - RELAY
# GPIO13 - LED1
# GPIO03 - RX PIN
# GPIO01 - TX PIN
binary_sensor: binary_sensor:
- platform: gpio - platform: gpio
pin: pin:
+10
View File
@@ -1,4 +1,14 @@
--- ---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO21 -> i2c (i2c scl)
# GPIO23 -> modbus_uart (uart tx_pin)
# GPIO25 -> i2c (i2c sda)
# GPIO26 Grove SDA
# GPIO32 Grove SCL
# GPIO33 -> modbus_uart (uart rx_pin)
# I2C:
# 0x27 relay_module (pca9554)
substitutions: substitutions:
device: well device: well
name: Well name: Well