How do I update a manually (ZIP extract) installed OH2 installation to OH3M2? What do I give as parameter to the update script? Something like 3.0.0.M2?
so after upgrading to openHAB 3.0 none of my regular GPIO Items are working anymore, these are all Contacts and have state NULL.
OneWire still works though.
GPIO is a v1 binding so I assume it’s no longer in openHAB 3.0 but I can’t seem to find any info on this topic here or on GitHub.
No v1 bindings work with OH3. That was an early design decision.The addon status is tracked here.
The solution is to run them on OH2 and use the remoteopenhab binding to connect the OH2 Items to OH3. Use the latest snapshot of OH3 though. There were connection bugs in earlier OH3 versions.
EDIT: Apparently there was a start on a v2 binding for GPIO but there are merge issues. PR is here.
Thanks for the info and links, much appreciated!
I’ll look into setting up an openHAB instance for my GPIO items for now.
Good to know an updated binding is in the works though!
Basically when using remoteopenhab the OH2 Items show up as channels on the server bridge in OH3. You can then create OH3 Items linked to those channels.
I question that such is possible. A string item created as described above is not linked to a channel and therefore does not show up in the control section of PaperUI.
You can only manually add Things that are defined in the binding. For instance I could add a different Sun Thing from astro. I could not add a new constellation thing because that is not defined in the binding.
I do my real UIs with HABPanel. Control is a bit ugly and buggy, but very useful for quickly trying new things or items without creating an UI or writing rules or using the REST API.
I think HABPanel is super cool and I also have developed some extra widgets for my needs.
Also, it is very nice to run it inside the HABPanelViewer App on Android tablets, which offers additional methods of communication between the panel/device and the server.
The only downside is that it does not scale correctly between devices. So, if you want a panel to fit perfectly on a specific device, you have to design it for that device. But we are getting off-topic.
So, I would hope that maybe something like the Control page will come back in the future.
If you create a model for your Items than the locations, equipment, and properties tabs get automatically populated based on how your Items are situated in the model.
The above screenshots show the locations page and my Garage room. Nothing shown has any customization and were put on the page automatically. All I had to do was create the model in the Model tab. Personally, with the “add equipment from thing” and “add points from thing” options, I hardly ever need to mess with the Items page directly any more. I do it all from the model.
If you want to customize how those automatically generated UIs look, you can define the widget that gets used for a given Item on the Item itself on the Item’s page.
The Default Standalone Widget is also what get’s used at the top of the page (where it shows the network icon and “online”). As indicated by my tutorial link above, if you want to be able to change the Item’s state, you can define an Input Card (or slider or knob or what ever is appropriate) on the automatically generated pages or from the Item’s page, if the appropriate card isn’t chosen for you by default (e.g. a Switch will default to a toggle card).
I love HABPanel. My only problem with it is not being able to hide it behind a login. My temp fix is to hide it behind a VLAN. Hopefully we have basic users in the future that can only receive HABPanel layouts created by admin users.
You can restrict visibility of pages or even individual widgets to certain roles or users with the visibleTo parameter in most UI components of the new main UI.
By the way, these visibility parameters have been exposed in the “Default LIst Widget” metadata editor in that freshly merged PR, so you can conditionally hide or show items when these defaults are used, notably in the home page cards.
For instance, adding an expression to control the visibility of a color temperature widget based on the state of another (Color item):
You can also change their order in the lists.
Just remember this feature doesn’t give you hard protection against unwanted item tampering - it just hides them from the UI.
Seems like a cannot run OH2 and OH3 in parallel on the same machine (I have of course configured different HTTP and HTTPS ports):
2020-11-21 10:43:29.166 [WARN ] [org.apache.karaf.shell.ssh.Activator] - Exception caught while starting SSH server
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:455) ~[?:?]
at sun.nio.ch.Net.bind(Net.java:447) ~[?:?]
at sun.nio.ch.AsynchronousServerSocketChannelImpl.bind(AsynchronousServerSocketChannelImpl.java:164) ~[?:?]
at org.apache.sshd.common.io.nio2.Nio2Acceptor.bind(Nio2Acceptor.java:63) ~[bundleFile:1.7.0]
at org.apache.sshd.common.io.nio2.Nio2Acceptor.bind(Nio2Acceptor.java:87) ~[bundleFile:1.7.0]
at org.apache.sshd.server.SshServer.start(SshServer.java:324) ~[bundleFile:1.7.0]
at org.apache.karaf.shell.ssh.Activator.createAndRunSshServer(Activator.java:124) [bundleFile:?]
at org.apache.karaf.shell.ssh.Activator.doStart(Activator.java:113) [bundleFile:?]
at org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.java:312) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]