As part of my home automation experiments I want a way to display the current state of sensors or currently active events on an LCD screen and install the LCD screen (or screens) in convenient locations round the house.
The basics requirements of what it should be able to do are as follows
- Show a prioritized list of currently active events with columns such as priority code, message, elapsed time, etc.
- Each priority should have configurable colors (foreground/background/flash), sound (file, repeat)
- Show the current date and time
- Show some basic status of the application (offline, online, etc) in case a connection to the server is not available.
- Show the current value of sensor/value type points (temperature, humidity etc)
- Configurable background image(s)
- Be able to run in full screen mode (i.e when installed on the wall) or window mode (easier for development or running on the desktop)
- Be able to auto start the application when the machine boots up if required.
Nice to haves
- Full screen mode – try to blank the screen when no-one is in the room?
- Perhaps go silent when no-one is at home?
More things I’m sure, but can’t think of anything else at the moment.
Initial Use Case
The initial use case is to display a message and play a doorbell like sound when my doorbell is pressed.
For reference my front door bell is a wired switch connected to an input module. The input is configured as a momentary input, with a 10 second timer (see input #9 in the screen shot). When pressed the event makes its way to the server for other applications to see.
It sounds possible to implement this in a web browser but being lazy I cant be bothered to learn the latest html5, json, web socket, bootstrap, blah, blah, blah technologies … so initially I go with what I know best and implement this as a .NET application and leave a web version for another time (i.e. probably never) 🙂