Commit Graph

111 Commits

Author SHA1 Message Date
ef86336b95 Add back asyncSlot to save_cfg_request 2024-10-07 17:48:24 +08:00
bc50b295bb hw_rev 2024-10-07 17:48:24 +08:00
4907678d53 fan_update: tec_qt to thermostat_ctrl_menu 2024-10-07 17:48:24 +08:00
9ede52de93 Fix updating status label for hwrev = None 2024-10-07 17:48:24 +08:00
66db9bcc57 Put some menu requests in menu itself 2024-10-07 17:48:24 +08:00
f29095a0da Broadcast ConnectionState changes from Thermostat 2024-10-07 17:48:24 +08:00
7e235c3fea Move sigActivatedHandle to CtrlPanel 2024-10-07 17:48:24 +08:00
e82e561d14 Get rid of timeout on readline 2024-10-07 17:48:24 +08:00
7ec7ae7329 Put send_command in CtrlPanel 2024-10-07 17:48:24 +08:00
9f0064a61c Extra bail removed 2024-10-07 17:48:24 +08:00
d8c7db3f66 return hwrev when start_session 2024-10-07 17:48:24 +08:00
254e391a09 state str 2024-10-07 17:48:24 +08:00
f6276cdd74 params update concurrently 2024-10-07 17:48:24 +08:00
b380d66750 Stuff non-UI changes in Thermostat model 2024-10-07 17:48:24 +08:00
56c3e30c6b Base Thermostat connectivity UI changes to state 2024-10-07 17:48:24 +08:00
5c6652cdcb Remove wait_for
OSError raised anyways
2024-10-07 17:48:24 +08:00
bfc3543972 Actually its OSError 2024-10-07 17:48:24 +08:00
eb9189247f {start,end}_session -> [dis]connect 2024-10-07 17:48:24 +08:00
05dd0afe03 Simplify on_connect_btn_clicked
Raise if OSError
2024-10-07 17:48:24 +08:00
af53926b01 Connecting task moved? 2024-10-07 17:48:24 +08:00
371ddcdc5b AsyncIO version Client -> AsyncioClient 2024-10-07 17:48:24 +08:00
f66d029915 Exclusively use the Thermostat object as a medium
All calls to the Thermostat should be forwarded by the medium.
2024-10-07 17:48:24 +08:00
cf39eee997 Integrate WrappedClient into Thermostat model 2024-10-07 17:48:24 +08:00
87ef1caf47 Should not stop cancelling read if timeout'd 2024-10-07 17:48:24 +08:00
9d271f97a2 Fix Autotuner state for forceful disconnect 2024-10-07 17:48:24 +08:00
6c09ce1be0 _ 2024-10-07 17:48:24 +08:00
8ab93591a3 Make connection loss handling more elegant
Show an info box on connection lost informing the user that the
Thermostat was forcefully disconnected.
2024-10-07 17:48:24 +08:00
c2952f881f Use new style super() 2024-10-07 17:48:24 +08:00
810237bccf Move command line host:port setting handling
To main
2024-10-07 17:48:24 +08:00
f9b1bf8c6c aioclient: Add missing readline for saving
Saving all channels returns multiple JSON objects, read the extra {}.
2024-10-07 17:48:24 +08:00
23aafeba08 import order rearrange 2024-10-07 17:48:24 +08:00
334c4dbdce This is bail 2024-10-07 17:48:24 +08:00
56b2ecfc9b thermostat: Properly register task
Also Thermostat.task -> Thermostat._update_params_task
2024-10-07 17:48:24 +08:00
de583c38c4 ip -> host 2024-10-07 17:48:24 +08:00
5f69cb55e7 Lazy evaluating for debug string command 2024-10-07 17:48:24 +08:00
4ccddf9f20 Add pytec runnables 2024-10-07 17:48:24 +08:00
585c33cabb Exactlier wording 2024-10-07 17:48:24 +08:00
7696a07b4a unused 2024-10-07 17:48:24 +08:00
2eb7eb40a2 encoding 2024-10-07 17:48:24 +08:00
206b825e88 Just catch asyncio.TimeoutError
Will just change to TimeoutError once we switch to Python 3.11 in the
flake.
2024-10-07 17:48:24 +08:00
4a038d04d1 Remove exception too general 2024-10-07 17:48:24 +08:00
8599c5be4e Use asserts to check for connectivity 2024-10-07 17:48:24 +08:00
99777d75ce Add back the parent 2024-10-07 17:48:24 +08:00
b6696c2b09 Fix method call 2024-10-07 17:48:24 +08:00
35a447e980 Swap order arounda bit more 2024-10-07 17:48:24 +08:00
f19809c852 Formatting 2024-10-07 17:48:24 +08:00
c9aa0eaab8 ctrl_panel: Reformat SpinBox text always if valid
The parameter SpinBoxes previously would only update if the interpreted
value was changed, missing cases where the text would have changed but
the value stays the same, e.g. removing trailing decimal zeros.
2024-10-07 16:13:56 +08:00
ed6cee4394 ctrl_panel: Move postfilter into its own group 2024-10-07 16:13:56 +08:00
e1bd960900 ctrl_panel: Use new locking mechanism from Kirdy 2024-10-07 16:13:56 +08:00
aed0c484dd ctrl_panel: Fix editing fields with unit "°C"
A faulty regular expression within PyQtGraph causes any Parameter with a
suffix that doesn't begin with an alphanumeric character (as matched
with \w) to act abnormally. For instance, entering "100 °C" into the
input boxes gets interpreted as 10 °C.

Patch the FLOAT_REGEX in PyQtGraph to simply match for any character in
the suffix group.
2024-10-07 16:13:56 +08:00