TheThingSystem / steward

The Thing System is a set of software components and network protocols that aims to fix the Internet of Things. Our steward software is written in node.js making it both portable and easily extensible. It can run on your laptop, or fit onto a small single board computer like the Raspberry Pi.
http://thethingsystem.com
Other
346 stars 81 forks source link

Problem stating on OSX, https error "uncaught exception: Error: Protocol:https: not supported." #294

Open jrc1883 opened 8 years ago

jrc1883 commented 8 years ago
info: running on Darwin Mac OS X (10.11.3) 15D21
info: using node v0.10.22
openssl: Generating a 2048 bit RSA private key

openssl: .
openssl: .
openssl: .
openssl: .
openssl: .
openssl: .
openssl: +
openssl: +
openssl: +
openssl: 

openssl: .
openssl: .
openssl: .
openssl: +
openssl: +
openssl: +
openssl: 

openssl: writing new private key to 'db/server.key'

openssl: -----

keypair generated.
info: [devices] loading climate driver
debug: [climate] begin
info: [devices] loading gateway driver
info: [devices] loading indicator driver
info: [devices] loading lighting driver
info: [devices] loading media driver
debug: [media] begin
info: [devices] loading motive driver
debug: [motive] begin
info: [devices] loading presence driver
info: [devices] loading sensor driver
info: [devices] loading switch driver
info: [devices] loading wearable driver
debug: [wearable] begin
info: [climate] loading cubesensors-meteo driver
info: [climate] loading ecobee-control driver
info: [climate] loading flower-power-sensor driver
info: [climate] loading insteon-control driver
info: [climate] loading koubachi-sensor driver
info: [climate] loading nest-control driver
info: [climate] loading netatmo-sensor driver
info: [climate] loading oregon-scientific-sensor driver
info: [climate] loading plantlink-sensor driver
info: [climate] loading samsung-control driver
info: [climate] loading teldus-meteo driver
info: [climate] loading wink-control driver
info: [climate] loading yoctopuce-meteo driver
info: [discovery] SSDP listening on http://0.0.0.0:1900
info: [gateway] loading automatic-cloud gateway
info: [gateway] loading cubesensors-cloud gateway
info: [gateway] loading ecobee-cloud gateway
info: [devices] failing ecobee-cloud gateway (continuing) diagnostic=Cannot find module 'ecobee-api'
info: [gateway] loading flower-power-cloud gateway
info: [gateway] loading insteon-automategreen gateway
info: [gateway] loading koubachi-cloud gateway
info: [gateway] loading lockitron-cloud gateway
info: [gateway] loading myq-cloud gateway
info: [gateway] loading nest-cloud gateway
info: [gateway] loading netatmo-cloud gateway
info: [gateway] loading openzwave-usb gateway
info: [gateway] loading plantlink-cloud gateway
info: [gateway] loading reelyactive-reel gateway
info: [gateway] loading rfxcom-usb gateway
info: [gateway] loading telldus-live-cloud gateway
info: [gateway] loading tesla-cloud gateway
info: [gateway] loading wink-cloud gateway
info: [gateway] loading yoctopuce-hub gateway
info: [gateway] loading zigbee-xstick gateway
info: [indicator] loading cassandra-sensor driver
info: [indicator] loading dweetio-sensor driver
info: [indicator] loading grovestreams-sensor driver
info: [indicator] loading instapush-text driver
info: [indicator] loading mqtt-text driver
info: [indicator] loading nma-text driver
info: [indicator] loading prowl-text driver
info: [indicator] loading pushover-text driver
info: [indicator] loading sensable-sensor driver
info: [indicator] loading twitter-text driver
info: [indicator] loading wink-dial driver
info: [indicator] loading wink-nimbus driver
info: [indicator] loading xively-sensor driver
info: [indicator] loading yo-1bit driver
info: [lighting] loading blink1-led driver
info: [lighting] loading blinkstick-led driver
info: [lighting] loading heroicrobotics driver
info: [lighting] loading hue driver
info: [lighting] loading insteon-led driver
info: [lighting] loading lifx-bulb driver
info: [lighting] loading robosmart-led driver
info: [lighting] loading tabu-lumen driver
info: [lighting] loading tcpi-led driver
info: [lighting] loading yoctopuce-color driver
info: [lighting] loading yoctopuce-powercolor driver
info: [discovery] PixelPusher listening on udp://*:7331
info: [media] loading audio-sonos driver
info: [media] loading audio-upnp driver
info: [media] loading pioneer-receiver driver
info: [media] loading video-appletv driver
info: [media] loading video-chromecast driver
info: [media] loading video-roku driver
info: [motive] loading automatic-vehicle driver
info: [motive] loading lockitron-lock driver
info: [motive] loading myq-garage-door driver
info: [motive] loading tesla-model-s driver
info: [presence] loading fob driver
info: [presence] loading mobile-mqtt driver
info: [presence] loading reelyactive-tag driver
info: [switch] loading insteon-dimmer driver
info: [switch] loading insteon-onoff driver
info: [switch] loading telldus-dimmer driver
info: [switch] loading telldus-onoff driver
info: [switch] loading wemo-onoff driver
info: [switch] loading wink-onoff driver
info: [switch] loading wink-pivot-power-genius driver
info: [switch] loading zwave-dimmer driver
info: [switch] loading zwave-onoff driver
info: [wearable] loading watch driver
info: [discovery] reelyactive-reel driver listening on  udp://*:7018
notice: [steward] start uuid=2f402f80-da50-11e1-9b23-a45e60be7171
info: [server] listening on wss://*:8888
info: [server] listening on wss://*:8887
info: [server] redirecting from http://*:80 to https://*:8888
info: [server] unable to listen on http://*:80 diagnostic=listen EADDRINUSE
info: [server] loading console route
info: [server] loading manage route
info: [server] loading oneshot route
info: [server] loading root route
info: [server] loading ble discovery
info: [server] loading kumoapp discovery
info: [server] loading mac discovery
info: [server] loading owl discovery
info: [server] loading portscan discovery
info: [server] loading ssdp discovery
info: [server] loading tsrp discovery
info: [discovery] listening on http://*:8885
info: [discovery] SSDP listening on http://192.168.1.13:1900
info: [discovery] UPnP listening on http://192.168.1.13:8886
info: [sensor] loading leapmotion-gesture driver
info: [sensor] loaded nest-smoke driver
info: [sensor] loading texas-instruments-sensortag driver
info: [sensor] loading wemo-motion driver
info: [sensor] loaded wink-spotter driver
info: [sensor] loaded yoctopuce-3d driver
info: [sensor] loaded yoctopuce-4-20mA-Rx driver
info: [sensor] loaded yoctopuce-altimeter driver
info: [sensor] loaded yoctopuce-co2 driver
info: [sensor] loaded yoctopuce-light driver
info: [sensor] loaded yoctopuce-voc driver
info: [sensor] loaded zwave-multilevel driver
error: [discovery] discovery event=http.get, protocol=http:, slashes=true, auth=null, host=192.168.1.2:8200, port=8200, hostname=192.168.1.2, hash=null, search=null, query=null, pathname=/rootDesc.xml, path=/rootDesc.xml, href=http://192.168.1.2:8200/rootDesc.xml, agent=false, diagnostic=read ECONNRESET
error: [discovery] discovery event=http.get, protocol=http:, slashes=true, auth=null, host=192.168.1.2:1990, port=1990, hostname=192.168.1.2, hash=null, search=null, query=null, pathname=/WFADevice.xml, path=/WFADevice.xml, href=http://192.168.1.2:1990/WFADevice.xml, agent=false, diagnostic=socket hang up
alert: [steward] exception diagnostic=Protocol:https: not supported.
alert: [steward] exception stack=[{"fileName":"http.js","lineNumber":1840,"functionName":"Object.exports.request","typeName":"Object","methodName":"exports.request","columnNumber":11,"native":false},{"fileName":"http.js","lineNumber":1847,"functionName":"Object.exports.get","typeName":"Object","methodName":"exports.get","columnNumber":21,"native":false},{"fileName":"/Users/josephcannon/Projects/steward/steward/discovery/discovery-ssdp.js","lineNumber":149,"functionName":"Object.exports.ssdp_discover","typeName":"Object","methodName":"exports.ssdp_discover","columnNumber":8,"native":false},{"fileName":"/Users/josephcannon/Projects/steward/steward/discovery/discovery-ssdp.js","lineNumber":110,"functionName":"","typeName":"SSDP","methodName":null,"columnNumber":26,"native":false},{"fileName":"events.js","lineNumber":98,"functionName":"SSDP.EventEmitter.emit","typeName":"SSDP","methodName":"EventEmitter.emit","columnNumber":17,"native":false},{"fileName":"/Users/josephcannon/Projects/steward/steward/node_modules/node-ssdp/ssdp.js","lineNumber":180,"functionName":"SSDP.parseResponse","typeName":"SSDP","methodName":"parseResponse","columnNumber":8,"native":false},{"fileName":"/Users/josephcannon/Projects/steward/steward/node_modules/node-ssdp/ssdp.js","lineNumber":125,"functionName":"SSDP.parseMessage","typeName":"SSDP","methodName":"parseMessage","columnNumber":10,"native":false},{"fileName":"/Users/josephcannon/Projects/steward/steward/node_modules/node-ssdp/ssdp.js","lineNumber":49,"functionName":"Socket.onMessage","typeName":"Socket","methodName":"onMessage","columnNumber":10,"native":false},{"fileName":"events.js","lineNumber":98,"functionName":"Socket.EventEmitter.emit","typeName":"Socket","methodName":"EventEmitter.emit","columnNumber":17,"native":false},{"fileName":"dgram.js","lineNumber":437,"functionName":"UDP.onMessage","typeName":"UDP","methodName":"onMessage","columnNumber":8,"native":false}]
uncaught exception: Error: Protocol:https: not supported.
Press ^C to exit or wait 10 seconds to restart
Faeranne commented 8 years ago

