It looks as if the directly after installing the metadriver, the Brain Navigator isn't informed about the auto discovery IP-address of the Brain. Please note his happened only once: directly after install. After restarting node, all works well.
Scenario:
- Installed latest node.js (14.9.0)
- pulled metadriver through npm install jac459/metadriver
- cd node_modulesa/@jac459/metadriver directory
- npm install (don't think this is required)
- node meta
- added JAC Brain Navigator, enabled recipe, add shortcuts
- Started Brain navigator on my physical remote
All goes well, until I select "Recipe" on the remote.
-
On remote, an error shows up telling something like "the list could not be fetched"
-
On node-log, the following shows up:
neeo:device:RequestHandler process get request for sensor:default +20s
express:router dispatching GET /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +10ms
express:router query : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router expressInit : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +0ms
express:router jsonParser : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
body-parser:json skip empty body +15ms
express:router : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router trim prefix (/device) from url /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router router /device : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +0ms
express:router dispatching GET /apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
neeo:driver:express:route:DeviceRoute using static handler for component: CURRENTSTATUS_SENSOR +14ms
neeo:driver:express:route:DeviceRoute get request [{ adapterid: 'apt-1cdaa3546e965c555025ab1a62e4de924047ef76', component: 'CURRENTSTATUS_SENSOR', deviceid: 'default' }] +1ms
neeo:device:RequestHandler process get request for sensor:default +15ms
express:router dispatching POST /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +30s
express:router query : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +1ms
express:router expressInit : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
express:router jsonParser : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
body-parser:json content-type "application/json" +30s
body-parser:json content-encoding "identity" +10ms
body-parser:json read body +0ms
body-parser:json parse body +73ms
body-parser:json parse json +1ms
express:router : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +86ms
express:router trim prefix (/device) from url /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +1ms
express:router router /device : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
express:router dispatching POST /apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
neeo:driver:express:route:DeviceRoute using static handler for component: recipes +31s
neeo:driver:express:route:DeviceRoute post request [{ adapterid: 'apt-1cdaa3546e965c555025ab1a62e4de924047ef76', component: 'recipes', deviceid: 'default' }] +1ms
neeo:device:RequestHandler process get request for directory:default +31s
params: {"browseIdentifier":"","offset":0,"limit":64,"history":[]}
browseIdentifier:
actionIdentifier: undefined
current feeder: 0
Final processed Command:http://:3000/v1/projects/home/rooms/
Fetching error:
TypeError [ERR_INVALID_URL]: Invalid URL: http://:3000/v1/projects/home/rooms/
at onParseError (internal/url.js:257:9)
at new URL (internal/url.js:333:5)
at parseURL (/home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:99:29)
at /home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:13:19
at new Promise ()
at HTTP. (/home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:11:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:157:7
at new Promise ()
at httpgetProcessor.process (/home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:156:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:33:23
at new Promise ()
at ProcessingManager.process (/home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:32:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/metaController.js:282:25
at new Promise ()
at controller.commandProcessor (/home/pi/metadriver/node_modules/@jac459/metadriver/metaController.js:275:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/directoryHelper.js:161:29 {
input: 'http://:3000/v1/projects/home/rooms/',
code: 'ERR_INVALID_URL'
Restarting the driver (node) fixes the problem.
It looks as if the directly after installing the metadriver, the Brain Navigator isn't informed about the auto discovery IP-address of the Brain. Please note his happened only once: directly after install. After restarting node, all works well.
Scenario:
All goes well, until I select "Recipe" on the remote.
On remote, an error shows up telling something like "the list could not be fetched"
On node-log, the following shows up:
neeo:device:RequestHandler process get request for sensor:default +20s
express:router dispatching GET /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +10ms
express:router query : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router expressInit : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +0ms
express:router jsonParser : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
body-parser:json skip empty body +15ms
express:router : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router trim prefix (/device) from url /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
express:router router /device : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +0ms
express:router dispatching GET /apt-1cdaa3546e965c555025ab1a62e4de924047ef76/CURRENTSTATUS_SENSOR/default +1ms
neeo:driver:express:route:DeviceRoute using static handler for component: CURRENTSTATUS_SENSOR +14ms
neeo:driver:express:route:DeviceRoute get request [{ adapterid: 'apt-1cdaa3546e965c555025ab1a62e4de924047ef76', component: 'CURRENTSTATUS_SENSOR', deviceid: 'default' }] +1ms
neeo:device:RequestHandler process get request for sensor:default +15ms
express:router dispatching POST /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +30s
express:router query : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +1ms
express:router expressInit : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
express:router jsonParser : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
body-parser:json content-type "application/json" +30s
body-parser:json content-encoding "identity" +10ms
body-parser:json read body +0ms
body-parser:json parse body +73ms
body-parser:json parse json +1ms
express:router : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +86ms
express:router trim prefix (/device) from url /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +1ms
express:router router /device : /device/apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
express:router dispatching POST /apt-1cdaa3546e965c555025ab1a62e4de924047ef76/recipes/default +0ms
neeo:driver:express:route:DeviceRoute using static handler for component: recipes +31s
neeo:driver:express:route:DeviceRoute post request [{ adapterid: 'apt-1cdaa3546e965c555025ab1a62e4de924047ef76', component: 'recipes', deviceid: 'default' }] +1ms
neeo:device:RequestHandler process get request for directory:default +31s
params: {"browseIdentifier":"","offset":0,"limit":64,"history":[]}
browseIdentifier:
actionIdentifier: undefined
current feeder: 0
Final processed Command:http://:3000/v1/projects/home/rooms/
Fetching error:
TypeError [ERR_INVALID_URL]: Invalid URL: http://:3000/v1/projects/home/rooms/
at onParseError (internal/url.js:257:9)
at new URL (internal/url.js:333:5)
at parseURL (/home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:99:29)
at /home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:13:19
at new Promise ()
at HTTP. (/home/pi/metadriver/node_modules/@jac459/metadriver/node_modules/http.min/index.js:11:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:157:7
at new Promise ()
at httpgetProcessor.process (/home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:156:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:33:23
at new Promise ()
at ProcessingManager.process (/home/pi/metadriver/node_modules/@jac459/metadriver/ProcessingManager.js:32:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/metaController.js:282:25
at new Promise ()
at controller.commandProcessor (/home/pi/metadriver/node_modules/@jac459/metadriver/metaController.js:275:12)
at /home/pi/metadriver/node_modules/@jac459/metadriver/directoryHelper.js:161:29 {
input: 'http://:3000/v1/projects/home/rooms/',
code: 'ERR_INVALID_URL'
Restarting the driver (node) fixes the problem.