Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Armor Gnome

Pages: 1 2 [3] 4
31
Users / Doorbell... Help Please
« on: September 06, 2012, 01:20:47 am »
I thought this would be a simple addition and hopefully it is but I am not getting any closer to coming up with a supported solution despite my best efforts.  Some of my issues may be due to "doorbell" having an alternate meaning when you add the computer/PC/automation search terms with it.  Here is specifically what I am trying to to.


My core knows when someone presses a doorbell.



Once that works I can do custom events, trigger phone calls, alerts, pausing media, and all the fun stuff.  I am dumbfounded though in how to get this connection.  Here is what I have looked at doing and how I am currently approaching it.


Z-Wave:  No 'buttons' or button modules exist.  I could probably crack apart a door/window alarm to go off if the doorbell button separated the sensor units enough.  I could modify a scene controller wall switch to send a state change but as described in other posts, events were not intended to be fired by direct actions.  Soldering something onto a Z-Wave sensor really kills the PNP appeal of that technology anyways.

X-10:  Similar to the Z-Wave problems, in that no simple contact seems to exist.  I could justify spending the money on a box of used x-10 parts and probably come up with some way to get a signal back to my core but by the time I add a PC interface device to receive that signal and run isolated power lines to the doorbell (and then step down the current somehow to not have a 110V surprise for guests in the rain)  I would have already spent more on a cm15a and other parts by this point to equal a controller for another tech.

Expensive intercom as simple doorbell:  There seems to be some Insteon functions that allow for button pressing firing events but after 25 pages of the Smarthome website I only found units that talk to other intercoms and not back to a PC to keep it informed.

Other less often mentioned technologies: zigbee, KNX, proprietary systems, I even considered buying a security panel with ethernet outputs and wire a "panic" button which would act as a method of communicating something happened.  1-Wire to be honest is for hobbyists well above my abilities with bus addresses and willingness to solder onto my core.  I actually attempted a simple switch on a test machine via serial, parallel and usb but don't think I had the proper "pull up voltage" pins wired...  Each guide I found recommended a different port and some called out completely different pins.  I even considered cracking apart "the clapper" to respond to a standard doorbell chimes, then have the clapper turn on a light which would shine onto a photo intensity sensor...  There has to be an easier way.


I currently have a stand alone pc that I am purposing to act as a doorbell interface.  Basically I cracked apart a standard keyboard and if you are familiar with how they work you understand that each key is tied to a controller in the normally open position.  Pressing a key closes the circuit that the controller interprets as a key (this can be edited with a keymapper to be any input you wish)  So I have a small pc running Puppy Linux and a wire coming out of the keyboard where the Home key would be and out to a switch that I will after testing move to the doorbell.  I need to learn GSD and socket communications better before I can get "Home key" = lmce receiving an input via TCP that a button has been pressed.

 
I have some interested from the roommate to finance a doorbell solution,  together we can probably invest as much as $300 into this.  If this was one of your doorbells, how would you go about connecting it?

32
Users / Collaborator Wanted: Verbal Announcements
« on: September 01, 2012, 04:35:19 pm »
I have reached a point where I almost have status updates ready to be announced verbally by LMCE. 

Instead of my wake-up event saying "Good Morning, Jeremy", I am working on getting "Good Morning Jeremy, it is Saturday, September 01.  Outside temperature is 80 high today is 86."

I would like climate section orbiter scenes that when pressed state "current temperature is 81, wind speed 5 from southwest, no active alerts"

1001 other ideas I could type here, but I have an issue and need some help from another user to get this working.

What I have =
Several small scripts that can pull current conditions either from the internet for weather, yahoo headlines, etc.  I also have scripts that can pull information from local resources such as state, current time/date or other background programs.  This information is pulled and written to a temp text file.  From command line I can run these scripts and have festival or espeak read back the text file in the format I want to hear it in.  My current work is trying to combine these into one large script that depending on what conditions are used will output different information.  Because the text to be read is pulled from one reused text file everything stays clean and there is no need to add a rm line.

Roadblock =
Text to Speech template in LMCE only accepts 'quoted' statements.  There is no way to get a path/to/file.txt into the event/statement area. 

What I need =
Someone good with web-admin/template creation to rewrite or create a new Text to Speech template that accepts path.  The command to run my scripts can exist in the event so this new template does not need to include 'run script', in fact it would be best left with path to text so that it stays clean.  Moving statements from other existing events to path would be easy.  Create a location called ~/spoken that can house all the tts statements as separate .txt files, my constantly updated current_conditions.txt will be just one of them.

How to collaborate=
Your template to me: via instructions to create.  I do not believe anything will need to be written to make a template capable of reading from a path so just explain how you created it.  If there are issues that require you to write something then we can use sharing methods described below.

My scripts to you:  A few of these require adding weather-utils which is in the repository so there is nothing special other than an apt-get install needed.  My scripts are really simple bash commands made executable.  They can be sent as text via email, personal message etc.  When you get them of course look them over to see what I am calling and how I am filtering content to be spoken.  Once you know I didn't just doomsday you, you execute a gcc command to compile and another command (sorry I forget atm) to make it executable. 

When it is clean and we are satisfied I will get permission to upload to sqlCVS and others will be able to use this function as well.  Pat yourself on the back at this point and call yourself a semi-dev!  Honestly I get frustrated with 'almost' getting things working under LMCE and think this is a good way to use what I know so far without several more weeks of template/GSD research. 

Message me if you are interested in helping and be sure to include any unique things you would like announced.  Be creative, it can be done!  Stock listing, tv schedule, NASCAR standings, Douglas Adams ebook, personal and work emails, calendar appointments...

Final Notes:

I will be supporting this, meaning if it breaks I am the one who has to redo my scripts.  If the format or language of the source data changes it would likely output gibberish.  I would then need to change the way I pull your information for tts and resend it to you.

I am a Portal fan so wherever possible I am trying to make my announcements shift pitch etc to sound like GLaDOS.  To do this I need to either create a new voice for festival or do some creative work with recurring statements within my announcements and lay them out as regular audio files to overlay announcements.  It's gonna be tricky but if I can get around some hurdles it would be amazing!

