Community feature request: kodi / XBMC add-on

Hello Everyone,

Is anyone working on a Syncthing add-on for Kodi / XBMC?

I know this probably isn’t a priority but my elderly relatives and I would find this very useful.

I gave my grandparents a Raspberry Pi loaded with OpenElec for their christmas present. My grandfather is particularly enthused by the idea of seeing his photographs on the TV screen. However, as he can’t afford a NAS with ownCloud the only way to get the photos from his PC to the screen is to use a file browser to copy the photo album to the usb storage I’ve added to the Raspberry Pi. Not being the most technically proficient even this is proving difficult for him.

It would be a great help if someone from the Syncthing community could put together a Syncthing add-on for Kodi / XBMC. It’d save me having to repeatedly manually copy and re-copy the photo album, and let my grandparents enjoy the photos and home videos of their great grandchildren.

Thanks for your time.

Thomas

My advice… sell the RPI, buy a chromecast.

I think perhaps you’ve assumed that the photos are taken with a smartphone. My grandfather uses a camera not a smartphone. He uploads the photos from the camera to the PC using Shotwell - which launches automatically thanks to Cuttlefish. Also, he doesn’t own an Android device. Though he has tried using my smartphone for taking photos in the past, but unfortunately smartphones aren’t designed for hands with arthritis. Which is why he still uses his old, clunky but serviceable digital camera instead.

In case you’re wondering, the TV has CEC and a large big button remote control. Which is how my grandparents navigate the OpenElec menu.

I wonder why you need a addon? Just set syncthing up to start automatically and it runs in the background. Or what exactly should the addon do?

I’m sorry if I wasn’t clear enough in my 1st post.

My assumption is that Syncthing works in a similar manner to BitTorrentSync. In that you need to install Syncthing on each device between which you want to syncronise folders / files. In this case I would like to syncronise the photo album folder on the PC with the photos folder on the OpenElec /Raspberry Pi. Primarily as a means of automatically and near instantly copying any new photos (or changes) in the PC’s photo album to the usb storage I’ve attached to the the raspberry Pi. As an added bonus it would be nice to have a two-way sync so that my grandparents can rename and delete photos with the TV remote from the comfort of the sofa and be assured that the changes will be replicated in the PC’s Shotwell photo library.

Well that’s what syncthing does (given you can run it on your RPI which you should if you run standard linux), so I am not clear what you are asking for?

How does a non-technical person like me just add Syncthing to OpenElec?

OpenElec at least seems to have cron after activating it in the settings (see http://wiki.openelec.tv/index.php/OpenELEC_Configuration_Addon)

after activating it you could use crontab -e in a terminal and then add something like @reboot /path/to/syncthing and after a reboot syncthing should be starting. Since the GUI only listens on localhost at the first start you need to change that manually in the config or use a ssh tunnel to open the GUI.

Hope that helps^^ (everything untested since I use raspbian insted of OpenELEC on my pi)

Thanks for the advice. Most of which is slightly over my head at present - I’ve got a lot of reading to do.

I think you are talking past each other. :) OpenElec is “just linux” and as Alex noted it’s possible to create customizations on top of it. But that’s basically what Thomas is asking the community to help out and make easier, by creating a plugin that can be downloaded and activated directly in the GUI. Which seems reasonable. I run OpenElec on a couple of boxes, so might actually give this a stab at some point.

Just found this old post with no answer. The solution is quite simple, assuming, I did understand the initial posting…

So I repeat: A random Grandpa has shot some photos which he wants to view on the TV, which is connected to a RaspberryPi with installed Kodi via OpenElec. The Grandpa stores his photos, taken by an ordinary camera on a usual Computer (MacOS/WinPC/Ubuntu/…) which is not connected to the Raspberry Pi or the TV, but has connection via LAN/WLAN to the Raspberry Pi.

From the Kodi side, the grandpa just needs to go in the “pictures” Menu and add a new picture source. This is done via “Add Pictures…” and browse to the path, the photos/images are stored.

So, this path could be a path on a NAS, or a path locally on the RaspberryPI which is set up to sync with the syncthing-service, running on the RaspberryPI.

Actually, thats all, beside the grandpa’s computer technican needs to install and set up syncthing on the RaspPI and exchange the folder-IDs for the Computer (MacOS/WinPC/Ubuntu/…) where the other instance of syncthing is running, checking the folder where grandpa stores his images from the camera.

This way all the files/images grandpa saves from the camera to his computer will automaticly synced into the syncthing-folder on the RaspBerry PI, which is set up as a Picture Source inside Kodi.

Now its possible to view (or whatever is possible with Kodi) these images on the TV screen.

Hope, this non-technically explanaition helps realising the initial idea.

1 Like

That’s really like saying: Stop using syncthing, get a google drive instead…

Not necessarily. I just found Chromecast to be cheap piece of hardware which delivers an impressive number of features which are enabled/accessed very easily. I gave this as a reference to how easy it is to setup, that’s all.

I don’t think so too. (beside you use google drive for other things you would like to have on your kodi)

