Skip to content

Commit

Permalink
Add variants, remove 8266, split yaml for adoption (#16)
Browse files Browse the repository at this point in the history
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
  • Loading branch information
kbx81 and jesserockz authored Jul 11, 2024
1 parent 42ac000 commit e7f479d
Show file tree
Hide file tree
Showing 8 changed files with 185 additions and 12 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@ jobs:
strategy:
matrix:
file:
- project-template-esp32.yaml
- project-template-esp8266.yaml
- project-template-esp32-release.yaml
- project-template-esp32-c3-release.yaml
- project-template-esp32-s3-release.yaml
steps:
- name: Checkout source code
uses: actions/checkout@v4.1.7
- name: Build ESPHome firmware to verify configuration
uses: esphome/build-action@v3.1.0
uses: esphome/build-action@v3.2.0
with:
yaml_file: ${{ matrix.file }}
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
uses: esphome/workflows/.github/workflows/publish.yml@main
with:
# CHANGEME: Set the filenames of your config files here:
files: project-template-esp32.yaml,project-template-esp8266.yaml
files: project-template-esp32-release.yaml,project-template-esp32-c3-release.yaml,project-template-esp32-s3-release.yaml
# CHANGEME: Set the name of your project here:
name: Template Project
41 changes: 41 additions & 0 deletions project-template-esp32-adopt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
esphome:
name: project-template
friendly_name: Project Template
# Automatically add the mac address to the name
# so you can use a single firmware for all devices
name_add_mac_suffix: true

# This will allow for project identification,
# configuration and updates.
project:
name: esphome.project-template
version: "1.0"

esp32:
board: esp32dev
framework:
type: esp-idf

# To be able to get logs from the device via serial and api.
logger:

# API is a requirement of the dashboard import.
api:

# OTA is required for Over-the-Air updating
ota:
- platform: esphome

wifi:
# Set up a wifi access point using the device name above
ap:

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:

##########################################################
# Most projects should not remove anything from above here
# and should just modify the name, project name/version
# and git url for the dashboard_import
##########################################################
35 changes: 35 additions & 0 deletions project-template-esp32-c3-adopt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
esphome:
name: project-template
friendly_name: Project Template
# Automatically add the mac address to the name
# so you can use a single firmware for all devices
name_add_mac_suffix: true

# This will allow for project identification,
# configuration and updates.
project:
name: esphome.project-template
version: "1.0"

esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf

# To be able to get logs from the device via serial and api.
logger:

# API is a requirement of the dashboard import.
api:

# OTA is required for Over-the-Air updating
ota:
- platform: esphome

wifi:
# Set up a wifi access point using the device name above
ap:

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ esphome:
# so you can use a single firmware for all devices
name_add_mac_suffix: true

# This will allow for (future) project identification,
# This will allow for project identification,
# configuration and updates.
project:
name: esphome.project-template
version: "1.0"

esp8266:
board: d1_mini
esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf

# To be able to get logs from the device via serial and api.
logger:
Expand All @@ -26,25 +28,28 @@ ota:

# This should point to the public location of this yaml file.
dashboard_import:
package_import_url: github://esphome/esphome-project-template/project-template-esp8266.yaml@main
package_import_url: github://esphome/esphome-project-template/project-template-esp32-c3-adopt.yaml@main

wifi:
# Set up a wifi access point using the device name above
ap:
password: "12345678"

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:


##########################################################
# Most projects should not remove anything from above here
# and should just modify the name, project name/version
# and git url for the dashboard_import
##########################################################


# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none

# Sets up the improv via serial client for Wi-Fi provisioning.
# Handy if your device has a usb port for the user to add credentials when they first get it.
improv_serial:
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,11 @@ ota:

# This should point to the public location of this yaml file.
dashboard_import:
package_import_url: github://esphome/esphome-project-template/project-template-esp32.yaml@main
package_import_url: github://esphome/esphome-project-template/project-template-esp32-adopt.yaml@main

wifi:
# Set up a wifi access point using the device name above
ap:
password: "12345678"

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
Expand Down
36 changes: 36 additions & 0 deletions project-template-esp32-s3-adopt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
esphome:
name: project-template
friendly_name: Project Template
# Automatically add the mac address to the name
# so you can use a single firmware for all devices
name_add_mac_suffix: true

# This will allow for project identification,
# configuration and updates.
project:
name: esphome.project-template
version: "1.0"

esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf

# To be able to get logs from the device via serial and api.
logger:

# API is a requirement of the dashboard import.
api:

# OTA is required for Over-the-Air updating
ota:
- platform: esphome

wifi:
# Set up a wifi access point using the device name above
ap:

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:
56 changes: 56 additions & 0 deletions project-template-esp32-s3-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
esphome:
name: project-template
friendly_name: Project Template
# Automatically add the mac address to the name
# so you can use a single firmware for all devices
name_add_mac_suffix: true

# This will allow for project identification,
# configuration and updates.
project:
name: esphome.project-template
version: "1.0"

esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf

# To be able to get logs from the device via serial and api.
logger:

# API is a requirement of the dashboard import.
api:

# OTA is required for Over-the-Air updating
ota:
- platform: esphome

# This should point to the public location of this yaml file.
dashboard_import:
package_import_url: github://esphome/esphome-project-template/project-template-esp32-s3-adopt.yaml@main

wifi:
# Set up a wifi access point using the device name above
ap:

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:

##########################################################
# Most projects should not remove anything from above here
# and should just modify the name, project name/version
# and git url for the dashboard_import
##########################################################


# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none

# Sets up the improv via serial client for Wi-Fi provisioning.
# Handy if your device has a usb port for the user to add credentials when they first get it.
improv_serial:

0 comments on commit e7f479d

Please sign in to comment.