ESPSomfy-RTS/test
cjkas 4f8eac03ac refactor: move the shade's behaviour into ShadeBehaviour
PR B of SHADE_BEHAVIOUR_PLAN.md. What a shade does with frames, commands,
group commands and radio events moves unchanged from SomfyShade into
ShadeBehaviour, which builds natively and is pinned by test_shadebehaviour.

ShadeBehaviour reads ShadeSettings and RemoteSettings, gets the time on
every input, and holds the motion state that other files now read through
state(). It sends through MotorLink and reports through ShadeEvents
(changes, commands, save wanted, sensor flags) as things happen.
SomfyShade wraps it: its MotorLink is SomfyRemote::sendCommandAfter, which
now leaves the sender out of the echo and radio hold because the module
hears its own frame. lastFrame stays shared with the send path.

ConfigFile writes through restore() and clearTilt(), SomfyShadeOps through
setPosition(). The pinning tests label where the copies of a rule disagree
"today:", for the reconcile phase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 21:21:38 +02:00
..
stubs refactor: time steps with ElapsedTimer::lap() 2026-10-13 15:39:14 +02:00
test_frame fix: turn a group's sun flag on, not off, for MQTT sunFlag 1 2026-10-12 20:55:21 +02:00
test_json fix: track the JSON length instead of recounting it 2026-10-12 16:04:13 +02:00
test_logging refactor: time steps with ElapsedTimer::lap() 2026-10-13 15:39:14 +02:00
test_loopqueue refactor: carry out shade requests from one module behind a LoopQueue 2026-10-16 09:42:58 +02:00
test_modeleditor refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
test_motion fix: default a set-favorite request's tilt to the favorite tilt 2026-10-14 15:57:49 +02:00
test_mqttcommands refactor: split the transports into the modules GLOSSARY.md names 2026-10-16 13:47:56 +02:00
test_pulse refactor: move the RX pulse decoder into PulseDecoder 2026-10-13 21:21:05 +02:00
test_radioscheduler refactor: name radio jobs as GLOSSARY.md does 2026-10-13 15:13:03 +02:00
test_rollingcode test: cover the radio queue rules, shade TX state, rolling codes and web command hold 2026-10-12 20:26:33 +02:00
test_sensors fix: move only the tilt of a tilt-only shade for sun and wind 2026-10-13 21:14:20 +02:00
test_shadebehaviour refactor: move the shade's behaviour into ShadeBehaviour 2026-10-16 21:21:38 +02:00
test_shadechanges refactor: send shade and group changes once per loop() pass 2026-10-16 10:40:44 +02:00
test_shaderequests refactor: carry out shade requests from one module behind a LoopQueue 2026-10-16 09:42:58 +02:00
test_shadesettings refactor: hold shade settings in ShadeSettings and RemoteSettings 2026-10-16 20:31:39 +02:00
test_shadetx test: name the ticket tests as GLOSSARY.md does 2026-10-13 15:35:15 +02:00
test_snapshot refactor: apply shade model edits on loop() through ModelEditor 2026-10-16 10:26:45 +02:00
test_txbuffer fix: keep a repeater frame until the radio queue takes it 2026-10-12 18:31:39 +02:00
test_txjob refactor: let one RadioScheduler own the radio job queue 2026-10-12 20:36:32 +02:00
test_utils test: cover the roam threshold and who gets memStatus 2026-10-13 15:37:12 +02:00