Page 1 of 1

Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Tue Aug 24, 2021 11:28 am
by MartyS
After updating from Indigo 7.5 to 2021.1.1, I discovered that the Honeywell Thermostat 0.5.1 plugin fails to load:

Code: Select all
   Honeywell Error                 Error in plugin execution InitializeMain:

Traceback (most recent call last):
  File "plugin.py", line 9, in <module>
  File "/Library/Application Support/Perceptive Automation/Indigo 2021.1/Plugins/Honeywell.indigoPlugin/Contents/Server Plugin/Honeywell.py", line 20, in <module>
  File "./lib/TCC/__init__.py", line 1, in <module>
ImportError: ./lib/TCC/TCC.so: no appropriate architecture (see "man python" for running in a non-native architecture)

   Stopping plugin "Honeywell 0.5.1" (pid 62114)

Looking at the library I see that it has what it took to be imported successfully under Indigo 7.5 which used Rosetta 2 on M1 Macs:
Code: Select all
% file TCC.so
TCC.so: Mach-O universal binary with 3 architectures: [i386:Mach-O bundle i386] [x86_64:Mach-O 64-bit bundle x86_64] [ppc:Mach-O bundle ppc]
TCC.so (for architecture i386):   Mach-O bundle i386
TCC.so (for architecture x86_64):   Mach-O 64-bit bundle x86_64
TCC.so (for architecture ppc):   Mach-O bundle ppc

Now that Indigo 2021.1.n no longer starts the Python plugins in Intel mode on M1 Macs this library needs extra love to add a native ARM architect to it. Is that something that can be easily rebuilt and made available? If you need access to an M1 Mac to make that happen or for testing I can help with that.

Re: TCC.so cannot be imported on M1 Mac with Indigo 2021.1.n

PostPosted: Tue Aug 24, 2021 5:14 pm
by matt (support)
Did you try re-installing the plugin from scratch, including following the instructions in the plugin to install the zeep library? That might compile the TCC.so for M1.

Note I moved this post to a different sub-forum. There are 2 different Honeywell plugins and I believe this is the correct sub-forum for your question.

Re: TCC.so cannot be imported on M1 Mac with Indigo 2021.1.n

PostPosted: Tue Aug 24, 2021 5:40 pm
by MartyS
matt (support) wrote:
Did you try re-installing the plugin from scratch, including following the instructions in the plugin to install the zeep library? That might compile the TCC.so for M1.

Note I moved this post to a different sub-forum. There are 2 different Honeywell plugins and I believe this is the correct sub-forum for your question.

@Matt, the other Honeywell sub-forum for the Honeywell Thermostat 0.5.1 was the proper one for the plugin I'm unable to load. Please move my post back. :P

Re: Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Wed Aug 25, 2021 8:33 am
by matt (support)
Sorry about that – I've moved it back. I might actually be able to help with the TCC.so file here in a bit.

Re: Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Wed Aug 25, 2021 9:33 am
by jalves
Not directly related to the M1 chip, but a minor issue with this plugin - I can't check version info. The built in version check always fails with this error: versionCheck: Unable to reach the version server.

Re: Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Wed Aug 25, 2021 10:00 am
by matt (support)
Okay, try downloading this replacement TCC.so file. Once you download the .zip, double-click to extract out the .so file (Safari might automatically do this) and then replace the version inside your Honeywell plugin.

If the plugin won't load/restart then you may need to clear the quarantine flag for the new .so file. This command in the Terminal app should do it:

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

Let me know if the new .so file works.

Re: Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Wed Aug 25, 2021 7:18 pm
by MartyS
matt (support) wrote:
Okay, try downloading this replacement TCC.so file. Once you download the .zip, double-click to extract out the .so file (Safari might automatically do this) and then replace the version inside your Honeywell plugin.

If the plugin won't load/restart then you may need to clear the quarantine flag for the new .so file. This command in the Terminal app should do it:

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

Let me know if the new .so file works.

The new TCC.so works perfectly, and as you would expect even still works in Indigo 7.5. :D

I don't care what voodoo you used to rebuild this, but I can continue on with testing Indigo 2021.1.1 without leaving my thermostat automation behind! After being "behind" for so many years with my old Snow Leopard system it's wonderful to have a M1 Mac mini and the latest version of Indigo. Thanks so much.

Re: Plugin not working on M1 Mac (Indigo 2021.1)

PostPosted: Wed Aug 25, 2021 7:55 pm
by MartyS
jalves wrote:
Not directly related to the M1 chip, but a minor issue with this plugin - I can't check version info. The built in version check always fails with this error: versionCheck: Unable to reach the version server.

A not too uncommon situation really: the plugin references the developer's website using http://, but the site now demands https:// be used. Because of this, even if the developer fixes their plugin kit to adjust that, no one's existing plugin version will be able to know that an update is available unless the site actually deliver pages via http:// connections again. Fewer and fewer sites do that. I just now went to the appropriate https:// version page on their site and 0.5.1 is shown to be the latest.

The "About …" menu item for the plugin results in the same use of http:// so it too fails. I didn't see any other web site references that pointed to the developer's site so these two features should be the only ones impacted by this issue.