* [pidcontroller] Implement previous state recovery on startup
This feature allows the PID controller parameters to be updated and
OpenHAB to be restarted without losing the current controller state.
This is especially important for systems with a long response time.
For example it might take up to a day for an underfloor heating
controller to stabilise after losing state and having to build up
the integrator value from zero.
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Change logger.info -> logger.debug
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Change debug Item -> inspector Item in README
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Add documentation regarding state persistence
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Update bundles/org.openhab.automation.pidcontroller/README.md
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* Update bundles/org.openhab.automation.pidcontroller/README.md
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [pidcontroller] Add ability to limit the I-part
* Apply iMinValue & iMaxValue to the integral result accumulator
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* Set iMinResult, iMaxResult default value to NaN
Co-authored-by: Lenno Nagel <lenno@nagel.ee>
* [pidcontroller] Reset state of command Item after command has been processed
* Fix read-only state of item parameters
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* [pidcontroller] Catch empty commandTopic
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [pidcontroller] Fix handling action
keys in action context from trigger are passed with prefix of trigger name.
This change removes the prefix to get the actual name and checks if it matches an item.
Else it tries the original name.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [pidcontroller] review comment
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [pidcontroller] Remove limits, make Ki dependent from the loop time
Also fix naming of thread and shutdown executor.
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>