PiHome Smart Heating Zone Schedule with Conditional Coop start: Idea is to have option in the schedule for the zone to have conditional coop cut in. Probably no big use for it if you have 3 zones, but might be handy for example for hot water, it makes more sense with multiple zones, with many zones there will be one of them cutting in after the other so probably boiler will run all the time.
Zone with Coop Start
Idea is that if zone has conditional coop schedule active it won’t start even if it’s below set-point, it will only start if it’s below set-point and boiler is already running and then finish normally when set-point is reached even if zones that enabled start of it finished heating.
So basically let’s say during day temperature downstairs on normal schedule and attic and bedrooms cut in only when they are below temperature and downstairs cut in.
Same during the night normal zone control in bedrooms and rest of the house is conditional start, basically it do not care about that much start only when the ones I care about more are already running.
Same can be used for hot water, there are periods when you want hot water, morning, evening for shower (use normal schedule then), but for rest of the day don’t start boiler if only request is hot water, wait for other zone that has normal schedule to start and heat it together.
Schedule with Conditional Coop start implemented in PiHome Smart heating version 1.63, i strongly recommend you to update your PiHome Smart Heating installation even if you do not want to use new features, new release also include some bug fixes.
Contributors
Thanks to the following people who have contributed code to this release:
@aszumski
@twa127
5 comments
Thanks for all the great work in the system @admin and all contributers.
Im not sure if coop schedule is what I looking for, but is there a way to have 1 zone enable/trigger another? In my case I have sensors for Living Room and Kitchen – but these 2 rooms are heated by my ground floor heating zone. In order to select boost or schedule heating on, I have to enable boost for both rooms.
It would be great if I hit boost for living room, it also triggered boost for kitchen…is this possible?
@Paul,
i think one solution would be to have both zone on operate relay on zone controller to control zone valve, after this any room can trigger that zone.
Using SD Card image, and all appears functional except that the scheduled events are not being displaying or triggered. They do show in SQL. I’ve set raspi-config to local time (America/New_York), and set the SQL/pihome/system/timezone field to match. (A side note is that the time in piHome didn’t update correctly until I edit the SQL timezone field away from Dublin. I am wondering if this could have to do with why schedule is not appearing? What is proper nomenclature for timezone? Should it match timedatectl? Thank you for assistance, and for making piHome – after a couple days of getting this up and running it looks fabulous.
I think I’ve tracked it down to error in boiler.php – haven’t resolved.
error log boiler.log:—————————————————————————————-
[36m2019-11-23 13:33:02[0m – Day of the Week: [41m6[0m
PHP Notice: Undefined index: sp_deadband in /var/www/cron/boiler.php on line 100
PHP Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in /var/www/cron/boiler.php on line 122
Damon,
i know if you have wrong timezone then schedule wouldn’t work on right time but regardsless of timezone you should be able to see schedule, can you run following in phpmyadmin, no harm even if you already have this view it will drop exiting view and create again.
Drop View if exists schedule_daily_time_zone_view;
typeCREATE VIEW schedule_daily_time_zone_view AS
select ss.id as time_id, ss.status as time_status, sstart.start, send.end, sWeekDays.WeekDays,
sdtz.sync as tz_sync, sdtz.id as tz_id, sdtz.status as tz_status,
sdtz.zone_id, zone.index_id, zone.name as zone_name, zt.
, temperature, holidays_id , coop
purgefrom schedule_daily_time_zone sdtz
join schedule_daily_time ss on sdtz.schedule_daily_time_id = ss.id
join schedule_daily_time sstart on sdtz.schedule_daily_time_id = sstart.id
join schedule_daily_time send on sdtz.schedule_daily_time_id = send.id
join schedule_daily_time sWeekDays on sdtz.schedule_daily_time_id = sWeekDays.id
join zone on sdtz.zone_id = zone.id
join zone zt on sdtz.zone_id = zt.id
where sdtz.
= '0' order by zone.index_id;