I use Kodi with OpenElec and there is a simple way to install syncthing via Kodi GUI. After installation, you have the WebGUI of syncthing and there you go…just add the folder you need (and already sharing on the main computer with synthing) and you are ready to go.

From my experience OSMC (which is based on Debian/Raspbian) is much easier to modify than OpenElec, because all the Debian or Ubuntu based tutorials work, the commands and places where config files are stored are similar etc.

Here is a tutorial which explains how to get into the command line: https://osmc.tv/wiki/general/accessing-the-command-line/

There one can do the steps described here: http://apt.syncthing.net/

If you get an error saying that “curl” or one of the other tools isn’t installed, you can follow this guide to install those first: https://osmc.tv/wiki/general/installing-packages-via-apt/

I’ve several R-Pi running OpenElec-Kodi with Syncthing in the background, and it works very very well.

So here’s a guide to getting it up and running, this assumes you have a machine with Linux on it & and R-Pi B ver 2.

http://releases.openelec.tv/OpenELEC-RPi2.arm-6.0.1.img.gz

I’ll do an ELI5 version at some stage and post it up.

  1. Get the latest version of OpenElec and put it on your R-Pi. Before you make any other changes run the R-Pi at least once, make sure ssh is enabled, and then reboot it. This is important as not all install tasks are complete until one reboot has passed, e.g. expanding storage space.

  2. Download the latest syncthing (ARM version) to another machine, decompress the file, and now you’ll have a folder called ‘syncthing-linux-arm-v0.12.17’ or similar.

  3. Power off the Pi, take the SD card out, and connect to the machine with the downloaded syncthing folder.

  4. Copy the syncthing folder to the ‘storage’ directory of the sd card. The ‘storage’ directory will already have (empty) folders called ‘video’, ‘music’ etc. in it - so you’ll know when you’ve found it.

  5. Safely remove the sd, put it back in the Pi and reboot.

  6. On the other machine, we’ll now ssh into the Pi. We need the Pi’s IP address, which can be found on the Pi in Kodi, by going to ‘System’ > ‘System Information’ - let’s say the IP is 192.168.1.10.

  7. To ssh into the Pi, type “ssh root@192.168.1.10” or whatever the Pi says its IP address is. The password is ‘openelec’.

  8. Type ‘pwd’, the reply will be ‘/storage’ - so we are where we need to be. Now, type ‘ls’ and you’ll see the syncthing folder, e.g. syncthing-linux-arm-v0.12.17. So type ‘cd syncthing-linux-arm-v0.12.17’. If it’s not there, go back a few steps try again until it is there.

  9. Once you’re in the syncthing folder, type ‘ls’ and you’ll see a file called ‘syncthing’. Now type ‘./syncthing &’, and a bunch of text will roll by the screen - leave it running. Wait until you see “INFO: GUI URL is https://127.0.0.1:8384/

  10. Now press enter, and type ‘nano /storage/.config/syncthing/config.xml’ - more text appears, now scroll down until you find this section: "gui enabled=“true” tls=“true” address>127.0.0.1:8384/address>. Change the 127.0.0.1 part to 0.0.0.0 - then Press Ctrl+x, then press Y.

  11. Now we have to run syncthing at every boot, in OpenElec we create a file to do this for us called ‘autostart.sh’. So type, ‘nano /storage/.config/autostart.sh’ - it should be blank.

  12. Paste the following:

    (

        /storage/syncthing-linux-arm-v0.12.17/syncthing
    

    ) &

It should be on three lines, and the & at the end is essential - otherwise boot time will be slower. Again Ctrl+X then Y, and that’s the file saved.

Part II (nearly finished):

  1. Reboot your Pi, give the Pi a minute or two.

  2. Back on your other machine, open a web-browser and type the Pi’s IP address (from above), and stick ‘:8384’ at the end, e.g. 192.168.1.10:8384

  3. The Syncthing window will open, remind you that you haven’t set a password (do that immediately) - and from that point on you can follow the rest of the Syncthing guides.

  4. If you’ve a big collection of files to scan, expect the Pi to be busy for a while - a rough estimate for the Pi would be about 4 hours per 500gb.

  5. Once you’re happy with it, do go back to the Pi and disable ‘ssh access’ - this can be found in the Add-Ons section, ‘OpenElec Configuration’.

Edit for the above:

Omit the last step #5.

If you want to add NAS functionality to your Kodi device, it would make much more sense to switch to OSMC.tv. It is Debian based, rockstable and allow very easy installation of packages. You can simply follow apt.syncthing.net or use this guide which is basically identical but a little tailored to OSMC: https://discourse.osmc.tv/t/howto-install-and-use-syncthing-on-osmc/

You can even add a priority to make sure Syncthing stays in a low prio mode compared to Kodi.

It’s running for me, parents and inlaws and syncs photo albums mostly via these devices. Works fine!

OSMC devs have considered adding SyncThing to the OSMC App Store (Transmission is already in it for example and they will also release a Cloud solution). But because of the auto-update nature of SyncThing it wouldn’t work with the App Store.

See the docs for building with auto upgrades disabled:

1 Like