How to update gl.inet gl-s10

I struggled with this the past couple days as this is my first go at anything involving esp32. I finally got it squared away and am posting it for anyone in the future that needs some help.

So, I finally managed to get this sorted with some help from a member (Cossid) of the digiblur discord. They held my hand and guided me through what was ultimately a simple process. The yaml ultimately needed updating and then pushed to the s10 via the esphome container running on my unraid server.

Here is a copy of the yaml config I used. Under “substitutions” enter your desired name and friendly_name. Then under the “Ethernet” section enter the IP of your bt proxy in the use_address section. Then save the file as a .yaml. I was told the IP address could be removed once you get this update pushed.

After you have your yaml file, go to esphome, create new device, click continue then drag the yaml file to the popup box. You should have a device created. Click the update button to push the yaml file to your device. This will enable ota updates and your s10 should then update itself.


substitutions:
  name: gl-s10-garage
  friendly_name: Garage Bluetooth Proxy

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: true
  project:
    name: gl-s10.bluetooth-proxy
    version: "2.1"
  # turn on Power LED when esphome boots
  on_boot:
    then:
      - output.turn_on: power_led

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf

# Configuration fo V2.3 hardware revision
ethernet:
  type: IP101
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO5
  use_address: 192.168.10.20

api:
logger:
ota:
  - platform: esphome
  
dashboard_import:
  package_import_url: github://blakadder/bluetooth-proxies/gl-s10_v2.yaml@main

esp32_ble_tracker:
  scan_parameters:
    interval: 1100ms
    window: 1100ms
    active: true
#
# The LED is disabled for ESPHome 2023.6.0+ since we do not
# decode the advertising packets on device anymore, and adding
# the LED blink would force the device to decode the packets
# just to blink the LED.
#
# Bluetooth LED blinks when receiving Bluetooth advertising
#  on_ble_advertise:
#    then:
#      - output.turn_on: bluetooth_led
#      - delay: 0.5s
#      - output.turn_off: bluetooth_led

bluetooth_proxy:
  active: true

button:
  - platform: safe_mode
    name: Safe Mode Boot
    entity_category: diagnostic

## DEVICE SPECIFIC CONFIGURATION
# network LED (white one) configured as status led
status_led:
  pin:
    number: GPIO32
    inverted: true

# button on the side labeled RESET
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO33
      inverted: true
    name: "Reset Button"

# output settings for LED's marked Power and Bluetooth
# power LED use: see code line 15
# bluetooth LED use: see code line 60
output:
  - platform: gpio
    pin: GPIO14
    inverted: true
    id: power_led
  - platform: gpio
    pin: GPIO12
    inverted: true
    id: bluetooth_led

# since these pins are broken out inside and labeled as I2C pins they're configured here
i2c:
  sda: 15
  scl: 13
  scan: true

3 Likes