...any company that enters the world of automation should snap-to and realize that they have become a software company. I suspect sometimes the old guard still thinks of IT as just another annoying expense. They don't dedicate the resources to hire top notch talent, or worse, outsource the project to the cheapest bidder with no one at the hiring company understanding the software development process.
This is EXACTLY the issue; and like you said, if they contract it out, it'll suck because the contracting company doesn't actually "understand" what they're building. Like a good person, I sent my nag email as well, but I wasn't near as nice as you might have been. Quite frankly, all MacOS developers have known for over a two years that Catalina was coming and was deprecating 32bit applications. It's not like this just "snuck up" on them.
If software was originally designed to assume that an integer and a pointer to an integer are both 32bits, then you can have a lot of rewriting to do. Not always by the end software developer, but library developers as well. Catalina being 64bit only, has created a massive headache for everyone, not just Pentair...
As a developer, let me pull back even more of the curtain here. To expand on what
@the_sphynx says above, the "MacOS" version of ScreenLogic 2 is not a native MacOS application. It is actually the Windows version that was being run in
Wine, hence the inclusion of the
winetricks library. This is why it always looked and behaved like a Windows application — it actually was. The MacOS version of Wine is currently
not 64 bit and so won't run on MacOS Catalina for the reasons stated above. If you'd like to see the gnarly discussion about 64bit Wine on Catalina,
there is a lively discussion going on.
I have a possible solution if you are willing to do some expermineting. Over Christmas I wrote an
API &
UI (with
deployment scripts) that can talk to and control a ScreenLogic based on a
base nodejs library by a guy called "Parnic".
It does come with some caveats:
- This is not a complete replacement for the ScreenLogic software on MacOS, as it can't do scheduling and it can't pull the history graphs (because the underlying library can't do those things), but it can do all the basic functions, i.e. turn pool/spa on or off, turn on heater and set setpoint, and modify lights.
- This is a website/api that will run on a server. If you have a NAS that supports Docker (like a Synology or Asustor), it will run on that. I have it running on my Asustor NAS in my house.
- The deployment scripts require Docker. I have tried to make deploying it as easy as possible.
- I'd appreciate people trying it out and giving me feedback!
- If you try it out and have problems, please PM me and I'll gladly help.
- I will gladly accept Pull Requests from anybody that wants to add features or knows Angular better than I do.
- I'm also working on a "native" running version of this based on Electron.
I hope this helps people!