PDA

View Full Version : A call to all users



jwilson56
March 17th, 2010, 10:18 AM
Well most people that frequent the board have probably seen one or more of my skins. I have always tried to show off my project as a way to interest other people in using NR/G5 for their home automation/music projects. With the recent announcement of CQC that they will be doubling the cost of the DIY version of their application that puts a NR/G5 Pro bundle as the best deal around.

I STRONGLY urge people who have a home using Promixis products to join the Cocoontech community and start a showcase blog with screenshots and information. We urgently need to show others that these products are a viable alternative to CQC, Mainlobby and Homeseer. It is not enough to just show things off here as many people don't even know this forum exists. Trust me Cocoontech is a huge forum for home automation enthusiasts.

If you want to see Promixis succeed and be around in the long term with better products they need user support. I frequent Cocoontech daily and chat in their IRC room and I can tell you I feel like a lone stranger preaching the Promixis line.

If you have ever used any of my donated skins or just want to give back to Promixis I hope you will take me up on my call to arms. The economy is getting better from the way it looks so I think we will see more people interested in this high tech hobby. Let's show them what they are missing.

yamy125
March 18th, 2010, 06:44 AM
Good idea. There are a few concerns however.

I understand that the Promixis guys can't spend too much time on this project without money coming in, but have noticed a serious drop in development and, to some extent, support on this forum since joining some time ago. This drives people to look elsewhere, such as CQC, for an alternative solution under heavy development and with strong support. I for example hadn't checked in on CQC progress for some time until I read your post, and was pleasantly surprised by the development rate and product support. It's now covering all products that I had a fair bit of trouble to get going to a usable level in Girder/NR and the community support looks great and is thriving from my quick look in on the forums. They have an iPod/iPhone client sorted as well it appears.

Don't get me wrong, I'm not about to jump ship after all the hours I've put into getting Girder/NR up and running nicely, but just the general feeling around here of late is that things are grinding to somewhat of a halt no?

I'm only speculating that it's a funding thing and the focus on PEAC is an obvious step in the right direction for the company? I've actually wondered from time to time if any consideration has been given to a subscriber-based licensing system (like an annual software maintenance agreement) that could increase levels and consistency of revenue for Promixis? In return there would be a greater development focus, increased support, and the obvious version updates while under maintenance. That is what most of us are after at the end of the day I believe.

Just my two cents worth and in the mean time I'll check out Cocoontech for sure!

Cheers

jwilson56
March 18th, 2010, 08:33 AM
I agree to a point. I have discussed Iphone support with Rob as a possible addition to NR 3. I have done some looking into how CQC handles that is looks like a RDP type function so that might be something NR could have added.

One thing that most people tell me is that the learning curve is so high on NR/G but if you read the CQC forum you will see that it also has a high learning curve. I have asked CQC users many times what they think CQC can do that I might not have in Now Playing and they never seem to have any ideas. So you say that there is a lot of development on CQC but other than the Iphone I really don't see what they have done. Their forum has not been overly active in the past few months.

I for one am not willing to pay $600+ then a per client fee to use CQC. I will stick with what I have. My goal was to just get what we have more exposed to the home automation community.

kwaugh
March 18th, 2010, 10:56 AM
Up front - I have NO CLUE as to the situation at Promixis other than a hope they all get rich and keep providing us with future releases of their software...

That said, this seems to be a pattern I'm seeing for products that have the power and flexibility the enthusiast wants vs. the ease of use that the more 'casual' user wants.

My experience with homeseer was one where as they tried to make it easier and easier for the casual user, it just seemed to be getting more and more burdensome for me to do what I wanted.

I'm speculating that the enthusiast market is a pretty small niche...

I'll also add that I've never found anything close to Girder/NR when it comes to power and flexibility.

I was a advocate of the gallery here on the Promixis board a few years ago. I'd love to see more folks show off their work. I think my suggestion back then was to have Rob and Ron judge a contest where promixis t-shirts could be given away for things like best design, best lua etc...

My 2C!

Rob H
March 18th, 2010, 02:23 PM
Development is continuing, believe me - although I've been having issues getting Visual Studio to compile NR for WinCE (not for a release product but for testing new code).

One feature that I'm sure you'll all appreciate is the ability to slice an image into 9 chunks, like a tic-tac-toe board, which allows you to resize a frame or button without any nasty artifacts. This is working in NRD and NR for Win32, I'm just not sure that it works in PPC yet.

Work on NR3 is continuing too.

