Ticket #114 (new enhancement)

Opened 4 months ago

Last modified 11 days ago

Use a TellStick Net from TelldusCenter

Reported by: micke prag <micke.prag@…> Owned by: micke prag <micke.prag@…>
Priority: critical Milestone: Some future release / Patches welcome
Component: telldus-core Version: 2.1.0
Keywords: Cc:
Blocked By: 108 Platform: All
Blocking: Verified by Telldus: no

Description

If TellStick Net has an interface for local control, without Telldus Live! it will be possible to use the device as a TellStick Duo.

Change History

  Changed 4 months ago by stefan persson <stefan.persson@…>

Supported use via telldus-core, and documentation for own user solutions from devices without telldus-core, for example from phones and pads.

  Changed 3 months ago by micke prag <micke.prag@…>

  • verified unset
  • milestone set to Some future release

  Changed 5 weeks ago by micke prag <micke.prag@…>

How should this interface be designed?
TCP or UDP?
How could a typical session be?

  Changed 3 weeks ago by tomas eriksson <tomas@…>

I would like to see a TCP protocol!

  Changed 3 weeks ago by micke prag <micke.prag@…>

Please motivate why a TCP protocol is to prefer over UDP.

  Changed 3 weeks ago by tomas eriksson <tomas@…>

Easer to develop against, nice to have "guaranteed delivery" in the protocol.

  Changed 3 weeks ago by micke prag <micke.prag@…>

I must say it is the contrary. UDP is much much simpler and much more light-weight.
For implementing in other embedded products UDP will also save a lot of code space.

Receipts of packages is quite simple to implement.

  Changed 3 weeks ago by markus ferlitsch <m.ferlitsch@…>

Oh now I can answer. :-)

I also would prefer the UDP protocol.

A small JavaScript HTML site shows you your receiver and it generates the right codes for that receivers you want to switch on or off. I think this would be the easiest way.

Moreover, a small webif would be fine where it should be possible also to generate several codes but without graphical support.

  Changed 3 weeks ago by micke prag <micke.prag@…>

Having all the protocols in TellStick Net will unfortunately not be possible. They need to be generated elsewhere and sent to the device similar to the TellStick protocol. Please see here: http://developer.telldus.com/doxygen/TellStick.html

  Changed 2 weeks ago by runar lie <runar.lie@…>

I think I could live with both a UDP or a TCP connection. Perhaps it should simply be raw, and we can offload the protocols to the client instead. If we could both send and recieve bitstreams, it would be easier to implement new devices as well.

Receving raw events would also make it easier to make smart actions based on remotes. IE. click once to turn on one set of lights and click twice to turn them all off..

  Changed 2 weeks ago by markus ferlitsch <m.ferlitsch@…>

I also think that the protocol is not so important.

I want to run a server which gets input from some IR wireless sensors (Intertechno PIR-5000). So the Telldus Net must receive signals. Then when the server recognizes that noone is inside the house the simulation that people are inside begins (sending different signals via Telldus Net adpater). If the server recognizes that people are inside the simulation will be interrupted.

I want to realize it on my OpenWrt based router.

Also I think the Telldus Net adapter must be able to receive commands in a simple way

Whats about receiving commands via HTTP-Request with GET or POST parameter?

How does it work now? Some people bought the adapter yet.
How does it now work?

Is the Telldus Net adapter permanently logged in to the live portal (does it also work via http or socks proxy)?

UDP can't be tunneled with SocksCap via SOCKS proxy.
TCP prototol can be tunneled!

follow-up: ↓ 13   Changed 13 days ago by micke prag <micke.prag@…>

  • blockedby 108 added

in reply to: ↑ 12   Changed 12 days ago by stephane dierick <sdierick@…>

I would suggest to develop a specific driver that could:
- From one side, emulate a viruel USB/COM port so it could be used by the several existing home automation softwares (homeseer,...)
- At the other side, convert the instruction sent to virtual COM port into TCP requests for the Telldus Net. That could be implemented in SOAP or RAW TCP or UDP depending what the telldusnet device is supporting easyly.

What do you think about this idea?
By this way, the telldusnet can be used exactly as a telldus duo or stick.

PS: is it possible to get the sources or technical specification of telldus net? Is it possible to contribute?

follow-up: ↓ 15   Changed 12 days ago by micke prag <micke.prag@…>

stephane: I think you have great ideas.

