Skip to content

Instantly share code, notes, and snippets.

@gpmidi
Last active November 20, 2023 20:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gpmidi/628ae08174fdb995ed4700b76fccd1cb to your computer and use it in GitHub Desktop.
Save gpmidi/628ae08174fdb995ed4700b76fccd1cb to your computer and use it in GitHub Desktop.
Generate Relay Config For ESPHome per https://www.gpmidi.net/node/163
for i in range(1,17):
print(f''' - platform: gpio
name: "Relay #{i}"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number {i-1}
number: {i-1}
inverted: false''')
switch:
- platform: gpio
name: "Relay #1"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 0
number: 0
inverted: false
- platform: gpio
name: "Relay #2"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 1
number: 1
inverted: false
- platform: gpio
name: "Relay #3"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 2
number: 2
inverted: false
- platform: gpio
name: "Relay #4"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 3
number: 3
inverted: false
- platform: gpio
name: "Relay #5"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 4
number: 4
inverted: false
- platform: gpio
name: "Relay #6"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 5
number: 5
inverted: false
- platform: gpio
name: "Relay #7"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 6
number: 6
inverted: false
- platform: gpio
name: "Relay #8"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 7
number: 7
inverted: false
- platform: gpio
name: "Relay #9"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 8
number: 8
inverted: false
- platform: gpio
name: "Relay #10"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 9
number: 9
inverted: false
- platform: gpio
name: "Relay #11"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 10
number: 10
inverted: false
- platform: gpio
name: "Relay #12"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 11
number: 11
inverted: false
- platform: gpio
name: "Relay #13"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 12
number: 12
inverted: false
- platform: gpio
name: "Relay #14"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 13
number: 13
inverted: false
- platform: gpio
name: "Relay #15"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 14
number: 14
inverted: false
- platform: gpio
name: "Relay #16"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 15
number: 15
inverted: false
esphome:
name: relay-board-000
friendly_name: Relay-Board-000
esp8266:
board: esp12e
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Relay-Board-000 Fallback Hotspot"
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
captive_portal:
sn74hc595:
- id: 'sn74hc595_hub_0'
data_pin: GPIO14
clock_pin: GPIO13
latch_pin: GPIO12
oe_pin: GPIO5
sr_count: 2
# Individual outputs
switch:
- platform: gpio
name: "Relay #1"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 0
number: 0
inverted: false
- platform: gpio
name: "Relay #2"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 1
number: 1
inverted: false
- platform: gpio
name: "Relay #3"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 2
number: 2
inverted: false
- platform: gpio
name: "Relay #4"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 3
number: 3
inverted: false
- platform: gpio
name: "Relay #5"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 4
number: 4
inverted: false
- platform: gpio
name: "Relay #6"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 5
number: 5
inverted: false
- platform: gpio
name: "Relay #7"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 6
number: 6
inverted: false
- platform: gpio
name: "Relay #8"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 7
number: 7
inverted: false
- platform: gpio
name: "Relay #9"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 8
number: 8
inverted: false
- platform: gpio
name: "Relay #10"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 9
number: 9
inverted: false
- platform: gpio
name: "Relay #11"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 10
number: 10
inverted: false
- platform: gpio
name: "Relay #12"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 11
number: 11
inverted: false
- platform: gpio
name: "Relay #13"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 12
number: 12
inverted: false
- platform: gpio
name: "Relay #14"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 13
number: 13
inverted: false
- platform: gpio
name: "Relay #15"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 14
number: 14
inverted: false
- platform: gpio
name: "Relay #16"
pin:
sn74hc595: sn74hc595_hub_0
# Use pin number 15
number: 15
inverted: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment