Being new to Openhab I found the UI part extremely difficult. I created things, channels and semantic model for about a day or two (most time spent on reading docs). But I wasted almost 3 weeks trying to display whatever I’ve created in some reasonable manner… and failed. I’m probably doing something wrong, it shouldn’t be so complicated. My initial understanding was I install appropriate widget from the marketplace, point it to the thing – and voila – the info is displayed. But it did not work this way. Not for me at least. Or it works to some extent but looks ugly and misaligned. Moon age displayed in seconds and all that. My stumbling stones are:
- OH5 seems to significantly change the way the UI is supposed to be created. However, maybe 90% of found information relates to older versions without any deprecation notes. Lots of howtos on text-based configuration, very few consider MainUI as a base. Yes, the system is developing and a lot of information gets obsolete (By “obsolete” I understand not only “not valid anymore” but also “a better way to do this is developed and ready to use”). But I saw only one deprecation note so far. As a result I spent few days trying to comprehend things before I realized they are not actual anymore. I understand the reason why the devs don’t deprecate the stuff that is left behind when the new and better options arise (not to break the existing installations). People who have been using OH since v.2 (or earlier) and have grown with it understand the structure and where to look, but for the beginner there is no way to reliably sort things out. Please add deprecation notes!
- Lots of different ways to do something, but not all were created equal. For example, I spent a lot of time creating items from the thing’s channels (lots of clicks wasted)… just to realize that what I’ve created does not fit well into the model. I understood I was doing something wrong, but I didn’t know what. The eventual gotcha was: if I use “Create Equipment from Thing” on the Model page, I need only tick the needed channels and they are created automagically! Ten times faster! Where was this info three days ago? When was it at all, I found this by accident. That’s where some “Best practices” articles will help.
- I couldn’t find the source from which to gather structured information beyond the low-level manpage-style docs that would unveil the sense and rationale below low-level descriptions. And very little of semantics is explained. The docs is good, but it is rather man page-style (or oppositely, too common) and lacks of howto- or wiki-style (=semantic) part. In other words, details are useless unless you have the whole picture clear enough and get yourself familiar with notions used. Top level docs exist as well as the low level, but nothing in between.
- OH docs and forum threads are using lots of notions that are not clear to the beginner. Now and then I simply can’t understand an answer or a recipe I found online because I either not familiar with notions used or just don’t understand where to find/put described thing. I get the common idea behind the answer but can’t translate it into something usable. It will come with practice, I know. What I’m trying to say is that the learning curve is steeper than it might be. Home Assistant is gathering its (undeserved?) popularity probably mainly because this part is thought over thoroughly.
What I tried to achieve and did not succeed. Until I have the hardware on hands, I decided to make something like a dashboard displaying the data I currently have, namely cameras, weather, astro. Not that complicated, right? Well, not really.
- I tried to make some layouts, none of them look even close to being satisfactory, but ugly and misaligned. Widget I found for displaying the cam output (one that opens popup on click) doesn’t scale: too small (empty space around) on desktop, overlapping on a tablet. The Overview page wasn’t responsive for some reason: widgets just overlap, while I did it all straightforward: Add Row → Add Column → “+” → widget(s). Within Android app I got a mess, too, besides that no image/video from the cam is seen.
- Cameras. Thread about IP cams is more than 3000(!) posts. I don’t feel this heroic to read all them thru. I did managed to get picture and alarms in hit-and-miss manner, but I still have questions. Thus, I’ll be asking things than most probably were answered many times before and buried among that 3000 posts. Not too effective, is it? What bugs me besides misaligned widget: jpegs don’t update when they should (I want them update slowly, maybe 1/10 sec and on motion alarm). I set up appropriate fields on the channel, but it does not seem to work. RTSP stream does not get through, while Chromium is able to show it directly. Okay, fine. Setting ffmpeg. Got about 1fps. Tuned the parameter to 10fps. Frequent fame drops while ffmpeg utilizes only ~5% CPU. What’s happening? No idea. Postponed this until I set up the SoC it will run on, then will try to solve this.
- Sun and Moon astro. There are two widgets for that. Good. The display is ugly: too small font, some strange point outside the widget to the left. And, there are dozens of channels out there. Will I have to spending days setting them all manually in the widget? Can’t it just inhere the channels set up in the model automatically? I have a strong feeling I’m doing something terribly wrong.
- I want to have nice looking dashboard eventually. Overview page on a demo and auto-generated pages look… well… not so fancy and useful. Adding background images will help to some extent, but I still want something different. Howtos I found all based on HABpanel, which is old way to do things. I can see Responsive Layout Pages and Fixed Layout Pages common descriptions but no practical examples. When I tried Fixed Layout I found that widgets are jumping from their place if I touch them in edit mode and I again don’t understand the reason.
- I feel that maybe SemanticHomeMenu is what I need but neither can make informed decision about it nor understand how to make use of it and what I will eventually get. Missing mid layer again. There is no semanticHomeMenu page type. How may I use it? Read through few threads on this… and understood nothing and again felt dumb. While this bindings-things-channels stuff gets clear rapidly, the UI part looks like relativistic theory to me…
Hope this discussion may be helpful to elaborate the missing part of the docs and make initial learning curve not as steep as it feels now. Thanks!
UPD: I’m talking about extending this page Showcase & How-tos | openHAB with more recent solutions.