Ideas and Discussion: What Features Do You Want in openHAB 5.0?

And what do you think about offering that possibility from the setup wizard?

1 Like

:wink: One step after another. Let me first learn Vue development. I have just spinned up a new VM for this tasks…

2 Likes

Nice additions to the UI rule builder would be:

  • to ‘predict’ already defined variables in the rule builder, the way e.g. Visual Studio Code does;
  • to highlight used variables in the code, not only when they’re defined.

Would love to see:

  • Drag & Drop within Models
  • Filters for rules, scripts, etc using the given tags
1 Like

For rules and scripts we already have that:

But would be nice to have same possibility in items and pages lists too.

Oh cool, then I guess I’ll need to update

I think we already have that unless you are talking about something else.

For built in openhab-js struff (for example):

image

For a locally defined variable:

image

Individual Item names is not supported for all languages AFAIK.

If it’s not comming up automatically for you, the universal IDE code combo is ctrl-space which will bring up the code completion in pretty much all IDE’s including the UI Rules script editor. I’m pretty certain it works for all languages.

I really want in OH5 that Openhab Cloud Connector send to my phone a push notification via OH application If my personal OH instance disconnect from the cloud!

Ref OH forum: Topic in witch I ask informations about these

Ref Github: Topic in Github

Mmm:
image

But the CTRL + Space does work!

For me it would be great if the Rules “folder”

a) could be searched like a file system. e.g. sth similar to $ grep “textstring” $(find . -type f).
My installation is not huge, the 50 rules are a small number however quite often I have to ask myself “In which rule did I solve this problem before?” and a search function would be nice. With the existing “search” filter I’m not able to search e.g. for strings used inside any scripts.

b) could be organized a bit like a tree with folders and rules at the leafes. Even with only 50 rules I sometimes got a bit lost. Right now I’m using naming conventions like all rules concering absencestart with “Abwesenheit”, all regarding vacuum cleaner start with “Saugroboter” etc…

The search in the developer sidebar searches within rules, not just the ids, description, and tags.

You can get a little bit of organization through the use of tags. If you tag your rules there is a “filter by tags” option on the Rules page.

Instead of using a naming convention, use tags.

These are not direct implementations of what you are asking for, but they do show that you are not stuck with just using your memory and a flat list of 50 rules to find stuff. Using tags you could even fake a hierarchy but I’m not sure that’s worth it.

One nice thing about using tags instead of folders is the same rule can be in more than one “place” at a time (i.e. be tagged with multiple tags) whereas in a strict hierarchy (e.g. folders) it can only be in one.

1 Like

As I once again look at blocky and see myself completely dumbfounded by it, here’s another idea:
Can we somehow inject ChatGPT into blocky and ask it to design blocky rules?? XD I swear to god I don’t understand how any of that works…

Ever seen the videos?
https://youtu.be/EdllUlJ7p6k?si=GQSsExp-YxA2qFIq

It wold be great, if the item list under Settings → Items

  • could be grouped/sorted/filtered by Thing, Tag, Semantic Class, class, hasLocation
  • has a grid style containing more information like group memberships (parent groups), tags, isEquipment, isLocation, metadata

with the possibility to change some of these values directly in the grid via dropdown boxes or check boxes.

EDIT: after writing this, I noticed that this could also be achieved in MainUI by creating an oh-page, along with some custom widgets and rules :joy:

1 Like

That was one of Rich’s wishes for 4.0 wish list

link

And it seems we have a volunteer for that now…

4 Likes

All of them, including the semantic model ones.

I don’t know why, it’s like the whole concept is foreign to me.

I’ll give it another go soon as I’m moving my main automations from node red to native openHAB , but it would still be pretty cool if we could create rules with ChatGPT directly in openHAB. Sort of a “not quite Jarvis, but getting there” kind of integration you know?
Open rules → create rule → “would you like some assistance?” Button → press it → “what would you like for me to do?” → select items → describe basic idea → rule generated → user confirms behavior is correct → save!

Maybe one day…

Not without the user have to fiddle with it…
As mentioned, you can not just drag a widget onto a page, confuring it to suit the data (items), and then have it to fit into the design.
You have to fiddle with the design as well, and before that, you have to fiddle with a page design first.

But thats exactly what I suggest should be possible.

You misunderstand.
I would like to see it as an option.
Either do everything by hand (like today).
Or choose an already finished template/design.
Whatever available widget there may be for this design, the user simply have to drag it to the page and configure the widget with the data only, without having to deal with the design.

This will bring a new user up running pretty fast, even if its just some basic widgets available for the design, (I assume we can agree on what those basic widgets could be?).

