Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
cbeb0a1
Early work to externalise the webui
JonathanGiles Dec 9, 2024
dd79abf
Let the spa interface make noise again
JonathanGiles Dec 9, 2024
ae63010
Delete the old content from WebUI.h as it has all be externalised
JonathanGiles Dec 9, 2024
d7884fa
minor cleanups
JonathanGiles Dec 9, 2024
4059a89
remove bad character
JonathanGiles Dec 9, 2024
cc26a90
Merge pull request #83 from JonathanGiles/new-webui
lucasnz Dec 10, 2024
5710cc0
Beginning work on updated webUI
JonathanGiles Dec 11, 2024
bb679d0
Minor improvements - getting rid of the config page, but untested!
JonathanGiles Dec 11, 2024
f07e29a
Merge pull request #87 from JonathanGiles/new-webui
wayne-love Dec 11, 2024
5279bf5
Minor webui tweaks
lucasnz Dec 11, 2024
dd8200e
This is just the Firmware UI.
lucasnz Dec 11, 2024
802381a
Merge pull request #88 from lucasnz/New-WebUI
lucasnz Dec 11, 2024
723c89f
bunch of web ui improvements, but still a work in progress
JonathanGiles Dec 11, 2024
5c99bde
Work on dark mode support and other UI tweaks
JonathanGiles Dec 12, 2024
dcd93ce
/json/config was hitting /json
lucasnz Dec 12, 2024
8d6b1c6
Change Config to use Preferences
lucasnz Dec 10, 2024
0de1b9f
More webui improvements
JonathanGiles Dec 12, 2024
69996bd
Merge pull request #2 from lucasnz/New-WebUI
JonathanGiles Dec 13, 2024
148b028
Change to using SPIFFS for file system.
lucasnz Dec 14, 2024
b03ba1e
Update factory bin to include filesystem
lucasnz Dec 13, 2024
bbcc992
Enable web server to update file system.
lucasnz Dec 14, 2024
331c7d4
Hacks to get FOTA to work
lucasnz Dec 14, 2024
c377f4a
hard-coded FOTA page in case file system gets wiped
lucasnz Dec 14, 2024
39e0f63
We need /reboot if the file system isn't initalised to
lucasnz Dec 15, 2024
e44d74a
Build filesystem image
lucasnz Dec 15, 2024
5a64668
Include spiffs.bin in archive
lucasnz Dec 15, 2024
5ff4376
Simplified readme
JonathanGiles Dec 15, 2024
ec37f7d
Merge pull request #3 from lucasnz/New-WebUI
JonathanGiles Dec 15, 2024
fae974e
Include spiffs in build and release
lucasnz Dec 15, 2024
bd43ef1
Change log
lucasnz Dec 15, 2024
16a9326
Merge pull request #4 from lucasnz/New-WebUI
JonathanGiles Dec 15, 2024
5bdbefb
Fix input types not showing values.
lucasnz Dec 15, 2024
c1d2f66
Merge pull request #5 from lucasnz/New-WebUI
JonathanGiles Dec 16, 2024
86059f4
adding copy to clipboard functionality
JonathanGiles Dec 16, 2024
7ead361
Some tweaks to clear bad state
JonathanGiles Dec 16, 2024
87152dd
Minor UI fix and delete unneeded reboot.htm
lucasnz Dec 16, 2024
b1208a0
Enable local FOTA updates.
lucasnz Dec 16, 2024
3e15c9a
Merge pull request #90 from lucasnz/New-WebUI
lucasnz Dec 16, 2024
04a25ac
Merge branch 'New-WebUI'
lucasnz Dec 16, 2024
fc687a6
Create dependabot.yml
lucasnz Jan 1, 2025
5d7a14e
Create codeql.yml
lucasnz Jan 1, 2025
8da62d0
delete codeql
lucasnz Jan 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
2 changes: 1 addition & 1 deletion .github/workflows/build_and_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,6 @@ jobs:
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "firmware/firmware*.bin"
artifacts: "firmware/*.bin"
bodyFile: "CHANGELOG.md"
removeArtifacts: true
12 changes: 7 additions & 5 deletions .github/workflows/build_firmware.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,21 @@ jobs:
python-version: "3.x"
- name: Install PlatformIO
run: pip install platformio
- name: Build file system image for ${{ inputs.platform }}
run: pio run --target buildfs -e ${{ inputs.platform }}
- name: Build for ${{ inputs.platform }}
run: pio run -e ${{ inputs.platform }} -t mergebin
#- name: Display firmware files
# run: ls -la .pio/build/${{ inputs.platform }}/firmware*.bin
- name: Rename and move firmware files
run: |
ls -la .pio/build/${{ inputs.platform }}/*.bin
mv .pio/build/${{ inputs.platform }}/firmware.bin firmware_${{ inputs.platform }}_ota.bin
if [ "${{ inputs.platform }}" != "esp8266dev" ]; then
mv .pio/build/${{ inputs.platform }}/firmware_factory.bin firmware_${{ inputs.platform }}_factory.bin
fi
ls -la firmware*.bin
mv .pio/build/${{ inputs.platform }}/firmware_factory.bin firmware_${{ inputs.platform }}_factory.bin
mv .pio/build/${{ inputs.platform }}/spiffs.bin spiffs_${{ inputs.platform }}.bin
ls -la *.bin
- name: Archive Firmware
uses: actions/upload-artifact@v4
with:
name: firmware_${{ inputs.platform }}
path: firmware_${{ inputs.platform }}*.bin
path: "*_${{ inputs.platform }}*.bin"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
.vscode/launch.json
.vscode/ipch
.vscode/extensions.json
.DS_Store
9 changes: 5 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
**Prereq for New Web UI**
**New Web UI**

* Move settings to Preferences
* Updated OTA to support flashing file system
* Bug fixes
***Breaking change*** *You should deploy v1.0.9 if migrating from an ealier version, this will ensure your settings (mqtt server, spa name, etc) are migrated.*

* Changed settings to be stored in Preferences
* New Web UI
31 changes: 4 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,7 @@
# SpaNet MQTT ESP32 bridge
# eSpa

SpaNet serial to mqtt bridge, including HomeAssitant autodiscovery.
## Introduction

Developed for the ESP32 Dev board but should work on any ESP32 platform. By default uses UART2 for communications with the SpaNet controller.

Discussion on this (and other) SpaNet projects can be found here https://discord.com/channels/967940763595980900/967940763595980903

## Configuration
On first boot or whenever the enable key is press the board will enter hotspot mode. Connect to the hotspot to configure wifi & mqtt settings.

## Firmware updates

Firmware updates can be pushed to http://ipaddress/fota

## Logging

Debug / log functionality is available by telneting to the device's ip address


## Circuit
To keep things as simple as possible, off the shelf modules have been used.
NOTE: The resistors on the RX/TX pins are recommended but optional.

<img src="circuit/circuit.png" alt="Circuit" title="Circuit"/>

<img src="images/board.png" alt="Assembly" title="Assembly" width="33%"/>
<img src="images/disassembled.png" alt="Components" title="Components" width="33%"/>
<img src="images/wiring.png" alt="Wiring" title="Wiring" width="33%"/>
The [eSpa project](https://espa.diy) is an open source community for spa home automation, built around [firmware](https://espa.diy/firmware.html) (found in this GitHub repo) and a simple [hardware design](https://espa.diy/hardware.html) that you can build yourself, or [purchase pre-assembled](https://store.espa.diy/).

Learn more at the [eSpa website](https://espa.diy), and [join us on Discord](https://discord.gg/faK8Ag4wHn).
Loading