Future add-ons for this:  My HA theme is Portal/Max Headrom/LawnMowerMan(movie not book) inspired so to complete and compliment these announcements I hope to one-day to add video so that my home has a face and AI personality.  For a robotic persona I can fire a mpeg to on-screen orbiter of GLaDOS moving about while the announcements play, for a more human/cyborg persona I am going to have to come up with a way to mimic mouth movements and that is not going to be written this year...       



33
Users / Z-Wave capabilities List
« on: August 31, 2012, 11:31:18 pm »
Copied from micasa verde wiki.  I was hoping a lmce/zwave pro could take a look and verify these are the same numbers that web-admin displays?  I am troubleshooting a problem getting energy usage from a module and wanted to make sure it was configured properly.

On a ZWave's properties you'll find 2 values to show what the device can do:

Capabilities    209,140,0,4,17,1|38,39,112,114,115,117,134,
Version    6,1,91,3,11

The first 6 numbers in capabilities are what is reported by the ZWave ZW_GetNodeProtocolInfo function (0x41): Capability, Security, Reserved, Basic Device Class (, Generic Device Class, Specific Device Class. If the Capability is >= 128 then the device listens for commands, otherwise it's a battery operated device that only wakes up occasionally.

The version is what's reported by the COMMAND_CLASS_VERSION command VERSION_REPORT. There are 5 values: Z-Wave Library Type, Z-Wave Protocol Version, Z-Wave Protocol Sub Version, Application Version, Application Sub Version. The Application version is specific to the device and not defined by Z-Wave.

The library types are:

C
ONTROLLER_STATIC               1
CONTROLLER                               2
SLAVE_ENHANCED                       3
SLAVE                                       4
INSTALLER                                  5
SLAVE_ROUTING                          6
CONTROLLER_BRIDGE                   7
DUT                                          8



Alphabetical Name                                                                    Hex Dec     Numeric

COMMAND_CLASS_ALARM                                                                  0x71     113
COMMAND_CLASS_APPLICATION_STATUS                                          0x22      34
COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION                  0x9B     155
COMMAND_CLASS_ASSOCIATION                                                          0x85     133
COMMAND_CLASS_ASSOCIATION_V2                                                  0x85    133
COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD                                  0x95    149
COMMAND_CLASS_AV_CONTENT_SEARCH_MD                                          0x97    151
COMMAND_CLASS_AV_RENDERER_STATUS                                          0x96    150
COMMAND_CLASS_AV_TAGGING_MD                                                  0x99    153
COMMAND_CLASS_BASIC_WINDOW_COVERING                                  0x50    80
COMMAND_CLASS_BASIC                                                                  0x20    32
COMMAND_CLASS_BATTERY                                                                  0x80    128
COMMAND_CLASS_CHIMNEY_FAN                                                           0x2A    42
COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE                                   0x46    70
COMMAND_CLASS_CLOCK                                                                   0x81    129
COMMAND_CLASS_COMPOSITE                                                        0x8D    141
COMMAND_CLASS_CONFIGURATION                                                 0x70    112
COMMAND_CLASS_CONFIGURATION_V2                                                 0x70    112
COMMAND_CLASS_CONTROLLER_REPLICATION                                         0x21    33
COMMAND_CLASS_DOOR_LOCK                                                         0x62    98
COMMAND_CLASS_DOOR_LOCK_LOGGING                                          0x4C    76
COMMAND_CLASS_ENERGY_PRODUCTION                                         0x90    144
COMMAND_CLASS_FIRMWARE_UPDATE_MD                                         0x7A    122
COMMAND_CLASS_GEOGRAPHIC_LOCATION                                         0x8C    140
COMMAND_CLASS_GROUPING_NAME                                                0x7B    123
COMMAND_CLASS_HAIL                                                                0x82    130
COMMAND_CLASS_INDICATOR                                                        0x87    135
COMMAND_CLASS_IP_CONFIGURATION                                                0x9A    154
COMMAND_CLASS_LANGUAGE                                                        0x89    137
COMMAND_CLASS_LOCK                                                                0x76    118
COMMAND_CLASS_MANUFACTURER_PROPRIETARY                                0x91    145
COMMAND_CLASS_MANUFACTURER_SPECIFIC                                         0x72    114
COMMAND_CLASS_MARK                                                                 0xEF    239
COMMAND_CLASS_METER_PULSE                                                         0x35    53
COMMAND_CLASS_METER                                                                 0x32    50
COMMAND_CLASS_MTP_WINDOW_COVERING                                         0x51    81
COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V2                         0x8E    142
COMMAND_CLASS_MULTI_CHANNEL_V2                                                 0x60    96
COMMAND_CLASS_MULTI_CMD                                                         0x8F    143
COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION                                 0x8E    142
COMMAND_CLASS_MULTI_INSTANCE                                                 0x60    96
COMMAND_CLASS_NO_OPERATION                                                         0x00    0
COMMAND_CLASS_NODE_NAMING                                                         0x77    119
COMMAND_CLASS_NON_INTEROPERABLE                                         0xF0    240
COMMAND_CLASS_POWERLEVEL                                                         0x73    115
COMMAND_CLASS_PROPRIETARY                                                         0x88    136
COMMAND_CLASS_PROTECTION                                                         0x75    117
COMMAND_CLASS_PROTECTION_V2                                                 0x75    117
COMMAND_CLASS_REMOTE_ASSOCIATION_ACTIVATE                         0x7C    124
COMMAND_CLASS_REMOTE_ASSOCIATION                                         0x7D    125
COMMAND_CLASS_SCENE_ACTIVATION                                                 0x2B    43
COMMAND_CLASS_SCENE_ACTUATOR_CONF                                         0x2C    44
COMMAND_CLASS_SCENE_CONTROLLER_CONF                                         0x2D    45
COMMAND_CLASS_SCHEDULE_ENTRY_LOCK                                         0x4E    78
COMMAND_CLASS_SCREEN_ATTRIBUTES                                                 0x93    147
COMMAND_CLASS_SCREEN_ATTRIBUTES_V2                                         0x93    147
COMMAND_CLASS_SCREEN_MD                                                         0x92    146
COMMAND_CLASS_SCREEN_MD_V2                                                 0x92    146
COMMAND_CLASS_SECURITY                                                         0x98    152
COMMAND_CLASS_SENSOR_ALARM                                                 0x9C    156
COMMAND_CLASS_SENSOR_BINARY                                                 0x30    48
COMMAND_CLASS_SENSOR_CONFIGURATION                                         0x9E    158
COMMAND_CLASS_SENSOR_MULTILEVEL                                                 0x31    49
COMMAND_CLASS_SENSOR_MULTILEVEL_V2                                         0x31    49
COMMAND_CLASS_SILENCE_ALARM                                                 0x9D    157
COMMAND_CLASS_SIMPLE_AV_CONTROL                                                 0x94    148
COMMAND_CLASS_SWITCH_ALL                                                         0x27    39
COMMAND_CLASS_SWITCH_BINARY                                                 0x25    37
COMMAND_CLASS_SWITCH_MULTILEVEL                                                 0x26    38
COMMAND_CLASS_SWITCH_MULTILEVEL_V2                                         0x26    38
COMMAND_CLASS_SWITCH_TOGGLE_BINARY                                         0x28    40
COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL                                 0x29    41
COMMAND_CLASS_THERMOSTAT_FAN_MODE                                         0x44    68
COMMAND_CLASS_THERMOSTAT_FAN_STATE                                         0x45    69
COMMAND_CLASS_THERMOSTAT_HEATING                                         0x38    56
COMMAND_CLASS_THERMOSTAT_MODE                                                 0x40    64
COMMAND_CLASS_THERMOSTAT_OPERATING_STATE                                 0x42    66
COMMAND_CLASS_THERMOSTAT_SETBACK                                         0x47    71
COMMAND_CLASS_THERMOSTAT_SETPOINT                                         0x43    67
COMMAND_CLASS_TIME_PARAMETERS                                                 0x8B    139
COMMAND_CLASS_TIME                                                                 0x8A    138
COMMAND_CLASS_USER_CODE                                                         0x63    99
COMMAND_CLASS_VERSION                                                                 0x86    134
COMMAND_CLASS_WAKE_UP                                                                 0x84    132
COMMAND_CLASS_WAKE_UP_V2                                                         0x84    132
COMMAND_CLASS_ZIP_ADV_CLIENT                                                 0x34    52
COMMAND_CLASS_ZIP_ADV_SERVER                                                 0x33    51
COMMAND_CLASS_ZIP_ADV_SERVICES                                                 0x2F    47
COMMAND_CLASS_ZIP_CLIENT                                                         0x2E    46
COMMAND_CLASS_ZIP_SERVER                                                         0x24    36
COMMAND_CLASS_ZIP_SERVICES                                                         0x23    35

And here again listed by number.  Sorry but hand is sore from the above formating.


Name                                                                             Hex Dec         Numeric
COMMAND_CLASS_NO_OPERATION    0x00    0
COMMAND_CLASS_BASIC    0x20    32
COMMAND_CLASS_CONTROLLER_REPLICATION    0x21    33
COMMAND_CLASS_APPLICATION_STATUS    0x22    34
COMMAND_CLASS_ZIP_SERVICES    0x23    35
COMMAND_CLASS_ZIP_SERVER    0x24    36
COMMAND_CLASS_SWITCH_BINARY    0x25    37
COMMAND_CLASS_SWITCH_MULTILEVEL    0x26    38
COMMAND_CLASS_SWITCH_MULTILEVEL_V2    0x26    38
COMMAND_CLASS_SWITCH_ALL    0x27    39
COMMAND_CLASS_SWITCH_TOGGLE_BINARY    0x28    40
COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL    0x29    41
COMMAND_CLASS_CHIMNEY_FAN    0x2A    42
COMMAND_CLASS_SCENE_ACTIVATION    0x2B    43
COMMAND_CLASS_SCENE_ACTUATOR_CONF    0x2C    44
COMMAND_CLASS_SCENE_CONTROLLER_CONF    0x2D    45
COMMAND_CLASS_ZIP_CLIENT    0x2E    46
COMMAND_CLASS_ZIP_ADV_SERVICES    0x2F    47
COMMAND_CLASS_SENSOR_BINARY    0x30    48
COMMAND_CLASS_SENSOR_MULTILEVEL    0x31    49
COMMAND_CLASS_SENSOR_MULTILEVEL_V2    0x31    49
COMMAND_CLASS_METER    0x32    50
COMMAND_CLASS_ZIP_ADV_SERVER    0x33    51
COMMAND_CLASS_ZIP_ADV_CLIENT    0x34    52
COMMAND_CLASS_METER_PULSE    0x35    53
COMMAND_CLASS_METER_TBL_CONFIG    0x3C    53
COMMAND_CLASS_METER_TBL_MONITOR    0x3D    53
COMMAND_CLASS_METER_TBL_PUSH    0x3E    53
COMMAND_CLASS_THERMOSTAT_HEATING    0x38    56
COMMAND_CLASS_THERMOSTAT_MODE    0x40    64
COMMAND_CLASS_THERMOSTAT_OPERATING_STATE    0x42    66
COMMAND_CLASS_THERMOSTAT_SETPOINT    0x43    67
COMMAND_CLASS_THERMOSTAT_FAN_MODE    0x44    68
COMMAND_CLASS_THERMOSTAT_FAN_STATE    0x45    69
COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE    0x46    70
COMMAND_CLASS_THERMOSTAT_SETBACK    0x47    71
COMMAND_CLASS_DOOR_LOCK_LOGGING    0x4C    76
COMMAND_CLASS_SCHEDULE_ENTRY_LOCK    0x4E    78
COMMAND_CLASS_BASIC_WINDOW_COVERING    0x50    80
COMMAND_CLASS_MTP_WINDOW_COVERING    0x51    81
COMMAND_CLASS_MULTI_CHANNEL_V2    0x60    96
COMMAND_CLASS_MULTI_INSTANCE    0x60    96
COMMAND_CLASS_DOOR_LOCK    0x62    98
COMMAND_CLASS_USER_CODE    0x63    99
COMMAND_CLASS_CONFIGURATION    0x70    112
COMMAND_CLASS_CONFIGURATION_V2    0x70    112
COMMAND_CLASS_ALARM    0x71    113
COMMAND_CLASS_MANUFACTURER_SPECIFIC    0x72    114
COMMAND_CLASS_POWERLEVEL    0x73    115
COMMAND_CLASS_PROTECTION    0x75    117
COMMAND_CLASS_PROTECTION_V2    0x75    117
COMMAND_CLASS_LOCK    0x76    118
COMMAND_CLASS_NODE_NAMING    0x77    119
COMMAND_CLASS_FIRMWARE_UPDATE_MD    0x7A    122
COMMAND_CLASS_GROUPING_NAME    0x7B    123
COMMAND_CLASS_REMOTE_ASSOCIATION_ACTIVATE    0x7C    124
COMMAND_CLASS_REMOTE_ASSOCIATION    0x7D    125
COMMAND_CLASS_BATTERY    0x80    128
COMMAND_CLASS_CLOCK    0x81    129
COMMAND_CLASS_HAIL    0x82    130
COMMAND_CLASS_WAKE_UP    0x84    132
COMMAND_CLASS_WAKE_UP_V2    0x84    132
COMMAND_CLASS_ASSOCIATION    0x85    133
COMMAND_CLASS_ASSOCIATION_V2    0x85    133
COMMAND_CLASS_VERSION    0x86    134
COMMAND_CLASS_INDICATOR    0x87    135
COMMAND_CLASS_PROPRIETARY    0x88    136
COMMAND_CLASS_LANGUAGE    0x89    137
COMMAND_CLASS_TIME    0x8A    138
COMMAND_CLASS_TIME_PARAMETERS    0x8B    139
COMMAND_CLASS_GEOGRAPHIC_LOCATION    0x8C    140
COMMAND_CLASS_COMPOSITE    0x8D    141
COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V2    0x8E    142
COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION    0x8E    142
COMMAND_CLASS_MULTI_CMD    0x8F    143
COMMAND_CLASS_ENERGY_PRODUCTION    0x90    144
COMMAND_CLASS_MANUFACTURER_PROPRIETARY    0x91    145
COMMAND_CLASS_SCREEN_MD    0x92    146
COMMAND_CLASS_SCREEN_MD_V2    0x92    146
COMMAND_CLASS_SCREEN_ATTRIBUTES    0x93    147
COMMAND_CLASS_SCREEN_ATTRIBUTES_V2    0x93    147
COMMAND_CLASS_SIMPLE_AV_CONTROL    0x94    148
COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD    0x95    149
COMMAND_CLASS_AV_RENDERER_STATUS    0x96    150
COMMAND_CLASS_AV_CONTENT_SEARCH_MD    0x97    151
COMMAND_CLASS_SECURITY    0x98    152
COMMAND_CLASS_AV_TAGGING_MD    0x99    153
COMMAND_CLASS_IP_CONFIGURATION    0x9A    154
COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION    0x9B    155
COMMAND_CLASS_SENSOR_ALARM    0x9C    156
COMMAND_CLASS_SILENCE_ALARM    0x9D    157
COMMAND_CLASS_SENSOR_CONFIGURATION    0x9E    158
COMMAND_CLASS_MARK    0xEF    239
COMMAND_CLASS_NON_INTEROPERABLE    0xF0    240

34
Users / Yet another X10 post
« on: August 30, 2012, 01:47:23 am »
I must always remember to start any topic containing X10 with, "X10 is horrible."  With that covered I would like to get some information on a specific part of X10, the wireless side.


I have committed to Zwave as my choice for anything critical because of its features such as poll state, verification of command received etc.  If I add any other lights, thermostats, etc I will be going with Z-wave.

For non-critical systems or systems that can stand alone and do their thing without lmce, such as stand alone motion lights for my entryway and light sensing lights to turn on walkway lights at dusk I have decided to use X10.

For the price once again I am back at the X10 debate over motion detectors.  These units are < $10 each and use RF instead of powerline communication.  I will not have all the error correcting and verification of signal but in the event of motion I would assume the message repeats as long as the PIP detects a presence. 

So, it is very likely that in the next week I will go ahead and buy a handful of these sensors to place around my house.  Their signal will trigger events and commands to my z-wave devices via dcerouter.  What I am still uncertain on is a good RF unit for my core to pick up these signals.  Below is what I have gleamed from forum/wiki and internet searches for X10 wireless.

- CM11 = wired pc interface, goes from pc to wall and does not talk wireless?
- CM15 = wireless interface, does not connect to power lines and only does RF?
- CM17 "firecracker" - serial interface that...  RF only?  there is no template for this although it appears a few people have tinkered with making one.  These units average $5-$10 new on eBay.

For someone determined to be a cheapskate and use these cheap PIP sensors, what controller is recommended?


35
Developers / Re-Deploying Quad Cam Screen - cam trickery?
« on: August 30, 2012, 12:52:27 am »
I tossed this idea out in another thread and wanted input on it.

LMCE has browser favorites for things like weather & yahoo, I have played with the climate plugin to pull local airport weather (based on a wiki article, thank you to that author) and would like to attempt an all-in-one info screen for lmce.  I would like to have as much local information as I can streaming to my screen as possible so that I can leave it playing on a couple Media Directors while I move around the house getting ready in the morning.  Steal a peek while pouring coffee, pause to look at it while I am brushing my teeth.. things like that.

"Camera1" Generic_IP_Cam pointed to an internet streaming frame of local weather
"Camera2" Generic_IP_Cam pointed to a local weatherbug streaming video of skycam
"Camera3" Generic_IP_Cam find some embedded local newscast in a browser window and point to that
"Camera4" Generic_IP_Cam pointed to Yahoo.traffic view of my area

Using Quadview Cam screen have all these streams onscreen and be able to switch between them full-screen (or at least bigger)

I can set it up this way to see if it works, and if anyone else would like similar I could remake camera templates similar to IP_Camera called "Browser Stream" and using HADesigner re-deploy quad-view as something called Local_News_Screen.  Thoughts?


 

36
Developers / Recv() socket question
« on: August 28, 2012, 02:48:48 pm »
Beginner UDP question here.

I need to write some code so that a networked node can call a socket and send() a few packets to dcerouter.  This is dirty and primarily to give me something to build on and improve once it's operational.  Niceties like waiting for ACK, ipv6, etc, I can add later if I stay with this hardware.

Question:  As I read C/C++ tutorials on socket transmission everything seems to imply I need to write code on both client and server, one to send() and one to recv().  Is this necessary on lmce or is dcerouter ready to accept a packet being thrown at it?

Question2:  Would a close function be necessary?  It's against almost everything I have read but if my intention is to constantly watch for incoming data from a connected node, wouldn't I want the socket open already?



*device info if it helps.  I am using a networked computer and keytronics board to function as a contact switch monitor.  A normally open circuit (doorbell button would momentarily close) wires to a keyboard input, [8].  The connected PC will understand that if keyboard input=[8] then send (?) data to 192.168.80.1/60000.  This remote PC will run headless and will eventually have more switches wired to the keytronics board.  Anything I can wire as normally open with closed only when something happens can send a unique data package. I will need to be creative in how I close contacts, like a window sensor that when the window is down, a magnet holds a switch open so when the window opens the circuit closes and a key press is sent to the computer.  Switches are < $0.50 each retail and a keyboard has 102 keys.  Compared to any other doorbell/sensor system I think this warrants some experimenting and code learning on my part.

37
Users / MythTV - HD HomeRun & Analog Capture Card
« on: August 26, 2012, 07:13:30 pm »
Silicon Dust HD HomeRun (dual tuner)

I have had this networked tuner for some time now and am still very happy with how it is configured automatically and how easy it was to get working with MythTV.

Recently however when toying around with a MD build I realized that my current settings only allow me to watch one live TV feed at a time.  These are not premium channels so I do not think the HomeRun would be limited to one feed because of that like some cable boxes are.  I was under the impression that a dual tuner HomeRun could feed two media directors with their own separate channel as long as no recording was going on.

In the web-admin each tuner has it's own IP address (-0 & -1)
In MythTV I did a full channel scan on each tuner (-0 & -1) to confirm each was working

The only setting I am unsure of is several of the recording rules where I left "LinuxMCE Default" as my selection choices.  I am under the impression that the system (lmce default or mythtv) is keeping one of my tuners in reserve, so that if a scheduled recording came up it would be ready?   Does anyone have experience using this Dual tuner and having to adjust tuner rules?  I eventually plan to add more of these units as the number of MDs in my house grows.  If I dual can feed two MD's then two HomeRuns would feed four MDs.  Under the current settings I would need 4 dual tuners to support 4 media directors...     

WinTV-150 PVR MCE Edition (PCI Analog only)

So I accept that this card is ancient and that unless I am going to be converting VHS tapes to DVD I should probably pull it.  It is working great now though under the ivtv utils and I would like to pick back up some functionality out of this dated card.  My question is for anyone who has configured a cable box in MythTV.  Using a IR controlled digital-to-analog converter I should be able to use this card much like one would use a cable box or satellite receiver.  I have a schedulesdirect subscription so I know the channel info.  What I am unable to figure out however is how to communicate to MythTV that everything will come in under channel 3.  When trying to apply the channel settings from my HD HomeRun channel scans I get the error that Myth is set to tune to channel 3 and channel 3 is not valid. 

*The IR converter box info is: Access HD DTA1010.  It has Coax output as well as component outputs (I get component and composite mixed up, its red yellow white) there is also a RS-232 port but I haven't had luck talking to it yet via serial, it's labeled "service" though I have seen that before on devices that once you get the port settings there is more available.  Once I troubleshoot the MythTV configuration I will get a simple template made based on a cable box and provide that for anyone wishing to dust off old cards and converters. 


38
Marketplace / Custom Product Services - In-Wall Orbiter (w/ Photos)
« on: August 26, 2012, 02:58:17 am »
Unlike my other project posted in the user's area I do plan to charge for these items so placed it here in Marketplace.


Several people have expressed interest in devoted in-wall orbiters.  So I have come up with a pretty slick idea that addresses a lot of the challenges of in-wall installations and offers extremely simple installation.  To make this end-user friendly I need to do most of the hardware work myself and ship out a polished product, for this I need to charge.

Background:

In-wall challenges:  Getting power and internet to the system board to run orbiter software, end users do not want to cut drywall and run new power lines inside walls.  Mounting and placement problems involved with large display touchscreen monitors, a 15" cheap touchscreen would be nice but you need access to cheap screens, drivers for the touchscreen, frames to mount cleanly, etc.  These issues are addressable on an individual basis by adventurous users but not easy to package and offer to everyone.  The below solution addresses these issues and offers a drop in solution for in-wall orbiters.

I have in my home 2 gang light switch wall plates with a single switch, the other half of the plate is unused.  My options were add another switch to the box or pull the box and downsize to a single gang box.  What I decided on doing was to add a LCD screen to this area, making the screen a touchscreen and having it control an orbiter was the process that led to this ad.  A simple solution to the challenge of power and internet is to use DC powered and already supported mobile devices with custom mounts behind the plate cover

What I am Offering:
I will custom make plate covers and mounts to house your specified device and have it safely installable and accessible.  I will include shields to separate the in-wall area that your device hides in from the home electrical power.  Access to your device for battery changes, setting changes, etc will therefore only involve removing the plate cover screws.  The option for in-wall wall-wort power running off the house AC is there but again that is more advanced and if you are not comfortable with AC power this would best be handled by an electrician.

Cost and Installation:
For most applications the original housing of the device needs to be modified so that its screen sits flush with the plate cover, some devices make this easy while others make this close to impossible.  Internal device circuitry also needs to be no taller than a standard plate cover or additional modification must be done.  For these reasons I can not quote a base cost.  Please supply the device you would like mounted and I will respond with a base estimate and more questions which will allow me to provide a not-to-exceed price.

Provided to you at project completion will be a plate cover with device attached and a mounting bracket.  You will need to cut an opening in the drywall next to your switch slightly smaller than the plate cover, this opening will be covered by the plate and will not show.  Place the provided mounting bracket into the hole, this will provide screw holes for your new plate and shield you in the future from coming near your home's AC power.  Next, screw in the new plate cover which contains your device.  Future access to the device then only requires removing 4-6 screws.

How this works, what if I can't do what I promised?
Anyone can promise something, and charge you for it.  After expressing interest to me and agreeing on a price, I will acquire the device on my own and begin manufacturing your solution.  When I am finished you will receive photographs and even a live webcam feed if you like to assure quality of construction.  At this point hopefully you are excited and wish to purchase at the original agreed price!  If you are not satisfied or I fail to make the custom device then I use the device in my own home and thank you for the recommendation.  Therefore your investment consists only of contacting me and explaining your desired device and unique application.  It will then be my responsibility of producing and item that exceeds your expectations and makes you comfortable purchasing.

Examples of Custom Applications:


Original 2 Gang Plate                                                                Custom 2.5 Gang Plate*
           

*Note that this image was photo edited.  When joining two separate plate covers one of them cracked.  Also the weather station is not powered on, that is the sticker overlay showing operation.  My choice to edit the photo was to show design and concept.  The plastic on these covers is very fragile, for future projects I will be making my own.  In a few days i will pick up some Lexan and after routing my plate cover shape I will paint the backside white to give it depth.


*Edit.  The Weather station screen is from a La Crosse wireless unit. "Stupid Hard" to modify as it uses elastomeric (Zebra Connection) from the embedded LCD controller to the screen, higher-end LCD screens with ribbon cable to the screen will be much easier to mount.  The outside temperature is fed from a wireless sending unit outside.  The 'indoor' temperature sensor is now inside the wall and while slow to adjust to changes is fairly accurate to the house temperature.  There are several hacker sites that have gained access to the wireless packets these units send.  Hopefully I am able to tune in that data on my wireless AP and get that sensor data fed to DCErouter.  If I get that working clean the template will be submitted for others to use, if plate mounted or set up standalone as La Crosse intended off the shelf.

39
Users / Wiring Project [Updated Photos]
« on: August 20, 2012, 01:40:32 pm »
During download and install of 1004 beta I had some time so, I am once again posting about another project of mine...

I have always wanted to make my own cradle/charging station for my favorite LMCE controllers and other always-near items after seeing someone years ago post a photo of a wooden rack they built for the coffee table.  The pinout for my orbiter has been on the wiki page since that time and I finally got around to building the 'guts' of my new console.  My 10+ years working with fiberglass molding, plastics and aerospace composites should help me produce a pretty nice showpiece but I am having some trouble with the wiring.  I was hoping someone either has a OEM dock for this and could give me some info or is good with electronics and can tell me where I am too off the wall.

Proof of Concept Photo  In summary I black taped all 18 pins on the bottom of the DT366.  I then cut out the tape from the pins I wanted to contact, giving me less chance of hitting the wrong pin.  The cigarette box and duck-tape was special just for tschak909.  After struggling for too long to balance and line up my exposed wires to exposed pins I realized this probably will not work unless the 12v hot and GRD is also connected.  So I never actually got proof of concept...

Moving to Something More Permanent  Okay besides bad soldering (it was late and heating paperclip sections that softened the vera before solder could flow sucked)  This is the underside showing the two connections I am making. A dock to charge my iPhone and an open USB-A to charge whatever.  You can also see that a standard PC power cord will power this console when complete.  

Homemade Pins  This view is what will actually face up and the DT will cradle into. Obviously I need to straighten the pins and set the height but that can wait until after this comes out of the mold.  The switches are momentary contact switches on the 12v hot from the transformer.  They must both be pressed down for the cradle to power on.  I added this because I didnt like the idea of 12v + and GRD next to each other in the open.  (The tape was only there to make my pins stay in place while I wired the underside tschak909)

Where I could use some feedback is on my idea of a safety switch, lack of any diodes or resistors on these circuits and any other suggestion that would give me power to the USBs even if the DT is not cradled.  I thought about a nice flushmount pushbutton "ON" toggle on the face of the cradle but decided against it.  If you have an OEM dock for the DT I would really appreciate a photo or component model numbers/colors.

The body is coming along nice but sorry no photos yet.  My mold is built with heavy foam atm and I havent picked up clay to coat the curves and fire it to make a reusable mold.  Much appreciation to whomever posted the wiring pin-out on the wiki.  I thought about chasing down the pinout for the USB-B port but decided 1 open USB is fine so long as I don't have to chase my iPhone cord ever again.

40
Users / Hardware Chat - I/O Handling
« on: August 18, 2012, 07:39:20 pm »
New beta, new core build

I thought I knew hardware, however after discussing the differences between cpu/gpu bound applications and I/O bound applications I realized I have room for some more knowledge.  I built my current hybrid much like someone would build a gaming rig or MD.  I selected what was at that time a nice video card, a mobo with a mutlicore capable socket and 2 gigs of ddr2 ram. -There was a great comment on the forums about ram requirements that said something about not needing more than 2gigs even with 40 MDs and a climate controlled dog house-  Though I saw the humor in this and followed the recommendation I never quite understood how more ram wouldn't help out.  Well I get this part of it now and am ready to reconsider and rebuilt my core.  Where I used to think I/O was devices connected to the machine, I now understand that all the way down to C++ programs have I/O needs and are only as fast as they can get their I, process it and then O.

A balanced system outperforms a one-device wonder.  So I am looking at timings on things like fsb, memory controllers and ram to get things in-line.  Adding disk writes into this balancing act is where I realize I could use some help.  My current plan is to add a PowerEdge as a core and here is why I think it will be beneficial, if you have suggestions or reasons why this might not give me a good experience please comment.

PowerEdge 2850 or 6850, 4GB ram, 3 small scsi drives in RAID 5

I selected this model for the used price of less than $200, the duel processors with individual memory controllers, its expandability to 16/32? GB memory.  The low cost of server memory compared to desktop memory and the use of 15k SCSI drives.  I then will do a hybrid install using the onboard vga and simply turn off autostart mediadirector option after install.  I think this setup will give me the best I/O capabilities and though processing power may be overkill I will be able to take advantage of things like motionwrapper watching multiple cams at higher frames per second than I am capable of currently with my core.  I know the RAID choice will probably result in some debate but my choice for 5 is based on the use of NAS for everything except system files and my willingness to do frequent backups for recovery in the event of a drive failure.  If another RAID configuration will offer lower latency at the cost of less drive failure persistence and the elimination of write holes I am willing to listen.

I could post this a million other places on the internet where hardware discussions go on, I appreciate anyone who takes their time to comment on their experiences here on this forum about hardware interactions within this specific software environment.

**Edit.  My used hardware supplier recommended an Opteron model over a Xeon model, apparently the memory controllers are very different?

41
Feature requests & roadmap / Bloated MDs
« on: August 17, 2012, 02:32:40 am »
This is just an observation, but from it there may be room to strip down some installer components and improve the disk-less creation process.  This actually may be part of the design and a wanted feature so I will leave some options open in my suggestions for that case.

I entered KDE on a media director to see if I could adjust some nvidia settings using their x_config_prog.  What I found was a pretty large application list installed, considerably more than is installed on the core machine during DVD install.  Five or Six media players (additional to LMCE flavor, such as amarock and dragon), a lot of office applications and other features you would expect from a 10.04 install with KDE desktop.  It seemed a little excessive to me on a diskless MD that most users probably never access.  Perhaps by stripping down a lot of these packages, install times and load times could be improved?

Questions:

Is this "full" desktop a design feature?  Are these components present so that the MD can optionally function as a desktop?
Did I by going to KDE desktop on that MD load or unpack applications that otherwise would not have fully installed on that MD?

As I start loading more and more Media Directors to my setup I am (unreasonably) concerned about the growing core install location.  Although it may sound controlling and like I want to manage things LMCE can do by itself I would like to move to tiny fast drives in raid on a core machine with all media files stored on a NAS.  Because of that desire I have a few other questions about the way diskless devices are managed on the core.  This will help me understand what might be necessary to formally suggest any new install features.

Where I used to imagine diskless images like .iso files stored on a remote machine, I now better understand that installers are files and folders with commands that spawn more files, folders and commands.

 Are the /lib files shared among MDs or are they duplicated on the core for each MD?
 Is there a reason these /pluto/diskless folders couldn't be stored on a NAS?
 Is there room for development work on the Diskless_Create.sh?  I would be willing to take a look at slimming down some components where possible.
 Would anyone benefit from a prompt on the MD creation process pre-AV wizard that asks "Would you like add desktop functionality?", "will this be a designated media only location?" or even
 "Would you like this location to function as audio only?"

I think the MD creation process works wonderfully and am not reporting a buggy feature, I am just looking for ways to add a customizable experience while remaining as automagical as possible. 


42
Users / New Template [IR Controlled Electronic Fireplace]
« on: August 15, 2012, 03:48:18 am »
I have recently acquired a usb-uirt to do this template the right way, it will arrive in the next few days so I am getting started on the template now.  If anyone has a similar device, please let me know about any additional commands I need to add to incorporate special features.  This will be very very basic IR to device template with no device feedback, in similar fashion to a generic VCR with less commands and without the media screens. 

GHP EF26 26" ELEC FP
IR Controlled Electronic Fireplace
Operational as lighting only, heater only, or light and heat
IR controlled (will get pronto codes from usb-uirt)
-Template would also work for EF22, EF26FG, EF33 & EF36

Current IR functions and limitations: (from original remote)

Lighting Function (flickering flames)
Lighting On (no saved state, it turns on at 10% brightness)
Lighting + (increase current brightness by 10%)
Lighting - (decrease current brightness by 10%)
  -issues1:  I would love to write this into controlled by lighting plug-in so that the lighting effect can respond to events as any other dimmer light.  The dim can not be sent as 60% though, it has
   to be sent as 5 separate "+" commands with no state memory.  As response to an event calling for 50% it could execute (on, +, +, +, +) buttons on the orbiter {+} and {-} would also work but
   the specific percentages without state information would be difficult if not impossible at this time to make functional.
  -issues2:  The command for On is the same as Off. This is definitely going to be problematic and possibly require me to create a current state memory for the device.  Otherwise an ALL_OFF to
   lights would turn this on.   


*Edit.  After controlling this more and reviewing the manual, The various lighting {+} and {-} buttons are not adjusting brightness levels, they adjust the flame effect speed.  So to simplify the template I will add control for "fire effect on/off" and will leave the speed setting for individual adjustment via OEM remote. 

Heater Function - Electric space heater
Heater On (no saved state, turns on at 10% output)
Heat + (increase current heat output by 10%)
Heat - (increase current heat output by 10%)
  -issues1: Unattended space-heaters cause a huge percentage of house fires, I am uncertain still to even write this template..
  -issues2: Pulling this into the climate plug-in could add comfort control in the immediate area.  It would be user input only however and would function similar to a thermostat with + or - control.
  -issues3: Once again the On/Off is a toggle and LMCE would not have state memory unless devised and placed into the template as a field.  A poorly written lighting command that incorrectly
   toggles a light on results in a bulb or string of bulbs wasting electricity, an unwanted or unexpected space-heater turning on has much more costly possibilities.

*Edit.  I was incorrect about saved state on this.  The device does remember the last heat setting.  There is also an integrated thermostat that switches off at different internal temperatures dependent on the users defined output setting.  This is a common feature of most electronic space-heaters.

Incandescent Light - a brighter output light from the inside ceiling of the fireplace "box"
Light On
  -issues1: Use of this light requires that the flickering flame function be On already, sending this command does nothing if not preceded by Light on (above)
  -issues2: Turning off the flickering flame lighting also turns off this light.

So as you can see by this outline of features I have some challenges and things to consider before continuing.  I would love to tie in the lighting so that a playing media event could turn off room lights (via z-wave) and also toggle the fireplace light effects via IR.  I would be not as happy to get an inbox message from someone whose house burned down because I tried to automate their space-heater...

Input welcome.

43
Users / New Z-Wave User looking for recommendations
« on: August 13, 2012, 04:00:41 am »
I owe a big thanks to whomever contributed to the the current z-wave detection processes.  That was one of if not the smoothest setups I have had with LMCE to date. 
@hari, tschak909 I know you two for sure, nice work. 

In fact the Sarah wizard not only detected everything but walked me through how to include devices using the exact model controller I have.  Obviously this was intended to be an example but without a manual I would not have known that holding include resulted in a copy prompt.  Very well written!  Hopefully as my system grows I can contribute any device templates I come across that do not have pnp support already.

I don't think it's a mystery to anyone here that I am cheap.  I bought the cheapest wall plug I could find after a few weeks watching eBay, Intermatic InTouch CA3500.  Although it works just fine there is a very noticeable "POP" of the contactor opening and closing.  Since I do not have experience with these devices I do not know if I would call it excessive or not, it may be normal. 

For those of you who have been using z-wave for a while and have used devices by different manufactures, are the higher $ devices quieter?  From my browsing and price comparisons there is a steep jump in price between manufacturers including used hardware. At the bottom of the barrel as far as I can tell is Intermatic, Wayne Dalton and GE being middle of the road and then a big jump to Cooper and other 'premium' makes.

I am familiar with Cooper from my days doing NFPA 70-E training but how their products compare I have no idea.  As "quality of construction" is not going to be listed on any spec sheets I am hoping for user experience for recommendations on that all important quality/price comparison. 

*tkmedia, I checked LMCECompatible and didn't see a make, though the other devices you carry for in-wall seem to all be Wayne Dalton.  Message me please.

*totallymaxxed, I can't imagine a quality of construction difference between US and European standard made devices so would really appreciate your input since you have wired hundreds of devices in homes where I am sure the customers are pretty critical about switch noise.
 

44
Users / Designer
« on: August 11, 2012, 03:01:00 am »
I am again stuck on getting this application launched so that I can continue working on skins and other recent requests such as the onscreen keyboard.  Below are my exact commands and inputs.

From this link
- I download  http://deb.linuxmce.org/QuickDesigner.tar.gz

It places the tar.gz in my Desktop folder so I navigate there and enter
Quote
tar -zxvf QuickDesigner.tar.gzar
This unpacks 6 .jar files into a new folder /Desktop/lib and places a single QuickDesigner.jar in my Desktop folder

Per the wiki I enter this command
Quote
java -Xmx256m -jar QuickDesigner.jar

A popup window comes up and has the following fields autopopulated and two fields blank

mySQL server address     192.168.80.1
mySQL server port          3306
database name               pluto_main
user name
user password

I enter anonymous nopass as a guess because that is what is populated for the schema database in the admin page

as soon as I press enter I get more than I would copy paste here, and because its error spam I dont know how I could do a pastebin command.

The summary of this output that looks like a possible error to me is:

Internal Exception: java.sql.SQLException: Access denied for user 'anonymous'@'192.168.80.1' (using password: YES)

I see this and then a list of the files I recognise from the Desktop/lib folder plus others that are new.  At the end of this list is the words "... 34 more"

This spam repeats over and over.



45
Users / External Network Resources (IP Camera Example)
« on: August 08, 2012, 11:25:11 am »
A web search for "linux IP camera" is going to generate some hits.  A search for "IP Camera", "Axis", "Foscam", "Panasonic", etc on the LMCE forums is also going to give you plenty of reading.

When I added my first few cameras to LMCE I had very mixed results.  There is simply a ton of guides and recommendations here and on the wiki which although generally the same offer different methods and is enough to confuse fairly easily.  My first true problem camera was a D-Link 930L (that I still need to submit a template for... sorry) that had random bouts of dropping out.  Motion settings could have been an issue as there was a fairly well known issue of having to restart Motion after a reload router command.  My device data settings conflicting with the camera's own browser accessed settings could have contributed as well.  No matter what troubleshooting guide I followed, or no matter how many times I removed the device to re-add it using different methods all resulted in random problems.

I came across this very good thread which lead to more searching and research.  The work around I used has survived despite many many reloads and many times deleting the camera and re-adding it with different settings.  The work around I used was to simply move the camera off of the LMCE network.

This breaks the general rule that LMCE resources need to be on the internal network and given IP addresses by the CORE, and I want to address that rule.  Nobody wants the frustration of configuring each device, in fact the premise behind smart home systems is that you shouldn't have to.  Users should be able to buy a device, power it up and have LMCE detect and configure it, automagicly.  To get to that point however a lot of work has to go on to create proper templates, update detection radars, etc.  Time and energy spent getting something working is then shared so that the next user to come along has the out-of-the box experience.  I broke the general rule as a troubleshooting experiment, not as a setup method.

To move my camera off the LMCE internal network I used the basic networking Venn Diagram rule that says the machine that creates a network of it's own is still a part of the parent network.  Rarely is the external (eth0) network many of us have in our homes considered other than methods to avoid it.  Although it very well can be a network, capable of file sharing, static addressing and other functions.  The core (when a DHCP device controls the external network) is a member of the external network. Devices attached to the internal network (eth1) are NOT members of that external network and thereby can not "see" devices living on the external network.

Example:

{External Router} (192.168.0.1)
 I       
 L___ [iPad] (192.168.0.2)
 L___ [Work Laptop] (192.168.0.3)     
 L___ [Windows PC] (192.168.0.4)
 L___ {LMCE CORE} (192.168.0.5 / 192.168.80.1)
          I
          L____[Media Director1] (192.168.80.2)
          L____[Media Director2] (192.168.80.3)
          L____[NAS] (192.168.80.4)
          L____[HD HomeRun] (192.168.80.5)
          L____[Cisco 7970] (192.168.80.6)

As you can see by my super fancy editing, the core is a member of 2 networks.  Devices in solid black or red are a member of one network only.  The CORE tells MediaDirector1 to use that IP address.  This is a static configuration.  Now typically when the term static is brought up its typically because a user decided to play DHCP themselves and mucked up the CORE by adding their own static settings.  What I am referring to is when LMCE adds an IP for a device on its own, it gives it a non-changing (static) IP so that it knows where to find it at all times.

Using the above example network I connected an IP camera to {External Router}, which gave it an IP.  From the CORE i opened the browser interface for my {External Router} and learned that the camera was given an IP of 192.168.0.6.  Because I am going to be telling LMCE that a camera is at that address I wanted to make sure the address doesn't change.  I instructed {External Router} to make the camera's IP static.
Now back in the comfortable web-admin page I add a camera normally, when asked for the IP address of this new device I provide the 192.168.0.6 location.  LMCE accepts this setting and goes ahead to statically add the IP to its list of DHCP leases.

What the CORE doesn't realize (or maybe it does?) is that in this case it did not have DHCP authority to assign a static IP on that network.  Despite its' network the camera operates happily and the CORE has no problem going through the {External Router} to grab a peek at its video every now and then.

The camera through its' web browser interface also can be set to use a static IP.  I did this just because I am a clean nut and like the camera to know its' IP allocation without having to ask.  With these settings in place I have been able to move, unplug and stick in a drawer, disconnect the wired connection and know that it will always be available at that location ready to be accessed.

I put this to a thread not to provide my methods for off-network static addressing or to suggest that this will fix anyone's issue but to offer another tool to users against a wall on network issues.  Even with really crafty code this setup can never be plug and play and does nothing to promote the LMCE smart home ideal.  It should be used long enough until issues preventing operation on the internal network can be resolved and the methods needed to get it working under LMCE are shared with other users.   

Pages: 1 2 [3] 4