Shared publicly  - 
 
I'm writing a Dart version of my Sharp LC-70UD27U TV remote control library [1]. (My TV has an ethernet port and exposes a TCP server on which you can send commands.)

I'm pretty sure I just witnessed my TV doing time-travel.

I send messages one at a time, waiting for a response. Just now, after switching channels, I sent a `VOLM?` request, waited for the answer, then followed it by a `MUTE?` request. The volume was 18, and the TV isn't muted, so the answers should have been 18 and 2 respectively.

Here's the log:

I/flutter (32367): 2016-11-27T17:40:41.485525 ==> VOLM?
I/flutter (32367): 2016-11-27T17:40:41.486862 <== 2
I/flutter (32367): 2016-11-27T17:40:41.488129 ==> MUTE?
I/flutter (32367): 2016-11-27T17:40:41.489843 <== 18

HOW DID IT KNOW WHAT I WAS GOING TO ASK BEFORE I ASKED IT??? And why did it switch the answers around??

Not three seconds later the responses made sense, as they usually do:

I/flutter (32367): 2016-11-27T17:43:11.595704 ==> VOLM?
I/flutter (32367): 2016-11-27T17:43:11.604280 <== 18
I/flutter (32367): 2016-11-27T17:43:11.607810 ==> MUTE?
I/flutter (32367): 2016-11-27T17:43:11.612080 <== 2

I'm so confused. And a little scared.

[1] https://software.hixie.ch/utilities/unix/tv/
Index of /utilities/unix/tv. Name Last modified Size Description · Parent Directory - tv.pl 21-Jun-2016 19:23 26K. tv.pl ===== tv.pl is written to control the Sharp LC-70UD27U TV. It can probably control most modern Sharp TVs to some extent or another, though it'll need work. Help!
8
Maria Zolotova's profile photoJonh Elton's profile photo
Translate
Add a comment...