Announcement

Collapse
No announcement yet.

Missing activities and International characters does not decode propertly

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

    #46
    Hi Guys,

    I had to rewrite the HarmonyHubControl executable to get things working again, as long as Logitech won't change the firmware it will stay working because I now query the hub directly and fake a cloud authorization request.
    Because they also did something to the way they list the activities I reworte that part too, but to do so I had to add some extra libraries.

    I first tested this on my Windows VM's without having to load extra libraries.
    Because I have to compile the exe for different linux platforms, i did this for the RPi arm cpu and this worked on my system.
    Because I lost my linux VM's during my last iMac replacement, I created 2 new Ubuntu VM's from the latest .iso I downloaded and compiled the exe in there.

    So I guess that's the reason why it isn't running on old systems.

    So please update you linux system and try again or else sent me a pm, tot see how we can work this out.
    Regards,

    Rien du Pre
    The Netherlands
    Using:
    Homeseer PRO latest HS4 BETA on a Raspberry
    Plugin's:
    RFXCOM, mcsMQTT, Z-Wave

    Comment


      #47
      I am running Ubuntu 16.04 64 bit recently created for HomeSeer only, so most packages should be up to date (less than 30 days old).

      I think I may have found something, upon a lot of googling and digging. It looks like this was compiled with 32bit vs 64bit so I had to do the following:

      Finding the missing interpreter
      Code:
      readelf -l your_executable|grep "program interpreter"
      [Requesting program interpreter: /lib/ld-linux.so.2]
      /lib/ld-linux.so.2 is part of libc6-i386 package so I installed it:
      Code:
      apt-get install libc6-i386
      Next was this error:
      Code:
      ./harmonyhubcontrol_linux.exe: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
      I had the 64bit version already installed so I had to install the 32bit version:
      Code:
      apt-get install lib32stdc++6
      Then:
      Code:
      ./harmonyhubcontrol_linux.exe
      Syntax:
      HarmonyHubControl.exe [email] [password] [harmony_ip] [command (optional)]
          where command can be any of the following:
              list_activities
              list_activities_raw
              get_current_activity_id
              get_current_activity_id_raw
              start_activity [ID]
              list_devices
              list_devices_raw
              list_commands
              list_device_commands [deviceId]
              list_device_commands_raw [deviceId]
              issue_device_command [deviceId] [command]
              get_config
              get_config_raw
      SUCCESS


      Edit: On a side note it looks like there is some case confusion (linux is usually on a case sensitive filesystem) going on for some of the files and a missing image?
      Missing image: ./html/images/HarmonyHub/Harmony-Hub.jpg (not a big deal just noticed it)
      Case confusion/Multiple files: ./Config/hspi_HarmonyHub.ini, ./Config/HSPI_HarmonyHub.ini (the first contains only a few lines:
      Code:
      [Settings]
      cb_debug_checked=0
      Hub_Polling_Interval=5
      [Hub1]
      cb_hub1_checked=0
      [Hub2]
      cb_hub2_checked=0
      [Hub3]
      cb_hub3_checked=0
      The second file contains most of the settings for each hub and commands
      Last edited by mrardon; December 16, 2016, 03:17 PM. Reason: Side notes

      Comment


        #48
        Same issue as kkkk

        I'm having the same issue as kkkk. Since this is a brand new HometrollerSEL from Homeseer, I'm hesitant to make any changes to the underlying OS (the work around that mrardon posted).

        Will the plugin be recompiled to work with the HometrollerSEL or should I request a refund for the plugin?

        Thanks in advance,

        Woody

        Comment


          #49
          Is the SEL 64-bit linux ?
          Regards,

          Rien du Pre
          The Netherlands
          Using:
          Homeseer PRO latest HS4 BETA on a Raspberry
          Plugin's:
          RFXCOM, mcsMQTT, Z-Wave

          Comment


            #50
            I have a 64 bit version, let me know if you need this version

            Originally posted by mrardon View Post
            I am running Ubuntu 16.04 64 bit recently created for HomeSeer only, so most packages should be up to date (less than 30 days old).

            I think I may have found something, upon a lot of googling and digging. It looks like this was compiled with 32bit vs 64bit so I had to do the following:

            Finding the missing interpreter
            Code:
            readelf -l your_executable|grep "program interpreter"
            [Requesting program interpreter: /lib/ld-linux.so.2]
            /lib/ld-linux.so.2 is part of libc6-i386 package so I installed it:
            Code:
            apt-get install libc6-i386
            Next was this error:
            Code:
            ./harmonyhubcontrol_linux.exe: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
            I had the 64bit version already installed so I had to install the 32bit version:
            Code:
            apt-get install lib32stdc++6
            Then:
            Code:
            ./harmonyhubcontrol_linux.exe
            Syntax:
            HarmonyHubControl.exe [email] [password] [harmony_ip] [command (optional)]
                where command can be any of the following:
                    list_activities
                    list_activities_raw
                    get_current_activity_id
                    get_current_activity_id_raw
                    start_activity [ID]
                    list_devices
                    list_devices_raw
                    list_commands
                    list_device_commands [deviceId]
                    list_device_commands_raw [deviceId]
                    issue_device_command [deviceId] [command]
                    get_config
                    get_config_raw
            SUCCESS


            Edit: On a side note it looks like there is some case confusion (linux is usually on a case sensitive filesystem) going on for some of the files and a missing image?
            Missing image: ./html/images/HarmonyHub/Harmony-Hub.jpg (not a big deal just noticed it)
            Case confusion/Multiple files: ./Config/hspi_HarmonyHub.ini, ./Config/HSPI_HarmonyHub.ini (the first contains only a few lines:
            Code:
            [Settings]
            cb_debug_checked=0
            Hub_Polling_Interval=5
            [Hub1]
            cb_hub1_checked=0
            [Hub2]
            cb_hub2_checked=0
            [Hub3]
            cb_hub3_checked=0
            The second file contains most of the settings for each hub and commands
            Regards,

            Rien du Pre
            The Netherlands
            Using:
            Homeseer PRO latest HS4 BETA on a Raspberry
            Plugin's:
            RFXCOM, mcsMQTT, Z-Wave

            Comment


              #51
              64 or 32 Bit

              Originally posted by Rien du Pre View Post
              Is the SEL 64-bit linux ?
              Thanks, I'm afraid I'm too much of a newbie to know for sure. It is whatever this box is shipped as from HomeSeer:

              https://shop.homeseer.com/collection...nt=20335644806

              From the following outputs I would 'guess' this is a 32 bit machine:

              homeseer@hometrollerSEL:~$ uname -a
              Linux hometrollerSEL 3.16.0-031600-generic #201408031935 SMP Sun Aug 3 23:56:17 UTC 2014 i686 i686 i686 GNU/Linux
              homeseer@hometrollerSEL:~$ file /sbin/init
              /sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=c394677bccc720a3bb4f4c42a48e008ff33e39b1, stripped
              homeseer@hometrollerSEL:~$ arch
              i686


              Woody

              Comment


                #52
                Same issue for me. Is there a new version of the plugin?

                Comment


                  #53
                  Having the same issue

                  On a standard HomeSeer SEL box - AFAIK: 32bit Ubuntu 14.04.1

                  Code:
                  # lsb_release -a
                  No LSB modules are available.
                  Distributor ID: Ubuntu
                  Description:    Ubuntu 14.04.1 LTS
                  Release:        14.04
                  Codename:       trusty
                  
                  # uname -a
                  Linux hometrollerSEL 3.16.0-031600-generic #201408031935 SMP Sun Aug 3 23:56:17 UTC 2014 i686 i686 i686 GNU/Linux
                  I now get the same error since the update after I fixed the file with chmod to make it executable:

                  Code:
                  ./harmonyhubcontrol_linux.exe: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./harmonyhubcontrol_linux.exe)
                  Any Linux gurus out there can advise which packages need updating to cope with this... or is it a 32/64 bit thing? Since this is the "default Linux box" Homeseer ship to customers, you would hope it would work on it

                  Comment


                    #54
                    Fix(-ish) to the HomeTroller-SEL

                    Just a reply to myself (and others that are experiencing the problem) on the Hometroller-SEL boxes.

                    I am no Linux expert but I managed to hack a solution. NB: I have done some damage as I went but it appears to be working okay now. Perhaps some peeps with proper "Linux skills" could advise and improve.

                    The problem is quite simple, the error is:
                    Code:
                     ./harmonyhubcontrol_linux.exe
                    ./harmonyhubcontrol_linux.exe: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./harmonyhubcontrol_linux.exe
                    Looking at the offending library we see the following:
                    Code:
                    strings  /usr/lib/i386-linux-gnu/libstdc++.so.6  | grep GLIBC
                    ...
                    GLIBCXX_3.4.17
                    GLIBCXX_3.4.18
                    GLIBCXX_3.4.19
                    ...
                    The libraries on the Hometroller-SEL only go up to GLIBCXX_3.4.19, and not .21 which the plugin requires.

                    Not sure if this is needed for the plug-in or just a result of compiling with more up to date libraries but Rien could try to deprecate his library requirements to see if it compiles okay. If it does then it will just work on the box.

                    The solution of trying to update the libraries on the Hometroller-SEL box are more complex...

                    I tried doing a straight Linux update - no luck. I tried just updating the offending library:

                    Code:
                     sudo apt-get install libstdc++6
                    But that just returned nothing useful:
                    Code:
                    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded
                    After some research online I decided to try a manual install. I downloaded the file direct from the repository and did a manual update with the following commands:
                    Code:
                    wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                    
                    dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                    That failed because of a dependency of the chromium browser:
                    Code:
                    dpkg: regarding libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb containing libstdc++6:i386:
                     libstdc++6:i386 breaks chromium-browser (<= 43.0.2357.130-0ubuntu2)
                      chromium-browser (version 37.0.2062.120-0ubuntu0.14.04.1~pkg1049) is present and installed.
                    
                    dpkg: error processing archive libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb (--install):
                     installing libstdc++6:i386 would break chromium-browser, and
                     deconfiguration is not permitted (--auto-deconfigure might help)
                    Errors were encountered while processing:
                     libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                    Now we are in the horrible world of Linux dependencies and a few keystrokes from disaster as you potentially break everything. But I thought "What the hell do i need the Chromium browser for?" and took the plunge and just removed the dependency rather than work around it:

                    Code:
                    sudo apt-get remove chromium-browser
                    It removed a few things but all seemed well. I then reinstalled the library manually and got the following:
                    Code:
                     sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                    (Reading database ... 216278 files and directories currently installed.)
                    Preparing to unpack libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb ...
                    Unpacking libstdc++6:i386 (5.4.0-6ubuntu1~16.04.4) over (4.8.2-19ubuntu1) ...
                    dpkg: dependency problems prevent configuration of libstdc++6:i386:
                     libstdc++6:i386 depends on gcc-5-base (= 5.4.0-6ubuntu1~16.04.4); however:
                      Package gcc-5-base is not installed.
                    
                    dpkg: error processing package libstdc++6:i386 (--install):
                     dependency problems - leaving unconfigured
                    Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
                    Errors were encountered while processing:
                     libstdc++6:i386
                    It failed to configure but it DID install. And when I checked the HarmonyHub plug in - it was all magically working!

                    The library had been updated - as when I used strings on it I got:
                    ...
                    GLIBCXX_3.4.18
                    GLIBCXX_3.4.19
                    GLIBCXX_3.4.20
                    GLIBCXX_3.4.21
                    ...
                    Success??? I hope so. Removing the Chromium browser seems do have done no visible damage (perhaps others can tell me otherwise). The logs are not throwing up any errors and the machine is still running.

                    Not a great solution - Rien can do better by just recompiling with a lesser library requirement (unless it is genuinely needed).

                    But at least full Harmony Hub functionality is back in the mix here.

                    Comment


                      #55
                      Am I correct in thinking plugin version 3.6.5.0 should fix this? I'm having this issue after adding a third hub. for background, I've had 2 hubs working fine for months, the plugin and hub firmware are kept up to date frequently. On adding a new hub yesterday, it wouldn't discover activities besides PowerOff. After banging my head against it for a few hours yesterday, I've made things worse, and now none of my hubs have all the activities they should... although all devices are listed.

                      I've renamed all the devices and activities in myHarmony so they're all unique, and I've even deleted all the plugin devices and renamed the hspi_harmonyhub.ini config and added all 3 hubs again.

                      All 3 hubs are running the newest logitech firmware (4.12.36), and the PI is 3.6.5.0. HS3 runs on a windows 10, Hyper-V Guest VM
                      Last edited by Nyle; April 18, 2017, 05:25 PM.

                      Comment


                        #56
                        Actually, I got to the bottom of it... in my case, the HarmonyhubControl.exe file hadn't been updated when v3.6.5.0 was installed.

                        On checking the file creation date, it was quite old, so installing the plugin again cured it. I just installed over the top of the existing version.

                        Comment


                          #57
                          Originally posted by Nyle View Post
                          Actually, I got to the bottom of it... in my case, the HarmonyhubControl.exe file hadn't been updated when v3.6.5.0 was installed.

                          On checking the file creation date, it was quite old, so installing the plugin again cured it. I just installed over the top of the existing version.
                          Good to hear, have fun...
                          Regards,

                          Rien du Pre
                          The Netherlands
                          Using:
                          Homeseer PRO latest HS4 BETA on a Raspberry
                          Plugin's:
                          RFXCOM, mcsMQTT, Z-Wave

                          Comment


                            #58
                            Frunk,
                            Thanks for this. I removed Chromium and followed your steps. Everything seems to be working for me now as well. Will post back if I discover anything broken from this.


                            Originally posted by Frunk View Post
                            Just a reply to myself (and others that are experiencing the problem) on the Hometroller-SEL boxes.

                            I am no Linux expert but I managed to hack a solution. NB: I have done some damage as I went but it appears to be working okay now. Perhaps some peeps with proper "Linux skills" could advise and improve.

                            The problem is quite simple, the error is:
                            Code:
                             ./harmonyhubcontrol_linux.exe
                            ./harmonyhubcontrol_linux.exe: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./harmonyhubcontrol_linux.exe
                            Looking at the offending library we see the following:
                            Code:
                            strings  /usr/lib/i386-linux-gnu/libstdc++.so.6  | grep GLIBC
                            ...
                            GLIBCXX_3.4.17
                            GLIBCXX_3.4.18
                            GLIBCXX_3.4.19
                            ...
                            The libraries on the Hometroller-SEL only go up to GLIBCXX_3.4.19, and not .21 which the plugin requires.

                            Not sure if this is needed for the plug-in or just a result of compiling with more up to date libraries but Rien could try to deprecate his library requirements to see if it compiles okay. If it does then it will just work on the box.

                            The solution of trying to update the libraries on the Hometroller-SEL box are more complex...

                            I tried doing a straight Linux update - no luck. I tried just updating the offending library:

                            Code:
                             sudo apt-get install libstdc++6
                            But that just returned nothing useful:
                            Code:
                            0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded
                            After some research online I decided to try a manual install. I downloaded the file direct from the repository and did a manual update with the following commands:
                            Code:
                            wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                            
                            dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                            That failed because of a dependency of the chromium browser:
                            Code:
                            dpkg: regarding libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb containing libstdc++6:i386:
                             libstdc++6:i386 breaks chromium-browser (<= 43.0.2357.130-0ubuntu2)
                              chromium-browser (version 37.0.2062.120-0ubuntu0.14.04.1~pkg1049) is present and installed.
                            
                            dpkg: error processing archive libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb (--install):
                             installing libstdc++6:i386 would break chromium-browser, and
                             deconfiguration is not permitted (--auto-deconfigure might help)
                            Errors were encountered while processing:
                             libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                            Now we are in the horrible world of Linux dependencies and a few keystrokes from disaster as you potentially break everything. But I thought "What the hell do i need the Chromium browser for?" and took the plunge and just removed the dependency rather than work around it:

                            Code:
                            sudo apt-get remove chromium-browser
                            It removed a few things but all seemed well. I then reinstalled the library manually and got the following:
                            Code:
                             sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
                            (Reading database ... 216278 files and directories currently installed.)
                            Preparing to unpack libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb ...
                            Unpacking libstdc++6:i386 (5.4.0-6ubuntu1~16.04.4) over (4.8.2-19ubuntu1) ...
                            dpkg: dependency problems prevent configuration of libstdc++6:i386:
                             libstdc++6:i386 depends on gcc-5-base (= 5.4.0-6ubuntu1~16.04.4); however:
                              Package gcc-5-base is not installed.
                            
                            dpkg: error processing package libstdc++6:i386 (--install):
                             dependency problems - leaving unconfigured
                            Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
                            Errors were encountered while processing:
                             libstdc++6:i386
                            It failed to configure but it DID install. And when I checked the HarmonyHub plug in - it was all magically working!

                            The library had been updated - as when I used strings on it I got:


                            Success??? I hope so. Removing the Chromium browser seems do have done no visible damage (perhaps others can tell me otherwise). The logs are not throwing up any errors and the machine is still running.

                            Not a great solution - Rien can do better by just recompiling with a lesser library requirement (unless it is genuinely needed).

                            But at least full Harmony Hub functionality is back in the mix here.

                            Comment

                            Working...
                            X