what IoT devices are currently on your network?

jrc1883 commented 8 years ago

I have a wink hub, ecobee thermostat, samsung smart tv.

jrc1883 commented 8 years ago

After unplugging samsung tv and wink hub:

info: running on Darwin Mac OS X (10.11.3) 15D21
info: using node v0.10.22
info: [devices] loading climate driver
debug: [climate] begin
info: [devices] loading gateway driver
info: [devices] loading indicator driver
info: [devices] loading lighting driver
info: [devices] loading media driver
debug: [media] begin
info: [devices] loading motive driver
debug: [motive] begin
info: [devices] loading presence driver
info: [devices] loading sensor driver
info: [devices] loading switch driver
info: [devices] loading wearable driver
debug: [wearable] begin
info: [climate] loading cubesensors-meteo driver
info: [climate] loading ecobee-control driver
info: [climate] loading flower-power-sensor driver
info: [climate] loading insteon-control driver
info: [climate] loading koubachi-sensor driver
info: [climate] loading nest-control driver
info: [climate] loading netatmo-sensor driver
info: [climate] loading oregon-scientific-sensor driver
info: [climate] loading plantlink-sensor driver
info: [climate] loading samsung-control driver
info: [climate] loading teldus-meteo driver
info: [climate] loading wink-control driver
info: [climate] loading yoctopuce-meteo driver
info: [discovery] SSDP listening on http://0.0.0.0:1900
info: [gateway] loading automatic-cloud gateway
info: [gateway] loading cubesensors-cloud gateway
info: [gateway] loading ecobee-cloud gateway
info: [devices] failing ecobee-cloud gateway (continuing) diagnostic=Cannot find module 'ecobee-api'
info: [gateway] loading flower-power-cloud gateway
info: [gateway] loading insteon-automategreen gateway
info: [gateway] loading koubachi-cloud gateway
info: [gateway] loading lockitron-cloud gateway
info: [gateway] loading myq-cloud gateway
info: [gateway] loading nest-cloud gateway
info: [gateway] loading netatmo-cloud gateway
info: [gateway] loading openzwave-usb gateway
info: [gateway] loading plantlink-cloud gateway
info: [gateway] loading reelyactive-reel gateway
info: [gateway] loading rfxcom-usb gateway
info: [gateway] loading telldus-live-cloud gateway
info: [gateway] loading tesla-cloud gateway
info: [gateway] loading wink-cloud gateway
info: [gateway] loading yoctopuce-hub gateway
info: [gateway] loading zigbee-xstick gateway
info: [indicator] loading cassandra-sensor driver
info: [indicator] loading dweetio-sensor driver
info: [indicator] loading grovestreams-sensor driver
info: [indicator] loading instapush-text driver
info: [indicator] loading mqtt-text driver
info: [indicator] loading nma-text driver
info: [indicator] loading prowl-text driver
info: [indicator] loading pushover-text driver
info: [indicator] loading sensable-sensor driver
info: [indicator] loading twitter-text driver
info: [indicator] loading wink-dial driver
info: [indicator] loading wink-nimbus driver
info: [indicator] loading xively-sensor driver
info: [indicator] loading yo-1bit driver
info: [lighting] loading blink1-led driver
info: [lighting] loading blinkstick-led driver
info: [lighting] loading heroicrobotics driver
info: [lighting] loading hue driver
info: [lighting] loading insteon-led driver
info: [lighting] loading lifx-bulb driver
info: [lighting] loading robosmart-led driver
info: [lighting] loading tabu-lumen driver
info: [lighting] loading tcpi-led driver
info: [lighting] loading yoctopuce-color driver
info: [lighting] loading yoctopuce-powercolor driver
info: [discovery] PixelPusher listening on udp://*:7331
info: [media] loading audio-sonos driver
info: [media] loading audio-upnp driver
info: [media] loading pioneer-receiver driver
info: [media] loading video-appletv driver
info: [media] loading video-chromecast driver
info: [media] loading video-roku driver
info: [motive] loading automatic-vehicle driver
info: [motive] loading lockitron-lock driver
info: [motive] loading myq-garage-door driver
info: [motive] loading tesla-model-s driver
info: [presence] loading fob driver
info: [presence] loading mobile-mqtt driver
info: [presence] loading reelyactive-tag driver
info: [switch] loading insteon-dimmer driver
info: [switch] loading insteon-onoff driver
info: [switch] loading telldus-dimmer driver
info: [switch] loading telldus-onoff driver
info: [switch] loading wemo-onoff driver
info: [switch] loading wink-onoff driver
info: [switch] loading wink-pivot-power-genius driver
info: [switch] loading zwave-dimmer driver
info: [switch] loading zwave-onoff driver
info: [wearable] loading watch driver
info: [discovery] reelyactive-reel driver listening on  udp://*:7018
notice: [steward] start uuid=2f402f80-da50-11e1-9b23-a45e60be7171
info: [server] listening on wss://*:8888
info: [server] listening on wss://*:8887
info: [server] redirecting from http://*:80 to https://*:8888
info: [server] unable to listen on http://*:80 diagnostic=listen EADDRINUSE
info: [server] loading console route
info: [server] loading manage route
info: [server] loading oneshot route
info: [server] loading root route
info: [server] loading ble discovery
info: [server] loading kumoapp discovery
info: [server] loading mac discovery
info: [server] loading owl discovery
info: [server] loading portscan discovery
info: [server] loading ssdp discovery
info: [server] loading tsrp discovery
info: [discovery] listening on http://*:8885
info: [discovery] OWL driver listening on multicast udp://224.192.32.19:22600
info: [discovery] SSDP listening on http://192.168.1.13:1900
info: [discovery] TSRP listening on multicast udp://224.0.9.1:22601
info: [discovery] UPnP listening on http://192.168.1.13:8886
info: [sensor] loading leapmotion-gesture driver
info: [sensor] loaded nest-smoke driver
info: [sensor] loading texas-instruments-sensortag driver
info: [sensor] loading wemo-motion driver
info: [sensor] loaded wink-spotter driver
info: [sensor] loaded yoctopuce-3d driver
info: [sensor] loaded yoctopuce-4-20mA-Rx driver
info: [sensor] loaded yoctopuce-altimeter driver
info: [sensor] loaded yoctopuce-co2 driver
info: [sensor] loaded yoctopuce-light driver
info: [sensor] loaded yoctopuce-voc driver
info: [sensor] loaded zwave-multilevel driver
error: [discovery] discovery event=http.get, protocol=http:, slashes=true, auth=null, host=192.168.1.2:8200, port=8200, hostname=192.168.1.2, hash=null, search=null, query=null, pathname=/rootDesc.xml, path=/rootDesc.xml, href=http://192.168.1.2:8200/rootDesc.xml, agent=false, diagnostic=read ECONNRESET
error: [discovery] discovery event=http.get, protocol=http:, slashes=true, auth=null, host=192.168.1.2:1990, port=1990, hostname=192.168.1.2, hash=null, search=null, query=null, pathname=/WFADevice.xml, path=/WFADevice.xml, href=http://192.168.1.2:1990/WFADevice.xml, agent=false, diagnostic=read ECONNRESET
info: [discovery] UPnP R7000 (Gateway) url=http://192.168.1.2:5000/
warning: [devices] no maker registered for R7000
info: [discovery] PORT starting scan
info: [discovery] PORT finished scan
error: [discovery] discovery event=http.get, protocol=http:, slashes=true, auth=null, host=192.168.1.2:8200, port=8200, hostname=192.168.1.2, hash=null, search=null, query=null, pathname=/rootDesc.xml, path=/rootDesc.xml, href=http://192.168.1.2:8200/rootDesc.xml, agent=false, diagnostic=read ECONNRESET
info: [discovery] UPnP WFADevice url=http://192.168.1.2:1990/
warning: [devices] no maker registered for WPS
Faeranne commented 8 years ago

What model Samsung TV do you have?

Faeranne commented 8 years ago

I have an idea what's going on, but I want to make sure I have a comparable TV to test against.

jrc1883 commented 8 years ago

UN48J5200, I do have the tv unplugged now though. I saw that it was finding it but getting timed out along the way so I unplugged the tv, the log above is with the tv unplugged. The R7000 in the logs is my netgear wifi router

Faeranne commented 8 years ago

Looks like the Samsung TV is making an unexpected request. I'll add a temporary patch to prevent Steward from crashing when the request is sent, but I'll have to look further into how Samsung is formatting their request before it will be usable.

jrc1883 commented 8 years ago

Thanks, I appreciate it!

jrc1883 commented 8 years ago

Any update on the patch?

Faeranne commented 8 years ago

Sorry, not yet. I'm having difficulty locating where I can patch the request without bringing down the other HTTP requests, so I may or may not be able to issue the temporary patch. I'll try to have a definitive answer on this by the end of the week.