Xively Personal is being retired

This is going to cause me a problem especially my Netduino based nRF24 Xively Field gateway which gets used in quite a few of my student projects. I’m looking for a replacement Internet of Things service which has http/s and/or mqtt, amqp support, C & C#  client libraries (which I can get to work on Windows 10 IoT Core & NetMF) would be a bonus.

From the Xively email

”After careful consideration, LogMeIn has made the decision to retire Xively Personal from its current line of products effective January 15, 2018 at 12:00PM ET . Please note that LogMeIn will continue to offer our Xively Enterprise edition – there is no change to that edition and we will continue to support that platform as part of our IoT business.

Retiring a product is never an easy decision, and we recognize it does introduce potential challenges to active users. So we want to make sure you have all the information you need to make as seamless a transition as possible.

Access to your account:
Your Xively Personal account will remain active until January 15th. Please note that devices will not be accessible via the Xively Personal service once it is retired.

Transferring your products to another IoT service:
Should you choose to switch to another service, there are essentially two options.

1) Migrate to Xively Enterprise: The latest Enterprise version of Xively is built on a more modern and reliable architecture, which brings the benefits of pre-built hardware integrations, identity and device management features, MQTT messaging, and best-in-class security, but it may require some reconfiguring of your current devices. We do offer a 30 day free trial of Xively Enterprise should you want to try it out for yourself.

2) Migrate to another free service: If your use is primarily for experimenting and personal projects, there are several free IoT platform options on the market, such as Adafruit, Thingspeak, or SparkFun.”

One of the suggestions – Sparkfun Phant has been retired

Some possible alternatives in no particular order (this list may grow)

AdaFruit.IO – The internet of things for everyone

Microsoft IoT Central – Enterprise-grade IoT SaaS

ThingSpeak – The open IoT platform with MATLAB analytics

Blynk – Democratizing the Internet of Things

Cayenne – Simplify the Connected World

Thinger.io platform

SenseIoT – Internet of Things Data Hosting Platform

Temboo – Tools for Digital Transformation

Carriots by Altair

Nearbus – An IoT Open Project

ubidots – An application Builder for the Internet of Things

Microsoft IoT Central – Enterprise Grade IoT SaaS

Kii Cloud

Artik – End-to-end IoT Platform

goplusplatform – Connect your things with GO+

I’m initially looking for a platform which is the “least painful” transition from Xively.