jumbodogs
March 19th, 2010, 08:56 AM
iPhone and Android support would be HUGE. I really think you guys should look into getting that supported. Getting a great looking skin running on a iPad or Slate would get tons of people here.

yamy125
March 20th, 2010, 08:05 PM
Sure would. The iPhone or touch is such a common item these days that I can see a lot of people not giving NR a second look without support for it. The iPad is going to be interesting for the industry too.

bruiser
March 28th, 2010, 01:32 AM
i hear what your saying jwilson but i fear as so many do that without the iphone option nr and girder are almost obsolete. I have only recently become an iphone convert...after resisting for years!...and all i want to do now is control my av with it. And the only way i can do that is by using nr on the server and rdp with iphone which is clunky and annoying at times.

There is loads of stuff out there and hundreds of iphone apps but nothing as robust and as flexible as nr. I'm about to get the ipad shortly which would make the most kickass remote around...it would be the ultimate to run nr from the ipad...

I'll keep talking up promixis John...they have been good to me!

tmorten
March 29th, 2010, 04:57 PM
I'm using Girder to serve up "NetRemote" web pages for all my AV control (plus lights, sprinklers, weather, etc), and it is working like a charm. No reason this wouldn't work on iPhone, Android, etc. :)

Cheers,
Tim

jumbodogs
March 30th, 2010, 08:41 AM
I'm using Girder to serve up "NetRemote" web pages for all my AV control (plus lights, sprinklers, weather, etc), and it is working like a charm. No reason this wouldn't work on iPhone, Android, etc.

That sounds nice ... could you post example or point me to how to do that?

tmorten
March 30th, 2010, 11:17 AM
First a disclaimer: I'm guilty of being off-topic here since we're in the NetRemote section of the forum - I should be clear that this is Girder functionality we're talking about rather than NetRemote functionality. As an aside, NetRemote also seems to have its own webserver (and corresponding httpd directory) but I have not experimented with that.

If you have the Girder webserver enabled, there are some example files in the httpd directory (where your appdata resides). Girder's webserver is an under-appreciated feature, in my opinion. There is useful "out of the box" functionality driven by the device manager, including the ability to serve up iPhone-specific control pages, described here: http://www.promixis.com/forums/showthread.php?t=17822.

If you're ambitious and willing to learn some Javascript, you can easily have Girder serve up custom pages (like my screenshot). Girder lets you embed LUA code in your HTML that gives you full access to anything you can do from LUA normally in Girder with one important addition: the ability to spit out HTML and Javascript.

For a number of reasons (centralized updating, desire to run on iPhone/Android, ability to control remotely through a web-page, ability to leverage third-party UI libraries), I decided to use Girder to recreate my NetRemote interface in a browser. I don't even have NetRemote installed on my control devices any more - my setup is 100% browser-controlled, and it works great.

I'm currently using a Samsung tablet, a Mimo touchscreen, and a number laptops and desktops around the house. I don't yet have an iPhone or Android device to test with, but since it is just straight HTML and Javascript, it should run in any modern browser (note: WindowsMobile would require Opera, SkyFire, or some other full-featured browser, but the new version of IE that comes with WindowsMobile 7 should work).

I'll attach a couple more screenshots...

Cheers,
Tim

vitello
March 30th, 2010, 12:45 PM
Tim,

Very nice setup. I've been thinking of getting an Android smartphone and trying out setting
up a webserver. Any suggestions on sources for learning Javascript and HTML?

Peter

tmorten
March 30th, 2010, 03:07 PM
I've been picking up HTML and Javascript as I go, with prodigious use of Google as I have questions.

On the HTML side, I've found this site very helpful: http://www.w3schools.com/
On the Javascript side, I've been making extensive use of JQuery: http://jquery.com/
I've also been using the user interface library that was developed in conjunction with JQuery: http://jqueryui.com/

Probably the most important thing to wrap your head around at the outset is the use of a technique called AJAX, which Ron includes an example of in Girder's HTTPD directory. Basically, AJAX lets you update the contents of a page WITHOUT having to reload the entire page. This unlocks the ability to do all sorts of real-time page updates (song position, light status, weather status, etc) just like you're used to doing in NetRemote.

I've found that I have been able to recreate 100% of my NetRemote CCF functionality, with all sorts of added bonuses in the form of pre-created UI elements and rich web content that are simple to plug in now that my control page is itself a web page. The biggest hurdle: album covers / replicating GAC functionality. That's a hurdle that I've solved for my purposes by extending the existing Girder MediaBridge component. If anyone decides to take the plunge and go the webserver route, let me know and I can help with that part.

