-
Notifications
You must be signed in to change notification settings - Fork 66
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
feature: interpret load sensors in kW rather than W #292
base: master
Are you sure you want to change the base?
Conversation
Hi, thanks for working on this. |
So to solve this probably break it into two new variables, something like: |
Thanks for reviewing! Your comments make sense. |
…ly. modified methods that take runtime parameters to accept a var_model_in_kw boolean for the same purpose.
Please check how this version looks like to you. I've split the unit flags and I've added the same option to the methods that take the sensors as runtime parameters. The concept is that these apply only when collecting info from HA, cached data should be kept in W, so methods that read off files shouldn't be checking the flags. |
if "var_model_in_kw" not in runtimeparams.keys(): | ||
var_model_in_kw = False | ||
else: | ||
var_model_in_kw = eval(str(runtimeparams["var_model_in_kw"]).capitalize()) |
Check failure
Code scanning / CodeQL
Code injection Critical
user-provided value
This code execution depends on a
user-provided value
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.
identical situation to other runtimeparams including other boolean flags
Unit tests are failing. This doesn't seem ready yet? |
Hello David, apologies I am not used to working with GitHub or pull request
etiquette. Should I undo the pull request until it is clean and ready to
go? Is there a way to run the unit tests outside of this interface? Thanks,
Pedro.
…On Sat, 1 Jun 2024, 18:10 David, ***@***.***> wrote:
Unit tests are failing. This doesn't seem ready yet?
—
Reply to this email directly, view it on GitHub
<#292 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APVEFGQF6QHMQH7ZV6QBGP3ZFH6ANAVCNFSM6AAAAABIHZXT46VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTGUYTOMZYGY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
No problem. For me Method 1 locally works just fine. |
@pjvenda Sorry to be barking in this late in your development process, but I'd like to share my thoughts on the configuration variable.
So in config, you define the unit as |
No need to apologise.
I have been stuck with work and fam life with little chance to advance the
development.
I take your point, it makes sense. On the code side however, taking a text
parameter is much more tricky to parse than a true/false as there is more
variability and more unknowns, so at some point a Boolean would exist
internally regardless.
Another option is to deal with this at the UI level (e.g. radio box for W
or kW) and just hide the Boolean altogether.
…On Wed, 30 Oct 2024, 07:58 Octofinger, ***@***.***> wrote:
@pjvenda <https://github.com/pjvenda> Sorry to be barking in this late in
your development process, but I'd like to share my thoughts on the
configuration variable.
I believe using a boolean variable to select whether to use kW units or
not is a bad idea. It's a bad idea because it doesn't explicitly say what
unit is used if you set the variable to False. It would be much more clear
from an end user perspective if you use the configuration variable to
actually define the unit. E.g. something like this:
var_PV_power_unit that can take the values "kW" or "W"
var_load_power_unit that can take the values "kW" or "W"
So in config, you define the unit as var_PV_power_unit: 'W'.
In the code, lower case the configured value (so it's not case sensitive
in the config) and also set a default value of 'W' in case the config
variable isn't set.
—
Reply to this email directly, view it on GitHub
<#292 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APVEFGUJRYZXYCXTAUG4AH3Z6CGTDAVCNFSM6AAAAABIHZXT46VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGEYDENJQGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thank you. Your code, your decision. Just remember that there's no UI option for the stand-alone setups, so configuration must be reasonably understandable in yaml. I think it would pay off in the end to make this a string configuration to set the actual power unit to use, even if it would translate to a boolean value internally. Thanks for contributing to EMHASS though. I wish I could find the time and skills to do more myself.
|
I took a look and tried to implement a switch that has load sensors interpreted as kW rather than W. I ran the tests and the optimisation process and I think it is working. Anything else I should be testing for? Thanks in advance.