This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
how to manipulate incoming data stream?
#2
Well here's what I've come up with so far in node red, but I still get alarms for 0 depth on the NMEA 2000 chart plotter, although it's no longer showing up in grafana.

I will try updating the nmea 2000 output directly.
   


Code:
[{"id":"38336563.2cc8e2","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"71b3bf61.5dd4f8","type":"inject","z":"38336563.2cc8e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"environment.wind.angleApparent","payload":"3.14","payloadType":"num","x":90,"y":140,"wires":[["8c8dd0de.697ad"]]},{"id":"3b7621c1.ff17e6","type":"inject","z":"38336563.2cc8e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"environment.wind.angleApparent","payload":"NaN","payloadType":"str","x":90,"y":200,"wires":[["8c8dd0de.697ad"]]},{"id":"8c8dd0de.697ad","type":"function","z":"38336563.2cc8e2","name":"filter zero and NaN AWA","func":"var payload = msg.payload;\n//node.warn(\"msg.payload = \" + msg.payload);\nlastAwa=context.get(\"lastAwa\"); \n//node.warn(\"lastAwa = \" + context.get(\"lastAwa\"));\n\nif (payload == \"0\"||payload == \"NaN\"||payload == \"3.14\")\n{\nnode.warn(\"BAD WIND DATA \" + payload);\nmsg.payload = lastAwa\nnode.warn(\"lastAwa = \" + context.get(\"lastAwa\"));\nreturn msg;\n} else \n{\n//node.warn(\"GOOD WIND DATA\" + payload);\ncontext.set(\"lastAwa\",payload); \n//node.warn(\"lastAwa = \" + context.get(\"lastAwa\"));\nreturn msg;\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":470,"y":160,"wires":[["e18508a1.f09518"]]},{"id":"966391c5.dede38","type":"signalk-input-handler","z":"38336563.2cc8e2","name":"AWA input handler","context":"vessels.self","path":"environment.wind.angleApparent","source":"","x":140,"y":280,"wires":[["8c8dd0de.697ad"]]},{"id":"e18508a1.f09518","type":"signalk-input-handler-next","z":"38336563.2cc8e2","name":"back to server","x":880,"y":240,"wires":[]},{"id":"cb274b3f.f47ee8","type":"signalk-input-handler","z":"38336563.2cc8e2","name":"Depth input handler","context":"vessels.self","path":"environment.depth.belowTransducer","source":"","x":130,"y":340,"wires":[["2405a162.722516"]]},{"id":"2405a162.722516","type":"function","z":"38336563.2cc8e2","name":"filter zero and above 150 depth","func":"var payload = msg.payload;\n//node.warn(\"msg.payload = \" + msg.payload);\nlastDepth=context.get(\"lastDepth\"); //to retrieve a variable  \n//node.warn(\"lastDepth = \" + context.get(\"lastDepth\"));\n\nif (payload == \"0\"||payload >= 150)\n{\nnode.warn(\"BAD DEPTH DATA  \" + payload);\nnode.warn(\"lastDepth = \" + context.get(\"lastDepth\"));\nmsg.payload = lastDepth\nreturn msg;\n} else \n{\n//node.warn(\"GOOD DEPTH DATA  \" + payload);\ncontext.set(\"lastDepth\",payload); // to store a variable\nreturn msg;\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":470,"y":320,"wires":[["e18508a1.f09518"]]},{"id":"38e1dfe7.ae87c","type":"inject","z":"38336563.2cc8e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"environment.depth.belowTransducer","payload":"160","payloadType":"num","x":190,"y":440,"wires":[["2405a162.722516"]]},{"id":"dabf54e0.0a65f8","type":"inject","z":"38336563.2cc8e2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"environment.depth.belowTransducer","payload":"0","payloadType":"num","x":190,"y":480,"wires":[["2405a162.722516"]]}]
Reply


Messages In This Thread
RE: how to manipulate incoming data stream? - by barrymac - 2021-09-17, 01:44 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)