Announcement

Collapse
No announcement yet.

Linux HS3 Users - READ ME -- Deprecated as of Plugin version 1.2.2

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Linux HS3 Users - READ ME -- Deprecated as of Plugin version 1.2.2

    As of 4/30/2018, these instructions are no longer required. Please see this post for Linux users instead!

    Please note that while Linux is supported by this plugin, it may or may not work for you out of the box. This is due in part to some packages that my .NET code references that might not be installed on your system, and in part due to a defect in some versions of Mono.

    NOTE: THESE INSTRUCTIONS DO NOT APPLY IF YOU ARE RUNNING ON AN ARM-BASED PROCESSOR (SUCH AS THE PI2 or HS ZEE S2)! See this thread for instructions instead.

    First, check what version of Mono you're running:

    Code:
    root@hs3linux:/usr/local/src# mono --version
    Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-8)
    Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
            TLS:           __thread
            SIGSEGV:       altstack
            Notifications: epoll
            Architecture:  amd64
            Disabled:      none
            Misc:          softdebug
            LLVM:          supported, not enabled.
            GC:            Included Boehm (with typed GC and Parallel Mark)
    If you're running a version of mono prior to 3.8:
    You need to configure the system to allow HTTPS connections by running this command:

    Code:
    mozroots --import --ask-remove

    If you're running mono 3.X (but less than 3.8):
    You'll need to upgrade to mono 3.8 by performing the following steps.
    • BACKUP YOUR SYSTEM! Take a snapshot of your virtual machine, copy your SD card if you're on a raspberry pi, etc. I do not want to be responsible for you crashing your HS3 machine
    • Stop HomeSeer
    • Remove Mono:

      Code:
      sudo apt-get remove mono-complete mono-runtime libmono*
      mono -V  (Note: this should fail with a "No such file or directory" error)
    • Add the 3.8 repository as a new source:

      Code:
      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
      echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/3.8 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
      sudo apt-get update
    • Install Mono 3.8:

      Code:
      sudo apt-get install mono-complete mono-vbnc libmono-system-web4.0.cil libmono-system-design4.0.cil libmono-system-web-extensions4.0-cil libmono-system-runtime-caching4.0-cil libmono-system-numerics4.0-cil libmono-system-xml-linq4.0-cil
      mono -V
      (Note: this should show a version of 3.8!)
      Code:
      root@hs3linux:~# mono -V
      Mono JIT compiler version 3.8.0 (tarball Thu Sep  4 12:22:04 UTC 2014)
      Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
              TLS:           __thread
              SIGSEGV:       altstack
              Notifications: epoll
              Architecture:  amd64
              Disabled:      none
              Misc:          softdebug
              LLVM:          supported, not enabled.
              GC:            sgen
      root@hs3linux:~#
    • Start HomeSeer

    Last edited by shill; May 4, 2018, 12:36 PM.

    #2
    How do I upgrade to Version 4?

    I tried the process to downgrade to version 2 and encountered problems when trying to install the new files One of the problems was "permission denied" using sudo.

    For what it's worth, I was told that changing the software on a Homeseer device voids the warranty, but I do want my Honeywell plugin to work.

    Comment


      #3
      Originally posted by SeaOtter View Post
      How do I upgrade to Version 4?

      I tried the process to downgrade to version 2 and encountered problems when trying to install the new files One of the problems was "permission denied" using sudo.

      For what it's worth, I was told that changing the software on a Homeseer device voids the warranty, but I do want my Honeywell plugin to work.
      Do you know the root password? You'll need either that or to figure out why you can't use sudo in order to do anything to change your mono binaries.

      Comment


        #4
        I don't know the root password. I called HS and they will not provide it.

        Sudo seems to work, and I was able to remove the installed mono libraries and files. Trying to install 2.x is were I had the issue.

        How do I go about getting 4.x?


        homeseer@hometrollerSEL:~$ sudo echo "deb http://ftp.us.debian.org/debian wheezy main" >> /etc/apt/sources.list

        -bash: /etc/apt/sources.list: Permission denied

        homeseer@hometrollerSEL:~$ echo "deb http://ftp.us.debian.org/debian wheezy main" >> /etc/apt/sources.list

        -bash: /etc/apt/sources.list: Permission denied

        homeseer@hometrollerSEL:~$ sudo apt-get install -t wheezy mono-runtime

        Reading package lists... Done
        E: The value 'wheezy' is invalid for APT:efault-Release as such a release is not available in the sources


        homeseer@hometrollerSEL:~$ echo "deb http://ftp.us.debian.org/debian wheezy main" >> /etc/apt/sources.list

        -bash: /etc/apt/sources.list: Permission denied

        Comment


          #5
          If you get a permission denied from 'sudo' then 'sudo su'. You will become root until you exit once (from the command line). That way you don't have to give root a password so root can't login locally. Block root from SSHing in and root is pretty well locked out even while running a lot of software on your system.

          Don't forget you are root and keep working - it's easy to do.

          Example:

          mikaluch@gerry-lopez:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
          [sudo] password for mikaluch:
          mikaluch@gerry-lopez:~$ sudo echo "deb http://foo.org" >> /etc/apt/sources.list
          bash: /etc/apt/sources.list: Permission denied
          mikaluch@gerry-lopez:~$ sudo su
          root@gerry-lopez:/home/mikaluch# echo "deb http://foo.org" >> /etc/apt/sources.list
          root@gerry-lopez:/home/mikaluch# exit
          exit
          mikaluch@gerry-lopez:~$
          Last edited by mikaluch; April 2, 2016, 05:47 PM. Reason: added example

          Comment


            #6
            I tried that and it does log me in as root.

            The Debian list doesn't seem to have mono 4.x

            is 2.x preferable to 4.x?

            If 2.x is preferable, do you have a better source for the files that appear to be missing from (E: The value 'wheezy' is invalid for APT:efault-Release as such a release is not available in the sources)

            If 4.x is preferable, is there an easy way to source it?
            Last edited by SeaOtter; April 2, 2016, 09:48 PM.

            Comment


              #7
              I don't know which is better. Hopefully Shill will respond to that one. Personally if I have two choices I will always upgrade instead of downgrade. I knew this build I am working with was going to be a temporary one since it was my first Homeseer build in a long time so I cut a corner and installed mono-complete. I would NOT do that for a production build. There are build tools including a compiler installed with all that. Those are dangerous things to keep on an internet exposed server.

              I didn't worry about what it installed at the time but looking through it now there are actually some 2.X and some 4.X files on my build. I don't have any thermostats so I can't comment on those but everything I have used in HS3 on Linux is working fine. The Insteon plugin was plug & play. I'm guessing if you only install the necessary packages you should get all 4.X from the Ubuntu Trusty Tahr repositories I am using. Same debs you get with Debian.

              You may have to encourage the system to install 4.X or 2.X. It's not very likely but it could break the system. See the man page for apt-get in the install section. It gives some instructions on forcing things that wouldn't happen automatically. BTW I copied your examples so my response would be clear but it is safer to update repositories using apt-add-repository rather than appending the new repository. If you drop one of those >> arrows your sources.list will be gone, other than the one new line.

              Find Ubuntu Trusty (LTS - long term support) repositories here:
              http://ubuntuguide.org/wiki/Ubuntu_T...d_Repositories

              Comment


                #8
                I agree - upgrade is better than downgrade. I apologize, though, for not being in a position to help much with that, since I don't have an SEL.

                Comment


                  #9
                  Shill,

                  Is there any chance you will get this plug-in working on linux without downgrading mono? My controller is working fine with all of my plug-ins with the exception of the Honeywell plugin. I'm using mono 3.2.8 now, and I'm a little paranoid I'm going to mess something up and have a voided warranty on the SEL.

                  Comment


                    #10
                    I currently have no plans to rewrite the communication mechanism to workaround the glaring bug in mono 3.x. I might do some research to see if there is an alternative library or third party option, but I'm not sure how likely that is to turn into a solution.

                    Comment


                      #11
                      Originally posted by SeaOtter View Post
                      Shill,

                      Is there any chance you will get this plug-in working on linux without downgrading mono? My controller is working fine with all of my plug-ins with the exception of the Honeywell plugin. I'm using mono 3.2.8 now, and I'm a little paranoid I'm going to mess something up and have a voided warranty on the SEL.
                      Hey SeaOtter--been there done that--upgraded and downgraded--it was ugly for about 3 weeks. Learned a lot, figured out how to rebuild SEL from ground zero.
                      Was happy to get back to 3.2.8 and a stable system again.

                      It would be great if shill figured out a work around I have 3 of these t-stats.

                      Comment


                        #12
                        DGB,

                        So did you get the Honeywell plug-in to work? Are you recommending against the upgrade or downgrade of mono?

                        How did you go about the upgrade?

                        Thanks

                        Comment


                          #13
                          Originally posted by DGB View Post
                          Hey SeaOtter--been there done that--upgraded and downgraded--it was ugly for about 3 weeks. Learned a lot, figured out how to rebuild SEL from ground zero.
                          Was happy to get back to 3.2.8 and a stable system again.

                          It would be great if shill figured out a work around I have 3 of these t-stats.
                          I found your thread where Pete was helping you try and get through that - terribly sorry!!! Lesson learned on 4.x, so I did some more digging and in my testing so far, 3.8 works fine for both the plugin and for HS3! I updated the instructions above with the exact steps I followed.

                          Comment


                            #14

                            If you're running mono 3.x:
                            You'll need to upgrade to mono 3.8 by performing the following steps.
                            • BACKUP YOUR SYSTEM! Take a snapshot of your virtual machine, copy your SD card if you're on a raspberry pi, etc. I do not want to be responsible for you crashing your HS3 machine
                            • Stop HomeSeer
                            • Remove Mono:

                              Code:
                              sudo apt-get remove mono-complete mono-runtime libmono*
                              mono -V  (Note: this should fail with a "No such file or directory" error)
                            • Add the 3.8 repository as a new source:

                              Code:
                              sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
                              echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/3.8 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
                              sudo apt-get update
                            • Install Mono 3.8:

                              Code:
                              sudo apt-get install mono-complete mono-vbnc libmono-system-web4.0.cil libmono-system-design4.0.cil libmono-system-web-extensions4.0-cil libmono-system-runtime-caching4.0-cil libmono-system-numerics4.0-cil libmono-system-xml-linq4.0-cil
                              mono -V
                              (Note: this should show a version of 3.8!)
                              Code:
                              root@hs3linux:~# mono -V
                              Mono JIT compiler version 3.8.0 (tarball Thu Sep  4 12:22:04 UTC 2014)
                              Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
                                      TLS:           __thread
                                      SIGSEGV:       altstack
                                      Notifications: epoll
                                      Architecture:  amd64
                                      Disabled:      none
                                      Misc:          softdebug
                                      LLVM:          supported, not enabled.
                                      GC:            sgen
                              root@hs3linux:~#
                            • Start HomeSeer

                            Hi Steve,

                            I am preparing to upgrade to HS3 using an RPi3. I have 3.2.8 installed with HS3. I followed the instructions by copy/paste the code to uninstall and install from 3.2.8 to 3.8. When I do mono -V, it shows up as 3.2.8.

                            Any ideas?

                            Thanks,

                            Jim

                            Comment


                              #15
                              Check your sources list and see if it properly added the branch for 3.8, maybe?

                              Code:
                              cat /etc/apt/sources.list.d/mono-xamarin.list

                              Comment

                              Working...
                              X