]> git.giacomolli.uk - onehouse/commit
Poll and command shared Alamo thermostats master
authorAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:53:56 +0000 (20:53 -0300)
committerAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:53:56 +0000 (20:53 -0300)
commitc36e60046f72af3d0803943185526c27b10aa4ae
tree170fd6c1b1df22e5f582c265936b325c9fc6c989
parentb9a4f3bdd2609a8b178dd42f313c383ccb59049b
Poll and command shared Alamo thermostats

One gateway worker shares status polls and the request budget across its
thermostats. Three missed observations publish offline, and successful
feedback restores online. Commands read a fresh baseline, verify power
off before target changes, and verify the target before power on.

The shared ledger records each outcome before feedback or result sends,
so duplicate commands replay stable results without another exchange.
Caller cancellation preserves independent failures, and HTTP errors omit
sensitive request and response data. The command keeps its empty driver
list so construction cannot start a device connection.

Issue: 5947f38
17 files changed:
README.rst
doc/alamo.rst
driver/alamo/client.go
driver/alamo/command_handler.go [new file with mode: 0644]
driver/alamo/command_handler_test.go [new file with mode: 0644]
driver/alamo/driver.go [new file with mode: 0644]
driver/alamo/driver_test.go [new file with mode: 0644]
driver/alamo/fake_helper_test.go
driver/alamo/gateway.go
driver/alamo/gateway_record_test.go [new file with mode: 0644]
driver/alamo/gateway_test.go
driver/alamo/http_client.go
driver/alamo/http_client_test.go
driver/alamo/queued_commands.go [new file with mode: 0644]
driver/alamo/settings.go [new file with mode: 0644]
driver/alamo/thermostat.go [new file with mode: 0644]
driver/alamo/thermostat_state.go [new file with mode: 0644]