Telldus has a set of nice little gadgets (“Tellstick”, for short) that both allow you to control remote switches over radio (433.92 MHz), and to read sensors transmitting on that same frequency. Telldus also has a backend service, Telldus Live, which offer Tellstick users scheduling features (turning lamps on/off at certain times, or when certain conditions occur), as well as showing the latest sensor readings.
The above is at least true if you have a Tellstick Net, which connects to your home network and sends device and sensor data to the Telldus Live service. You can also achieve the same thing with the non-connected Tellstick models, and an always-on computer running Telldus’ software.
Anyway – let’s assume that Telldus Live can see your switches, sensors and other connected devices. Would it not be cool if you could bring all that data into Node-RED, and from there create whatever feature you dreamt of.
How about sending an SMS when the garage door is still open, but your presence data indicate that you have left for work? Easy.
Or the opposite: Send a tweet to your Node-RED server, which will then fire off an event to Telldus Live, turning a switch on, and by doing so closing the garage door? No problem.
As a start, here is a Node-RED function that will read out all device and sensor data from Telldus Live, and then publish it to a set of MQTT topics.
For me this means that I get access to the state of ca 15 radio controlled switches, as well as (and probably more interesting at this point) a dozen or so sensors. The log output for one of the sensors look like this – should give an idea of what kind of data is in there. In this particular case it’s the temperature inside our freezer, as well as the humidity outside of it.
sensor #0 getSensorInfo: { id: '<edited out>', clientName: '<edited out>', name: 'Freezer', lastUpdated: 1441023553, ignored: 0, editable: 1, data: [ { name: 'temp', value: '-24.7', scale: '0' }, { name: 'humidity', value: '62', scale: '0' } ], protocol: 'mandolyn', sensorId: '12', timezoneoffset: 7200, battery: '253', keepHistory: '1' } /device/climate/mandolyn/meteo uuid=teldus:<edited out> name: Freezer status: present battery: 253 lastSample: 1441023553000 lastSample: 2015-08-31 14:19:13 info: temperature: "celcius" humidity: "percentage" values: temperature: -24.7 humidity: 62
Once this data is published into MQTT, other Node-RED objects (or other MQTT clients running on some computer somewhere) can then pick up those messages and act on them as needed. I have been using this code during the past couple of months now, works REALLY well.
Node-RED-Telldus-to-MQTT-bridge on GitHub
Hi,
if/when you have time could you check and comment my questions at http://www.telldus.com/forum/viewtopic.php?f=22&t=5494
All in all, this sounds like a very interesting way of using Telldus Live data in various other applications, good job! 🙂
Hi,
I have jused this a lot and it works like a charm on Telldus Live but do you know it the same code works with the new TellStick ZNet Lite v2?
Yup, should do.
I have a couple of those devices and it works (last time I check anyway… which was a while ago, to be honest).
I got this working, but how do I interact from mqtt to telldus? For example how do I turn on switch “tuuletin” with id 1231233 in node-red?
Oh, it’s been a while (5+ years) since I did that…. But that post is about pulling data *from* Telldus Live, not controlling switches – right?