One word of caution: converting to use custom-served layouts is a lot like creating your first fully custom CCF. There is a definite learning curve, and other than the art that you've already created for your CCF, and any code that you've already setup in Girder, you will be starting from scratch in a lot of ways. I'm very happy with the outcome in my case, but more than one weekend has been lost to the pursuit. :)

Best,
Tim

pfeifer
March 31st, 2010, 11:32 AM
Hi tmorten,

it's possibile share a lite version for us?

Just for have a starting point.

Thanks
Sandro

tmorten
March 31st, 2010, 12:07 PM
My goal is to create a generic template that others could easily leverage: right now, I'm guilty of having hard-coded some values for my own setup, and there is non-inuitive XML configuration required to define zone groups, devices, etc. I'll see what I can do to generalize, and then once I've got something cleaner I'll start a new thread on the Girder side (and I will post a link here for the sake of continuity).

Meanwhile, I'd encourage everyone to check out the examples that Ron has already provided in the HTTPD folder - all you have to do is turn on the webserver and open up the default page in your browser. There is a lot of potential demonstrated there, and the stock functionality for the device manager (and for iPhone support) may well provide all the functionality that many people are looking for.

Best,
Tim

pfeifer
April 1st, 2010, 03:50 AM
Stay tuned. :-)
Thanks a lot
Sandro

shaun5
April 20th, 2010, 08:49 PM
I just came across this thread while wondering if anyone else is using iPod touch or the iPad as a remote. I have been working on replacing my Nevo remote with a girder web page interface off and on since January. I got my iPad April 3rd and keep adding functionality to my remote. I lack running a network cable for my projector's global cache to have complete control over my media room. Lighting, HVAC, and hopefully all TV viewing areas (possible HDMI distribution if i think it is past hdcp issues) will come this fall (when I can comfortably get back up in the attic).

I am doing things that just weren't possible with my Nevo. The interface is lightning fast. I honestly think my tivo responds quicker to the tcp commands via girder / webpage / iPad then to direct IR control! My wife still doesn't understand why you don't have to point the iPad toward the equipment rack...

I have posted on different forums and have not received much (if any) feedback. I suspect the need for some programming is keeping most people away, but I believe using girder this way is the future of home automation.

Mike C
April 21st, 2010, 03:28 PM
i agree the future is via web based apps. specific platform apps like NR are not resonable given the range of devices and operating systems. it would be interesting to see NR Designer develped so that it built web pages for Girder to serve.

shaun5
April 21st, 2010, 06:00 PM
If someone wants a place to start, I would get girder and a global cache device. The girder global cache IR action requires zero lua programming. You can setup a simple webpage to use the included sendevent file to trigger the actions yielding a great universal remote.

Here is a link to my volume control that I modeled after the iPod. http://home.comcast.net/~shaun5/web/index4.html. Even if you don't think it is neat, hopefully it will illustrate how unique any page can be....

Mike C
April 22nd, 2010, 03:18 PM
Tim,

Do you have a simple example of lighting control using jquery etc?

shaun5
April 23rd, 2010, 08:17 PM
Mike, I would glad to help. Do you have a gml file of actions you want to control? Do you have any HTML experience?

tmorten
April 24th, 2010, 10:09 AM
Tim,

Do you have a simple example of lighting control using jquery etc?

That all depends on what you mean by simple :).

I'm going to assume you guys are already familiar with Girder's webserver and HTML pages in general -- Mike in particular probably knows more about Girder than I ever will, but I'll provide on overview as it relates to JQuery. In my own setup, I just use buttons to control lights (which are plain old HTML elements; not even JQuery), but let's assume that you want to do something more sophisticated, and rig up a slider using JQUery UI.

JQuery UI is just an interface library, so in and of itself, it's pretty straight-forward:

1. Download the libraries
2. Add some includes to your header
3. Add a javascript initializer to your header
4. Add some HTML to your body to define the elements

So for lighting, if you want a slider, you could do the following:

1. Download JQuery here: http://docs.jquery.com/Downloading_jQuery
And JQUery UI here: http://jqueryui.com/download

2. Add some includes to your header:
(Note that these reference the published version on Google, but you could obviously point these to the downloaded version above to keep everything local).

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

3. Add some Javascript to the initializaion function in your header:

$("#slider").slider();

4. Add some HTML to your body to define the slider on the page:

<div id="slider"></div>


Here's an example of a complete page with a slider (and a few additional bits of styling to make the slider look good):

<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<style type="text/css">
#slider { margin: 10px; }
</style>
<script>
$(document).ready(function() {
$("#slider").slider();
});
</script>
</head>
<body style="font-size:62.5%;">

