OpenRemote package for Synology NAS

When I originally created Synology packages for Java in 2011 I noticed that they are being referred to by some diverse projects, and one that caught my eye was OpenRemote. Since a NAS is a low power always-on system, it’s a perfect candidate to run home automation control software. OpenRemote aims to be the integration and control layer for a huge range of devices and sensors which use a substantial variety of protocols – as the project’s strapline summarizes:
OpenRemote is the Open Source Middleware for the Internet of Things.

OpenRemote-DSM

This new version of the package is a significant update to version of 2.6.2 of the OpenRemote Controller. I selected this version because the drools component has been updated so that OpenRemote will run on Java 8. I have integrated the application with DSM’s Package Center and the software icons will be shown in main DSM applications menu when the package is running (button in the top left corner):

OpenRemote-webui

To use the software you will need to register for an OpenRemote Designer 2.5 account here. You will have to purchase this via the order process but notice the discount code for personal use which brings the price back to zero. If you had already created designs on OpenRemote versions prior to 2.5 there is a migration process to transfer this to the new version, though it looks like the OpenRemote documentation is overdue a tidy – much of it is clearly outdated.

 

Synology Package Installation

  • In the Advanced tab of the DSM User control panel enable the User Home service.
  • In Synology DSM’s Package Center, click Settings and add my package repository:
    Add Package Repository
  • The repository will push its certificate automatically to the NAS, which is used to validate package integrity. Set the Trust Level to Synology Inc. and trusted publishers:
    Trust Level
  • OpenRemote appears to need the unlimited cryptography policy files for the Java Cryptography Extension which are not included by default. If you want to use the Synology Java package you will need to manually install these policy files yourself, however I would recommend using my own Java SE Embedded package which does this automatically. Read the instructions on that page carefully too. Ensure you select Unlimited Strength Cryptography in the package installation menu:
    Java-crypto
  • Browse the Community section in Package Center to install OpenRemote:
    Community-packages
    The repository only displays packages which are compatible with your specific model of NAS. The OpenRemote package contains no native binaries at all, so it will work on any NAS that can run Java. This package does now require at least DSM 5.0.
 

Notes

  • You will only be able to sync the Controller with your Designer account once you have designed something. Until then, the sync will fail. This is normal.
  • Since this package does not include native binaries, if you need drivers for additional devices such as USB serial dongles, USB Z-Wave adapters etc., you will need to find these elsewhere. Rather than duplicating effort I will defer to the expertise of fellow Synology package developer jadahl who seems to have this part covered already.
  • Previous versions of this package required a port change to TCP18581 for the controller which required a matching config change in OpenRemote Designer. This is no longer necessary since the Controller now uses TCP8688 by default which does not clash with any Synology services.
  • OpenRemote saves your designs in the cloud with your online account, and the controller syncs with those designs. This means that you can uninstall the package without losing your designs.
  • You can see the Controller’s log in Package Center
  • DSM Package Center installs the application to /var/packages/OpenRemote/target. If you need to edit config files, or look at other logs in detail via SSH – that’s where you’ll find them.
 

Package scripts

For information, here are the package scripts so you can see what it’s going to do. You can get more information about how packages work by reading the Synology 3rd Party Developer Guide.

installer.sh

#!/bin/sh

#--------OPENREMOTE installer script
#--------package maintained at pcloadletter.co.uk


