Announcement

Collapse
No announcement yet.

HS3 Linux Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    HS3 Linux Support

    Hi Michael, I'm in the process of trying to migrate my HS3 setup to Linux. I'm using the mcsSprinklers Pro plugin on Windows. Any plans to migrate the plugin to the Linux platform too? I know you offer a stand alone Linux app, but the HS3 integration is a such a pleasure to use (I have events, external inhibitors, weather station, etc).
    Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

    #2
    I have many conditional compilation branches and in some cases the Linux RPi/Odroid/Pogo, Windows, and HS1/HS2/HS3 ones do not play together. Testing is just too involved to maintain so many different configurations.

    In my Linux implementations I also have additional failure management logic to assure detection of different failure modes and automatic recovery as well an integrated ram/drive management scheme to minimize flash writes for drive longevity. It is not a vanilla Linux in which mcsSprinklers runs. It supports xAP so a mechanism does exist to integrate it with HS3.

    Comment


      #3
      Michael, I know this is an old thread. Have you had any more requests for Linux support now that there are mode HS appliances running Linux?

      HS3 runs under mono, so if you're compiling against .net 4.0 then adding support for mono may be quite trivial.
      Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

      Comment


        #4
        I have one code base for mcsSprinklers. It contains conditional compile time logic for HS and LINUX with no intention for both HS and LINUX be selected at the same time. For xAP plugin and xAP hub I have run time logic so the same .exe can be run on Windows or Linux.

        In the LINUX case my intention is to maximize robustness. I manage the hardware resources as being dedicated to mcsSprinklers so it looks like an irrigation appliance. It does not need to play nicely with other user-installed applications.

        My experience has also shown the CF cards have limited write cycles and damage easily with power outages. mcsSprinklers is write-intensive so it has current information of irrigation status when power cycles do occur and users want the irrigation to continue from where it left off. It also has a good database of historical information that is being updated continuously.

        I have run across a W10 appliance at http://ameridroid.com/products/z83-ii. When one considers the power supply, case and embedded SSD the $95 cost is no higher than an RPI3 and in an attractive package. I have not evaluated it, but looks to be a good product for Linux-challenged users and potential for HS that has more Windows plugins.

        Comment


          #5
          Thanks for the feedback Michael, it's much appreciated. I fully respect your objectives with the Linux appliance approach.

          I think my question was more whether the existing HS build could be run under Mono, thus not requiring any additional compile or run-time logic in your code. If the existing HS plugin code is based on .net and runs on Windows, is there any reason the same code won't run on Mono (other than perhaps some simple path changes to locate the databases and assemblies?
          Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

          Comment


            #6
            In general your observation is correct. There are some compound conditional compilation using LINUX and HS3 flags for which no logic was implemented for the LINUX and HS3 case. Some examples:
            HS3 devices (Device Status not available)
            Beta upload / restart
            Callbacks from HS
            Determination of reversion capability based upon storage failures

            I also have ODROID vs. LINUX conditions that are minor, but even those are hard to manage and keep the configuration straight. Testing everything is a burden with multiple possible configurations.

            Comment

            Working...
            X