WarriorRocker / node-red-contrib-wio-seeed

Wio Link Nodes using Grove modules for Node RED
13 stars 8 forks source link

[wio-sensor:Sensor] TypeError: Request path contains unescaped characters #10

Open rovincent opened 7 years ago

rovincent commented 7 years ago

I get this trying to run the nodes on a raspberry pi.

raspberry pi 3 npm: 5.3.0 node: 6.11.1

Im also running against a private server, however i have node-red and the wio nodes running from a ubuntu server with out issue ? they are both running simultaneously and the configs are the same other than the node and npm versions are older ?

ubuntu server 16.04 npm: 3.5.2 node: 4.2.0

Is this likely to be the issue, I was not able to get the nodes running with the stock node-red on rasbian.

rovincent commented 7 years ago

node-red V: 0.17.4

rovincent commented 7 years ago

Another discovery, the node-red nodes do not even seem to be hitting the wio server, so this seems to be breaking before the request to the wio server?

rovincent commented 7 years ago

Another test result, creating a http request node and populating correctly from the raspberry pi works and produces the correct output.

Of course i would prefer to use the actual wio nodes as i have spent a fare amount of time on this and dont really want to parse the output at this stage if possible.

Of course this does narrow down the fact that is seems to be the actual wio-nodes that are having issues.

Any ideas?

potnik commented 7 years ago

The error you are getting implies a typo in you server address. Do you have an extra space or other random character?

rovincent commented 7 years ago

I have checked and double checked everything. i am using two different hosts. One ubuntu 16.04 everything works. the node red config has been imported to the second node red instance from which it does not work. the second is a raspberry pi with updated node-red and npm as this is the only way to install this node module. the node read wio-modules is also copied form the working server.

Where would the server config be i have checked the node red config ?

rovincent commented 7 years ago

Also i forgot to mention in my previous post. The ability to receive my token by the login method would show that the server configuration is working no?

Once i config the server connection i get the node info and its status (up) (down) which is accurate. but the ports or methods do not auto populate.

Please keep in mind i had to upgrade npm and node as the wio modules do not load on standard reasbian jessie.

node -v 6.11.2 npm -v 3.10.10

rovincent commented 7 years ago

I figured it out.

for some reason on the ubuntu install it does not seem to care that the sku for the I2C1 port is "101020197" However on the raspbian install the sku has to be "101020193" (the actual sku that is returned from the wio)

I found this by re-construction the URL built by wio-common.js in the reloadPortSelect function so basically: https://your.server/v1/node/config?access_token=your-node-token (can be found in the app under api)

You will get the sku of the I2C1 port.

Mine looks like this now but originally the 193 was 197 (which is working on the ubuntu install still)?:

    "101020193": {
            "name": "Grove Barometer BME280 I2C",
            "module": "GroveBME280",
            "methods": {
                    "temperature": {
                            "name": "Celsius Temperature",
                            "value": "temperature"
                    },
                    "altitude": {
                            "name": "Altitude",
                            "value": "altitude"
                    },
                    "pressure": {
                            "name": "Pressure",
                            "value": "pressure"
                    }
            }
    },

I hope this helps some one, im not a programmer AT ALL. so may be im missing something and this could be explained a lot better but it is now working for me.