ESPSomfy-RTS/src
cjkas 89d3713d86 test: prove no read item can outgrow the snapshot unit
The read routes leave out a room, shade, group or linked shade that
doesn't fit the 3 KB unit, without telling the client (KNOWN_ISSUES.md).
test_snapshot_limits fills a snapshot with the largest possible items and
checks every read document written with the real unit is identical to
the same document written with an unlimited one. The largest item, a
shade, is 1,097 bytes. The unit is now SNAPSHOT_UNIT_SIZE in
ModelSnapshot.h, used by Web.cpp and the tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:29:04 +02:00
..
entryPoints test: prove no read item can outgrow the snapshot unit 2026-10-17 23:29:04 +02:00
outputs refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +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: give every NVS user its own Preferences handle 2026-10-12 20:51:05 +02:00
ConfigSettings.h chore: bump version to v3.0.14 2026-10-10 17:01:25 +00:00
ESPNetwork.cpp refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +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
ShadeBehaviour.cpp fix: keep a tilt-only shade's lift at 100 whatever sends the command 2026-10-16 22:47:53 +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 refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +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 refactor: hold shade settings in ShadeSettings and RemoteSettings 2026-10-16 20:31:39 +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 refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +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 test: cover the roam threshold and who gets memStatus 2026-10-13 15:37:12 +02:00
Utils.h test: cover the roam threshold and who gets memStatus 2026-10-13 15:37:12 +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