Some Concepts
Devices
We need to explain about Devices. Devices (with a capital D) provide an isolation layer above the physical hardware. If you want to know the outside temperature, for example, you don’t want to have to refer to sensor B4000800DB2A1610, and then figure how to translate its raw input value. You just want to refer to something called “Outside Temperature”, and see the temperature in whatever scale you happen to like.
Felix Devices provide names for physical hardware devices, and translate the values returned by the hardware into values we want to work with.
A Device can consist of a single physical piece of hardware, or several pieces of hardware, or just a single channel of a single chip.
The idea is much the same as a device driver in a computer, except that in Felix, you define the Devices. It’s all done through the web interface and is quite easy. Once you have defined your Devices, you can forget about how the hardware works and concentrate on more interesting things like data collection and process automation.
Felix has no built-in knowledge of any particular Devices. It is your job to configure Devices based on your physical hardware and give them the names that you want to work with. The user guide fully explains how it is done and gives lots of examples.
Felix’s Device layer allows the higher level layers (Timers, Scripts, Panels) to be largely Device independent, allowing us to easily integrate any number of different hardware types.
The word device is also commonly used to describe a physical chip or a finished module containing a number of components. So when we mean a Felix Device, we always use a capital D.
Panels
A Panel is a screen that you can define in Felix for use by non-technical users of the system. Panels are analogous to light switches; they enable a user to switch on the lights without seeing the wiring.
Panels have two main purposes:
- They allow you to break a large system into separate sub-systems.
- They provide a simpler, more elegant user interface for non-technical users.
Panels group the data and controls relevant to some particular logical function in one place, while hiding the underlying technical implementation. We have Panels for the outdoor lighting, the pool, the watering system, the heating system, and so on.
A panel can include any selection of Devices, Timers, Scripts, and Global Variables. You can read all about those things in the User Guide.