Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

xbox-smartglass-core-node

0.6.4 • Public • Published

Xbox-Smartglass-Core-Node

Build Status Quality Gate Technical debt Bugs Coverage Discord

NodeJS smartglass library for controlling a Xbox

Dependencies

  • NodeJS >= 10.x

How to install

npm install xbox-smartglass-core-node --save

Functions

const Smartglass = require('xbox-smartglass-core-node')
var SystemInputChannel = require('xbox-smartglass-core-node/src/channels/systeminput')
var SystemMediaChannel = require('xbox-smartglass-core-node/src/channels/systemmedia')
var TvRemoteChannel = require('xbox-smartglass-core-node/src/channels/tvremote')

var sgClient =  Smartglass()
sgClient.connect(ip).then(function(){
    sgClient.addManager('system_input', SystemInputChannel())
    sgClient.addManager('system_media', SystemMediaChannel())
    sgClient.addManager('tv_remote', TvRemoteChannel())
}, function(error){
    console.log(error)
})

# Send DVR Record command

sgClient.recordGameDvr().then(function(status){
    console.log('DVR record send')
}).catch(function(error){
    console.log('DVR record error:', error)
})

SystemInputChannel

const Smartglass = require('xbox-smartglass-core-node')
var SystemInputChannel = require('xbox-smartglass-core-node/src/channels/systeminput');

var sgClient =  Smartglass()
sgClient.addManager('system_input', SystemInputChannel())

sgClient.getManager('system_input').sendCommand('nexus').then(function(button){ console.log(button) }, function(error){ console.log(error) });
sgClient.getManager('system_input').sendCommand('left').then(function(button){ console.log(button) }, function(error){ console.log(error) });
sgClient.getManager('system_input').sendCommand('a').then(function(button){ console.log(button) }, function(error){ console.log(error) });

SystemMediaChannel

const Smartglass = require('xbox-smartglass-core-node')
var SystemMediaChannel = require('xbox-smartglass-core-node/src/channels/systemmedia');

var sgClient =  Smartglass()
sgClient.addManager('system_media', SystemMediaChannel())

sgClient.getManager('system_media').sendCommand('play').then(function(button){ console.log(button) }, function(error){ console.log(error) });
sgClient.getManager('system_media').sendCommand('pause').then(function(button){ console.log(button) }, function(error){ console.log(error) });
var media_state = sgClient.getManager('system_media').getState()

TvRemoteChannel

const Smartglass = require('xbox-smartglass-core-node')
var TvRemoteChannel = require('xbox-smartglass-core-node/src/channels/tvremote');

var sgClient =  Smartglass()
sgClient.addManager('tv_remote', TvRemoteChannel())

sgClient.getManager('tv_remote').getConfiguration().then(function(configuration){ console.log(configuration) }, function(error){ console.log(error) });
sgClient.getManager('tv_remote').getHeadendInfo().then(function(configuration){ console.log(configuration) }, function(error){ console.log(error) });
sgClient.getManager('tv_remote').getLiveTVInfo().then(function(configuration){ console.log(configuration) }, function(error){ console.log(error) });
sgClient.getManager('tv_remote').getTunerLineups().then(function(configuration){ console.log(configuration) }, function(error){ console.log(error) });
sgClient.getManager('tv_remote').getAppChannelLineups().then(function(configuration){ console.log(configuration) }, function(error){ console.log(error) });

sgClient.getManager('tv_remote').sendIrCommand('btn.vol_up').then(function(button){ console.log(button) }, function(error){ console.log(error) });
sgClient.getManager('tv_remote').sendIrCommand('btn.vol_down').then(function(button){ console.log(button) }, function(error){ console.log(error) });

How to use

See the examples folder for examples

Setting up the Xbox

The plugin needs to be allowed to connect to your Xbox. To allow this make sure you set the setting to allow anonymous connections in Settings -> Devices -> Connections.

Known Issues

  • Protocol can be broken sometimes.

Changelog

See changelog

Install

npm i xbox-smartglass-core-node

DownloadsWeekly Downloads

98

Version

0.6.4

License

MIT

Unpacked Size

144 kB

Total Files

52

Last publish

Collaborators

  • avatar