How we control the Room Water Heaters
|At the Beverley Bed &
Breakfast we are always looking for ways to automate our operation and
also to save money. The provision of hot water to our rooms is, as
in any ordinary house, a major expense for us so any way of saving money
whilst maintaining service is of interest. The rooms can be empty for
several days at a time and to have a hot water heater running to provide
hot water during those days is a waste of resources. On the other hand,
when a room is rented, the guest rightly expects hot water to be
available as soon as they enter the room. We did try to manually control
the heaters by turning them on just before a guest arrived and tuning
off when the guest booked out, but that didn't always happen and
occasionally we would get the complaint of no hot water.
Obviously we needed to automate the system so a project was implemented to control the water heaters by computer. We use Microsoft Outlook to record all of our bookings in the Calendar function. Why do we use Outlook rather than one of the more exotic (and expensive) Hotel software systems around? Because it is simple to use, comes built in with our email software and can be easily accessed by other external programs. Thus the Outlook Calendar is an integral part of our automation system.
Another important part of the system is the Microprocessor based Controller which is wired to electrical contactors, one for each of the four water heaters. This "home made" Controller runs a dedicated integrated software program that we wrote to communicate with the Office PC via a serial port and execute commands from the PC to turn on or off the heaters. The Controller can also send back a status of which heater is on. On the front of the Controller, which is mounted on the wall beside the Office PC, are LED'S, one for each heater, to show at a glance the heater status. There is also a switch for each heater to provide a manual over-ride. So far we are up to Version 7 of the Controller software.
The first part of the suite of three VB.Net programs that we wrote for the Office PC is one that runs at 10 am every day to access the Calendar file in Outlook, scan the bookings for that day and generate a list of the rooms that are booked and therefore need the water heater turned on. The program then communicates with the Controller to turn on the appropriate heater, turn off the heaters in un-booked rooms and then write the heater status to the Status file. If a room is booked out on consecutive days the heater is not turned off by the program thus avoiding the reheat cycle.
The provision of a separate Controller provides a safeguard should the PC fail or reboot. A routine in the Controller software is called the Watchdog Timer. If the Controller is not 'spoken to' by the PC for 15 minutes, this Watchdog routine causes the Controller to go into a failsafe condition which is to turn on all the heaters. To keep the Controller from going into failsafe mode, there is a second program on the PC that runs every 10 minutes under Scheduled Tasks. This program loads the Status file which details which water heater should be on, checks with the Controller that the correct heaters are on and resets the Watchdog Timer. Should there be a discrepancy between the Status file and the Controller status, this program attempts to fix it by clearing all the heaters and attempting to turn on the appropriate heaters again. Should that not be possible after 5 attempts, possibly due to a hardware failure, the program then puts up a large red banner on the Office PC monitor requesting human intervention. This is a multipart program also controls other functions in the B & B to do with lighting.
So, just by entering a booking into Outlook Calendar, the appropriate room water heater is turned on at 10 am on the correct day ensuring that the water is hot enough by the normal time a guest may arrive and a lack of a booking for that day turns the heater off at the same time. There is a third program which can be used by the Operator to manually turn on or off a heater and update the Status file. This program can also be accessed via our mobile phone so we can remotely turn on a room heater for a booking we take on the mobile phone or to turn off a room in the case of a cancellation should we be be away from the B & B. The program also provides a graphical status of the heaters from the Status file.
There is a text file on the PC that details various legends that we may use in the individual bookings in Outlook when we want to convey what is happening with that room but do not want the relevant heater to be turned on. These are called the "Ignore Codes" and are phrases such as "do not book" or "tentative booking". Also simply inserting the word "Ignore" somewhere in the booking description results in the heater not being selected. This allows us to enter a meaningful description into that day that doesn't upset the system but conveys a message to the Operator. This file is used by the program which initially calculates the heater list at 10 am.
This system has now been running for over 18 months and, while there have been some inevitable glitches to iron out, it has become very stable. As with any innovation there was some apprehension from the Office staff but provision of the status LED'S on the Controller, so which heater is on is easily read from a distance, has resulted in a total reliance on the system.
While the actual savings achieved by the system cannot be easily quantified due to too many variables, there has been a drop in the power bill, although that may also be due to the 3 Kwatt solar system we installed around the same time. There was originally some thought that the heating cycle from cold may be consuming more power than an "idling" heater that is always hot but as some rooms may go for up to a week or more without being booked in the low season, this way we are definitely saving power.
A rather grainy picture of the Microprocessor based Controller showing the four Room Status LED'S at the top with the override switches below. At the very bottom are three LED'S that are the Communication status, Power On and the Watchdog Timer heartbeat.
The other two LED's and switches are for the Automatic Verandah Light control detailed on another page.
The Controller uses a Picaxe18M2 Microprocessor chip with a TL7407 relay driver to operate 24 volt DC interposing relays in each Electrical Power Board. These relays then switch 240 volt AC Contactors wired into the Water Heater circuits. Isolation Circuit Breakers are also wired into the 240 volt AC circuits. The Office PC is a 2.4 GHz Pentium currently running XP Pro with Outlook 2003 but will be upgraded soon to Windows 7. There should be no changes required to the software suite of programs which were written in VB.Net 2010. As Outlook is an important part of the overall system, the outlook.pst file is automatically backed up to another PC twice a day using Cobian Backup.
Update :- The change to Windows 7 was not as smooth as we expected as the Task Scheduler in 7 is nowhere near as good as in XP. As the Task Scheduler wouldn't allow a second program to launched from within a scheduled program, we had to re-write the entire program. Eventually we downloaded and use Splinterware Task Scheduler as a replacement for the Microsoft scheduler and it works very well.