If I could understand how this semantic thing is actually working, you may be right.
But from what I do understand, the semantic model is a kind of “building” you floorplan/rooms. It does not add widgets (finished widgets) to the pages. And then the design could need quite alot of love, as its pretty damn borring/old, (i know this is a matter of taste, but I honestly believe, most user would love to see a more modern looking dashboard).

I know. But in those situations I have used it, it falls back to the size of the page does not fit the display correctly. (I have yet to find the reason why, but its probably due to what/how the page is displayed, ie. fullscreen/not fullscreen, which browser to use etc).

In general I see this in two steps.
First get the page to fit the display.
Then get the widgets to fit the page etc.

From there the user can work on the actual design. Unfortunatly that requires to do changes to the page and the widgets code, (knowing html/css etc).
Thats how its today, to my knowledge.
What I suggest is bringing this stage to something alot easier, by the use of finished modern looking templates/designs for both pages and widgets.

I will :slight_smile:

Exactly my point.
And thats why I suggest, that users who are not highly familiar with how to create designs, gets “the cake and eat it”.
What you just wrote, is how its today. And I believe this is one of the reasons why many find OH too difficult to start with, while seeing other smarthome systems focusing on easier way to to present nice looking dashboards.

The design of an smarthome system (Front-end UI/dashboard) is not to be ignored, as its what an new end-users will see at first sight!

Thats why I suggest OH to focusing on this part.

It will require some work.
Someone has to do the designs for pages and widgets.
Someone has to make an easy way for the user to implent those designs and widgets. (pick from a list of designs alread included in the standard installation would be optimal).
Someone has to decide which widgets to implent to the pages from start, (basic set of widgets).

None of this should prevent any user from doing their own design, or even change the templates designs. Just like it is today.

Ofcouse that will always happen. Noone can please everyone. And thats not part of my suggestion.
But it should not prevent anyone/OH from doing this alittle better focusing on easy way to create a more modern looking dashboard for the front-end either.

Hello All,

I would also like to see a better setup experience.
In my opinion, we don’t have to change the underlyning model of openhab that is very great (separation between things / items for exemple are a great concept).

My opinion is that it is more about UI setup experience for end user.

Let me take one or two examples :slight_smile:

  1. Things setup
    We have introduced a few release ago the addons autodiscovering feature.
    This was a great new feature.
    But we can certainly go futher in user experience when settings up addon.
    Dependings on addon, you will have for exemple:

    • To go in the things to setup some userlogin / userpassword / token.
    • Then go to specific page like : https://openhab.mysetup.xx/connectMyaddon to setup the
      integration.
    • And certainly other things to have thing setup completly.

    End user can of course do it reading the documentation of the addons, and following the differents steps. But in my sense, end user should not have to read the documentation to achieve the binding setup.

    It would be great if we have some sort of “things” wizard initialization that would make it easier to do this setup. When we add thing from the inbox, it would trigger the wizard, ask for all needed information, possibly redirect to external site if need to finish the setup.

    • pro: would improve a lot the user experience on setting up openhab whith consistent uniq setup experience between addons.
    • cons: would need to rework exisitng addon to conform to the new schema.
  2. Items setup & UI setup
    I’ve see in the thread a lot of discussion about the complexity of settings up things, and items.
    One more time, I thing this is not about separations between things and items.
    But for exemple, if we take an UPNP render point things:

    today the current setup workflow is as follow:

    • things is autodiscovered in Inbox : great !
    • User go to inbox, and add the approve the things.
    • And next what, nothing is usable immedialty :
      • you will need to create items from channels to map the different controls.
      • you will need to go to UI to assiocate the items with some controls.

    We know that UPNP Render have some standard items mappings : volume, start/stop playback, perhaps current Album / Artist playing.

    What I would like to see:

    • We go to inbox, approve the thins.
    • Just after openhab toggle a setup Wizard.
    • This setup wizard propose a current set of default items mapping, with perhaps some
      checkbox to enable user to select what he want / don’t want.
    • The setup wizard we then automatically create the items.
    • Perhaps the setup wizard can also ask about the things location / room so we can setup the semantic model automatically.
    • And perhaps even more, the wizard can propose to create some sort of UI template for this
      things on a default dashboard.
    • And perhaps also Openhab / and or the wizard can setup automatic tags for things like google home integrations / apple home kit integrations and others.

    With this approach, we will not need to change anything in the openhab model that is very flexible.
    User will be free to continue using UI that they want, configure things / items into file configuration if they want.

    But for new user, we will be able to offer a more simple approach base on the UI.

    I’ve talk in my exemple of UPNP render, but there is a lot of items if openhab that is today complex to setup. Let things for exemple about Thermostat thing that many setup : create a group, create at least 4 items in this groups, setup correctly the semantics attribute on this items, find a widget for the UI, and create the UI page.

    • Pros : One more time, we make user experience in setting up openhab better.
    • Cons : will need to add addons framework some new entry point so openhab can ask the binding information to expose this wizard / default setup experince.

