Hi All,
Firstly, I just wish to say Linux MCE looks amazing, congrats to you all for how it has come along as an open source rival (if not successor) to the commercial home automation ventures out there. Please do keep it running and don't let it fall like so many other great projects have.
Now I've done some ass-kissing, I should give you a little background:
I've been doing a large amount of research on Linux MCE recently since finding out about it a few months ago (though this is my first post on here). I've not yet set up Linux MCE but I'm hoping to build a full home automation system once I've moved from the UK to USA at end of summer. For the past couple of years I've run an Ubuntu MythTV server with a couple of frontends. Once in USA, I'm looking at investing in a 4-8 apartment rental property and "future-proofing" the apartments with a central internet connection and CAT6 plus Coax outlets in each room for IP switching or point-to-point a/v connections. I would be living in one of the apartments which I'd set up with Linux MCE. I may look at MCE systems for the other rented apartments depending on whether the tenants want it, though that would be a very daunting task and may not yet be cost effective for rental properties (until home automation becomes as standard to people as having electricity or internet).
Anyway, when not geeking out on Ubuntu and MCE, I'm a lighting designer/programmer for theatre and architecture by profession. I noticed the current version of MCE can handle basic lighting control (user directed on/off/dim) and some simple lighting states controlled by real-time triggers or other user-defined macros, like sunset/sunrise presets. Most of this control seems to use domestic automation systems as a base like X10. Someone on here mentioned that you were looking into the possibility of developing more advanced lighting control in the next MCE version possibly with control over timed fades, etc. In theatre and live performance we have been using centralized computer control over lighting and sound for a number of years, which has now become extremely sophisticated and adaptable. I understand Linux MCE doesn't need this level of control, but wanted to see if my expertise in this area would be of any use to you as you develop this side of MCE.
A few ideas from the world of theatre lighting:
* We use central or distributed dimming systems that are usually controlled by a single dedicated computer lighting console with an industry standard 8bit data control protocol called DMX512. Each DMX connection can run 512 independent control channels with each channel able to be set to any of 256 distinct values. This is transmitted over a single CAT5/6 or screened twisted-pair (also known as microphone cable), and is "daisy-chained" between each lighting fixture using XLR connectors. DMX is also now supported over TCP/IP, the most common being ArtNet (there has already been a Linux driver written for ArtNet). There are also a number of cheap USB or ethernet to DMX converters available now, Enttec sell a few including a very cheap Open-source USB converter for under $100.
* DMX control is not limited to just the dimming of light intensity but can control a number of other attributes for automated lights or other effects like fog machines, strobes, video servers, etc. It is also used for controlling many RGB LED lighting fixtures that are getting cheaper and being used more and more in architectural projects. LED fixtures are becoming very popular as they are eco-friendly but allow much better control and light quality than compact fluorescent units, so we will likely see them used more in domestic and commercial applications over the coming years. RGB fixtures have Red, Green and Blue LEDs in them for full colour-mixing to allow the user to instantly "call up" any colour of light required or create dynamic rainbow colour fades that can last a few minutes or a few days. If Linux MCE could use a USB/Ethernet to DMX adapter as an interface then it would open up a world of possibilities for lighting control in the home or in public buildings.
* We also sometimes use MIDI (Musical Instrument Digital Interface) for triggering lighting consoles from show control systems, or creating more complex control sequences. I don't know whether Linux MCE has any plans to support MIDI or MIDI-MSC as an interface either on physical ports or through MIDI-over-IP. However, this would allow for a lot of cheap methods to trigger professional lighting and sound systems via MCE (or vice-versa)
General notes on how we control lighting in live performance:
* Each light - be it just a dimmer, an RGB colour flood, or an entire automated fixture - can be individually controlled or grouped together for simplicity. As a lighting designer, I can then combine individual lighting levels to build a whole lighting state/look/cue for a specific moment in the theatre performance (much like MCE's scenario builder).
* These lighting states or cues are then placed into a "cue-stack" that allows for each look to be recalled either manually (at a specific moment in the show), or triggered by a timed sequence or an outside event (like a sound effect).
* Each lighting state or cue has a number of time attributes that allow a lighting designer to control how the lighting "moves" from the previous cue into the next one. These include:
Delay - the time between when the cue is triggered and when the lighting actually changes
Fade Up - the time it takes for any lights that will be brighter in the next cue (from the previous cue) to fade up to their final programmed intensity
Fade Down - the time it takes for any lights to lower in intensity from the previous cue
* If all three attributes are set at zero then the lighting will change instantly (like a bump to full intensity as someone walks into the room). If the state has a fade up/down of a few secs then the lighting will dim or brighten accordingly (like a reading spotlight fades up fast while there is a slow fade down of the room's ambient lighting). If there is a delay time as well then the lighting will wait until after an event trigger has occurred (like the lights take 5secs to fade down but will wait until 10secs after you've started the movie - this would let you get settled in your chair and put the remote down before it plunges you into darkness)
There are a number of other cue attributes used in lighting consoles - like linking cues to create sequences, multipart cues where different groups of lights change levels over different timings, and often you will have one set of Delay/Up/Down times for lighting intensities and another set of Delay/Up/Down times for other attributes like colour changes or physical movement of the light. However, most of these are only required if you need extremely precise control like you do with a theatre show (and if this level of control was needed then perhaps it would be better to have MCE triggering an actual lighting console). But I would say Linux MCE might benefit from the basic idea of Delay/Fade Up/Fade Down for each user created scenario.
As to fixtures, MCE can already handle single dimmers (it's just the interface change from X10, etc. to a DMX adapter). However, it'd be wonderful to have basic control of RGB LED lighting fixtures or other automated fixtures from within Linux MCE. A number of software based lighting controllers handle RGB fixtures with a visual colour palette/picker (like you have in a paint program) for selecting a specific colour, this is then translated by the software into the R, G, B DMX channel values. I'm not suggesting MCE becomes a full lighting control system, but just having some control over things like intensity, colour and fade timing would allow for MCE users to really develop lighting mood and atmosphere in the home.
Web-links:
DMX512 -
http://en.wikipedia.org/wiki/DMX512-AArtNet -
http://www.nomis52.net/?section=projects§2=artnet&page=whatisEnttec -
http://www.enttec.com/MIDI -
http://en.wikipedia.org/wiki/Musical_Instrument_Digital_InterfaceDMX controlled LED Fixtures on eBay -
http://shop.ebay.com/items/?_nkw=led+dmx&_sacat=0&_trksid=p3286.m270.l1313&_odkw=led+par&_osacat=0Other DMX controlled LED fixtures -
http://www.ultraleds.co.uk/rgb-dmx-led-section-c-90.htmlStrand Lighting Palette Offline Lighting Control (Windows only) -
http://www.strandlighting.com/clientuploads/directory/downloads/PaletteOLE10.6.1.Vista32.exeThank you so much for reading my bloody lengthy message, I just felt I should get this out into the ether for people to read. And please let me know if you need me to expand/clarify anything or send some control software examples of what I'm discussing.
Roosie