HABpanel bundle proof-of-concept (aka. Panel UI)

Ah cool, I’ll have a look at it then.

Very nicely done. Dropped it in and worked great on the first try.

how cool is this!?

Love it!

If this now could show webviews frames I could throw away my dashing dashboard!

Is there something in planning?

Very nice! Easy to set up and use.

Keep up the good work!!

This is AWESOME! :grin:
I was thinking about trying something with Dashing but my knowledge is very limited so your project is a godsend! And I truly think that this is one thing that was always missing in OH.

The possibility to define a dashboard once and use it on other devices would be one of the more important features for me.

Keep up the good work. Thanks!!

You can find a workaround here at the end of 1)

Hi,
Have just had a chance to test in on my OH2 installation - its awesome, you got a fan.

I’m ready for testing / comments etc. if you need it.

Best regards,
Peter :smile:

Thanks, that works for now!

Great. Now you’ve done it…

I’m going to have to port my OH 1.8 to OH2

Like I needed more work to do :smile:

Hey there,

I’ve been working a little bit on the lack of a server side storage problem tonight and come up with a quick, probably (!) temporary solution until a new sitemap concept is introduced.

https://github.com/ghys/openhab2-addons/releases/tag/panelui-2.0.0-20160815

The above release is able to transparently store “panel configurations” in a service configuration property using the API.
This means you can now share the same dashboards to different devices if you use the same panel config in the new advanced settings page:

Once you switch from local storage to a panel configuration (by saving a new one using the provided link), it’s uploaded to the server when you save a change made in the designer.

You can inspect the configuration using Paper UI (Configuration > Services) or with the Karaf command line:

openhab> config:list "(service.pid=org.openhab.ui.panelui)"

Obviously, it’s not recommended at this point to edit it by hand.

Feedback is appreciated as always, especially if you run into issues.

Cheers!

1 Like

Hi,

I have HABpanel installed by loading the code into the conf/html/habpanel directory (from github), to ensure I got updates as they were released, e.g. icon support.

Is the above feature also there or do I need to change to loading the JAR file into the addons directory? If yes, how often do you intend to update the JAR file?

Thanks,
Mike

The client-side commits are in a new “openhab2-panelui” branch which is also pushed to GitHub.

Meaning you have to load the new .jar file to have the service configuration and its description, but once you do that, you can keep on using your installation in conf/html, as long as you pull the “openhab2-panelui” branch from the HABpanel repo (for now). It will be merged to master eventually since it’s falling back to local storage gracefully if server support isn’t available.

Edit: .jar snapshots will be released from time of time, or if there’s a change on the server side.

Thanks for the quick reply.

I will try it out tonight.

Cheers,
Mike

I can confirm that the server storage is working well on my Windows (server & client) and iPad clients. Looks like a good solution and I like the ability to save multiple configurations on the server.

Thanks,
Mike

That’s a neat idea to simply use the configuration possibilities that are available.
My only concern is how you want to handle evolution? I assume you might need changes to the structure from time to time and old versions will thus be incompatible. You should at least leave that open for yourself in the early development phase, so that you do not introduce to many workarounds just to keep backward compatibility of the format.

Hi!

To be honest the goal here at this stage was to have simple, non-binding storage for the time being, while the model is still simple - basically, 3 levels of arrays (panel, dashboard, widget) with a flat list of properties varying from widget type to widget type.
That way, the app still “owns” the model, and may introduce some temporary, ad-hoc migration code for early adopters, who should be aware that breaking changes are still possible anyways :wink:

As I see it, it will probably gravitate towards what would be the new sitemap model exposed by its own API… from my “newbie” point of view I’m thinking of something with a few common properties describing the binding to an item or directly to a thing/channel, the formatting of the value, then a dictionary allowing “vendor-specific” properties à la CSS - in my case, the position/size in the grid and the cosmetics.

I’m stil struggling to see what the migration path from the current DSL-defined sitemaps would look like though… but I’ll move this discussion to the ESH forum thread you mentioned in your other post :slight_smile:

Absolutely, that was also my assumption - I do not want to interfere with your definitions at all here right now. I was only referring to the app evolution of the model, which might mean that users lose their definitions when they upgrade to a more recent snapshot.

I think it makes sense that you work on this independently for now, get your experiences what works and what doesn’t and we can then together revive the new sitemap discussion at ESH, but this isn’t anything urgent. And I actually do not foresee any compatibility with DSL-defined sitemaps; I don’t think we will need any migration path for them.

What is the preferred way to update to the latest version?

I had originally had the zip file extracted to conf/html and it worked fine.

Then I downloaded the .jar file to addons once you released the server side saving and it worked fine.

Then I updated openhab to the latest and deleted the conf/html contents for Panel UI.

Now I can no longer save to the server. I see this when I go into advanced:

[quote=“Kai, post:23, topic:12981, full:true”]
I was only referring to the app evolution of the model, which might mean that users lose their definitions when they upgrade to a more recent snapshot.[/quote]
For now there have been only additions to the model, no breaking changes - when that happens I’ll be sure to handle it properly, and maybe add some version number to the JSON object.

[quote=“Kai, post:23, topic:12981, full:true”]
I think it makes sense that you work on this independently for now, get your experiences what works and what doesn’t and we can then together revive the new sitemap discussion at ESH, but this isn’t anything urgent. [/quote]

Ok, I’ll do my own thing until I reach a more stabilized state and we’ll see how we can work from there then :slight_smile:

Whoa, I honestly don’t know what happened there :confused:
Can you go have a look at the JSON object in the service configuration dialog area in Paper UI, the big text area, verify it has not been erased? Thanks.