Code Monkey home page Code Monkey logo

node-hdhomerun's People

Contributors

mharsch avatar onaclov2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-hdhomerun's Issues

Undefined

With the following code:

var hdhr = require('hdhomerun');

hdhr.discover(function (err, res) {
    console.log(res);

    var device = hdhr.create({device_id: res[0]['device_id'],
                                             device_ip: res[0]['device_ip']});

    device.get('/sys/model', function (err, res) {
       console.log(res);
     });

    device.set('/tuner0/channel', 'auto:51', function (err, res) {
         console.log(res);
         console.log(err);
    });

});

I get the following results:
[ { len: 15,
device_id: '103DA852',
device_type: 'tuner',
tuner_count: 2,
checksum: 120479540,
_offset: 23,
device_ip: '192.168.0.26' } ]
{ name: '/sys/model', value: 'hdhomerun3_atsc' }
undefined
[Error: request timeout]

I'm trying to track down whats wrong..... If you have any hints itd be helpful!

Thanks
Tyson

Streaminfo

With the following code ( chaining things per your suggestion with the last issue).

var hdhr = require('hdhomerun');

hdhr.discover(function (err, res) {
    console.log(res);

    var device = hdhr.create({device_id: res[0]['device_id'],
       device_ip: res[0]['device_ip']});

   device.set('/tuner0/channel', 'auto:51', function (err, res) {
        console.log(res);
       device.get('/tuner0/streaminfo', function (err, res) {
           console.log(res);
      });
     });

 //device.get('/tuner0/streaminfo', function(err, res) {
 //  console.log(res);
 //});
});

produces the following output:

[ { len: 15,
device_id: '103DA852',
device_type: 'tuner',
tuner_count: 2,
checksum: 120479540,
_offset: 23,
device_ip: '192.168.0.26' } ]
{ name: '/tuner0/channel', value: 'auto:51' }
{ name: '/tuner0/streaminfo', value: 'none\n' }

However uncommenting out the "last" streaminfo,
[ { len: 15,
device_id: '103DA852',
device_type: 'tuner',
tuner_count: 2,
checksum: 120479540,
_offset: 23,
device_ip: '192.168.0.26' } ]
{ name: '/tuner0/channel', value: 'auto:51' }
undefined
{ name: '/tuner0/streaminfo',
value: '1: 30.1 KYNM-HD\n2: 30.2 TUFF-TV\n3: 30.3 Retro\n4: 30.4 PBJ-TV\n5: 30.5 QVC\ntsid=0x1383\n' }

Commenting out the former streaminfo (thinking that maybe it didn't need to be chained?) results in the following:
[ { len: 15,
device_id: '103DA852',
device_type: 'tuner',
tuner_count: 2,
checksum: 120479540,
_offset: 23,
device_ip: '192.168.0.26' } ]
{ name: '/tuner0/channel', value: 'auto:51' }
undefined

I'll be happy to update the documentation if I can figure out the "proper" way to use it.

:)

Thank you,
Tyson

need proper chunk handling

The control channel uses a naive implementation that assumes incoming packets always contain one complete message. The control socket handler should work with the parser to detect partial messages and buffer them appropriately until the rest of the message arrives.

Is there any complete HDHomerunAPI documentation?

It would be nice to have virtual HDHomeRun and the tool for communication written in swift.
But without clear description about what server is on what port and what is multicasted it's not possible.

Also I second question from 3 years about what is the status of the project. That code no longer work for me so it's safe to assume new firmware broke something.

Project Status

I just wanted to see what the status of this project is. I see that @geertbongers made some updates to recognize newer tags. I had actually made the same updates in my fork, but in a more intrusive manner. Specifically I did the following:

  • switched var to const and let in files I touched
  • switched test framework from nodeunit to Jest
  • remove usage of globals in /protocol/protocol.js in favor defining them as constants (in a new file, /protocol/packet.js) and and actually exporting them
  • added support for tag 0x27 (39) as lineup_url

At this point, I think it makes the most sense to merge @geertbongers/master changes to be merged first. After that, I can easily add the lineup_url changes in a way that keeps with the current style.

More long term, what are the plans for maintaining this repo? I personally would like to make some of the changes I listed above, but I'm not going to do that only to have the core repo change out from under me. I'd love to hear your thoughts on this.

Finally, thanks for all your hard work on this. You definitely did all the heavy lifting here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.