<div id="slider"></div>

</body>
</html>


Great. So now you have a slider. How do you hook it up to control a light?

We'll need a function to set the value of a light based on an integer percentage value. Let's just create this as a stub for now:


<script>
function SetLight( iLevel )
{
return true;
}
</script>

Now, we go back and add a line to the Javascript initializer for the slider to connect this function to changes in value from the slider control:


<script>
$(document).ready(function() {
$("#slider").slider({
change: function(event, ui) { SetLight( ui.value ); }
});
});
</script>

This calls our SetLight function every time the slider position settles on a new value (note: you could call the function dynamically as the slider is still moving using the "slide" function instead of the "change" function).

Okay, so the last missing piece is how to actually make SetLight control a light given an integer input...

Cheers,
Tim

tmorten
April 24th, 2010, 10:19 AM
If you've made it this far, you're wondering how to get a SetLight function in Javascript to interact with LUA code to drive a light on the Girder side.

This is where Ajax comes into play. Ajax lets you call another "web page" from your current web page, and pass it some values. I put "web page" in quotes, because we're not really calling a page to display it, we're calling a page to kick off some processing. Why do we have to call a page? Because the only time the webserver actually executes code is when it is serving up a page - the rest of the time, it's the browser (on the client) that is doing all the work.

So here is an example of a SetLight javascript function that thunks the integer value it receives to another page:


function SetLevel( iLevel )
{
$.ajax({
url: "../ajax/ajax_setlight.lhtml",
data: "iLevel="+iLevel,
cache: false,
async: false
});
}

One of the most powerful aspects of Girder's webserver is that it facilitates running LUA code. So the page named "ajax_setlight" could literally just be LUA code:


<%
-- Retrieve the CGI variables that were passed into the page
local cgivars = webserver:GetCGI( );

local iLevel;

-- Crawl through the passed in arguments
for n,v in pairs( cgivars ) do
if ( n == "iLevel" and v~= nil ) then
iLevel = tonumber( v );
end;
end;

-- Now you can do whatever you want with the value in iLevel!
%>


All that the code above does is create a variable called "iLevel" that contains the value that was passed into the page. What you do with that value is up to you, but you now have the power to do LUA scripting triggered from a slider on a web page!

Personally, I am controlling lights with Insteon using a SimpleHomeNet EZBridge. I drive this using some custom LUA, so my code isn't likely to be useful to you guys. Mike could probably provide an example of how to accomplish the same thing using a standard Insteon PLM and his plug-in. It would also be possible to write some LUA that accessed the DeviceManager -- in fact, I believe that the dmex folder from the httpd directory demonstrates fully functional web control using the device manager.

Hopefully some of this information was helpful enough to get folks started with web control! As a next step, it would be great if example LUA using the DeviceManager were posted. Hopefully someone who is more versed at using the DeviceManager than myself can chime in on that!

IMPORTANT NOTE: This stuff is all using the Girder webserver, so I fear that it's a bit confusing that this thread is in the NetRemote forum... keep in mind that the purpose behind what we're doing is to create a "NetRemote" like interface through a webpage, but using Girder.

Cheers,
Tim

Mike C
May 2nd, 2010, 03:57 PM
Tim

Thank you for taking the time for the detailed post.

I will have to spend a lot of time to wrap my head around that - its all foreign to me :(

It would be great to see NRD generate these pages from a ccf and have G serve them up. I can't see any other way to keep up will all the different device platforms with dedicated apps.

vitello
May 2nd, 2010, 06:53 PM
Tim,

My thanks also for the example. When I have some time I'm going to play with some
web based programing.

Peter

tmorten
May 3rd, 2010, 09:59 AM
I should caution that it's fairly addictive once you get a handle on how to use it...

I lost months of my life to my first Pronto, more months (maybe years?) when I got NetRemote/Girder, and now I've been working on a webserver setup in spare time since Thanksgiving, leveraging all the LUA code that I had already developed in conjunction with my CCF.

This is not meant to be discouraging: as with a Pronto or NetRemote, you can accomplish basic control pages with very little time invested. It's the two-way communication, the complex custom layouts, creating a shared page architecture, and supporting custom devices that wind up making it into a bigger project.

The benefits are numerous: supports a wider range of devices/operating systems, centralized configuration, easier integration of web content, greater variety of 3rd party widgets, greater speed (depending on the client hardware), greater stability, remote access... the list goes on and on.

Those with past CCF development experience beware: it is hard not to succumb to the charms of the webserver! :)