Alternative UIs? OpenRemote, iRule, iViewer?

I use iRule on a couple of iPad mini’s as a UI for openhab. It connects to Openhabs REST interface, and uses json for feedback.

It’s very flexible, and you can make nice looking UI’s. There is a bit of a learning curve though, and the documentation sucks.

I have lots of screens, but this is the basic lighting controller screen (there are 4 other lighting screens). The tabs are various other devices.

The main difficulty is that the interface is tricky. iRule has HTTP “gateways” they are called, but they don’t work well (you can’t customize the headers). It also has a tcp “raw socket” interface (gateway), so I use that, and make my own POST and GET strings. It’s not too hard.

One thing that I found challenging is that openhab’s REST interface really does not work as the wiki describes. I spent most of my time trying to figure this out. The difficult bit is getting notification (subscriptions) to work.

I could only get HTTP streaming to work (well I am using raw sockets), and then if I streamed on a socket, it would tie up that whole socket, so I would have to open multiple sockets to handle other POST’s and GET’s. It also times out after 5 minutes (you can re-connect on a timer or “automatically” but it’s kludgey).

I finally gave in and wrote myself a socket/HTTP server in python. Which works amazingly well. Latency is as near zero as you can tell, and the REST interface makes everything in iRule device independent, so it’s easy to work with. It should really be an openhab binding, but it’m not good with Java.

On the screenshot, most of the controls are Insteon lights/sensors, the TV lights are ZWAVE though.

Some weird things I found with the REST interface (contrary to what the wiki says), is that you can’t get notifications on items, other than individual items. So for instance you can’t stream on /rest/item/group_name, or /rest/items (for all items). You can stream on /rest/sitemaps/name/group_name (which is weird), or /rest/sitemaps/name/page_number (the wiki says “page id” and implies it’s the group name - it’s not it’s a number like 0000, 0001 where the number is the page in the sitemap from top down). You can stream on group names though, just not how it describes.

I would like to be able to stream on all items, but can’t figure it out. You can only stream on things that have items directly in them (not things that have lists of sub items/pages etc.). So I have to set up multiple streams.

Can anyone confirm that this is really how it works? just seems odd that you can’t stream on /rest/items or /rest/groups.

If anyone is interested I can share the basic set up (OK for simple things), for more complex things you need my python server, but you can have that also if you need it.

2 Likes

It would be a great help to the community if you corrected or elaborated the wiki with what you have learned. I can’t say if what you saw is how it is supposed to work but your experience clearly shows that is how it does work.

RIch

Ok, Wiki updated.

I would still like to know how to stream on all items if anyone knows…

that’s ‘Control-Freak’, comes with visual HTML designer and visual block-language and lets you interconnect anything which speaks TCP,SSH,MQTT,Serial,UDP or HTTP and spits out web-apps. I never tried the OpenHab MQTT adapter but you should get most connected via REST or MQTT. It’s rather aimed at bigger or at least more complex hardware like DSP racks, HDMI switches, projectors but it can easily deal with things like lamps,… But hey, certainly not a replacement for OpenHab’s designer itself but rather completing. It’s pretty naked compared.

github.com/net-commander/windows-dist. Attention: work in progress, but does well for us already.

I would gladly see how you do it in iRule.
Today I use UDP commands and frankly, they suck :slight_smile:

I use iViewer together with MQTT javascript adapter to control my OH installation. MQTT IMHO is better than REST as I get status updates immediately without polling or using tricks like Atmosphere. For simple one-screen tablet installation it’s free.

Wondering if anyone has tried using Qt Designer or the new and improved Adobe Dreamweaver?

I am still on the hunt for a decent UI for an android tablet.
HABPanel has a lot of potential but unfortunately you need to have some skills to be able to make it look nice. I’ve tried out some of the widgets etc and it “works” but looks ugly and my main issue is the scaling of icons etc etc… I’ll keep an eye on it but need something simple to use.

For ages I have been using “Rotini” which is now called “HomeHabit”… It works great and it has a nice uniform and good looking interface. My only issue is that the development of it is very slow!

Same to me…

No skills for making good looking habpanel dashboards :frowning:

Also habpanel is a little bit slow, even on fast tablets or phones.

I started with project rotini long time ago, it was very good at first, but then the developers wantedt to add more and more other homeserver-systems/device-platforms and now there is nearly no new development. Also many functions from project rotini are not included in homehabt (for example gps location). The next point on this app is, there is no exact statement of the future price of the app in playstore.

I normaly only use freeware, no paid software, but i would eventually buy this app. But i don´t want to waste many hours for making many dashboards for my devices and then the app is too expensive or free version has to many restrictions…

It would be great, if the developer would concentrate on one platform (openhab) and android and add other platforms and iOS version later… But in this way he is doing it now, who knows if there will be ever a fully working version…

So only way now is to wait…