Closed JensGryspeert closed 7 years ago
If you are trying to connect with the emulator using the discovery system, I think it will fail. It uses a search mechanism that I don't think the emulator emulates, and the other uses Phillips own discovery endpoint that the emulator cannot interact with.
If you are using the emulator, you should be able to bind to it directly using whatever ip address and port that you bring the emulator up on.
I'm creating an application that uses the node-hue-api by Peter Murray. So what I do is open the emulator with sudo powers (Mac OSX user) and I change the port to 80. When I want to 'search' the bridge I can't find it either with nupnp and upnp. When I go to https://www.meethue.com/api/nupnp => It gives me this output:
[]
Would maybe someone could help me out? If you want more information please ask me.
EDIT: I've found this post of you SteveyO
I can confirm its working on http://127.0.0.1/api/newdeveloper. When i go to http://localhost:46302/lights it must give me the output of all the lights but I'm not recieving anything.
This is the snippet I'm using: `router.route('/lights') .get(function(req, res, next) { bridges.showAllLights(); })
var path = require('path'); var pathToJson = path.resolve(__dirname, '../../config/config.json');
// Load config var config = require(pathToJson);
// START IMPORT NODE HUE API var hue = require("node-hue-api"), HueApi = hue.HueApi, lightState = hue.lightState; var displayResult = function(result) { console.log(result); };
// END IMPORT NODE HUE API
var Bridges = function() { this.bridge = ""; };
Bridges.prototype = { setBridge: function(bridge){ this.bridge = bridge; },
};
var Phue = function() { this.showAllLights = function() { api.lights(function(err, lights) { if (err) throw err; displayResult(lights); }); }, this.getStatusOfLamp = function(id){ api.lightStatus(id, function(err, result) { if (err) throw err; displayStatus(result); }); }, this.setLightState = function(id, state){ if(state == 'on'){ api.setLightState(id, state.on(), function(err, result) { if (err) throw err; displayResult(result); }); } else { api.setLightState(id, state.off(), function(err, result) { if (err) throw err; displayResult(result); }); }
}; `
I've posted this aswell on https://github.com/SteveyO/Hue-Emulator/issues/29 but I think it's more I'm using not a proper way of the node-hue-api.