LinuxMCE Forums

General => Users => Topic started by: b.b. on March 08, 2009, 05:43:05 pm

Title: Beginner Questions
Post by: b.b. on March 08, 2009, 05:43:05 pm
Hello, Hello!

My head spins after days of reading to find the best home automation solution for my new home...
I'm considering different systems for now and I do have a couple of questions for you experts here.

1. Home Automation
I'm considering a dedicated PLC (SPS) mainly because I want the main operation to be guaranteed also when all the PC's are off and because I (personally) think that Bus Systems (EIB/KNX here in Austria) are a waste of money. The PLC should do all the basic functionality like controlling the light or shades via switches. The LinuxMCE then should do all the "high level" functions in what I call a comfort system. Nice but not necessary to work the lights and so on. (Keeping the WAF in mind!!!)
Now, my PLC has the ability to read/write into a SQL database so I was thinking of using this functionality to integrate it into LMCE. Is this possible?? Can I create a home automation interface which reads and writes from a SQL table??

2. Media
I really like that MythTV, VDR and Squeezecenter are included. I was planning on using these systems anyway. My questions are:

   - Can I use these features like if they are installed separately. For example: Can I install multiple MythTV Backends??
   - Is LMCE using its own Media Library or is it using the Squeezecenter DB?? Meaning, can I use the Squeezecenter GUI if I want to?

3. Miscellaneous
   - I read somewhere that you can implement Misterhome. WHY would you do that?
   - Can I do custom text-to-speech announcements? Like, if someone is calling, can I announce the callers name via lets say a squeezebox receiver?

I'm sorry if the questions have been asked before, but I'm just overwhelmed with the amount of information provided. Once I'm committed to a system I will dig in deep. I promise :)

Thanks for your help
Martin
Title: Re: Beginner Questions
Post by: totallymaxed on March 08, 2009, 08:55:52 pm
Hello, Hello!

My head spins after days of reading to find the best home automation solution for my new home...
I'm considering different systems for now and I do have a couple of questions for you experts here.

1. Home Automation
I'm considering a dedicated PLC (SPS) mainly because I want the main operation to be guaranteed also when all the PC's are off and because I (personally) think that Bus Systems (EIB/KNX here in Austria) are a waste of money. The PLC should do all the basic functionality like controlling the light or shades via switches. The LinuxMCE then should do all the "high level" functions in what I call a comfort system. Nice but not necessary to work the lights and so on. (Keeping the WAF in mind!!!)
Now, my PLC has the ability to read/write into a SQL database so I was thinking of using this functionality to integrate it into LMCE. Is this possible?? Can I create a home automation interface which reads and writes from a SQL table??

Well LinuxMCE already does this... reads/writes data into MySQL tables etc and has a complete UI.
Quote

2. Media
I really like that MythTV, VDR and Squeezecenter are included. I was planning on using these systems anyway. My questions are:

   - Can I use these features like if they are installed separately. For example: Can I install multiple MythTV Backends??
   - Is LMCE using its own Media Library or is it using the Squeezecenter DB?? Meaning, can I use the Squeezecenter GUI if I want to?
Yes LinuxMCE uses its own Media Library...you can use the Squeezecenter GUI but this will not allow you to access all the capabilities or media that the LinuxMCE MD can handle.
Quote

3. Miscellaneous
   - I read somewhere that you can implement Misterhome. WHY would you do that?
I think you mean MisterHouse... and i cant imagine why you would want to do that at all.
Quote
   - Can I do custom text-to-speech announcements? Like, if someone is calling, can I announce the callers name via lets say a squeezebox receiver?
Yes you can if you want to extend the system and build new templates/scenarios etc.
Quote

I'm sorry if the questions have been asked before, but I'm just overwhelmed with the amount of information provided. Once I'm committed to a system I will dig in deep. I promise :)

Thanks for your help
Martin
Title: Re: Beginner Questions
Post by: colinjones on March 08, 2009, 10:19:16 pm
If I can just add to Andrew's info....