DOWNLOAD_FILE="OpenRemote_Controller.zip"
DOWNLOAD_PATH="https://github.com/openremote/Controller/releases/download/v2.6.0_beta"
DOWNLOAD_URL="${DOWNLOAD_PATH}/${DOWNLOAD_FILE}"
EXTRACTED_FOLDER="OpenRemote-Controller"
DAEMON_USER="`echo ${SYNOPKG_PKGNAME} | awk {'print tolower($_)'}`"
DAEMON_PASS="`openssl rand 12 -base64 2>/dev/null`"
DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
ENGINE_SCRIPT="openremote.sh"
CATALINA_PID="${SYNOPKG_PKGDEST}/${SYNOPKG_PKGNAME}.pid"
#'ua' prefix means wget user-agent will be customized
INSTALL_FILES="ua${DOWNLOAD_URL}"
TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`"
source /etc/profile


pre_checks ()
{
  if [ -z ${JAVA_HOME} ]; then
    echo "Java is not installed or not properly configured. JAVA_HOME is not defined. " >> $SYNOPKG_TEMP_LOGFILE
    echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
    exit 1
  fi
  
  if [ ! -f ${JAVA_HOME}/bin/java ]; then
    echo "Java is not installed or not properly configured. The Java binary could not be located. " >> $SYNOPKG_TEMP_LOGFILE
    echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
    exit 1
  fi
  
  #is the User Home service enabled?
  if [ "`synogetkeyvalue /etc/synoinfo.conf userHomeEnable`" == "no" ]; then
    echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM." >> $SYNOPKG_TEMP_LOGFILE
    exit 1
  fi
}


preinst ()
{
  pre_checks
  cd ${TEMP_FOLDER}
  for WGET_URL in ${INSTALL_FILES}
  do
    WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`"
    [ -f ${TEMP_FOLDER}/${WGET_FILENAME} ] && rm ${TEMP_FOLDER}/${WGET_FILENAME}
    #this will allow openremote.org to track the number of downloads from Synology users
    WGET_URL=`echo ${WGET_URL} | sed -e "s%^ua%--user-agent=Synology --referer=https://pcloadletter.co.uk/2011/10/25/openremote-package-for-synology/ %"`
    wget ${WGET_URL}
    if [ $? != 0 ]; then
      if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then
        cp ${PUBLIC_FOLDER}/${WGET_FILENAME} ${TEMP_FOLDER}
      else     
        echo "There was a problem downloading ${WGET_FILENAME} from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
        echo "which was \"${WGET_URL}\" " >> $SYNOPKG_TEMP_LOGFILE
        echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. " >> $SYNOPKG_TEMP_LOGFILE
        exit 1
      fi
    fi
  done
  
  exit 0
}


