Page 1 of 1

Plugin does not work with Indigo 2021.1

PostPosted: Sat Jun 19, 2021 5:05 am
by boekweg
Since I updated Indigo to version 2021.1 the Doorbird plugin does not work anymore. It is not possible to create a new doorbird device and the existing one is not available anymore.

Any solution for this?

The eventlog shows

Reloading plugin "DoorBird 1.0.0"
Starting plugin "DoorBird 1.0.0" (pid 43097)
DoorBird Error Error in plugin execution InitializeMain:

Traceback (most recent call last):
File "plugin.py", line 10, in <module>
File "/Library/Application Support/Perceptive Automation/Indigo 2021.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/pysodium/__init__.py", line 33, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 444, in LoadLibrary
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 366, in __init__
OSError: dlopen(libsodium.dylib, 6): no suitable image found. Did find:
libsodium.dylib: mach-o, but wrong architecture
/Library/Application Support/Perceptive Automation/Indigo 2021.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib: mach-o, but wrong architecture

Stopping plugin "DoorBird 1.0.0" (pid 43097)
Stopped plugin "DoorBird 1.0.0"

Re: Plugin does not work with Indigo 2021.1

PostPosted: Tue Jun 22, 2021 8:30 pm
by matt (support)
The libsodium.dylib library that is included with the plugin only supports Intel architecture but needs to support arm64 (M1) to be used with Indigo 2021.1.

You might be able to use Homebrew to install it on your Mac instead. Note if you do that you might have to delete this file out of the plugin so it finds the version homebrew installed instead:

DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib
(then restart the plugin)

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sat Jun 26, 2021 7:00 am
by tazswe
Upgraded to 2021.1 and my DoorBird plugin worked without any problems.


Skickat från min iPhone med Tapatalk

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sat Jul 03, 2021 1:42 pm
by boekweg
I guess it runs on a intel mac then? I have a M1 Mac Mini

Re: Plugin does not work with Indigo 2021.1

PostPosted: Wed Jul 07, 2021 6:32 pm
by rapamatic
matt (support) wrote:
The libsodium.dylib library that is included with the plugin only supports Intel architecture but needs to support arm64 (M1) to be used with Indigo 2021.1.

You might be able to use Homebrew to install it on your Mac instead. Note if you do that you might have to delete this file out of the plugin so it finds the version homebrew installed instead:

DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib
(then restart the plugin)


This worked for me - "brew install libsodium" and then I needed to copy libsodium.23.dylib from /opt/homebrew/cellar/libsodium/.... into the plugin contents folder, and rename as libsodium.dylib. For some reason it didn't work just using an alias to that file, but not a big deal to copy it.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Wed Jul 07, 2021 6:56 pm
by matt (support)
Great – thanks for the report.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Wed Jul 28, 2021 12:58 am
by kwijibo007
Apologies for missing this. I'm working out how to integrate the arm and intel version into the plugin.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Wed Jul 28, 2021 5:37 am
by kwijibo007
Version 1.1.0 of the plugin has been released and includes support for M1 Macs.

Pete

Re: Plugin does not work with Indigo 2021.1

PostPosted: Wed Jul 28, 2021 3:01 pm
by matt (support)
Awesome – thanks for the update Pete!

Re: Plugin does not work with Indigo 2021.1

PostPosted: Mon Jul 11, 2022 2:44 pm
by PvG
Hmm. I have an Intel MacMini and still get the above error with Indigo 2022.1.2 and Doorbird v1.2.0:
Code: Select all
   DoorBird Error                  Error in plugin execution InitializeMain:

Traceback (most recent call last):
  File "plugin.py", line 22, in <module>
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/pysodium/__init__.py", line 33, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 444, in LoadLibrary
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 366, in __init__
OSError: dlopen(libsodium.dylib, 6): no suitable image found.  Did find:
   libsodium.dylib: code signature in (libsodium.dylib) not valid for use in process using Library Validation: library load disallowed by system policy
   /Library/Application Support/Perceptive Automation/Indigo 2022.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib: code signature in (/Library/Application Support/Perceptive Automation/Indigo 2022.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib) not valid for use in process using Library Validation: library load disallowed by system policy


What am I doing wrong?

Re: Plugin does not work with Indigo 2021.1

PostPosted: Tue Jul 12, 2022 8:48 am
by jay (support)
Looks like macOS may have quarantined the plugin. Try executing this in a Terminal window:

Code: Select all
sudo xattr -rd com.apple.quarantine /Library/Application\ Support/Perceptive\ Automation/Indigo\ 2022.1/Plugins

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sat Aug 06, 2022 6:23 am
by PvG
Thanks!

That did the trick.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sat Aug 13, 2022 2:52 am
by berkinet
I am unable to install the 2.0.0 version and cannot go back to the previous version (1.2.0) either. In both cases I get an OS error
Code: Select all
DoorBird.indigoPlugin” cannot be opened because the developer cannot be verified.
macOS cannot verify that this app is free from malware.
and I then get the following in the Indigo log (which makes sense since the install failed.)
Code: Select all
DoorBird Error                  Error in plugin execution InitializeMain:

  File "plugin.py", line 22, in <module>
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/pysodium/__init__.py", line 33, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ctypes/__init__.py", line 452, in LoadLibrary
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ctypes/__init__.py", line 374, in __init__
type: dlopen(libsodium.dylib, 0x0006): tried: '/Library/Application Support/Perceptive Automation/Indigo 2022.1/IndigoPluginHost3.app/Contents/MacOS/../Frameworks/libsodium.dylib' (no such file), 'libsodium.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h')), '/usr/lib/libsodium.dylib' (no such file), '/Library/Application Support/Perceptive Automation/Indigo 2022.1/Plugins/DoorBird.indigoPlugin/Contents/Server Plugin/libsodium.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64h'))
Intel Mac,
MacOS 12.5
Indigo 2022.1
I have run the quarantine related command noted by Jay

I have updated other plugins without having this problem.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sat Aug 13, 2022 2:56 pm
by kwijibo007
This occurs because I include the binary files for libsodium which is used for reading the encrypted DoorBird messages.

The binary files have to be compiled manually. As this is fairly complicated to do I’ve included them in the plug-in but it causes the OS to quarantine them (sometimes).

I’ve never used Jay’s fix. I go into MacOS settings and Security. Within there is a message saying the plug-in was blocked. There you can unblock It. Then restart the plug-in.

Re: Plugin does not work with Indigo 2021.1

PostPosted: Sun Aug 14, 2022 8:22 am
by berkinet
kwijibo007 wrote:
...go into MacOS settings and Security. Within there is a message saying the plug-in was blocked. There you can unblock It. Then restart the plug-in.
Thanks. The timing is a bit tight. I had to have the Security pane open and then start the install, have it send the first fail message, say Ok. Let it complete, then restart it in Indigo, and again say Ok. But, it is running again.