Usually, when you cannot change directories even as root it is because you are doing something exotic like using SELinux in enforcing mode, which is highly unlikely, or you have accidentally stripped the execute permissions on the directory.
What do you see when you ls -ld /opt and ls -l /opt? if you don’t see x permissions on the folders you can’t change to that directory even as root.
OK, so the execute permissions are not the problem. The only other thing I can think of is if /opt or /opt/openhabian is a mounted network file share (NFS/CIFS/etc.) and the permissions on the file server is not allowing access to the files. If that isn’t the case I’m stumpped.