I wrote a home automation control software for Pörssäri web service using 8th programming language. Pörssäri optimizes electricity usage by spot price, temperature and solar energy forecast. Idea is that only optimized schedules come from Pörssäri, everything else is done locally. Supports failsafe schedules that will automatically be used, if there are network problems. Automatically returns to normal operation after network connection is restored.
You need some low power Arm based SBC with RPI compatible GPIO header or UEXT connector. RTC-clock and GPU acceleration is recommended. GUI targets 1024x600 touchscreen but can run headless or RDP/VNC can be used.
Currently only supported relay board is MOD-IO2 from Olimex. Boards can be chained to get the required number of channels.
You may also need RPI-UEXT-MPQ adapter from Olimex.
Home Control, 8th source code.
Program also outputs debug logging information:
2025-12-22 22:39:56.948 <update> Trying to read schedules from internal DB.
2025-12-22 22:39:56.000 <update> No valid schedules found from internal DB.
2025-12-22 22:39:56.001 <update> Trying to fetch schedules from Pörssäri.
2025-12-22 22:40:03.893 <update> Success fetching schedules from Pörssäri.
2025-12-22 22:40:03.978 <scheduler> Rebuilding schedules.
2025-12-22 22:40:04.001 <scheduler> Rescheduling.
2025-12-22 22:40:04.001 <scheduler> Rescheduling.
2025-12-22 22:40:04.001 <scheduler> Rescheduling.
2025-12-22 22:40:04.001 <scheduler> Next scheduled event: 2025-12-23T18:45:00+02:00, channel: 1, state: 1.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Next scheduled event: 2025-12-23T03:30:00+02:00, channel: 2, state: 1.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Rescheduling.
2025-12-22 22:40:04.057 <scheduler> Next scheduled event: 2025-12-23T03:30:00+02:00, channel: 2, state: 1.
2025-12-22 22:40:04.058 <update> Next update at: 2025-12-23T14:37:57+02:00.
