-
Notifications
You must be signed in to change notification settings - Fork 19
983 refactor improve aquapath UI layout and add fan speed configuration page #990
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
983 refactor improve aquapath UI layout and add fan speed configuration page #990
Conversation
The app now detects when a machine disconnects and redirects you to the setup page. Before, it would just stay on the machine page even though the machine was gone. Fixed both backend (USB detection) and frontend (auto-navigation). Added error handling for parseInt and pathMatch array access.
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
- data is now displayed per device instead of per measurement type
…ed-configuration-page' of https://github.com/qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
Add support for reading fan speeds and setting target RPM values for both front and back fans in the Aquapath V1 machine.
- extend 'emit_state' to integrate FanState - implement fan rpm setter function for AquaPathV1 struct
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
- Both fans should be adjustable individually - Therefor the second slider for the other fan
- use Badge instead of Status Badge
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
- fine tuning is still necessary
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
- resolves an issue in the UI where the setting wouldnt update
…ed-configuration-page' of github.com:qitechgmbh/control into 983-refactor-improve-aquapath-ui-layout-and-add-fan-speed-configuration-page
- resolves #987 - however, total_energy calculation is incorrect but stable
|
The Power Consumption of the heating Relais should probably be sent via StateEvent instead of LiveValuesEvent. There has been an incident where the UI froze on the real machine. Too many state refreshes might have been the issue, though this is not confirmed right now. |
|
Codewise looks fine. I shall look into the UI issues once I have hardware on my hands. |
tsymalla
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just a viewer, so feel free to ignore my comments.
| Total: {back_total_energy.current?.value} kWh | ||
| </Badge> | ||
| )} | ||
| {backCurrentTemperature > backCoolingBoundary && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might have an easier life if you'd just introduce helpers returning a boolean for code like that instead of repeatedly writing similar conditions all over the place.
| title="Set Target Temperature" | ||
| min={0} | ||
| value={backTargetTemperature} | ||
| max={80} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity: does your backend receive and clamp those values to avoid tampering?
| } else if !on && self.temperature.heating { | ||
| self.turn_heating_off(); | ||
| } | ||
| self.turn_heating_on(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity: how does that work? That means, does turn_heating_on trigger the heating to turn on and then it takes some time for the actual hardware to heat, but immediately returns, or does it actually wait until the heating is turned on and then the total power is increased?
| } | ||
| self.turn_heating_on(); | ||
|
|
||
| self.total_energy += self.get_current_power() * elapsed.as_secs_f64() / 3600.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might have an easier life making this a commonly available helper.
| let max_revolutions = self.get_max_revolutions(); | ||
| let temp_offset = self.current_temperature - self.target_temperature; | ||
|
|
||
| let target_revolutions = (temp_offset.get::<kelvin>() * 10.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Making 10.0 a named constant can improve readability.
No description provided.