I have got a poc with a local flac file and with a stream. The next two weeks i will start to work that out to a usable solution and integrate it with the alarm clock. I will also try to create detection if there is really sound coming from the speaker.
@EnsconcE Can you please upload the “materialdesignicons-webfont.ttf”.
It’s missing in the fonts folder and when i use another from github it’s stating missing glyphs.
It seems for now that only a file of about 20secs can be uploaded. The advantage is though, that it can loop endlessly. So local files should really be seen as a last solution to the no internet connection problem…
Nice, thx for your efforts!
In your SOAS implementation, can you please also allow the user to select the local file as a primary alarm sound?
So regardless of wifi, internet and so on … just the local alarm sound can be selected and will be used.
Sure, optionally use an HA/internet stream (as it is now).
In our case the SOAS devices are just alarm clocks and they should be reliable
If you need help i can also try to implement/test things out on my hardware.
I have just pushed local file support to the dev branch. @pOpY@DieOuweGek, if you have the opportunity then please let me know if you have any remarks.
As for your question about alarm clock only @pOpY. The main goal of this was to be able to stream an internet stream and then have a fallback to a local file, which is now finally available. If local only is implemented, a lot needs to be reviewed and i think it’s not really worth it. If you provide the HA url and use the same file locally, then there is no real difference (only max 5s delay before local kicks in due to detection things if internet is not available). You could probably even point out to a bogus URL to have the same experience even if there is a connection. Another difference will be there when your file is too large to be able to be flashed onto the esp, but then you could use a smaller file for almost the same experience…
Wow, nice!
Tested the local fallback and it works as it should!
So now, when there is an internet/wifi issue, the alarm also goes off.
I have converted one of my amazon alexa ,mp3’s to flac and it plays flawlessly.
Reegarding fallback:
I understand your decision and in the end, it does’nt really matter.
The main point was an fallback, and now there is this feature.
thx, for also adding the raising volume feature and including my weekday language feature.
I have made tqo PR’s regarding following features:
able to switch off the display
adding another display mode (this is breaking beacause i renamed “Minimal”). Becaue our user base is currently small, hopefully you will merge it, so i can use the main branch again.
Add configurable alarm off button single click time
Thanks, will look into those. I have just pushed my changes to the master. I will look into your PR’s seperatly. It already was a big change, so i did not want to stretch that any further.
Just released 2025.9.7.1, see changelog below. Thanks to @pOpY for some nice features. There is also an update for the STL files, only the SH1107 has been updated. I will update SH1106 in the near future. With this update, a module can be shoved into the inside of the clock. This way the clock becomes a bit more dynamic.
The next release will focus on more modules, but also support for the ESP-IDF framework and for the Arduino framework.
2025.9.7.1
ATTENTION Avoid using GPIO3, which is a JTAG strapping pin. You must attach the wire from MAX98357a LRC ↔ from ESP32 GPIO3 to GPIO12 for audio to work again.
Configurable max alarm off button time
Write preferences (like alarm_on) immediately to flash when alarm goes off (alarm_on set to true).
If the clock would crash, it will restore alarm_on (true) and restores the alarm.
Optional GPS time sync with NEO-6M
Night mode switch with Night mode automatic switch
time_sync_done is now set by checking the local clock
check_alarms script is now single mode
Display on switch with Display on/off automatically switch
2025.9.18.1 went to the main branch moments ago. Big, and unfortunately breaking, changes. Support for arduino framework is back due to stability issues with the esp-idf. With arduino there is also custom support for local files, by means of a local audio stream server. It’s all now a bit more flexible.
This release also contains a lot of modules, mostly done by @pOpY
2025.9.18.1
BREAKING SOAS now supports Arduino and the ESP-IDF framework. You will need to configure your SOAS accordingly. Please review the modules sestion
BREAKING Home Assistant # time, snooze time and sleep timer are changed to datetime or time components
I added this possibility of a tactile switch due to crowdedness in the housing. With these printable files the space used is less then the flathead button and with that it becomes easier to put the clock together.