Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/esphome.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
uses: esphome/build-action@v7.0.0
with:
yaml-file: ${{ github.workspace }}/firmware/lolin_s2_mini.yaml
version: 2025.8.1
version: 2026.8.2
release-summary: ${{ env.RELEASE_SUMMARY }}
release-url: https://openspool.io/firmware
complete-manifest: false
Expand All @@ -87,7 +87,7 @@ jobs:
uses: esphome/build-action@v7.0.0
with:
yaml-file: ${{ github.workspace }}/firmware/lolin_s3_mini.yaml
version: 2025.8.1
version: 2026.8.2
release-summary: ${{ env.RELEASE_SUMMARY }}
release-url: https://openspool.io/firmware
complete-manifest: false
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,11 @@ Alternatively the firmware can be installed with `make` commands as shown below.
### OSX/Linux

```
brew install esphome

git clone https://github.com/spuder/OpenSpool
cd OpenSpool/firmware
python -m venv .virtualenv
source .virtualenv/bin/activate
pip install -r requirements.txt
```

Press and hold the D0 button while pressing the reset button on the Wemos D1 Mini.
Expand Down
2 changes: 1 addition & 1 deletion firmware/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ esphome:
project:
name: spuder.openspool
version: ${version}
min_version: 2025.8.1
min_version: 2026.3.0
platformio_options:
build_unflags: -std=gnu++11
build_flags:
Expand Down
132 changes: 66 additions & 66 deletions firmware/conf.d/automation.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion firmware/conf.d/filament.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ select:
- text_sensor.template.publish:
id: filament_color_hex
state: !lambda |-
ESP_LOGD("main", "Color %s", id(filament_color).state.c_str());
ESP_LOGD("main", "Color %s", id(filament_color).current_option().c_str());
if ( x == "white") {
return "FFFFFF";
} else if ( x == "yellow") {
Expand Down
12 changes: 10 additions & 2 deletions firmware/conf.d/led-external.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,15 @@ light:
lambda: |-
static float b = 0;
b = (sin(millis() / 500.0) + 1.0) / 2.0 * 0.6 + 0.4;
auto color = esphome::light::ESPColor(0, 0, uint8_t(255 * b));
auto color = Color(0, 0, uint8_t(255 * b));
it.all() = color;
- addressable_lambda:
name: Breathing Green
update_interval: 10ms
lambda: |-
static float g = 0;
g = (sin(millis() / 500.0) + 1.0) / 2.0 * 0.6 + 0.4;
auto color = Color(0, uint8_t(255 * g), 0);
it.all() = color;
- addressable_lambda:
name: Apple Breathing
Expand All @@ -36,7 +44,7 @@ light:
float t = millis() / 2000.0;
float brightness_float = (exp(sin(t * PI)) - 0.368) * 42.546;
uint8_t brightness = uint8_t(brightness_float);
auto color = esphome::light::ESPColor(brightness, 0, 0);
auto color = Color(brightness, 0, 0);
for (int i = 0; i < it.size(); ++i) {
it[i] = color;
}
Expand Down
8 changes: 4 additions & 4 deletions firmware/conf.d/pn532_rfid-solo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ button:
# return true;
# }
- lambda: |-
if (id(filament_brand).state == "") {
if (id(filament_brand).current_option() == "") {
ESP_LOGE("main", "Filament Brand cannot be empty");
return false;
} else {
Expand Down Expand Up @@ -227,7 +227,7 @@ button:
return true;
}
- lambda: |-
if (id(filament_type).state == "") {
if (id(filament_type).current_option() == "") {
ESP_LOGE("main", "Filament Type cannot be empty");
return false;
} else {
Expand Down Expand Up @@ -274,10 +274,10 @@ button:
else{
root["color_hex"] = id(filament_color_hex).state;
}
root["type"] = id(filament_type).state;
root["type"] = id(filament_type).current_option();
root["min_temp"] = id(filament_min_temp).state;
root["max_temp"] = id(filament_max_temp).state;
root["brand"] = id(filament_brand).state;
root["brand"] = id(filament_brand).current_option();

std::string json_string;
serializeJson(root, json_string);
Expand Down
1 change: 1 addition & 0 deletions firmware/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
esphome=2026.8.2