Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

pruwetbe: my personal project, replace my existing home automation by a codesys on Rpi

  • pruwetbe

    pruwetbe - 2020-08-31

    I have a running system for home heating automation that was developped by a local company. They stopped supporting the product last year.

    This system manage heating of the house, blinds and fresh cooling in summer, thermic solar panels in summer’ wood boiler in winter.

    A complete trend allow to record all values and use them for analysis for testing or troubleshooting.
    Γ€ visu app alors to monitors data , adjust setpoint from web browser trough my iPad locally or remotely.

    As I am used to PLC and HMI in my work, I was thinking that codesys could be the right choice for migrating my app.

    Up to now I only checked the achieved the communication to IO module reading temperature measurement and sending command to output module using modbus communication.
    I need also to replace IO module as they are not using standard network protocol .

    The next step will be to reprogram all functions and configure HMI but before to do this I am trying to understand the limits of the RPi.

    Home automation does not need to run fast so CPU capacity should not be the problem.. I am more afraid of trends limit, logging capacity, web visu limitsul systems is running every two seconds with some task every 8 second...

    In my existing system, Trends data are logged every minutes during one day, every 10 min for 10000 sample, every hour for 10000 samples.

    This is an interesting function and I don’t know is SQLite database would allow a kind a compressing the old data to save old data while keeping fast recording .

    Thanks for your comments

    Talk Topic about project #pruwetbe


    Last edit: pruwetbe 2020-08-31
  • aliazzz

    aliazzz - 2020-09-01


    I hope I have read your post good enough for my anwsers to be adequate.

    A Raspberry Pi 3B should be more then powerful enough for your needs. It can do sub ms cycle times and I doubt your application will need that kind of scan time demands. Also Web visu will not be an issue at all. The built in webserver can easily host large HMI's with many pages.

    Trends data are logged every minutes during one day, every 10 min for 10000 sample,
    every hour for 10000 samples.
    1. The number of logged signals is not mentioned in your posting(?) so can't say
    2. 10000S/10m => 1000S/m => 16S/sec per analog signal
    3. I think a normal Class10 SD-Card could easily keep up with your logging needs. Short and high frequency write actions however are usually not a good idea on SD Cards. Technically this is a SD Card issue, not RPi Hardware is not RPi hardware issue itself.
      I advise you not to raw write such an IO stream constantly, but buffer the samples in a buffer and flush it every 15s or so. "AC.Logging" can help you out with this very good however it doesn't support faster sampling then 1sec.
    4. Ever so often copy these logfiles out of the pi into a proper long term external storage (NAS, external HDD, whatever you prefer).

    If you like you can build your application in a community effort under "Menu - Projects".
    I think there is demand for Home automation projects like yours so people are bound to jump in and help you out with it.

    Good Luck!


    Last edit: aliazzz 2020-09-01
  • pruwetbe

    pruwetbe - 2020-09-16

    Hello aliazzz,

    Thanks for your feedback.
    Regarding the number of signals to records, the existing system has about 50 IO and 100 variables that are recorded.
    Codesys context will give me more possibilities and flexibility for controlling and have a real visualisation.

    I begin to investigate the HVAC library that has a lot of nice blocks with related HMI.

    I will use mainly CFC programming with page oriented that give a program easier to monitor.
    I also plan to simulate the process in separate simulation task in order to validate the new system before migration of the old to the new system.

    I hope I can find people to share my discoveries and get help when some tricky situation appear in development


Log in to post a comment.