This page last changed on Feb 25, 2015 by boefje.

I'm trying to implement the HarmonyHubControl on OpenRemote. So far so good but when I try to trigger the command, I get the error message:

2015-02-25 22:38:23,673 INFO HTTP\-Thread\-3: Querying changed state from ChangedStatus table...
2015-02-25 22:38:23,674 INFO HTTP\-Thread\-3: Found: [device => null, sensorIDs => 106903182] in ChangedStatus table.
2015-02-25 22:38:23,675 INFO HTTP\-Thread\-3: ChangedStatusRecord:null-106903182 sensorID:106903182 statusChangedSensorID:[]Waiting...
2015-02-25 22:39:03,231 ERROR HTTP\-Thread\-4: Could not execute shell command: /home/pi/HarmonyHubcontrol/HarmonyHubControl
java.io.IOException: Cannot run program "/home/pi/HarmonyHubcontrol/HarmonyHubControl ": error=2, No such file or directory

I know it can't find the command but my Linux knowledge is next to nothing so I'm hoping someone could help me here.

I installed the HarmonyHubControl under /home/pi/HarmonyHubControl and the command to activate is called HarmonyHubControl.

pi@raspberrypi ~/HarmonyHubControl $ ls -d -1 $PWD/*
/home/pi/HarmonyHubControl/csocket.cpp
/home/pi/HarmonyHubControl/csocket.h
/home/pi/HarmonyHubControl/csocket.o
/home/pi/HarmonyHubControl/HarmonyHub.AuthorizationToken
/home/pi/HarmonyHubControl/HarmonyHubControl
/home/pi/HarmonyHubControl/HarmonyHubControl.cpp
/home/pi/HarmonyHubControl/HarmonyHubControl.o
/home/pi/HarmonyHubControl/HarmonyHubControl.vcxproj
/home/pi/HarmonyHubControl/Makefile
/home/pi/HarmonyHubControl/PROTOCOL.md
/home/pi/HarmonyHubControl/README.txt

When I run it from the Pi command line, it works perfectly.

These are the settings I've used in Open Remote

Name: Volume Down Harmony
Protocal: Shell execution protocol
Path:/home/pi/HarmonyHubControl/HarmonyHubControl
Command parameter: userid password logitech hub ip address issue_device_command 20672634 "VolumeDown"
Polling interval: empty
Regular Expression : empty
Sensor Names: empty

Any hints would be appreciated!

Could it be a user rights issue?

Posted by mredeker at Feb 26, 2015 08:40

I'm only using pi as user-id.

pi@raspberrypi ~/HarmonyHubControl $ ls -la

drwxr-xr-x 3 pi pi   4096 Feb 23 23:42 .
drwxr-xr-x 6 pi pi   4096 Feb 25 22:24 ..
-rw-r--r-- 1 pi pi   6623 Feb 23 22:47 csocket.cpp
-rw-r--r-- 1 pi pi   1268 Feb 23 22:47 csocket.h
-rw-r--r-- 1 pi pi   5620 Feb 23 23:42 csocket.o
drwxr-xr-x 8 pi pi   4096 Feb 23 22:47 .git
-rw-r--r-- 1 pi pi     64 Feb 23 22:47 HarmonyHub.AuthorizationToken
-rwxr-xr-x 1 pi pi 119410 Feb 23 23:42 HarmonyHubControl
-rw-r--r-- 1 pi pi  40254 Feb 23 22:47 HarmonyHubControl.cpp
-rw-r--r-- 1 pi pi 292984 Feb 23 23:42 HarmonyHubControl.o
-rw-r--r-- 1 pi pi   8086 Feb 23 22:47 HarmonyHubControl.vcxproj
-rw-r--r-- 1 pi pi    389 Feb 23 22:47 Makefile
-rw-r--r-- 1 pi pi   4697 Feb 23 22:47 PROTOCOL.md 
-rw-r--r-- 1 pi pi   3761 Feb 23 22:47 README.txt

Should be ok, and when run I execute it from the command line, it works ok. Openremote also runs under pi (I presume)

Posted by boefje at Feb 27, 2015 11:52

if you followed the instructions and put in a startup script so that openremote starts when the raspi starts, then it will run as root. you can check this by deleting the logs /opt/<yourinstallfolder>/logs/dev/ and /opt/<yourinstallfolder>/logs/boot.lod and restarting your pi. the user that writes these logs will be the user which pi starts under. Check "who" wrote these logs by the command ls -l.

HTH - let me know if you need anything more, and good luck. I've been doing this for a while now and still not mastered it, but having great fun learning...

Posted by nickbrookes76 at Mar 18, 2015 19:57
Document generated by Confluence on Jun 05, 2016 09:34