Welcome to Telldus API
Here you will find information and sample code for develop against Telldus Live!
In order to get started, please see our php example implementing the API.
You can also test the API right in your browser using the API explorer.
Beta testers wanted for testing events
It's time again for a new beta test. This time we are looking for testers wanting to try out events from TellStick Net. This means you can for instance trigger action upon temperature sensors and device state change.
We are going to test this in several steps. Right now we are only looking for developers. To qualify this round you need an application using our API. If you want to participate, please see below.
Applications using the development key will unfortunately not qualify at this time.
Update: We are now accepting any developer to try this out. To participate, email mp@… with the name of your application, a description of what the application does and screenshots.
For the rest of you, keep an eye on this blog post for further updates.
API changes for Telldus Live!
If you are developing anything using Telldus Live!-API please read this.
We are doing two API changes so that we are following standars correctly.
Issue 1: Ticket #244, DotNetOpenAuth incompatible with oauth-php,
When requesting a request token from our servers you get a response back with the parameter oauth_callback_confirmed set to "1". According to the RFC this should be "true" instead.
Issue 2: Ticket #269, Return content type as "application/json" when it should
All API calls that returns json data should have the content type header set to "application/json". This is currently not the case.
You need to check that your applications are compatible with these changes (they probably are already, if not the application may stop working completely). If not, and you need more time to implement fixes, let us know and we'll postpone the API-changes.
If no issues have been raised April 16th, we will implement these changes system wide.
Edit: These changes have now been implemented.
Beta testers wanted II
We are finally ready for beta testing of device event reception and remote control scanning in Telldus Live!
We need your help to test the following in the web interface:
- Scan remotes (and motion detectors and magnetic switches) (#118)
- Live updates of sensor values (has been active for a while now) and device state when TellStick Net receives an incoming signal.
We are interested in having this tested on different platforms and different browsers, and we want you to look for bugs and have opinions about the UI. We will also monitor the impact this may have on the server performance.
This functionality is only accessible from Telldus Live! on the web, not in the API.
If you are interested to try this out, post a comment below and we'll pick out some of you and activate beta access. We'll not add any more beta testers at the moment.
Beta tester wanted for new mobile application
We are working on a new application for mobile phones. We are currently in the state where we need beta testers. If you are interested in testing our new app, please leave a comment below with the model of your phone.
We will pick out a handful of testers and let you know how to participate.
Edit: Thank you all for your interest. We have not enough testers now. Please do not forget to send your feedback to feedback-1.0.1@…. Don't forget to include the model of your phone in the report.
Gleam - an application for Windows Phone 7.5
The third party developer Jonas Karlsson has just uploaded the first public version of his application Gleam.
Gleam is an application for Windows Phone 7.5 that connects to your Telldus Live! account. In this first release the application includes functionality to
- Turn on/off/dim devices
- Read sensor data
- Logging of sensor data. Displayed in charts in predefined time periods (24h, Week, Month). Maximum 30 days.
- Average temperature of the sensor for the selected time period.
- Pin sensors to start. Live tiles with sensor data. Updated every half an hour.
- Rename devices/sensors
- Ignore sensors
- Reset sensordata
Gleam will also soon be available as a Windows Phone 8 app and Windows 8 app.
Get it from Windows Marketplace
Current status of Telldus Live!-servers
For more than a week now we have been having big problems with delays during peak load. This was something that happened very suddenly and didn't follow the predicted capacity needs curves. Most of you will have noticed this when trying to control devices and have had to wait for several seconds, sometimes for up to a minute. Worse than that, on a few occasions the whole database system failed to respond to new requests and had to be restarted manually.
During last week, several attempts were made to stabilize the situation and more servers were added. It became evident this weekend that it didn't help.
One big problem was found today in the database connections between our servers. The servers were automatically updated with a security fix a while ago. This fix had a side effect which led to that a simple question to the database could take up to ten seconds. We currently send 140 000 000 sensor values to the database each month, not including duplicates. When each of these values take a couple of seconds to parse it starts to clog up the servers fast!
Our servers are queue based. When all available threads are busy inserting sensor values, other tasks are quickly piling up in the queue, especially during high load.
Another effect is that if a TellStick Net does not acknowledged back to the server that a message has been received within two seconds, the server tries to send the message again. This adds even more tasks to the queue, and it can be recognized by that TellStick Net lights up and sends a message more than once, even if only one command has been sent to it. This may be a problem with for example blinds that starts and stops with the same command.
We are implementing measures to make sure commands will execute in a normal fashion again, even during high load, and are currently rolling out the first series of fixes. In the next couple of days we will roll out even more updates to make sure the service is smoother than before.
The issue with the database which requires a manual restart of them is also triggered by this high load, but is a different problem. During the weekend we planned a fix that has been implemented this morning which should solve this.
We are truly sorry for all trouble this may have caused you.
Migration to new scheduler complete
For a couple of weeks now everybody has been running the "beta-scheduler" for their scheduled jobs in Telldus Live!, no matter the setting in Telldus Live!. We have now officially closed down the old scheduler completely, and there is no "beta"-choice anymore.
Because of this, we are now able to add a function to inactivate (pause) a schedule. This is useful if a schedule isn't needed right now, but you don't want to remove it completely, for example for jobs that only should be run during the dark and cold winter.
You might have to refresh the schedule-tab in Telldus Live! with ctrl+F5 a couple of times to get everything updated correctly.
Receiving remote control signals from TellStick Net - Current status
TellStick Net and Telldus Live! are capable of much more than that is currently implemented. The most obvious missing function is the receiving of signals from remote controls and from magnetic switches and motion detectors, that function in the same way as remote controls.
This is very frustrating for us (and for you TellStick Net owners, of course), since our servers are already prepared and have for several months been decoding remote signals that are received. Even before that, the status of devices was actually updated according to remote control signals for a while, but we had to take a step back and recode some parts and beef up the servers to handle the load from additional connections.
What are we going to do about this?
Because of this, we have now decided to activate some of this functionality right away. Don't expect too much. What will happen is that if you control your devices with a remote control using the same house and unit code as a device registered in Telldus Live!, that device will change status to what the remote sends out. You'll have to update the webpage or refresh the devices manually to see this status change.
This is not how we have imagined that it should work, and it is of course still our top priority to get the full system working, but we want to give you some of the functionality now. Even this functionality is sufficient in some cases, but it is necessary that you know the house/unit code from your remotes. Either by using a code switch system, or by scanning your remote with a TellStick Duo (no, we are of course NOT trying to get you to buy a TellStick Duo too, but you might for example have a TellStick Duo equiped friend).
As of today, all our servers have been updated with this feature. Don't think for a second that this will slow down our effort to bring you all the other functionality that you should expect from Telldus Live!.
Group support for TellStick Net
We have just deployed a new function for your TellStick Net. It is the functionality to add groups. This has previously been available for anyone using selflearning remote socket receivers with more than one memory.
With our new group function it is now possible to mix different brands in one group. It is also possible to have two devices in different parts of the world. Say for instance you have a TellStick Net both at home and in your vaccation house. You can with a single click control both locations.
The API for this has been extended with the new functions group/add and group/remove. There is no function for iterating groups. For maintaining backwards compability with thirdparty applications, groups is implemented as ordinary devices. If you want to filter out groups in your application they have a new attribute in devices/list called "type". It is set to "group" for groups and "device" for devices. This is actually very similar to our C-API with tdGetDeviceType().
Happy coding.
Downtime and updates
Unfortunately our webservice Telldus Live! is down at the moment. This is due to a faulty network router at the hosting company and it is out of our control. They estimate it to take 1-2 hour. We are very sorry for this.
I will use this event as an opportunity to announce another news. We have a goal to be much better communicating our work with you. One step is to report operational status. For this we have created a Twitter account. We want a forum that is not hosted by us so we can use this channel even when our own hosting is down. We believe a Twitter is a good channel for this.
Please follow us: https://twitter.com/telldus
Update: Some servers back again. The service is up and running again at reduced capacity. If you have a TellStick Net with firmware version 2 you might need to restart it. Newer firmwares should reconnect automatically.
Update 2: Everything is back to normal. We have checked every server one by one and we have also manually synced all connected clients. If anyone still experience some issues, please let us know. Send us a support request. Our hosting company has also some information (in swedish) on what happened: http://www.glesys.se/file.php?id=110
Telldus Live! Scheduler - Announcing beta
As many of you using the scheduler in Telldus Live! probably have noticed, we have had a lot of problems lately due to server overload. We have added additional servers, but the scheduler itself could only run on one server at a time, and that put too much strain on that server, also leading to slugginess in the whole system.
This weekend we also experienced network problems on one of our locations. Everyone connected to these servers were rerouted to another location, all according to plans. Unfortunately the used memory kept rising on the alternative location (see picture, GMT-time), and the connected clients weren't moved back to the other servers. For a while, Telldus Live! was unreachable. We couldn't fix this until 1 A.M. on the night between Saturday and Sunday. If anyone still has any problems controlling devices from Telldus Live!, send us a message, some clients might have ended up in an inconsistent state.
We have developed a new version of the Telldus Live! scheduler backend, which allows for servers running it simultaniuosly, better error reporting and a more stubborn execution of the scheduled events if the TellStick Net was offline at the first run. A scheduled job is now not considered successful until an acknowledgement has been received from the TellStick Net that a signal actually has been sent.
To allow for this new scheduler, we have just updated all servers with new Telldus Live!-software. In addition to functions needed for the new scheduler, there are also some other parts that have been rewritten to allow for other upcoming Telldus Live!-features. We have tested the new server version for a while, but not all combinations, so if you notice anything unusual, sensors that aren't updated any longer, TelldusCenter versions that doesn't play nice, etc, please let us know as soon as possible so that we can fix it!
If you have a TellStick Net (firmware 3 or later) and is interested in helping can help beta testing the new scheduler by editing your jobs (you might have to refresh page first, if using the beta it will be visible in the tooltip) and select "BETA" in Telldus Live! (see picture below). That way, the job will be executed using the new scheduler. Please note that this is a beta, but it will probably be working much better than the current one. There will still be delays, mainly caused by general load from the ordinary scheduler and heavy database load, and we'll have to tune how many servers should be running the new scheduler and so on.
Help us develop local access using TellStick Net, build your own firmware
We are developing the support for accessing the TellStick Net from you local network. We do not believe in predatory vendor lock-in. We are not happy with the situation that you are required to use our Telldus Live! service with your TellStick Net, even if the service rocks :).
We belive you should have the ability to use whatever thirdparty service you like, or even develop your own!
The reason for the requirement of Telldus Live! is due to the limited time we had before the launch. We simply prioritized the cloud service before the local access since we believe this is the main advantage TellStick Net has over TellStick Duo.
We have now reached a point where we really need your help and input on this. We have therefore released a custom firmware, prepared for local access only, which you can build and hack on your own.
The firmware includes all the protocols supported by TellStick Net version 3 and TellStick Duo version 5. To communicate with the device, read the protocol documentation.
The code is hosted in a git repository available on our server. You need to checkout the t114 branch using:
$ git clone -b t114 http://git.telldus.com/tellstick-net.git
There is also a sample client software available in the 'client' folder. It is written in python and shows both the autodiscovery feature as well as sending a simple command.
The firmware is released under GPL.
New Python example for Telldus Live!
We have just published a new python example for our Telldus Live! API. It is simply a tdtool implementation over OAuth instead of telldus-core.
It has currently only been testen on Linux, please try it out on other platforms and let us know how it works.
You need the Python OAuth and ConfigObj modules installed for this to work. Then you need to add a keypair for PUBLIC_KEY and PRIVATE_KEY. You can generate one here: http://api.telldus.com/keys/index
You can find the source here: examples/python/live/tdtool