1. Trying to use the LMCE SQL database to integrate HA hardware would be a fundamental misunderstanding of the LMCE architecture. LMCE is, at its heart, a messaging architecture. Doing what you suggest would mean that you were not really integrated with LMCE at all. There is a message hub called the DCERouter, all hardware and software modules (DCE Devices) create connections to that hub and communicate with each other through the DCE protocol. This is absolutely fundamental to LMCE. In this way, any DCE device (or software module) can trigger an action in any other DCE device, or group of DCE Devices by sending messages or events through the DCERouter. This is the way the automation is built. For instance - the environmental plugin (a software module on the Core server) can send messages to change the temperature of a room, this message goes to the DCERouter, which then passes that message on to an HA driver DCE device (another software module, say Hari's ZWave driver) which interprets the LMCE command for temperature change and sends the appropriate control signal to your HA hardware. Similarly, (and you can see the power of the system from this) when the Orbiter GUI DCE device sends the Play Media message to the media plugin, the media plugin sends a media stream object to the xine media player DCE device; at the same time a Start Media DCE event is generated and broadcast. The lighting plugin intercepts this event, and sends the appropriate DCE commands to any lighting in that room to dim by sending DCE commands to your HA hardware via the HA driver DCE device, again. [Thom, apologies, I realise this is not an accurate description, it was the best I could do, and was intended to be illustrative only :) )

To achieve this integration through a SQL table not only would require you to build a new DCE driver device to handle the reception of DCE commands and events and write them into the SQL table, but would also be extremely indirect and inelegant! I would suggest you look at HA hardware that already has supported DCE device drivers such as ZWave. There is no reason to assume that if a system is powered off that the HA network becomes inoperable. On that point, the Core LMCE server needs to be on all the time for many reasons, maintaining and managing the LMCE network.

2. You can only choose Myth or VDR, not both, and they intregrate into LMCE as DCE device, as above. Squeeze stuff is very much a peripheral add on, not the main event! LMCE is a full and extremely sophisticated system in its own right, it certainly could not rely on the media database of squeeze.... squeeze is only actually installed if you have a squeeze device.

3. The text-to-speech system is just that, a simple DCE device that receives a piece of text and a location to speak it. It is a facility used by other DCE devices in the system to make announcements - they do the 'smarts' in contructing the message, T2S just speaks it. There is no reason why you can't build your own DCE device to provide your own smarts in constructing announcements, and then send the required DCE commands to the T2S module to speak it. But note that this is a complex system, you would need to understand the architecture and coding requirements first!
Title: Re: Beginner Questions
Post by: b.b. on March 08, 2009, 11:08:38 pm
If I can just add to Andrew's info....

1. Trying to use the LMCE SQL database to integrate HA hardware would be a fundamental misunderstanding of the LMCE architecture. LMCE is, at its heart, a messaging architecture. Doing what you suggest would mean that you were not really integrated with LMCE at all. There is a message hub called the DCERouter, all hardware and software modules (DCE Devices) create connections to that hub and communicate with each other through the DCE protocol. This is absolutely fundamental to LMCE. In this way, any DCE device (or software module) can trigger an action in any other DCE device, or group of DCE Devices by sending messages or events through the DCERouter. This is the way the automation is built. For instance - the environmental plugin (a software module on the Core server) can send messages to change the temperature of a room, this message goes to the DCERouter, which then passes that message on to an HA driver DCE device (another software module, say Hari's ZWave driver) which interprets the LMCE command for temperature change and sends the appropriate control signal to your HA hardware. Similarly, (and you can see the power of the system from this) when the Orbiter GUI DCE device sends the Play Media message to the media plugin, the media plugin sends a media stream object to the xine media player DCE device; at the same time a Start Media DCE event is generated and broadcast. The lighting plugin intercepts this event, and sends the appropriate DCE commands to any lighting in that room to dim by sending DCE commands to your HA hardware via the HA driver DCE device, again. [Thom, apologies, I realise this is not an accurate description, it was the best I could do, and was intended to be illustrative only :) )

To achieve this integration through a SQL table not only would require you to build a new DCE driver device to handle the reception of DCE commands and events and write them into the SQL table, but would also be extremely indirect and inelegant! I would suggest you look at HA hardware that already has supported DCE device drivers such as ZWave. There is no reason to assume that if a system is powered off that the HA network becomes inoperable. On that point, the Core LMCE server needs to be on all the time for many reasons, maintaining and managing the LMCE network.

To avoid any misunderstandings here: I do want to use LMCE's features and therefore you are right, it would have to be some kind of DCE Driver who handles the let me call it handshake or signal database which can be (or should be) a separate database. I'm looking at this option since the PLC I want to use offers SQL read/write capability. So is this really hard coding work or can it be done fairly easy (from a developers view)? I don't won't to use Zwave and I'm having a hard time justifying bus systems. The only one really common here in Austria would be EIB/KNX and thats too expensive.

Quote
2. You can only choose Myth or VDR, not both, and they intregrate into LMCE as DCE device, as above. Squeeze stuff is very much a peripheral add on, not the main event! LMCE is a full and extremely sophisticated system in its own right, it certainly could not rely on the media database of squeeze.... squeeze is only actually installed if you have a squeeze device.

As for MythTV and VDR, are there any preferences from european users? I want to use it for LiveTV as well as for recording with at least 3 DVB cards.
Is LMCE only utilizing Squeezcenters streaming capabilities?

Quote
3. The text-to-speech system is just that, a simple DCE device that receives a piece of text and a location to speak it. It is a facility used by other DCE devices in the system to make announcements - they do the 'smarts' in contructing the message, T2S just speaks it. There is no reason why you can't build your own DCE device to provide your own smarts in constructing announcements, and then send the required DCE commands to the T2S module to speak it. But note that this is a complex system, you would need to understand the architecture and coding requirements first!

Which means, T2S functionality is part of LMCE, right? And if I can show a caller ID on the TV one would think that it should be possible to direct the same event (thats what it is, right?) to T2S.


Thanks for your help!
Martin
Title: Re: Beginner Questions
Post by: colinjones on March 08, 2009, 11:43:17 pm
Martin

I can't really answer whether it is really hard coding work or not, I don't know your level of expertise in coding. Generally, a new DCE device would be C++, if you're a whiz at that then I'm sure you could come up to speed fairly quickly. You just need to research the interface requirements. You should go onto the IRC developer channel and have a word with them there.

Myth/VDR: VDR is still in its formative implementation stages in LMCE but is coming along in leaps and bounds. Myth is certainly more feature rich, but VDR is specifically aimed at DVB countries (most of the world outside North America) and is much more transparently integrated. There will be some significant improvements to VDR's implementation in the upcoming 0810 release, so I would recommend VDR, however it is a personal choice you will have to make.

T2S: I'm not sure of the mechanism behind the callerID example, but I would say you still need something to form the line of text you want it to speak. For this example, I should think you would want to make a modification to the Telecom plugin, which is the device that coordinates telecommunications for the house. This interacts with the Asterisk DCE device (which is an Asterisk server with a "wrapper" around it to handle the translation of LMCE DCE messages to/from Asterisk).... this is just guess work, but I assume that the Asterisk DCE device - when receiving a call - sends a DCE event which the Telecom plugin intercepts and creates the notification on the Orbiter devices.. if you were to hook into that function and additionally form the text string you want announced, then send it to the T2S device, this would achieve what you are looking for.
Title: Re: Beginner Questions
Post by: tschak909 on March 09, 2009, 03:28:05 am
Dude,

I'm going to stop you, right now.

You're setting yourself up for failure.

Spend time with the system before planning every concievable thing you're wanting to do. *thwap-you-upside-the-head* :)

-Thom