postinst ()
{
  #create daemon user
  synouser --add ${DAEMON_USER} ${DAEMON_PASS} "${DAEMON_ID}" 0 "" ""
  
  #extract main archive
  cd ${TEMP_FOLDER}
  #DSM 6.0 no longer includes unzip, use 7z instead
  unzip ${TEMP_FOLDER}/${DOWNLOAD_FILE} || 7z x -y ${TEMP_FOLDER}/${DOWNLOAD_FILE} > /dev/null
  rm ${TEMP_FOLDER}/${DOWNLOAD_FILE}
  mv ${TEMP_FOLDER}/${EXTRACTED_FOLDER}/* ${SYNOPKG_PKGDEST}
  rmdir ${TEMP_FOLDER}/${EXTRACTED_FOLDER}
  chmod +x ${SYNOPKG_PKGDEST}/bin/${ENGINE_SCRIPT}
  
  #TCP port 8081 is in use on Synology so we need to move Catalina to another port - 18581
  #This regex was tricky, but possible thanks to http://austinmatzko.com/2008/04/26/sed-multi-line-search-and-replace/
  #sed -i -n '1h;1!H;${;g;s%\(<Connector executor="HTTP-ThreadPool".*port="\)8080\(".* />\)%\118581\2%;p;}' ${SYNOPKG_PKGDEST}/conf/server.xml
  #sed -i "s/^webapp.port=.*$/webapp.port=18581/" ${SYNOPKG_PKGDEST}/webapps/controller/WEB-INF/classes/config.properties

  #change owner of folder tree
  chown -R ${DAEMON_USER} ${SYNOPKG_PKGDEST}

  #determine the daemon user homedir and save that variable in the user's profile
  #this is needed because new users seem to inherit a HOME value of /root which they have no permissions for
  DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"
  su - ${DAEMON_USER} -s /bin/sh -c "echo export HOME=\'${DAEMON_HOME}\' >> /var/services/homes/${DAEMON_USER}/.profile"
  su - ${DAEMON_USER} -s /bin/sh -c "echo export CATALINA_PID=\'${CATALINA_PID}\' >> /var/services/homes/${DAEMON_USER}/.profile"

  #add firewall config
  /usr/syno/bin/servicetool --install-configure-file --package /var/packages/${SYNOPKG_PKGNAME}/scripts/${SYNOPKG_PKGNAME}.sc > /dev/null
  
  exit 0
}


preuninst ()
{
  `dirname $0`/stop-start-status stop
  
  exit 0
}


postuninst ()
{
  #remove daemon user
  synouser --del ${DAEMON_USER}

  #remove firewall config
  if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then
    /usr/syno/bin/servicetool --remove-configure-file --package ${SYNOPKG_PKGNAME}.sc > /dev/null
  fi
  
  #remove daemon user's home directory (needed since DSM 4.1)
  [ -e /var/services/homes/${DAEMON_USER} ] && rm -r /var/services/homes/${DAEMON_USER}
  
  exit 0
}
 

start-stop-status.sh

#!/bin/sh

#--------OPENREMOTE start-stop-status script
#--------package maintained at pcloadletter.co.uk

DNAME="`dirname $0 | cut -f4 -d'/'`"
DAEMON_USER="`echo ${DNAME} | awk {'print tolower($_)'}`"
DAEMON_ID="${DNAME} daemon user"
DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"
PKG_FOLDER="`dirname $0 | cut -f1-4 -d'/'`"
#DLOG="${PKG_FOLDER}/target/logs/catalina.out"
DLOG="${PKG_FOLDER}/target/logs/container/stderrout.log"
PID_FILE="${PKG_FOLDER}/target/${DNAME}.pid"
ENGINE_SCRIPT="openremote.sh"
TIMESTAMP="`date "+%F %X,000"`"
source /etc/profile
source /root/.profile


start_daemon ()
{
  #set the current timezone for Java so that log timestamps are accurate, modern timezone names so DST works
  SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
  #fix for DST time in DSM 5.2 thanks to MinimServer Syno package author
  [ -e /usr/share/zoneinfo/Timezone/synotztable.json ] \
   && SYNO_TZ=`jq ".${SYNO_TZ} | .nameInTZDB" /usr/share/zoneinfo/Timezone/synotztable.json | sed -e "s/\"//g"` \
   || SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
  grep "^export TZ" ${DAEMON_HOME}/.profile > /dev/null \
   && sed -i "s%^export TZ=.*$%export TZ='${SYNO_TZ}'%" ${DAEMON_HOME}/.profile \
   || echo export TZ=\'${SYNO_TZ}\' >> ${DAEMON_HOME}/.profile
  
  su - ${DAEMON_USER} -s /bin/sh -c "cd ${PKG_FOLDER}/target/bin && source ~/.profile && ./${ENGINE_SCRIPT} start"
  if [ -z ${SYNOPKG_PKGDEST} ]; then
    #script was manually invoked, need this to show status change in Package Center
    [ -e ${PKG_FOLDER}/enabled ] || touch ${PKG_FOLDER}/enabled
  fi
}

stop_daemon ()
{
  kill `cat ${PID_FILE}`
  wait_for_status 1 20 || kill -9 `cat ${PID_FILE}`
  rm -f ${PID_FILE}
  if [ -z ${SYNOPKG_PKGDEST} ]; then
    #script was manually invoked, need this to show status change in Package Center
    [ -e ${PKG_FOLDER}/enabled ] && rm ${PKG_FOLDER}/enabled
  fi
}

daemon_status ()
{
  if [ -f ${PID_FILE} ] && kill -0 `cat ${PID_FILE}` > /dev/null 2>&1; then
    return
  fi
  rm -f ${PID_FILE}
  return 1
}

wait_for_status ()
{
  counter=$2
  while [ ${counter} -gt 0 ]; do
    daemon_status
    [ $? -eq $1 ] && return
    let counter=counter-1
    sleep 1
  done
  return 1
}

case $1 in
  start)
    if daemon_status; then
      echo ${DNAME} is already running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo Starting ${DNAME} ...
      start_daemon
      exit $?
    fi
  ;;

  stop)
    if daemon_status; then
      echo Stopping ${DNAME} ...
      stop_daemon
      exit $?
    else
      echo ${DNAME} is not running
      exit 0
    fi
  ;;

  restart)
    stop_daemon
    start_daemon
    exit $?
  ;;

  status)
    if daemon_status; then
      echo ${DNAME} is running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo ${DNAME} is not running
      exit 1
    fi
  ;;

  log)
    echo "${DLOG}"
    exit 0
  ;;

  *)
    echo "Usage: $0 {start|stop|status|restart}" >&2
    exit 1
  ;;

esac
 

Changelog:

  • 2.6.2-0010 25 Jul 2016 – Substantial re-brand and overhaul for DSM 6.0, updated to OpenRemote Controller 2.6.2 beta which adds Java 8 compatibility, Controller is now the Pro version which is free for personal non-commercial use – registration for an OpenRemote Designer account is required, added many enhancements developed for other packages
  • 2.1.1-0009 May 2016 – Abandoned test, never published
  • 2.0.1-0008 23 Jan 2013 – Changes not recorded
  • 2.0.1-0007 20 Jan 2013 – Fixes for DSM 4.2
  • 2.0.1-006 24 Nov 2012 – Updated to release 2.0.1, merged the package scripts for easier maintenance
  • 2.0.0-005 12 Mar 2012 – Updated to release 2.0 with Web Console, package now downloads installation files directly from openremote.org, removed Java 6 check, timezone support for Java, icons vanish from DSM menu when package in stopped state, added URL for Web Console to Package Info in Package Center
  • 2.0.0_20110611-004 18 Nov 2011 – Fixed missing panel.xml error due to relative path problem in openremote.sh, documented on OpenRemote forum
  • 2.0.0_20110611-003 18 Nov 2011 – Fixed controller TCP port after autodiscover from panel
  • 2.0.0_20110611-002 17 Nov 2011 – Updated for package repo to allow update notification, made Java 6 mandatory and added link to user forum in More Info
  • 2.0.0_SNAPSHOT_20110611 25 Oct 2011 – v1 initial spk release
 
 

219 thoughts on “OpenRemote package for Synology NAS

  1. Chris

    Hi Patters,
    You did a perfect job! I install the OpenRemote package Version 2.0.1-008 via DSM 4.3 Package.
    The installation works perfect on my Synology DS213j; DSM 4.3, included the newest JAVA SE for Embedded 7 Version: 1.7.0_45-0019.
    Here is my plan: I will migrate my running EnOcean-Homeautomation System on the Synology DS213j.
    Unfortunly the package version 2.0.1-008 do not support the EnOcean protocol (the OpenRemote Version 2.1.x does).
    Is there any possibility to upgrade/integrate the EnOcean Protocol in a “new” version ?
    How can I do this my self ? or are you planning an updated package with the newest version,
    Best Regards
    Chris

    Reply
  2. Dan

    Hi, thanks for all this. But I am having an issue.

    I have successfully installed (as far as I can tell) Java 1.7.0_45-0019 on my DS212j running DSM 4.3-3776. It says it’s running in the Package Center.
    But when I try to install OpenRemote, it comes with an error saying “Java is not installed or not properly configured. The Java binary could not be located.”

    Any suggestions?
    Thanks.

    Reply
  3. Pingback: Choix d’un contrôleur Domotique » josDBlog

  4. Rick

    Anyone have this running on a DS1512 with 4.3? It installed without an issue but when I go to the webconsole it gets stuck on loading controller. Log shows error in handling REST API response: null

    Reply
    1. Marcus

      The version probably has an issue with the webconsole. There were some discussions on the forums regarding a webconsole that kept spinning.

      Reply
  5. Rick

    Thank you for the reply Marcus. I saw some of the discussions you are referring to, but I wasn’t able to find a solution that would work with Patters version. I think it is fixed in 2.1 but I haven’t had a chance to dig into everything more.

    Reply
    1. Marcus

      Did you create a design and deploy that to your controller? Do you have an iOS or Android device to test the controller?

      Reply
  6. Rick

    yes, I created a simple design to test. 5 buttons with codes. Then I deleted it and started over with a new panel and just one label in the middle of the screen that read test. I am testing on an iPhone as well. Sorry if I’m missing something super simple. I’m brand new to OR and just trying to get a simple control setup for the dedicated A/C in my server room.

    Reply
  7. Jan Ekholm (@jan_ekholm)

    The packages installed nicely through these instructions. At least all modules seem to start up properly and I have the controller and designer applications on our Synology. However, I think the “OpenRemote Controller” application tries to log into some pro version or is otherwise a bit broken. I’ve created demo accounts as per the normal OpenRemote docs and can log in on the web, but the Synology application refuses to authenticate. If I just leave the user/password fields as blank and click “Synchronize” (or similar) it succeeds, but I suspect it actually did nothing at all. Filling in my user account details and it fails to sync.

    Perhaps this is just a case of the OpenRemote architecture being overly complex and the docs a bit rubbish. I’ll have to randomly test some more…

    Reply
      1. Frederik

        How was your problem solved? I have exactly the same problem. Tried both logging on with the normal and the designer account. Authentication failed.
        Logging on online in the designer works fine.
        Thx!

  8. Daniel

    Trying to install in a 213j with dsm 4.3. Looks like Java 7 is running well, but when I try to install openremote it says port 15581 is already occupied by another service. I wasnt able to find what is running on 15581.
    Any clue or advice?
    Many thanks Andes great Job!

    Reply
    1. patters Post author

      Sometimes DSM takes a while to realise ports are no longer in use when you remove a package. In those cases waiting a few minutes usually solves it.

      Reply
      1. Daniel

        Thx. Patters, looks like that was the problem.
        Now, even that if it looks like openremote has been installed properly, when I open the controller, the designer or the console, all windows appear completely empty!

        Any idea?

        Thanks in advance!

  9. urban

    Hallo! First of all thank you very much for youtr contribution.
    Problem: After installation on DS212+ with Java 6 or Java 7 (it doesn’t matter which one) and Openremote (Instalation has no errors) I cant’ see anything (white/empty screen) when I execute the icons (desigen, controler, etc.) on Synology NAS. Any ideas what is wrong?

    Reply
  10. Achim Bohmann

    Hi!
    Did any of you guys running OpenRemote on a Synology also get EIBnetmux running on a Synology? Otherwise you cannot connect OR and another tool (say ETS3) at the same time, right?

    Reply
  11. urban

    Hi everybody!
    I would like to use RRD4J with Synology NAS. But I can not find the “rrd” folder? Also the initialization event processor “RRD4J Data Logger” is not starting. Have anybody a hint how to start it?

    Reply
  12. Rob Blakemore

    Hi. I’ve just upgraded from DSM version 2.3 (yes, very old!) to 5.0 on my Synology. Will this package work on DSM 5.0? And if not, do you think you’ll be up-versioning your package at any point in the future? Many Thanks.

    Reply
    1. Pieter Zanstra

      Some users have replied on the openremote forum that it works with DSM 5. I have not seen any failures being mentioned

      Reply
    2. max

      Hi,

      Yes it works perfectly. It actually went better.

      Go to the package center and download Java Manager. Follow the instructions to download the latest Java (mines java SE 7 51)

      In package center go to settings and add the following as a package source http://packages.pcloadletter.co.uk/

      In package center locate the community group and install openremote
      Follow the instructions.

      Hope that helps.

      Reply
  13. Allen Goodhue

    Hi.
    Thanks for providing this package and support.

    I have a DS412+ running DSM4.2
    I created the public folder with the ejre-1_6_0_38-fcs-b05-llinux-i586-headlkess-13_nov_2012.gz flie from the oracle archives and have installed the Java SE package.

    I enabled the user home service and sucessfully installed the Open Remote package.
    Java and the 3 Open remote apps are running but when I click on any of the Open Remote icons I just get a blank page.

    Any ideas what I’ve done wrong or what I’ve missed pleasw?

    Regards Allen.

    Reply
    1. Allen Goodhue

      Some fat fingered typos in the filename.
      ejre-1_6_0_38-fcs-b05-linux-i586-headless-13_nov_2012.gz

      Reply
    2. Allen Goodhue

      Further info…I am using Chrome. Chrome gives an empty window for each of the three apps. When I use IE the 3 app pages display the message “Internet Explorer cannot display the webpage.”. This is displayed inside the “Open remote” app windows, not the main browser.

      I have the latest version of Java installed on my PC.

      Reply
  14. Josh

    Love the package, thank you! Any chance you could update the .spk to include icon resolutions above 32×32? OpenRemote provides a 512×512 png to work with:

    Reply
  15. Pieter Zanstra

    After installation of critical update DSM 4.3-3827 Update 3, OpenRemote does not start anymore. No traces in the OpenRemote logs (none are made).

    Reply
  16. teammcs

    Hey,

    Just to let you know this doesn’t appear to be working any more on DS5. All the consoles are showing blank and the catalina.out logs are reporting a xml error.

    Happy to help but I’m entirely unfamiliar with OpenRemote

    Reply
  17. NASnoob

    Hi all,

    I’m looking at buying a DS415Play, with an Intel Atom CPU. Can I run this package on this?

    cheers

    Reply
  18. Cristina C

    Hi all,

    Thank you for the package it is wonderful. I tried for the last few days to make the package restart using “Task Scheduler”.
    1. I open “Task Scheduler”.
    2. “Create” and choose “User-defined script”.
    3.I named the Task “Stop Openremote” with a “User-defined script” of:
    /var/packages/OpenRemote/scripts/start-stop-status.sh stop
    4.I named the Task “Start Openremote” with a “User-defined script” of:
    /var/packages/OpenRemote/scripts/start-stop-status.sh start
    5. I try to run the tasks and I can’t see them working. In the terminal I get the following error for the start action
    “-sh: ln: /usr/syno/synoman/webman/3rdparty/OpenRemoteController: File exists
    ./openremote.sh: not found
    ln: /usr/syno/synoman/webman/3rdparty/OpenRemoteDesigner: File exists
    ln: /usr/syno/synoman/webman/3rdparty/OpenRemoteWebConsole: File exists”
    and “-sh: /bin/openremote.sh: not found” for the stop action.

    What can I do?

    Thank you for the help in advance.

    Reply
    1. patters Post author

      These scripts use system variables that won’t exist if you start them manually. In Task Scheduler, use the option to start/stop a service rather than the custom option. This will run the start-stop-status script in the expected environment.

      Reply
  19. Bill Callahan

    So, tried performing the upgrade and got the blank console screens issue myself. Everything was going well, but I was trying to get it working with my z-stick configuration and figured I might need the upgrade.

    Now things seem pretty hosed. I uninstalled, rebooted my DS1513+, reinstalled and it looks like the whole copy of DSM files got messed up. I didn’t have anything copied into the @appstore/OpenRemote directlry, except a DSM directory with some sub directories.

    Uninstalled again, confirmed that openremote user is gone. Groups I created for the Z-stick access to /var/lock and /dev/ttyUSB0 are still there, but no other indications of OpenRemote are left anywhere that I can find.

    Did anyone resolve the blank console window problem?

    Reply
    1. Bill Callahan

      Murphy’s Law of Community support. The moment you post a question, you will find the answer.

      Found some left behind links under /usr/syno/synoman/webman/3rdparty, which once removed allowed the reinstall to go clean.

      Now I still have the blank window issue. May try uninstalling and reinstalling Java and see if that helps.

      Reply
  20. Pete

    Hi. I am trying to install Openremote on a DS414 with DSM5.1-5022 Update 2

    Following your instructions, I’ve installed Embedded Java 7, which appears to be running OK. Under settings>package sources I have created Name OpenRemote: Location http://packages.pcloadletter.co.uk . I then try to install the Openremote package, it downloads and then prompts me to accept the EULA, which I do. Unfortunately the installation then reports “Failed to install Openremote”

    Do you have any suggestions?
    Many thanks

    Reply
    1. Geoff

      I had the same issue. It turns out it was security setting for installing packages. In the package settings, I set the trust level to any publisher. I also had to go into the control panel, open the user settings, go to the advanced tab, and activate user home.

      Reply
  21. Geoff

    Hi there,

    I too am trying to install on 5.1-5022 (update 3 for me) and get the ‘Failed to install OpenRemote’ message. I also got the same message when trying to install your Java packages (I subsequently installed them via the Java manager, so that’s not the problem with OpenRemote.

    I took a quick look around the logs and found a message for each failed install:
    “Codesign.php: Signature file not found in archive.”

    Any help would be appreciated.

    Thanks.

    Reply
  22. Pete

    Geoff, Thanks, this worked for me too. I only changed the trust settings as I already had ‘user home’ activated

    Reply
  23. Tom

    Hello,

    Is it possible to update the syno package with OpenRemote 2.1.1 instead of 2.0.1 ?
    Or at least share the tools for building the SPK ?

    Thanks !

    Reply
  24. Rob van den B

    Hello, Thanks for the package. I am running DSM 5.2 Update 4. Just did a Java 8 install and then the openremote package. Installation process went fine, but when logged into the DSM I cannot open any of the screens (Controller, designer, console). These are all blank. Could not find any similar problem on a forum. Webconsole (port 18581) works fine, but hangs at adding a controller of course (error panel xml not found). I would imagine this panel is created from the designer that I cannot open. Any thoughts on this?

    Best regards, Rob

    Reply
  25. Allen

    Hi,

    I have been trying to install the openremote package from your repo with no success. I hit an error that appears to be due to the preinst script failing to detect the home service, though it is running.

    I get an error message of:

    Failed to install Openremote
    “The User Home service is not enabled. Please enable this feature in the User control panel in DSM.”

    I am on DSM 5.2-5592 Update 4, and the Home service is definitely running. I found a reference to a similar issue with OpenHAB on DSM6, at the following link:
    https://github.com/cniweb/openhab-syno-spk/issues/3

    They were able to work around it by appending sleep 3, however I tried this in the script I find in the @SYNOPKG_DOWNLOAD_OpenRemote file I found in the @tmp dir during install and it fails with a different error – invalid file format.

    Is there somewhere to download the package directly so I can edit the script prior to running it?

    Any other insight? Thanks in advance!

    Allen

    Reply
      1. billeb@kosuga-billeb.com

        Open remote works nice on my Synology DS213+ with DSM 5.2-5644 Update 5.

        You may check JAVA installation.
        Does anyone uses Openremote on DSM 6.0 ?

      2. Ulf Billeb

        I have installed OR on DSM 6.0.
        It’s a bit tricky but it work’s just like before. Anyone interested?
        Ulf.

  26. Ulf Billeb

    I moved DSM 6.0 and OpenRemote work’s!
    But I had to make a little sript to let it run.
    Anyone interested?
    Ulf

    Reply
  27. Ulf Billeb

    I moved DSM 6.0 and OpenRemote work’s!
    But I had to make a little script to let it run.
    Anyone interested?
    Ulf

    Reply
  28. Jim

    Failed to install openremote too, on DSM 6.0-7321. “The User Home service is not enabled. Please enable this feature in the User control panel in DSM.”
    And the user home service is running…
    Any solutions, suggestions ?

    Reply
  29. S.Danielsen

    After updating to DSM 6 on Synology it is no longer possible to run and install the package. Basically DSM 6 on Synology 412+ made the package useless.
    When trying to install it asks to turn the “home service” on, even though it’s turned on. If anyone has a fix please let us know!!

    Reply
  30. Danielsen

    After updating the synology to DSM 6 it is no longer possible to install the package. As stated above I am being asked to turn on Home Services (which is already on). Is there any workaround? Is there any fix coming? It not the package as it is useless for everyone running the latest software on synology.

    Reply
  31. Danielsen

    After updating to DSM 6, the package is no longer working. It is not possible to install it. Have someone come up with a workaround? Is there any chance the package will be updated?

    Reply
      1. Danielsen

        Hi Patters!
        Thank you very much for your response! I am so glad to hear that you are planning on a fix :) I controll my entire house with OpenRemote, but since the update to DSM 6 I can not run OpenRemote on my Synology and my current workaround is very unreliable and unstable! I am looking forward to using you Synology Package!

      2. Danielsen

        Hi Patters,

        Are there any news regarding an update?
        I am currently having major issues with stability while running my workaround, so hopefully you have a fix in the near future :)?

      3. Pierre

        Hi Patters, OpenRemote is introducing some changes, moving to version 2.5 (previous Professional Designer, now for free). Would be great to have a Synology package. Can you help us with that? There is no migration path yet from the free designer (old version 2.1xx) but we are working on it (so for your brother :-) ). — Pierre

      4. patters Post author

        Hi Pierre,

        Only just got to this in the moderation queue. But yes, it’s done :)
        Having read some more about Z-Wave and device interaction in general here it may make more sense to have this package run as root (like most of the Synology ones do).

      5. pz1

        Version 2.6 Pro is only an Alpha version. It also does not yet import the configurations made with the free versions. So be careful!!

      6. pz1

        @ Michal, I was aware that it was in the works; hence the “not yet” in my message. The good news is that it is going to be there much quicker than anticipated.
        IMHO it would be best to focus on the Pro versions to be in the “Patters” package once there is an production release.

      7. Danielsen

        Hi Michal,
        The problem is not with Java, but with DMS6 that does not allow me to install the synology package. When Synology upgraded from DSM5 to DSM6 they made a change in how Homes Services works. This makes the package impossible to install. The controller version makes no difference in regards to installing the package.

      8. Danielsen

        Hi Michal,
        I learned that the hard way! my setup is completely F…..
        If a fix is released, I will never update to a higer version again!

      9. patters Post author

        Hi – I also saw your post on the OpenRemote mailing list. The new version is released, however you will need to sign up for a Designer 2.5 account and migrate your existing rules. Please read the updated documentation on this blog post.

        Let me know how it goes.

  32. patters Post author

    Hi everyone, I have published a new package for OpenRemote Controller 2.6.2 beta (the one that’s on GitHub. Please re-read the documentation on this page before installing. Thanks for your patience!

    Reply
  33. Dennis Emaar

    I installed your OpenRemote package for DSM 6 exactly like your instruction, the webconsole is working but the controller will only show a white screen.

    I tried many things like using another version of the controller by replacing the webapps folder, or using different ports, but the controller will not work at all.

    I also tried using tomcat, the controller appeared, but when I tried to login it showed: “An attempt was made to access service context before it was initialized.”.

    Do you have any idea how to solve this problem?

    Reply
    1. Jim

      Dennis, I have exactly the same issue. Installation was fine, the webconsole seems to work but the controller will only show a white screen…
      Any progress ?

      Reply
      1. patters Post author

        Which NAS model do you have, and which Java are you using? It definitely works on mine (Intel i686 and Java 8).

      2. Dennis Emaar

        I am using a Synology DS214+ (Processor: Marvell Armada XP, 1,33 GHz dualcore).

        I am using Java 8 Update 101 at it.

        Nice to hear that it still works at your NAS.

  34. Jim

    Hi Dennis and Patters,
    I have exactly the same issue than Dennis… The package log is empty and says no data. I have installed the java package from your blog (ejdk-8u101-linux-arm-sflt & jce-policy-8) without no apparent problem and the installation of OR was smooth. My NAS is a synology DS214 with Marvell Armada XP MV78230. Is there any compatibility issues with this NAS (very similar to the one of Dennis) ?

    Reply
    1. patters Post author

      Can you inspect some of the other logs to see if there’s any obvious error? For instance:
      /var/packages/OpenRemote/target/logs/container/tomcat-server.log

      You’ll need to connect via SSH. With DSM 6.0 you need to connect as “admin” and then run “sudo -i” once connected to become root.

      Reply
      1. Dennis Emaar

        Ah that log actually shows an error regarding the controller, my java knowledge is not very good, so I pasted it below.

        I also have a DS215+ (Processor: Annapurna AL212 Dual Core 1,4GHz) elsewhere located, I will try openremote there too today, I do not need openremote there, but just to try if it is working without problems there.

        Aug 01, 2016 10:31:36 AM org.apache.catalina.startup.HostConfig deployDirectory
        SEVERE: Error deploying web application directory controller
        java.lang.ArrayIndexOutOfBoundsException: 0
        at sun.nio.cs.UTF_8$Decoder.decode(UTF_8.java:441)
        at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)
        at java.lang.StringCoding.decode(StringCoding.java:193)
        at java.lang.String.(String.java:426)
        at java.lang.String.(String.java:491)
        at java.io.UnixFileSystem.list(Native Method)
        at java.io.File.list(File.java:1122)
        at org.apache.naming.resources.FileDirContext.list(FileDirContext.java:883)
        at org.apache.naming.resources.FileDirContext.listBindings(FileDirContext.java:332)
        at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:516)
        at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:175)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4167)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

  35. Jim

    I have just also inspected this log and I have exactly the same error… the log seems to be identical to the one of Dennis.

    Reply
  36. Dennis Emaar

    Earlier I said I would try it on my DS215+ (Processor: Annapurna AL212 Dual Core 1,4GHz). At this NAS the controller is working without any problems.

    The difference is: the DS215+ uses the HardFP ABI and the DS214+ uses the SoftFP ABI, Jim’s NAS also uses the SoftFP ABI.

    Reply
  37. Dennis Emaar

    Update: I installed the HardFP ABI at my DS214+ instead of the recommended SoftFP ABI, now I can open en connect de controller, thanks for now.

    Reply
    1. patters Post author

      Thanks for tracking down the problem Dennis. I guess I’ll need to update the Java package to force the HardFP package for all Armada XP systems. I wonder if that was something that changed for DSM 6.0, or whether it was broken all this time? Normally I get confirmation of this working when I add support for new systems so it’s possible Synology switched ABI type with DSM 6.0. They did this for Intel (x86 to true x64), and the Armada 375 switched from SoftFP to HardFP also I think.

      Reply
  38. Jim

    Thanks Dennis for the feedback… but I am not sure that I have well understood. Could you please give me more details ? what have you done ? How did you install the hardFP ABI ? No impact on your NAS ?

    Reply
  39. Jim

    Dennis, Patters,
    I have followed your advices… I have uninstall Open Remote and Java 8. I have then downloaded the java HardFP ABI package… rename it with the same name used in the script and relaunch the installation. I have then reinstalled the Open remote package and now I can synchronise the controller and play with the design created… Thanks a lot for your support !!

    Reply
  40. Tom

    Jim, Dennis, Patters,

    I had the same problem as Jim (blank screen when opening the controller), just to confirm that while installing the Java Package using “ARM v6/v7 Linux – VFP, HardFP ABI, Little Endian 1” instead of the SoftFP and renaming it to “ejdk-8u101-linux-armv6-vfp-hflt.tar.gz” did the trick.

    Reinstall from openremote was required (tried just reinstalling the Java package).

    Patters,

    Thanks a lot for all your work!

    /Tom

    Reply
  41. phil1348

    Hello,

    Thanks for your great job, it will be very usefull for Openremote community.
    I’m currently looking to migrate my OR from Raspberry to Synology, to get more reliability.
    Do you experience EIBD installation (or package it ?) As far I could see on the web, it’s not that easy to make this (now old..) package running on Synology

    Thanks for advice

    Reply
  42. Jim

    Patters,
    I come back to you regarding Open remote on my synology NAS. I was able to import my designs and everything works fine apart the rules…
    I have tried with a simple example to switch on a light with a timer and nothing happens… any suggestions ? Do you use some rules with your NAS ? any issues ? Do you have any advices ? The version of the controller does not include the use of rules anymore ?

    Reply

Leave a reply to Pete Cancel reply