ESPSomfy-RTS/src
cjkas 9383ebec2e fix: keep stored secrets when an older UI sends them empty
Firmware and UI files update separately, so an old index.js can run
against firmware that no longer returns secrets. It sends "" for the
field it can't fill in, which cleared the WiFi passphrase (reboot into
AP mode) or the MQTT password.

The firmware now decides: "" keeps the stored secret, unless the same
request changes the SSID or MQTT username, then it clears it (open
network). /setNetwork compares the settings after applying them, so a
kept passphrase no longer triggers a reboot. The UI cache-buster moves
to 3.0.14d.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 20:07:31 +02:00
..
entryPoints fix: keep stored secrets when an older UI sends them empty 2026-10-18 20:07:31 +02:00
outputs fix: make the socket buffer big enough for the largest event 2026-10-17 23:32:50 +02:00
ConfigFile.cpp Merge pull request #54 from cjkas/fix/restore-skip-rooms 2026-10-17 23:11:42 +02:00
ConfigFile.h fix: skip the room records too when a restore leaves the shades out 2026-10-17 22:53:18 +02:00
ConfigHeader.h fix: skip the room records too when a restore leaves the shades out 2026-10-17 22:53:18 +02:00
ConfigSettings.cpp fix: keep stored secrets when an older UI sends them empty 2026-10-18 20:07:31 +02:00
ConfigSettings.h chore: bump version to v3.0.14 2026-10-10 17:01:25 +00:00
ESPNetwork.cpp feat: report main-loop health in memStatus 2026-10-18 13:53:30 +02:00
ESPNetwork.h test: cover the roam threshold and who gets memStatus 2026-10-13 15:37:12 +02:00
GitOTA.cpp refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +02:00
GitOTA.h remove sync server 2026-03-24 19:23:35 +01:00
JsonFormatter.cpp fix: track the JSON length instead of recounting it 2026-10-12 16:04:13 +02:00
JsonFormatter.h fix: track the JSON length instead of recounting it 2026-10-12 16:04:13 +02:00
LogLock.cpp fix: don't wait on a log lock holder that can't run 2026-10-12 18:35:42 +02:00
LogLockPolicy.h fix: don't wait on a log lock holder that can't run 2026-10-12 18:35:42 +02:00
LoopQueue.cpp refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
LoopQueue.h refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
ModelEditor.cpp refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
ModelEditor.h refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
ModelSnapshot.cpp fix: give out ids up to the maximum 2026-10-17 23:03:16 +02:00
ModelSnapshot.h test: prove no read item can outgrow the snapshot unit 2026-10-17 23:29:04 +02:00
MqttConnection.cpp refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +02:00
MqttConnection.h refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +02:00
PulseDecoder.cpp refactor: move the RX pulse decoder into PulseDecoder 2026-10-13 21:21:05 +02:00
PulseDecoder.h refactor: move the RX pulse decoder into PulseDecoder 2026-10-13 21:21:05 +02:00
RadioScheduler.cpp refactor: name radio jobs as GLOSSARY.md does 2026-10-13 15:13:03 +02:00
RadioScheduler.h refactor: name radio jobs as GLOSSARY.md does 2026-10-13 15:13:03 +02:00
RollingCode.h refactor: rename what is left of Somfy.cpp to SomfyShade.cpp 2026-10-13 20:47:14 +02:00
Secrets.h fix: keep stored secrets when an older UI sends them empty 2026-10-18 20:07:31 +02:00
ShadeBehaviour.cpp cleanup: drop the step cases onWaitingFrame never reaches 2026-10-17 23:25:16 +02:00
ShadeBehaviour.h fix: keep a tilt-only shade's lift at 100 whatever sends the command 2026-10-16 22:47:53 +02:00
ShadeChanges.cpp refactor: send shade and group changes once per loop() pass 2026-10-16 10:40:44 +02:00
ShadeChanges.h refactor: send shade and group changes once per loop() pass 2026-10-16 10:40:44 +02:00
ShadeController.cpp Merge pull request #57 from cjkas/fix/full-id-range 2026-10-17 23:12:31 +02:00
ShadeGpio.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
ShadeMotion.cpp fix: default a set-favorite request's tilt to the favorite tilt 2026-10-14 15:57:49 +02:00
ShadeMotion.h fix: default a set-favorite request's tilt to the favorite tilt 2026-10-14 15:57:49 +02:00
ShadeRequests.cpp refactor: carry out shade requests from one module behind a LoopQueue 2026-10-16 09:42:58 +02:00
ShadeRequests.h refactor: carry out shade requests from one module behind a LoopQueue 2026-10-16 09:42:58 +02:00
ShadeSensors.cpp fix: move only the tilt of a tilt-only shade for sun and wind 2026-10-13 21:14:20 +02:00
ShadeSensors.h fix: move only the tilt of a tilt-only shade for sun and wind 2026-10-13 21:14:20 +02:00
ShadeSettings.h refactor: hold shade settings in ShadeSettings and RemoteSettings 2026-10-16 20:31:39 +02:00
ShadeTypes.h refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
Somfy.h refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyController.ino feat: report main-loop health in memStatus 2026-10-18 13:53:30 +02:00
SomfyEditor.h refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
SomfyFrame.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyFrame.h refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyGroup.cpp refactor: hold shade settings in ShadeSettings and RemoteSettings 2026-10-16 20:31:39 +02:00
SomfyJson.cpp cleanup: drop the group members SomfyGroup::fromJSON threw away 2026-10-17 23:23:13 +02:00
SomfyRemote.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyShade.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyShadeOps.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfyShadeOps.h refactor: carry out shade requests from one module behind a LoopQueue 2026-10-16 09:42:58 +02:00
SomfySnapshot.cpp refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
SomfySnapshot.h refactor: serve the read routes from a ModelSnapshot that loop() fills 2026-10-16 10:05:22 +02:00
SSDP.cpp Added c6 support 2026-03-29 21:53:57 +02:00
SSDP.h init 2026-03-10 20:23:48 +01:00
Timing.h refactor: time steps with ElapsedTimer::lap() 2026-10-13 15:39:14 +02:00
Transceiver.cpp fix: make the socket buffer big enough for the largest event 2026-10-17 23:32:50 +02:00
Transceiver.h refactor: move the RX pulse decoder into PulseDecoder 2026-10-13 21:21:05 +02:00
TxBuffer.cpp test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
TxBuffer.h refactor: name radio jobs as GLOSSARY.md does 2026-10-13 15:13:03 +02:00
Utils.cpp feat: report main-loop health in memStatus 2026-10-18 13:53:30 +02:00
Utils.h feat: report main-loop health in memStatus 2026-10-18 13:53:30 +02:00
WResp.cpp fix: track the JSON length instead of recounting it 2026-10-12 16:04:13 +02:00
WResp.h feat: log timings for slow work, socket clients and boot crashes 2026-10-11 20:35:43 +02:00