Proposal: Removal of compatibility layer in 3.x #1493
Replies: 13 comments
-
Does this also imply we will stop maintaining the openhab1-addons repo and archive it after the final 2.5.x release? There is a close relationship between the decision and maintaining that repo. |
Beta Was this translation helpful? Give feedback.
-
To add to this: Here is the overview of all openHAB1 bindings and their migration status: openhab/openhab-addons#6179 I also started a tutorial series on how to migrate openHAB1 bindings on the forum. |
Beta Was this translation helpful? Give feedback.
-
Apologies if i am bringing up a topic that has been discussed 100 times before, but do we have an idea what 1.x addons are "popular" and have not moved to or plan to move to 2.x/3.x ? Is there a reason other than lack of interest they can not be moved ? If it's a manageable list, i would volunteer helping to move them to 3.x , maybe a few others would as well. Taking a poll on the forums might be helpful to find the top 5 or 10. (although i know this is a touchy subject there !) . But i agree with all of @kaikreuzer points above, and we should move forward regardless.
If we found a maintainer who wants to volunteer to manage the 1.x repo i guess we could keep it open for those using mqtt or just staying on an old version. But, i think that would ultimately become a burden wrt continuing issues on the forums, github, documentation, etc.. So yes, i would be in favor of doing this. |
Beta Was this translation helpful? Give feedback.
-
@Hilbrand , you answered my question as i was typing :-) Thanks! |
Beta Was this translation helpful? Give feedback.
-
Probably. There isn't much activity anyhow anymore (especially no active maintainers present). If there's need, we could nonetheless release kar files of 1.1x versions of those add-ons completely independent of any openHAB 2/3 releases, so there's imho no strict causality. |
Beta Was this translation helpful? Give feedback.
-
According to @Hilbrand s excellent list, it seems like there are just a few that have the most votes with no 2.x replacement , fritzboxtr064, wol, caldav, pushover, TCP and then the CalDav group of bindings. (FYI the wol binding looks like an easy candidate to move, i will volunteer to take that :-) ) Given @Hilbrand s also excellent tutorial, i think there is enough effort made to try and support bindings that people care about and my vote is we should move forward with Kai's suggestion. 👍 |
Beta Was this translation helpful? Give feedback.
-
Did you mean to link to a different issue or PR? That's the same PR as the migration of the persistence add-ons. Is there work to rebuild the MQTT Event Bus capability in the binding? I agree, it would be easier for the users if this federation mechanism didn't require MQTT and the OH instances just knew how to talk to each other.
Actually, the one binding that caused the most vocal complaints when this was first brought up is Insteon and as far as I can tell the effort to build a 2.x replacement has stalled. I think we would do well to try to shepherd that effort if we can. I vote that we should move forward with removal of the compatibility layer, but I do so with the hope that we will make the effort to federate an old OH instance with OH 3 to run those legacy bindings as easy as is possible. 👍 It would be really cool if we had a really stripped down OH 1 or OH 2 instance that has just enough to run the binding and the federation mechanism. No rules, persistence, UIs, etc. Minimal resources to run and minimal resources to maintain for how ever long we decide to let it limp along. |
Beta Was this translation helpful? Give feedback.
-
While I admit I had initial personal reservations about the removal of the compatibility layer, my main concern is really about the optics of having to remove maybe a significant chunk of the (long) list of devices and services that openHAB supports. Even if a new binding exists, surely some users will be annoyed to be forced to rework their working setups. Things which could be set up easily in one line of configuration would perhaps require a different way of thinking and end up more convoluted, some examples from my production system:
However! And with some additional efforts (like sitemaps, persistence & transformation configuration), without the 1.x bindings forcing users to define some items in .items files when they could prefer everything to be centrally managed in the JSONDB, it might open up the possibility of a true "purely UI" setup & administration user experience, which I will try to make as pleasant and exciting as possible in the new UI 🙂. I therefore support this move 👍 We should nonetheless keep in mind, among other things, that 1) this will require significant efforts in the documentation to remove or rewrite everything that'll become deprecated, 2) old posts on the forum will still offer examples and solutions which won't work anymore and some users will be oblivious of this fact. |
Beta Was this translation helpful? Give feedback.
-
I think that regardless of whether the compatibility layer stays or goes, the docs will need a significant rewrite given all the other changes, (Rules, new UI, etc.). I'm hoping that we will get to see some early releases of things as they change so we can get started on that before the last moment. :-) |
Beta Was this translation helpful? Give feedback.
-
Yes, sorry. This was the link I wanted to post: https://community.openhab.org/t/mqtt-2-5-event-bus/76938
Yes, that would make sense - and if we'd use the openHAB 1 runtime, it could be indeed be very lean.
Definitely so. Alone removing all occurences of openHAB "2" and Paper UI will be huge. (@ghys Off-topic, but just to mention: I believe we should keep 2.5.x docs as the main docs on the website until we officially release 3.0 - otherwise lots of users will be very confused). |
Beta Was this translation helpful? Give feedback.
-
@wborn If I count correctly, only your vote is missing. |
Beta Was this translation helpful? Give feedback.
-
😊 I thought maybe someone had a PR that made my little effort obsolete. I'll make it a priority to create a Rule Template out of it for sure to make installation easier. It's a Python library right now and it works great so far. I've some further ideas that would make it better at this type of federation. (e.g. automatic creation of Items, auto discovering the remote OH instances, etc). |
Beta Was this translation helpful? Give feedback.
-
Yes I also agree we should remove the compatibility layer. 👍 It has served its purpose very well for everyone to smoothen the transition from OH1 to OH2 for the last 3 years. We have also seen that the compatibility layer makes it harder for adding new features such as units of measurement (QuantityType). So it makes a lot of sense now to remove the layer for the greater good. I do feel the pain of those heavily impacted by this as it may block their upgrade path or complicate their setup with multiple instances. For running multiple instances on the same machine using the openHAB Docker container may be of great help. As it will still take a while before there is a stable OH3, I have good faith many more add-ons will be migrated in the mean time. I do urge contributors doing this to also create an issue for this. That way they can team-up or work on migrating other add-ons. Sometimes OH1 add-ons can also be implemented in other or better ways. E.g. the WOL action could also be added as action to the existing network binding (#3799). |
Beta Was this translation helpful? Give feedback.
-
Dear @openhab/architecture-council,
This topic has been brought up by me in https://community.openhab.org/t/directions-for-openhab-3/67372 and has already been discussed in depth in https://community.openhab.org/t/removal-of-the-oh-1-x-compatibility-layer/67553.
Meanwhile, quite some time has passed and our master branches have version 3.0.0 now, so it is time to take a final decision.
My proposal is to completely remove the compatibility layer from openhab-core.
My reasoning:
org.eclipse.smarthome
namespace toorg.openhab.core
.So wdyt? @openhab/architecture-council, please vote on this proposal through 👍 and 👎 and if you veto, please leave some comments on the why!
Beta Was this translation helpful? Give feedback.
All reactions