Yio Remote Community

How to Update the Remote

How can I update to the latest version 5.2? I am currently on version 3.4 but I cannot find a newer SD card image or is there another way to stay uptodate?

The SD card images can be found in the remote-os repo on github. Here is the latest:

In 3.4, there were no update scripts, so I would recommend to burn the v0.4.2 SD card image. After that you can use the update script /opt/yio/scripts/update.sh to update the application and plugins.

Marton, how can I start this update script?

If you run the command /opt/yio/scripts/update.sh it will give you a help.

  Update a YIO component with the provided update marker file or archive.
  The archive may be a zip or tar archive. See wiki for update archive format.
  The archive and optional marker file are deleted after a success update!
  COMPONENT:
    app     remote-software application
    web     web-configurator
    plugin  integration plugin
    os      remote-os (NOT YET IMPLEMENTED)

  PARAMETERS:
    FILE.(version|zip|tar)  update marker file or archive
    -h                      show help for specific component

/opt/yio/scripts/update.sh -r
  Check for latest release versions on GitHub and exit.
  Attention: this will count against the GitHub API rate limit on your IP address.
  Limit is 60 req/h (May 2020) and this option makes ~10 requests!
  https://developer.github.com/v3/#rate-limiting

/opt/yio/scripts/update.sh -u
  ! NOT YET IMPLEMENTED !
  Check for available updates using the YIO update server and exit.

/opt/yio/scripts/update.sh -d REPO [-v VERSION] [-o DIRECTORY]
  Download a release from GitHub to given output directory.
  The latest release version is downloaded if version option is not provided.
  If the output directory is not provided, /tmp is used.
  REPO   the YIO GitHub repository name:
         remote-software, web-configurator, integration.dock, ...```

I am unable to do that. I wait patiently for the update to work with the Web Configurator :blush:

Check what version you have with this command:
/opt/yio/scripts/update.sh -r

It will give you a list like this:

  +                              +          +                          +
  |  Component                   |  GitHub  |  Installed               |
  +                              +          +                          +
  |  remote-software             |  v0.5.2  |  0.5.2                   |
  |  web-configurator            |  v0.2.0  |  v0.2.0                  |
  |  remote-os                   |  v0.3.1  |  0.4.1-3-g2ca846c-dirty  |
  |  integration.dock            |  v0.6.0  |  0.6.0                   |
  |  integration.homey           |  v0.5.0  |  0.4.0-13-g50676db       |
  |  integration.home-assistant  |  v0.5.0  |  0.5.0                   |
  |  integration.openhab         |  v0.5.0  |  -                       |
  |  integration.spotify         |  v0.5.0  |  0.5.0                   |
  |  integration.bangolufsen     |  v0.2.1  |  0.2.1                   |
  |  integration.roon            |  v0.4.0  |  0.3.0-3-gf4f080a        |
  |  integration.openweather     |  v0.5.0  |  -                       |
  +                              +          +                          +

To update the main application do the following.

  1. Download the latest release:
    /opt/yio/scripts/update.sh -d remote-software

This will download the file to /tmp/YIO-remote-software-v0.5.2-RPI0-release.tar for example.

  1. Update the app with the following command:
    /opt/yio/scripts/update.sh app /tmp/YIO-remote-software-v0.5.2-RPI0-release.tar
    Make sure to replace the /tmp/YIO-remote-xxx part with the file that was downloaded.

To update a plugin you can do the same as above.

  1. Download the latest release:
    /opt/yio/scripts/update.sh -d integration.homey

This will download the file to /tmp/YIO-integration.homey-v0.5.0-RPI0-release.tar for example.

  1. Update the app with the following command:
    /opt/yio/scripts/update.sh plugin /tmp/YIO-integration.homey-v0.5.0-RPI0-release.tar
    Make sure to replace the /tmp/YIO-integration-xxx part with the file that was downloaded.

To update the web configurator simply run the following command:
/opt/yio/scripts/update.sh web -l
This will download and install the latest web configurator automatically.

1 Like

@marton What could be wrong with my installation – installed remote-software shows up as “-”:

  +                              +          +             +
  |  Component                   |  GitHub  |  Installed  |
  +                              +          +             +
  |  remote-software             |  v0.5.2  |  -          |
  |  web-configurator            |  v0.2.0  |  v0.2.0     |
  |  remote-os                   |  v0.3.1  |  0.4.1      |

Marton, thank you for the extensive explanation and I will start working with it

Never mind, re-installed everything and now it shows up correctly.

Glad it works. Was about to write, that it could be if you manually uploaded a binary at some point.

Marton, how long does the update take? it still runs after more than two hours.

What you see here is not the update process but a general log output. You have the webconfig connected to the remote.

Marton. the update of the remote software and web configurator was successful. The installed version of the remote-os is higher. What do you recommend to do with it? When I update the integration.dock I get an error. What am I doing wrong there?

There’s a spelling mistake :slight_smile: It is /tmp/YIO-integration.dock-v0.6.0.RPI0-release.tar. You wrote RPIO with and O. It’s a zero :slight_smile:

Oh and you should use /opt/yio/scripts/update.sh plugin. NOT app.

After ten times checked over not seen. Sorry
Plugin NOT YET IMPLEMENTED!
is there a solution?

If you are on v0.4.2 remote-os, the plugin should work with the following command:
/opt/yio/scripts/update.sh plugin /tmp/YIO-integration.dock-v0.6.0-RPI0-release.tar

how do I update the remote-os to 4.2. I now have 4.1 and in the overview yio indicates that GiHub is 3.1

Not yet implemented is only the complete system update and getting updates from the YIO update server instead from GitHub. If there are more NOT YET IMPLEMENTED messages, then probably the installed remote-os is out of date. (Afaik the latest update features were introduced in remote-os v0.4.2).

  • GitHub = bleeding edge. Whenever there’s a commit on the main branch, a new development release is built. Once we think that the current state is ok, the development release will be promoted to a GitHub release.
    If the update scripts shows that an installed version is higher than the version on GitHub, it means, that a pre-release version is installed. (See GitHub releases). I.e. the update script only considers releases, not pre-releases. E.g. remote-os latest release = 0.3.1, all 0.4.x releases are marked pre-release.
  • Update server = tested releases
    The automatic software update check within the remote software UI is done against the update server. This one is implemented for the main software, but not yet for the plugins. There hasn’t been a released version for a while, that’s why it says the software is up to date.

More convenient “all-in-one” actions to download & install with one command will be implemented once I have time. In the meantime the solution is what @marton described.

So, to summarize, there are 4 types of releases:

  1. GitHub development release: bleeding edge, whenever something is checked in on the main branch.
    Consider them Alpha versions.
  2. GitHub pre-release: these are so called testing releases which still might have some issues.
    Consider them Beta versions.
  3. GitHub release: releases where we think it’s ok to use, but still not throughly tested.
    Consider them Pre-Releases.
  4. YIO Update server releases: Stable and tested releases

To update remote-os to v0.4.2 you need to download the SD-card image from the GitHub releases: https://github.com/YIO-Remote/remote-os/releases
Make sure to backup your current configuration in /boot/config.json and copy it back to the new image.
The /boot partition is a FAT partition and can be read & written on Windows & Mac.
The content of config.json can also be accessed through the web-configurator.
Better yet, use a new SD-card for a system update. This way you can easily go back if anything goes wrong.

okay, thanks for your advice. I’m going to work with it