Skip to content
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

Only Updates when Process Variable changes #45

Open
11sas11 opened this issue Aug 3, 2023 · 3 comments · May be fixed by #48
Open

Only Updates when Process Variable changes #45

11sas11 opened this issue Aug 3, 2023 · 3 comments · May be fixed by #48
Assignees
Labels
feature New feature or request

Comments

@11sas11
Copy link

11sas11 commented Aug 3, 2023

The controller only updates when it sees a change in the process variable. This means that the integral doesn't keep winding up as it should and makes behavior erratic. If I have the update set to 30s, and I have an error the integral should add to the output every 30s. Am I doing something wrong, or is this how it is intended to work?

Noting the output is prodominately Integral
2023-08-04_09-02-26

2023-08-04_09-07-07

Also the scaling is a problem. It is okay with temperatures, but I want to use W into the house and adjust loads to suit. So typically the number is between -5000 and +5000, even with a proportional and integral at 0.01 and the output range set to 100 000 it saturates in one scan if there is -500 W of power.

@soloam
Copy link
Owner

soloam commented Aug 4, 2023

Hello! I know that this is a huge limitation! I've been struggling to have time to address all this issues! I'm also using a lot this component, and I also need this. I'll make this my priority change!

Thank you

@soloam soloam added the feature New feature or request label Aug 4, 2023
@soloam soloam self-assigned this Aug 4, 2023
@11sas11
Copy link
Author

11sas11 commented Aug 7, 2023

Thanks, I have been doing a fair bit of testing on it. I put it on my inbound power use that moves more than once a minute, and with the once a minute PV copy it updates. Another thing I notice is that I can get it to wind up slowly, but when the error goes the other way it jumps back to zero.

(btw on the scaling, I just divided the power by 1000 in the 1 minute write automation so it is -5, to +5 and that seems to give me latitude.)

I really appreciate the work that goes into these things, and I have been involved in software dev in my life previously, and understand that it takes a fair bit of time and effort to test and find issues, so just take this as trying to help out (and not a complaint or anything like that).
2023-08-07_13-36-59

@dxstp
Copy link

dxstp commented Sep 15, 2023

Confirmed, this is should be fixed as soon as possible. As a workaround, I've created a "noise generator" and added this value to the sensor input value. The noise is just a toggle between 0 and 0.01°C, with an automation routine every second. I wonder if adding a specified amount of noise to a discrete input value (21.0, 21.5, ...) would be helpful for the controller to avoid oscillations and windup near the target value.

@LukasK13 LukasK13 linked a pull request Oct 22, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants