It sounds like Zigbee may be the answer. They do have a frequency they can use in europe. I guess we should start looking at zigbee to pc adapters

I would prefer fixing up the X10 support properly, but I'm still a long way from getting around to even looking at it. And I'd probably need to get an X10 remote and motion sensors to test properly as well.

Well, pretty soon, you'll have a choice of 3. I'm working on the PLM right now..If you just want linuxmce dedicated control, I'd go for a PLM.If you want a controller that can do all kinds of other things via the internet, I'd go with a PLM/EZBridge (The EZBridge uses a PLM)

Also, if you want to connect via IP (ethernet), the EZBridge is the way to go..if you can connect with a COM port, PLM.if you need to connect with a USB port, PLC.

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

Oh, did I forget to mention, I'm also working on X10 support, also bidirectional...I have a plethra of X10 devices / sensors, so I can test that functionality..The EZBridge interface sees the X10 commands now, just doesn't do anything with them.

« Last Edit: December 15, 2007, 10:57:19 pm by ddamron »

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

ZWave bidirectional communications is limited by a pesky patent of Lutron's so most ZWave guys have been reluctant to do it. The hardware does have the ability. Leviton does have a solution and they were sued within weeks of shipping.

The issue with Insteon is reports of flakey hardware. Some forums have indicated a 1 year life expectancy for the hardware. The better ZWave stuff (Leviton, Cooper, Intermatic) should last a long time. Perhaps redoing the ZWave stuff is next since it is supported in Europe and soon Asia.

I'll see if I can gather some Insteon hardware and try it. LMCE should be able to support both simultaneously.

If you want a controller that can do all kinds of other things via the internet, I'd go with a PLM/EZBridge (The EZBridge uses a PLM)

Also, if you want to connect via IP (ethernet), the EZBridge is the way to go..if you can connect with a COM port, PLM.if you need to connect with a USB port, PLC.

What kinds of things can a PLM do via the Internet? Are you talking about managing the PLM over the Internet, or the PLM managing devices over the Internet? If the latter, how do you connect the remote device to the local PLM, an EZBridge?

I think it's weird that a PLM works (on some layer) over TCP/IP, but uses the (ancient, deprecated) COM port, while the PLC doesn't do TCP/IP, but uses the modern USB. Most modern mobos come with ethernet and USB, and COM often doesn't come with ethernet.

I think you miss understood me..a PLM connects Insteon signals to either an RS232 port, or a TTL Level Device.the EZBridge connects to a PLM (as a TTL Level Device) and then connects to IP.With the PLM Alone, everything is local..However, if one is using an EZBridge, it can be located anywhere in the world, as long as it has an accessible IP, linuxmce can send commands to it, and receive information from it.

An EZBridge is ideal if you have a 'remote' location, and want to monitor/control insteon devices.

« Last Edit: December 17, 2007, 07:51:21 pm by ddamron »

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

as an example, I have my EZBridge located OUTSIDE my linuxmce subnet..(it's connected to the same switch as the PUBLIC port of my core , and hence, get's an IP in THAT range)pluto's internal IP subnet is 192.168.80.x/255.255.255.0pluto's public ip AND EZBridge are on 192.168.x.x/255.255.0.0FYI, all my IP cameras are on that subnet too.(255.255.0.0)

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

PLM interface is now functioning.EZBridge interface is now functioning.

Internally, both devices send and receive using the same methods. This allows me to add functionality to BOTH at the same time.

Device Detection (determining the type of device) is implemented and working.Database Delta values are being read, currently, nothing is being done with them.

I want to get a bit more accomplished today, but I should be able to post updated code later today.

Dan

Questions I still need answered:1. How do I read Scenario configurations in Ruby2. How do I store 1 Byte of data into the child device3. How do I return STATE information to the child device (currently, I can only send on or off, not ON/50)

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

on another note, does ANYONE know how I may be able to SAVE certain state information?Eg: I'd like to be able to read a device's database, then it's delta. SAVE it's delta for future comparison..possibly in the Child itself??I really don't want to have to create a file and save it there..

Suggestions?

>> on another note, does ANYONE know how I may be able to SAVE certain state information?

First, if the data you want to store for a child device is the unique address or id that the parent uses to identify that child, you should use the device data: DEVICEDATA_PortChannel_Number_CONST 12 This is the standard. So, for a light switch that is controlled by an X10 controller, that device data is something like C8. If the light switch is part of an EIB system, it may be: 10.37.1. And so on.

Now assume you need some special device data for your light switch that is totally unique to Insteon, and is separate from or in addition to the standard id that the switch has (which is device data 12). Let's call this "Insteon Status". The usual way is to go into the device template (say generic on/off switch) and add a device data ("Insteon Status"), and set the 'set by device' to true. I don't recommend this, though, because the device templates for the child devices (like lights) are shared by all the interfaces (ZWave, EIB, etc.). You don't want to add this to the template because then it will be there for all non-Insteon light switches too. The best solution is to set the device data for devices in code without defining it in device template. For example, add a new record to Device Data "Insteon Status". The next time pluto2cpp generates the header pluto_main/Define_DeviceData.h there will be a #define for it. Then in your Insteon interface, call the Command_Impl::SetDeviceDataInDB, passing in the device id and the new #define for your device data. This will set it in the database, but this won't force it into the template, so it won't effect EIB and others. Each time the router reloads and you get your pointer to the Insteon Device (DeviceData_Impl) you can call: m_mapParameters_Find with your device data to get the value. That will get the value that was in the database when the router was last reloaded. This is best, since you probably are keeping a copy of the current value in memory. if you don't and need to do a database hit to retrieve the current value you already set, call m_pEvent->GetDeviceDataFromDatabase() (from Event_Impl.h)

I'm writing this all in Ruby... Can I define DeviceData in Ruby? currently, I read the Insteon ID using devicedata_[12], just as you suggest..now If I create a NEW device_data (without defining it in the template of course), will that device data replicate itself into the database?(just so I'm clear...)device_.childdevices_.each{|c| $children[device_.childdevices_[c.to_s.to_i].devdata_[12].chomp.lstrip.rstrip] contains my Insteon IDso if I do:device_.childdevices[c].devdata_[uniqueDeviceDataID] = valuetosave #The value I really want to save is the Database Delta byte.. this tells me if an insteon device's database has changed

Thanks again!

Dan

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

Also, this would imply that each device could potentially have hidden devicedata_...Would the STATE of a device be accessible this way? Currently, I can only send State ON or OFF..(via an event)I'd like to send ON/45..

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?

I'm writing this all in Ruby... Can I define DeviceData in Ruby? currently, I read the Insteon ID using devicedata_[12], just as you suggest..now If I create a NEW device_data (without defining it in the template of course), will that device data replicate itself into the database?(just so I'm clear...)device_.childdevices_.each{|c| $children[device_.childdevices_[c.to_s.to_i].devdata_[12].chomp.lstrip.rstrip] contains my Insteon IDso if I do:device_.childdevices[c].devdata_[uniqueDeviceDataID] = valuetosave #The value I really want to save is the Database Delta byte.. this tells me if an insteon device's database has changed

Thanks again!

Dan

I'm doing similar thing in Perl. I keep states as internal variable in my driver and then do comparisons. My experiences show that you need to distinguish between changes that do happen in LMCE and changes that do happen in your automation system, cause you need different actions on them....

At the start, I read all initial values from home automation system and then proceed...

That's currently what I'm doing right now too.. however, here's the problem:

If I sense a database change in an INSTEON device, I need to read it...when I read an INSTEON device's database, it could require HUNDREDS of different commands/responses

hence why I want to just read the DELTA (a database status byte that increases each time the database changes) and compare it to a stored value..I have 30 or so Insteon devices.. all of them have tons of links... each link (database entry) requires possibly 16 seperate commands to read it.

I don't want to do that upon initialization, plug up the Insteon network for 10 minutes... hmmmThanks for your reply though!

Dan

Logged

The only intuitive interface is the nipple. After that it's all learned.My other computer is your windows box. I'm out of my mind. Back in 5 minutes.Q: What's Red and smells like blue paint?