PID-Controller implementation



  • Hi,
    I built actuators for the radiators in my room and connected it to mycontroller via MQTT successfully.
    Now instead of creating a set of rules with some kind of hysteresis I was wondering if it would make sense to implement something like a PID-Controller to keep the desired room temperature.
    How would you go about it?


  • ADMIN

    @ragflyer we may write a script and execute every x second(s) once via a timer. We can implement PID-controller logic on a script.

    I never worked with PID-Controller, Kindly let me know is it possible to create a generic PID-Controller? If Yes, I can add this feature to MyController.



  • Do you have a sample script where there is an input from one sensor and an output to an actuator for me to study?

    A PID-Controller is actually quite universal. All adjustment to the process you want to control is set through the 3 constants kp, ki, kd.
    I imagine a new condition type "PID-Controller" in the Rules tab with settings of source sensor, kp, ki, kd, and destination actuator or operation.
    Is it possible to give the result value to an operation as argument, so it can send it to a sensor variable as payload?
    There are lots of ready implementations for the simple math, e.g. https://github.com/rudin-io/pid/blob/master/controller/src/main/java/li/rudin/pid/controller/PIDController.java


  • ADMIN

    @ragflyer Let me check this


Log in to reply