13 thoughts on “Xively Personal is being retired

  1. Hi,

    I’ve been using Xively since the days when it was called Pachube (~2009 I think) so getting told it was shutting down was quite disappointing, but I expected it was coming as the staff had been ignoring my messages regarding Xively Personal for quite some months. I started working on my own solution for storing long-term historical sensor data almost a year ago and it has been working reliably for my own personal use for a while now. My intention was always to make it publicly accessible for free so the maker community could have another platform for storing sensor data going back multiple years.

    Anyway, I’ll get to the point.. It still needs a lot of polishing up (especially the interface and documentation) but it already includes a ‘Migrate from Xively Personal’ option to import all of your data into it. I was wondering if you’d like me to let you know when it’s open for public use (hopefully in the next 2-3 days)?

    -Joseph

  2. I also have used Pachube, then Cosm, then Xively.
    What a disappointment to hear that logmein was going to pull the plug!
    They do not even had the decency to warn one month in advance. Shame.

    Fortunately, I have managed to retrieve 6 years of 1 minute spaced data.
    That’s what you have to expect from online services, they get taken over by bankers and drop their customers.

    Bye bye logmein go to hell !

  3. This isnt the first time logmein have pulled their products offering either no or hopeless alternatives.
    I can’t really complain – I’ve had years of free service.
    However, they have made a mistake. As a consultant I was about to recommend Xively for a very large deployment. Now I have doubts about them either pulling the plug on a paid account at short notice, or putting up the prices too much. Bankers.

  4. Hi,

    I’ve just released my new service, IoTPlotter.com which will hopefully serve as a replacement to Xively or at least a stopgap between Xively and somewhere else. It’s still quite rough around the edges as I was trying to beat Xively’s shutdown deadline so the ‘Migrate from Xively’ option would still be working for people.

    I’m putting multiple hours a day into development so if you do have any problems they will likely be fixed swiftly.

    Sorry if this seems like spam, I just wanted to let you know about it before Xively gets shut down for good.

    -Joseph

  5. @joseph,
    Good effort !
    If you think useful I have a small quick and dirty Bash script (works with any niX and possibly W10) that retrieves data from one Xively datastream to csv files.
    I managed to get my data back using it.
    I would gladly publish it 😉

  6. @you bet

    You should probably publish it for anybody out there who is struggling to get their data out of Xively because there’s not much time left. My data is already safe though, thankfully. 🙂

  7. This is the only site that I’ve come across that addresses the data retrieval aspects of the Xively Personal shutdown. I notice that though @youbet and @joseph both have download scripts you’ve not posted them. Just for the record, I’m using curl commands within mac os Terminal:

    curl –request GET “http://api.xively.com/v2/feeds/xxxxxxxxxx/datastreams/Temperature.csv?key=FakeyVjejpjpoTLjppjpjouhjpeadfMVpopoVPpoS122o&start=2018-01-11T00:00:00.000000Z&duration=24hours&interval=300&limit=289&interval_type=discrete” > data2.csv

    My data was logged in 5s intervals, but I’m happy enough to download it at 15 minute intervals and log at a day at a time. However, it’s still very tedious. I have three years of data. How did you do it for six?

  8. @Righ

    The script I wrote is built into the service I created; it contains a lot of database code and other stuff that is platform specific which is why I haven’t shared it.

    It works by making a request to Xively for 1000 datapoints (the maximum) at “interval=60”: This means the data is at returned as one datapoint per minute and is limited to a maximum of a 24-hour period. It then uses the timestamp of the latest returned value as the start time for the next request, this means that if there’s more than 1000 datapoints for that time period, the next request will be within that same period to avoid missing any data. It takes a few hours, but eventually grabs all the data and saves it into the database.

  9. OK, here is the script :
    ——————————————————–
    #!/bin/bash
    #
    # Récupération des données de production stockées chez Xively
    # Retrieval of data stored on Xively
    # Début le 6-2-2012
    # Fin le 28-2-2012 provisoirement
    # Tranches horaires : 4:00, 10:00, 15:00 par tranche de 6, 5, 6 heures
    # Time starts 4:00, 10:00, 15:00 with chunks of 6, 5, 6 hours respectively. This due to my data which are PV generation power. See below an easy modification

    # change to a suitable directory to store the csv files
    cd ~/xxx/yyy/recup_xively/

    # put your apikey
    apikey=wwwwwwwwwwwwwwwwwwwwww

    # Replace the number xxxxx with your channel (feed) ID and yy with your datastream ID (name)
    url=https://api.xively.com/v2/feeds/xxxxx/datastreams/yy.csv

    # start date. Set as apropriate; format YYYY-m-d
    sdate=$(date -d 2012-2-6 +%F)
    # current date
    curr_date=$sdate
    # end date. Set as apropriate; format YYYY-m-d
    edate=$(date -d “2012-2-8 +1day” +%F)

    # fonction qui récupère une tranche de données. Chaque tranche génère un fichier de nom Préfixe+date+heure_début
    # utilise cURL à installer au besoin
    # function which retrieves one chunk of data. Each chunk creates one file whose name is Preffix+date+time_start
    # makes use of cURL. Install if necessary
    # paramètres : date, heure, durée, préfixe fichier
    # parameters : date, time, duration (minutes), file prefix

    function une_tranche
    {
    curl -w “%{response_code}\n” –request GET $url”?key=”$apikey”&start=”$1″T”$2″&duration=”$3″minutes&interval=0&limit=999″ -o $4$1T$2.csv
    }

    # fonction qui récupère un jour entier. Pour récupérer un jour complet (minuit à minuit) ajouter un appel dans le IF et changer les heures de début et les durées
    # function which retrieves a full day. To retrieve a complete day (midnight to midnight), add a call to function une_tranche in the IF statement, modify the starting times and minutes durations in the IF. Put 359 minutes for 6 hour duration.
    # paramètre : date
    # parameter : date

    function un_jour
    {

    if [[ $(une_tranche $1 04:00Z 359 prod) != 200 || $(une_tranche $1 10:00Z 299 prod) != 200 || $(une_tranche $1 15:00Z 359 prod) != 200 ]]
    then
    exit
    fi
    }
    while [[ $curr_date != $edate ]]
    do
    echo $curr_date
    un_jour $curr_date
    curr_date=$(date -d “$curr_date +1day” +%F)
    done
    #
    ———————————————————————-
    @righ : I did the retrieval one year by one year because I wrongly feared this would take a long time. Only once an error occurred. As I had the last processed day printed on terminal, I just started over from this date on. I said above, just crude code 😉

    Hope this helps 😉

    • Thanks @you bet

      I implemented this, but couldn’t debug it before the Xively service closed earlier today (by my estimate, 12 hours early). I did manage to download some significant data manually, so it’s not totally lost.

      I think the problem with the script was that I was using Mac OS terminal, where things like the date function switch “-d” mean different things than on whatever system you are using.

      • Ah, sorry about that !
        I didn’t know that macos had a different implementation of the date utility.
        I use Ubuntu 16.04LTS (laptop) where the script has been written and I put the script on a Raspberry 3 (debian) from which the actual retrieval took place. 😎

      • Not your fault! It’s all Unix code – see Unix family tree https://commons.wikimedia.org/wiki/File:Unix_history-simple.png with Nextstep – the original Mac OS second on the left in red (Closed Source) and Linux, in green (Open Source) a independent facsimile, not copy, on the far left. Ubuntu is the most popular implementation of Linux, and is itself derived from Debian. However, certain utilities and certain switches are not the same in Linux and on Mac OS https://unix.stackexchange.com/questions/82244/bash-in-linux-v-s-mac-os. So, your code generally works, except for one date switch which I’m working on a workaround for. I wrote to Xively about the early close, and they offered to provide me access to get the rest of my data. So, I’m still on this! Thanks heaps for your help.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s