"By this way, the telldusnet can be used exactly as a telldus duo or stick."
This is exactly the plan. We will support TellStick Net using our current API telldus-core. In this way all exisiting thirdpart applications will be able to send through TellStick Net.

"is it possible to get the sources or technical specification of telldus net? Is it possible to contribute?"
Yes, we are currently making a draft of the communication. The source will be able when this ticket is finished: #156

One thing we really need help with is how to emulate a virtual com-port. Any code/help there will be very much appreciated.

in reply to: ↑ 14   Changed 12 days ago by stephane dierick <sdierick@…>

Replying to micke prag <micke.prag@…>:

stephane: I think you have great ideas.

Thanks :)

One thing we really need help with is how to emulate a virtual com-port. Any code/help there will be very much appreciated.

Check that GPL project:
 http://com0com.sourceforge.net/doc/UsingCom0com.pdf

Part of this master project based on virtual com port pairing:
 http://sourceforge.net/projects/com0com/

Problems:
- Windows based software
- Need to be adapted because we don't want to connect like This
PC.A--virtualCOM------tcp------virtualCOM--PC.B

but

PC.A--virtualCOM------tcp (or UDP??)------TelldusNet

- TCP Only?

Anyway, even with this kind of interface, I think that providing also a SOAP based interface directly on the telldusNet could be usefull.
For exemple, third party Internet based application could interract with the tellsud in SOAP (or REST).
Can the TelldusNet Handle mini HTTP server? How is the communication implemented with telldus Live ?

I'll be pleased to help the project, Home automation has an growing development and I like the open way you're contributing to it in Telldus!

Regards

follow-up: ↓ 17   Changed 12 days ago by micke prag <micke.prag@…>

I created another ticket (#185) for the COM-port idea to keep this ticket more focused. Hope you don't mind.

in reply to: ↑ 16   Changed 12 days ago by stephane dierick <sdierick@…>

Replying to micke prag <micke.prag@…>:

I created another ticket (#185) for the COM-port idea to keep this ticket more focused. Hope you don't mind.
no pb of course ;)

follow-up: ↓ 20   Changed 12 days ago by micke prag <micke.prag@…>

First draft of TellStick Net protocol available here: http://developer.telldus.com/doxygen/TellStickNet.html

  Changed 12 days ago by markus ferlitsch <m.ferlitsch@…>

A Mini HTTP Server on Telldus Net would be the best solution (I wrote it in one of my posts).
The tunneling over a proxy (http, socks) or tunneling via virtual COM-port is easy ( http://www.eltima.com).

The Mini HTTP-server also would allow to make some PHP or Python applications --> "remote control" of the Telldus net.

in reply to: ↑ 18   Changed 11 days ago by stephane dierick <sdierick@…>

Replying to micke prag <micke.prag@…>:

First draft of TellStick Net protocol available here: http://developer.telldus.com/doxygen/TellStickNet.html

Hi Mike,

I'm not sure to understand this first draft.
- is it a specification of what should be developped in the future
- is it the way the tellstick net works now?

I tried to push UDP packets in python to my tellstick IP adresse but nothing happends (I tried the two exemples you mentionned in the tuto)...

Moreover, trying to sniff the network traffic on my Linksys router (via TCPDUMP) didn't give me any chance to see a packet to or from the IP of the tellstick! Strange...

I think I have to stop the workaround for the moment :(

  Changed 11 days ago by micke prag <micke.prag@…>

This is a discussion about an upcoming feature. If this was already in the released firmware this ticket should have been closed.
We are currently in the state of finding out how this can be implemented. Nothing ready yet for testing.

  Changed 11 days ago by micke prag <micke.prag@…>

Btw, the auto discovery feature is already working since firmware version 2.

follow-up: ↓ 25   Changed 11 days ago by markus ferlitsch <m.ferlitsch@…>

But now the Telldus Net adapter is nowehere in Europe in stock or can be bought. :-(

Can the Telldus Net be used as Telldus Duo or Telldus Stick NOW?

  Changed 11 days ago by markus ferlitsch <m.ferlitsch@…>

Auto Discovery is already documented here:

http://developer.telldus.com/doxygen/TellStickNet.html

in reply to: ↑ 23   Changed 11 days ago by micke prag <micke.prag@…>

Replying to markus ferlitsch <m.ferlitsch@…>:

Can the Telldus Net be used as Telldus Duo or Telldus Stick NOW?

No, that is what this ticket is all about!

Note: See TracTickets for help on using tickets.