Laurent.

This will require someone to train a custom LLM built on the OH docs and some working code. It will work better for text based code over Blockly I suspect for no other reason than the chatbots tend to be text focused.

If the videos @hmerk linked to don’t help, open a new thread and I’ll gladly answer any questions and try to clear up any confusion you might have. But at a high level, it’s code like any other code. Instead of writing it out in text though, you pick “blocks” and plug them together. All the cocepts you already know from Rules DSL still apply.

And if Blockly isn’t your thing that’s good too. You can continue to use Rules DSL (not my recommendation) or use JS or jRuby, even in the UI.

This one might be challenging but the rest should be doable I think. But if you want sematic stuff I would think you’d want to use the Model instead of Items page.

I bet if someone published it to the marketplace lots of people would use it. :wink:

And 5.0 too. I listed is above. I think it would go a very long way towards making the semantic model easier to set up and maintain.

:partying_face:

Not quite right. Again, if you open another thread I can go into details and answer other questions.

The Overview page inclues three tabs: Locations, Equipment, and Properties. These are three different views of your semantic model.

On each of these tabs the main widget are List Item Cards. On the locations page the the card inclues badges so you can tell at a glance stuff like number of lights on, open doors, temp, humidity, etc.

Clicking on any individual card brings that card up where you get an ordered list of widgets showing and allowing you to control all the Points in that card. What Points are shown depends on that Point’s position in the semantic model. The widget that is shown by default for the Item is chosen based on the type and semantic model tag (e.g. a Number with the Setpoint tag will be rendered with a slider widget) and other info that’s part of the Item (e.g. State Description). The icon comes from the Category of the Item.

Clicking on the > for those widgets that have it (e.g. sensors) brings up an interaactive chart of that Item. On the Properties tab there is an “Analyze All” button which will show a chart of all the Items in that card.

All this comes for free. No configuration required beyond creating your Items and building the semantic model.

However, if the wrong widget is selected as the default, then you get into the place where you need to start customizing stuff. Here you need to add a “Default list item widget” to the Item that’s wrong. You can select from among the list of your custom widgets or you can configure a widget right there.

If the order isn’t what you want you have options to control that too. And you have some customization options for the cards (e.g. I have some custom background images on my cards.

Note, if you use a custom widget, you can then edit that widget under Developer Tools → Widgets and those edits will apply everywhere it’s used in a “custom X widget” Item metadata.

Anyway, yes, it does add finished widgets based on the properties of the Item.

Whether you like the look or not :man_shrugging: I spent about 20 minutes customizing mine to the point where I’m very happy with it.

The column percents are ranges. If the screen is between 0-1024 use 100%, 1025-2048 use 33% and so on. So yes, if your screen is 1023 pixels it’s going to fall back to that. If it’s 1026 pixels it’s going to jump up.

If it’s not doing this an issue needs to be filed.

I don’t understand how you get the page to fit the display part. Are you certain you are not talking about HABPanel? That’s a completely different UI and indeed, that one is not responsive. You have to build separate panels for each screen size.

Are you talking about adding the “masonary” on the page (rows and columns)? Indeed that needs to be done but it’s independent of the size of the screen.

And if you choose to use Card widgets, you can kip the masonary entirely.

My growing frustration though is that the semantic model and overview tabes are the built in way to get a usable dashboard with little to no configuration. You admit to not understand how it works but insist it doesn’t address exactly this problem. If you don’t like what’s produced that’s something that can be addressed but it strongly feels like “I don’t understand it so we must need something else”.

We already have that. That’s my point. A lot can be done to make the default look better without throwing the whole thing out and building something new.

It’s not a wizard but this is exactly what you get when:

  • From the Thing’s Channels page clicking on “Add equipment to model” or “Add points to model”

Which brings up:

You can select the Location, create the Equipment Item (if you choose “Add points to model” you don’t get the option to create the Equipment and instead can choose it) and then you can select which Channels you want to include in the Equipment. Once selected you get a pre-filled out form with most of the properties of an Item that you can override as needed.

When you hit save new Items will be created for each Channel you selected already situated in the semantic model.

As discussed above, you already get a UI for the newly created Items since they are semantically tagged and this UI is the default dashboard.

3 Likes