One of the primary reasons there is an Experimental Rules Engine under development is to create a way for us to share Rules and Rules Libraries through the IoT Marketplace. When that happens you will be able to download and install code like this just like you do with bindings. Until that matures though, the only way to share solutions like this is through postings like this.
And I will second pretty much everything Thom said. Home Automation is complex and hard. You can either have the flexibility to adapt the system to your specific needs, like you mention with the desire to schedule the time when the room will reach a given temp, or it can be simple and easy to use but then you get what is offered whether it meets your needs or not.
I’d say "a mastermind’. Kai is “The Mastermind.”
This has been discussed on at least a dozen threads. Yes, we know OH is hard for beginners to use. Yes, we know that there is a challenging learning curve. Yes, we know the documentation is not up to where it is needed. And yes, all of these are being actively worked on to make the situation better.
However, at the risk of sounding defensive, I find that many of those making these complaints vastly underestimate exactly how hard home automation is, even with the commercial solutions. There is only so much any tool will be able to do to make this something my father (i.e. non-technical person) could do on his own. It will require changes across the entier industry.
I’ve found quite the contrary. Most of the active non-IT people end up using examples like these as a means to learn OH and there are so many who have been successful. But you need to realize, neither the tutorials and examples nor the documentation is expected to be used in isolation, particularly for beginners. You should be looking at the code and tutorials posted and when you encounter something not explained well or skipped over or that you don’t understand you should look that up in the Docs. If you don’t figure it out from there then ask a specific question and someone will be happy to help you understand.
Beginners should be starting with the Beginners Tutorial, the first few sections of the User’s Manual, and playing around with the Demo. I wouldn’t expect a coder to be able to just pull up this tutorial and figure out OH based solely on it. You have to learn to walk before you can run.
That is not true. It may appear like that because most of the people posting have spent a lot of time learning OH but many of the users who post examples here are not tutorials. If I’m not misremembering, @skatun isn’t an IT pro.
So where do we draw the line? It’s not a rhetorical question, seriously, how complete must each tutorial be? Should we provide step by step instructions covering everything from installation of OH and assocaited bindings, explain the concepts of Things, Items, etc, and basically duplicate the Beginner’s Tutorial and User’s Manual for each and every tutorial posted to the forum? Or should we be able to assume that the users will be familiar with all of those concepts or at least know to look in the existing docs and rather than duplicating a bunch of docs for each and every tutorial?
Personally, if you want to ensure that no one ever writes a tutorial ever again and posts it to this forum it would be to require them to rewrite whole sections of existing docs to make the tutorial beginner friendly.
I’m glad you found it. Those sorts of errors are soooo hard to find.
This is an apples-to-oranges comparison. The Event Bus is how OH implements its “full-blown home automation solution.”
This is one of the things that makes home automation hard. Everyone’s solution is unique. There is no one solution to rule them all. No two home automation systems are identical. Everyone has their own set of requirements and desires and combinations of technologies in use which makes a generic solution all but impossible in most cases.
With an open source project you take what you can get. If someone posts just a bunch of code with no explanation to go with it we are not going to reject that contribution.
And for the record, Thoms’ solution above IS a generally working solution with a working set of parameters to indivdualize. It just doesn’t do what you specifically want which is going to be a problem for ALL examples, that is part of the point. You also lack some of the experince with OH to be able to see and understand how to use the example (i.e. the configurable parameters are the preset heating Items and the values sent to the Items in the Rules. And that is fine and to be expected. This particular tutorial is more on the Intermediate level and requires an understanding of how OH works and how Rules and Items work together.
See my comments above re the Experimental Rules Engine. That is where OH is heading. It will be a long time before we get there though. In the mean time, the only way we have to share solutions like this is through tutorials.
One thing I will note though is that Kuba has added several of the Design Patterns and code snippets in the VSCode openHAB Extension which is a little bit better, but it is still copy and paste code.