Files
esp32-configs/athom-zigbee-gateway.yaml
T
AidenandGitHub 498f336ba5 add zigbee gateway
add zigbee gateway
2024-07-08 16:05:36 +08:00

165 lines
3.3 KiB
YAML

substitutions:
name: "athom-zigbee-gateway"
friendly_name: "Athom Zigbee Gateway"
room: ""
device_description: "athom eth zigbee gateway"
project_name: "Athom Technology.Athom Zigbee Gateway"
project_version: "v2.0.1"
dns_domain: ""
timezone: ""
# wifi_fast_connect: "false"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
area: "${room}"
# name_add_mac_suffix: true
project:
name: "${project_name}"
version: "${project_version}"
platformio_options:
# board_build.mcu: esp32dev
# board_build.variant: esp32dev
board_build.flash_mode: dio
esp32:
board: esp32dev
framework:
type: esp-idf
external_components:
- source: github://oxan/esphome-stream-server
refresh: 0s
dashboard_import:
package_import_url: github://athom-tech/esp32-configs/athom-zigbee-gateway.yaml
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
#WT32-ETH01 Ethernet
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 1
# wifi:
# # This spawns an AP with the device name and mac address with no password.
# ap: {}
# # Allow rapid re-connection to previously connect WiFi SSID, skipping scan of all SSID
# fast_connect: "${wifi_fast_connect}"
# # Define dns domain / suffix to add to hostname
# domain: "${dns_domain}"
# captive_portal:
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
reboot_timeout: 0s
ota:
platform: esphome
web_server:
port: 80
local: True
switch:
- platform: gpio
pin: 32
id: zRST_gpio
inverted: yes
restore_mode: ALWAYS_OFF
- platform: gpio
pin: 33
name: "zBSL"
id: zBSL
inverted: yes
restore_mode: ALWAYS_OFF
- platform: template
name: "Prep the cc2652p2 for firmware update"
turn_on_action:
- script.execute: fw_update_mode
turn_off_action:
- button.press: zRST
button:
- platform: restart
name: "Restart the Device"
- platform: template
name: "Zigbee Module Restart"
id: zRST
on_press:
- switch.turn_on: zRST_gpio
- delay: 15ms
- switch.turn_off: zRST_gpio
uart:
id: uart_bus
rx_pin: GPIO14
tx_pin: GPIO12
baud_rate: 115200
stream_server:
uart_id: uart_bus
id: ss
port: 8888 # optional, default is 8888
binary_sensor:
- platform: stream_server
connected:
name: "AthomZB Serial Connected"
- platform: status
name: "Status"
entity_category: diagnostic
mdns:
services:
- service: "_athomzb"
protocol: "_tcp"
port: 8888
txt:
version: 1.0
name: AthomZB
radio_type: znp
baud_rate: 115200
data_flow_control: software
light:
- platform: status_led
name: "Status LED"
id: blue_led
disabled_by_default: true
pin:
inverted: true
number: GPIO15
script:
- id: fw_update_mode
then:
- switch.turn_on: zBSL
- delay: 1s
- switch.turn_on: zRST_gpio
- delay: 1s
- switch.turn_off: zRST_gpio
- logger.log: "Delaying ~10 seconds for cc2652p2 to settle"
- delay: 11s
- switch.turn_off: zBSL
- logger.log: "Please try update with cc2538-bsl tool now"
- logger.log: "cc-bsl usage: cc2538-bsl.py -p socket://ip-of-gw:8888 -evw firmware.hex"