¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io
Date

Re: Parsing a string

 

All,??

Last update.? ?I changed the topic to relay...? Inject of 101010



Give you:



Here is the final function:

var output = msg.payload.split("");
msg.out0 = parseInt(output[0]);
msg.out1 = parseInt(output[1]);
msg.out2 = parseInt(output[2]);
msg.out3 = parseInt(output[3]);
msg.out4 = parseInt(output[4]);
msg.out5 = parseInt(output[5]);
msg.out6 = parseInt(output[6]);
msg.out7 = parseInt(output[7]);
?
?
if (msg.out0 === 1){
msg1 = {relay: 1,payload:'true'};
} else?
msg1 = {relay: 1,payload:'false'};
?
if (msg.out1 === 1){
msg2 = {relay: 2,payload:'true'};
} else
msg2 = {relay: 2,payload:'false'};
?
if (msg.out2 === 1) {
msg3 = {relay: 3,payload:'true'};
} else
msg3 = {relay: 3,payload:'false'};
?
if (msg.out3 === 1) {
msg4 = {relay: 4,payload:'true'};
} else
msg4 = {relay: 4,payload:'false'};
?
if (msg.out4 === 1) {
msg5 = {relay: 5,payload:'true'};? ??
} else
msg5 = {relay: 5,payload:'false'};
?
if (msg.out5 === 1) {
msg6 = {relay: 6,payload:'true'};
} else
msg6 = {relay: 6,payload:'false'};
?
if (msg.out6 === 1) {
msg7 = {relay: 7,payload:'true'};? ??
} else
msg7 = {relay: 7,payload:'true'};
?
if (msg.out7 === 1) {
msg8 = {relay: 8,payload:'true'};
} else
msg8 = {relay: 8,payload:'false'};
?
node.send(msg1);
node.send(msg2);
node.send(msg3);
node.send(msg4);
node.send(msg5);
node.send(msg6);
node.send(msg7);
node.send(msg8);
?
return;
?


Re: Parsing a string

 

Mike

I like the method Dave used in his DLI Relay Flow. ?The response is an eight-digit number, with 0 or 1 in each digit, depending on the relay status. ? Dave has a function to do a "logical and" for each digit to determine and outputs a true or false. ?Would this work for you? ? For example, if the second digit is 1, then the function "1 & 2" is true, because the binary of the second digit is 2**1 = 2 and 2 logical 2 is true. ?Likewise, for the third digit, 2**2 is 4 so the logical comparator is 4.

Alan. WA9WUD



And here is the function. ?Of course,var onmsg = { payload: msg.payload,topic:msg.topic };
var offmsg = { payload: msg.payload,topic:msg.topic };

=========================
?
var msg1 = { payload: msg.payload,topic:msg.topic };
var msg2 = { payload: msg.payload,topic:msg.topic };
var msg3 = { payload: msg.payload,topic:msg.topic };
var msg4 = { payload: msg.payload,topic:msg.topic };
var msg5 = { payload: msg.payload,topic:msg.topic };
var msg6 = { payload: msg.payload,topic:msg.topic };
var msg7 = { payload: msg.payload,topic:msg.topic };
var msg8 = { payload: msg.payload,topic:msg.topic };
?
?
//msg.payload=true;
onmsg.payload=true;
offmsg.payload=false;
?
if (msg.payload & ? 1) msg1.payload=true; else msg1.payload=false;
if (msg.payload & ? 2) msg2.payload=true; else msg2.payload=false;
if (msg.payload & ? 4) msg3.payload=true; else msg3.payload=false;
if (msg.payload & ? 8) msg4.payload=true; else msg4.payload=false;
if (msg.payload & ?16) msg5.payload=true; else msg5.payload=false;
if (msg.payload & ?32) msg6.payload=true; else msg6.payload=false;
if (msg.payload & ?64) msg7.payload=true; else msg7.payload=false;
if (msg.payload & 128) msg8.payload=true; else msg8.payload=false;
?
?
?
return [msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8];?you can download everything form the files section.



Re: Parsing a string

 
Edited

Here you go...I cleaned it up...? edit...apparently not enough....try this...I used an inject of 10101010

var output = msg.payload.split("");
msg.out0 = parseInt(output[0]);
msg.out1 = parseInt(output[1]);
msg.out2 = parseInt(output[2]);
msg.out3 = parseInt(output[3]);
msg.out4 = parseInt(output[4]);
msg.out5 = parseInt(output[5]);
msg.out6 = parseInt(output[6]);
msg.out7 = parseInt(output[7]);
?
?
if (msg.out0 === 1){
msg1 = {topic: 'relay1',payload:'true'};
} else?
msg1 = {topic: 'relay1',payload:'false'};
?
if (msg.out1 === 1){
msg2 = {topic: 'relay2',payload:'true'};
} else
msg2 = {topic: 'relay2',payload:'false'};
?
if (msg.out2 === 1) {
msg3 = {topic: 'relay3',payload:'true'};
} else
msg3 = {topic: 'relay3',payload:'false'};
?
if (msg.out3 === 1) {
msg4 = {topic: 'relay4',payload:'true'};
} else
msg4 = {topic: 'relay4',payload:'false'};
?
if (msg.out4 === 1) {
msg5 = {topic: 'relay5',payload:'true'};? ??
} else
msg5 = {topic: 'relay5',payload:'false'};
?
if (msg.out5 === 1) {
msg6 = {topic: 'relay6',payload:'true'};
} else
msg6 = {topic: 'relay6',payload:'false'};
?
if (msg.out6 === 1) {
msg7 = {topic: 'relay7',payload:'true'};? ??
} else
msg7 = {topic: 'relay7',payload:'true'};
?
if (msg.out7 === 1) {
msg8 = {topic: 'relay8',payload:'true'};
} else
msg8 = {topic: 'relay8',payload:'false'};
?
node.send(msg1);
node.send(msg2);
node.send(msg3);
node.send(msg4);
node.send(msg5);
node.send(msg6);
node.send(msg7);
node.send(msg8);
?
return;
?
?




Re: Parsing a string

 

¿ªÔÆÌåÓý

BTW, this can all be done in one function node using Mick¡¯s example then looking for each msg.out to either be 0 or 1 and setting msg.out to false or true. (if/else)

?

More than one way to get to the desired output.

?

Dave wo2x

?

From: [email protected] <[email protected]> On Behalf Of Mick - W8BE
Sent: Friday, January 29, 2021 3:01 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Here is a function to split the input and output a msg for each bit.? ?I used a string of 10000000 as the inject

?

?

The output gives you the msg.payload and msg.topic

?

Here is the function.

?

var output = msg.payload.split("");
msg.out0 = parseInt(output[0]);
msg.out1 = parseInt(output[1]);
msg.out2 = parseInt(output[2]);
msg.out3 = parseInt(output[3]);
msg.out4 = parseInt(output[4]);
msg.out5 = parseInt(output[5]);
msg.out6 = parseInt(output[6]);
msg.out7 = parseInt(output[6]);
msg.out8 = parseInt(output[7]);
msg.out9 = parseInt(output[8]);
msg1 = {topic: 'Bit 1',payload:msg.out0};
msg2 = {topic: 'Bit 2',payload:msg.out1};
msg3 = {topic: 'Bit 3',payload:msg.out2};
msg4 = {topic: 'Bit 4',payload:msg.out3};
msg5 = {topic: 'Bit 5',payload:msg.out4};
msg6 = {topic: 'Bit 6',payload:msg.out5};
msg7 = {topic: 'Bit 7',payload:msg.out6};
msg8 = {topci: 'Bit 8',payload:msg.out7};
msg9 = {topic: 'Bit 9',payload:msg.out8};

node.send(msg1);
node.send(msg2);
node.send(msg3);
node.send(msg4);
node.send(msg5);
node.send(msg6);
node.send(msg7);
node.send(msg8);
node.send(msg9);

return;

You could then run this into a switch node for further?processing or just modify it by creating a var instead of msg and then process it in the function.?

?

On Fri, Jan 29, 2021 at 1:53 PM David De Coons wo2x <RocketNJ@...> wrote:

Neal beat me to it.

?

Split/Switch is the way to go. Easy.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Neal Pollack
Sent: Friday, January 29, 2021 1:38 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Another way to split the outputs;

?

?

On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:

I have a workable solution

?

(Dave, no driving and texting)? :)

?

Take the string and convert it to csv.? I can manage the rest.??

?

But, I will like to see your idea.

?

73

?

?

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:

I¡¯ve got a solution. I should be home in 1/2 hr.

?

Dave wo2x

?

?

Sent from my waxed string and tin cans.?

?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?

Hi Neal

?

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

?

Mike?

?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:

Mike:

?

I don't have the actual answer, but I *think* I understand how to describe what you want:

?

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

?

Neal

?

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:

Hi All

?

I have a string I need to parse of 8 binary values being returned from a relay board

?

10000000

?

What is the best way to parse out the status of each of these relays???

?

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

?

thoughts?

?

Mike va3mw

?


Re: Parsing a string

 

¿ªÔÆÌåÓý

Mick has an extra msg.out. Only need 0 ¨C 7.

?

Here¡¯s a flow using split/switch/function to give false (0) or true (1) for each bit. First bit is top function node and last bit is bottom. Then feed into GPIO node.

?

Dave wo2x

?

[

??? {

??????? "id": "4e7a77e9.defc48",

??????? "type": "tab",

??????? "label": "Flow 2",

??????? "disabled": false,

??????? "info": ""

??? },

??? {

??????? "id": "cd5a6a57.fb77d8",

??????? "type": "inject",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "props": [

??????????? {

??????????????? "p": "payload"

??????????? }

??????? ],

??????? "repeat": "",

??????? "crontab": "",

??????? "once": false,

??????? "onceDelay": 0.1,

??????? "topic": "",

??????? "payload": "01010101",

??????? "payloadType": "str",

??????? "x": 300,

??????? "y": 220,

??????? "wires": [

??????????? [

??????????????? "fe4dc4d6.037c98"

??????????? ]

??????? ]

??? },

??? {

??????? "id": "dd5611e4.15976",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 160,

??????? "wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "3ed35afa.0a1936",

??????? "type": "switch",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "property": "parts.index",

??????? "propertyType": "msg",

??????? "rules": [

??????????? {

??????????????? "t": "eq",

??????????????? "v": "0",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "1",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "2",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

???????? ???????"v": "3",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "4",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "5",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "6",

??????????????? "vt": "num"

??????????? },

??????????? {

??????????????? "t": "eq",

??????????????? "v": "7",

??????????????? "vt": "num"

??????????? }

??????? ],

??????? "checkall": "true",

??????? "repair": false,

??????? "outputs": 8,

??????? "x": 600,

??????? "y": 280,

??????? "wires": [

??????????? [

??????????????? "dd5611e4.15976"

??????????? ],

?????????? ?[

??????????????? "b656e3bc.3661f"

??????????? ],

??????????? [

??????????????? "b3ccafd3.6efc2"

??????????? ],

??????????? [

??????????????? "65512697.166d98"

??????????? ],

??????????? [

??????????????? "e6171e3d.e5f4d"

??????????? ],

??????????? [

??????????????? "96d14c2b.9798e"

??????????? ],

??????????? [

??????????????? "ccbba3c4.d57db"

??????????? ],

??????????? [

??????????????? "4916a72a.09bbc8"

??????????? ]

??????? ]

??? },

??? {

??????? "id": "fe4dc4d6.037c98",

??????? "type": "split",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "splt": "1",

??????? "spltType": "len",

??????? "arraySplt": 1,

??????? "arraySpltType": "len",

??????? "stream": false,

??????? "addname": "",

??????? "x": 450,

??????? "y": 220,

???? ???"wires": [

??????????? [

??????????????? "3ed35afa.0a1936"

??????????? ]

??????? ]

??? },

??? {

??????? "id": "b656e3bc.3661f",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 200,

??? ????"wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "b3ccafd3.6efc2",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 240,

??????? "wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "65512697.166d98",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 280,

??????? "wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "e6171e3d.e5f4d",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 320,

??????? "wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "96d14c2b.9798e",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 360,

??????? "wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "ccbba3c4.d57db",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 400,

??? ????"wires": [

??????????? []

??????? ]

??? },

??? {

??????? "id": "4916a72a.09bbc8",

??????? "type": "function",

??????? "z": "4e7a77e9.defc48",

??????? "name": "",

??????? "func": "if (msg.payload == \"1\") {\n??? msg.payload = \"true\";\n} else msg.payload = \"false\";\n\nreturn msg;",

??????? "outputs": 1,

??????? "noerr": 0,

??????? "initialize": "",

??????? "finalize": "",

??????? "x": 760,

??????? "y": 440,

??????? "wires": [

??????????? []

??????? ]

??? }

]

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

From: [email protected] <[email protected]> On Behalf Of Mick - W8BE
Sent: Friday, January 29, 2021 3:01 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Here is a function to split the input and output a msg for each bit.? ?I used a string of 10000000 as the inject

?

?

The output gives you the msg.payload and msg.topic

?

Here is the function.

?

var output = msg.payload.split("");
msg.out0 = parseInt(output[0]);
msg.out1 = parseInt(output[1]);
msg.out2 = parseInt(output[2]);
msg.out3 = parseInt(output[3]);
msg.out4 = parseInt(output[4]);
msg.out5 = parseInt(output[5]);
msg.out6 = parseInt(output[6]);
msg.out7 = parseInt(output[6]);
msg.out8 = parseInt(output[7]);
msg.out9 = parseInt(output[8]);
msg1 = {topic: 'Bit 1',payload:msg.out0};
msg2 = {topic: 'Bit 2',payload:msg.out1};
msg3 = {topic: 'Bit 3',payload:msg.out2};
msg4 = {topic: 'Bit 4',payload:msg.out3};
msg5 = {topic: 'Bit 5',payload:msg.out4};
msg6 = {topic: 'Bit 6',payload:msg.out5};
msg7 = {topic: 'Bit 7',payload:msg.out6};
msg8 = {topci: 'Bit 8',payload:msg.out7};
msg9 = {topic: 'Bit 9',payload:msg.out8};

node.send(msg1);
node.send(msg2);
node.send(msg3);
node.send(msg4);
node.send(msg5);
node.send(msg6);
node.send(msg7);
node.send(msg8);
node.send(msg9);

return;

You could then run this into a switch node for further?processing or just modify it by creating a var instead of msg and then process it in the function.?

?

On Fri, Jan 29, 2021 at 1:53 PM David De Coons wo2x <RocketNJ@...> wrote:

Neal beat me to it.

?

Split/Switch is the way to go. Easy.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Neal Pollack
Sent: Friday, January 29, 2021 1:38 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Another way to split the outputs;

?

?

On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:

I have a workable solution

?

(Dave, no driving and texting)? :)

?

Take the string and convert it to csv.? I can manage the rest.??

?

But, I will like to see your idea.

?

73

?

?

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:

I¡¯ve got a solution. I should be home in 1/2 hr.

?

Dave wo2x

?

?

Sent from my waxed string and tin cans.?

?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?

Hi Neal

?

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

?

Mike?

?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:

Mike:

?

I don't have the actual answer, but I *think* I understand how to describe what you want:

?

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

?

Neal

?

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:

Hi All

?

I have a string I need to parse of 8 binary values being returned from a relay board

?

10000000

?

What is the best way to parse out the status of each of these relays???

?

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

?

thoughts?

?

Mike va3mw

?


Re: Parsing a string

 

Here is a function to split the input and output a msg for each bit.? ?I used a string of 10000000 as the inject

image.png

The output gives you the msg.payload and msg.topic
image.png

Here is the function.

var output = msg.payload.split("");
msg.out0 = parseInt(output[0]);
msg.out1 = parseInt(output[1]);
msg.out2 = parseInt(output[2]);
msg.out3 = parseInt(output[3]);
msg.out4 = parseInt(output[4]);
msg.out5 = parseInt(output[5]);
msg.out6 = parseInt(output[6]);
msg.out7 = parseInt(output[6]);
msg.out8 = parseInt(output[7]);
msg.out9 = parseInt(output[8]);
msg1 = {topic: 'Bit 1',payload:msg.out0};
msg2 = {topic: 'Bit 2',payload:msg.out1};
msg3 = {topic: 'Bit 3',payload:msg.out2};
msg4 = {topic: 'Bit 4',payload:msg.out3};
msg5 = {topic: 'Bit 5',payload:msg.out4};
msg6 = {topic: 'Bit 6',payload:msg.out5};
msg7 = {topic: 'Bit 7',payload:msg.out6};
msg8 = {topci: 'Bit 8',payload:msg.out7};
msg9 = {topic: 'Bit 9',payload:msg.out8};

node.send(msg1);
node.send(msg2);
node.send(msg3);
node.send(msg4);
node.send(msg5);
node.send(msg6);
node.send(msg7);
node.send(msg8);
node.send(msg9);

return;

You could then run this into a switch node for further?processing or just modify it by creating a var instead of msg and then process it in the function.?

On Fri, Jan 29, 2021 at 1:53 PM David De Coons wo2x <RocketNJ@...> wrote:

Neal beat me to it.

?

Split/Switch is the way to go. Easy.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Neal Pollack
Sent: Friday, January 29, 2021 1:38 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Another way to split the outputs;

?

?

On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:

I have a workable solution

?

(Dave, no driving and texting)? :)

?

Take the string and convert it to csv.? I can manage the rest.??

?

But, I will like to see your idea.

?

73

?

?

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:

I¡¯ve got a solution. I should be home in 1/2 hr.

?

Dave wo2x

?

?

Sent from my waxed string and tin cans.?



On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?

Hi Neal

?

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

?

Mike?

?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:

Mike:

?

I don't have the actual answer, but I *think* I understand how to describe what you want:

?

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

?

Neal

?

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:

Hi All

?

I have a string I need to parse of 8 binary values being returned from a relay board

?

10000000

?

What is the best way to parse out the status of each of these relays???

?

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

?

thoughts?

?

Mike va3mw

?


Re: Parsing a string

 

Dave, Neal

I'm close, but if I follow web instructions, I am having an issue turning that into a true or false.? ??

I'm getting 'undefined' on the exit of the switch node.

Mike?

image.png


On Fri, Jan 29, 2021 at 1:53 PM David De Coons wo2x <RocketNJ@...> wrote:

Neal beat me to it.

?

Split/Switch is the way to go. Easy.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Neal Pollack
Sent: Friday, January 29, 2021 1:38 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Another way to split the outputs;

?

?

On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:

I have a workable solution

?

(Dave, no driving and texting)? :)

?

Take the string and convert it to csv.? I can manage the rest.??

?

But, I will like to see your idea.

?

73

?

?

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:

I¡¯ve got a solution. I should be home in 1/2 hr.

?

Dave wo2x

?

?

Sent from my waxed string and tin cans.?



On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?

Hi Neal

?

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

?

Mike?

?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:

Mike:

?

I don't have the actual answer, but I *think* I understand how to describe what you want:

?

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

?

Neal

?

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:

Hi All

?

I have a string I need to parse of 8 binary values being returned from a relay board

?

10000000

?

What is the best way to parse out the status of each of these relays???

?

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

?

thoughts?

?

Mike va3mw

?


Re: Parsing a string

 

¿ªÔÆÌåÓý

Neal beat me to it.

?

Split/Switch is the way to go. Easy.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Neal Pollack
Sent: Friday, January 29, 2021 1:38 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Parsing a string

?

Another way to split the outputs;

?

?

On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:

I have a workable solution

?

(Dave, no driving and texting)? :)

?

Take the string and convert it to csv.? I can manage the rest.??

?

But, I will like to see your idea.

?

73

?

?

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:

I¡¯ve got a solution. I should be home in 1/2 hr.

?

Dave wo2x

?

?

Sent from my waxed string and tin cans.?



On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?

Hi Neal

?

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

?

Mike?

?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:

Mike:

?

I don't have the actual answer, but I *think* I understand how to describe what you want:

?

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

?

Neal

?

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:

Hi All

?

I have a string I need to parse of 8 binary values being returned from a relay board

?

10000000

?

What is the best way to parse out the status of each of these relays???

?

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

?

thoughts?

?

Mike va3mw

?


Re: Parsing a string

 

Perfect!??

You should see the mess I just glued together! :)

On Fri, Jan 29, 2021 at 1:38 PM Neal Pollack <nealix@...> wrote:
Another way to split the outputs;



On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:
I have a workable solution

(Dave, no driving and texting)? :)

Take the string and convert it to csv.? I can manage the rest.??

But, I will like to see your idea.

73

image.png

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:
I¡¯ve got a solution. I should be home in 1/2 hr.

Dave wo2x


Sent from my waxed string and tin cans.?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?
Hi Neal

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

Mike?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

Another way to split the outputs;



On Fri, Jan 29, 2021 at 10:24 AM Michael Walker <va3mw@...> wrote:
I have a workable solution

(Dave, no driving and texting)? :)

Take the string and convert it to csv.? I can manage the rest.??

But, I will like to see your idea.

73

image.png

On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:
I¡¯ve got a solution. I should be home in 1/2 hr.

Dave wo2x


Sent from my waxed string and tin cans.?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?
Hi Neal

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

Mike?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

Hi Mike

I am using that, but I am not able to figure out the actual verb to use to break it out.

Mike va3mw


On Fri, Jan 29, 2021 at 1:36 PM Mike Morneau <ve3mic@...> wrote:
Hi Mike.
Haven't? used it myself, but have you considered node-red-contrib-string ?
?


Re: Parsing a string

Mike Morneau
 

Hi Mike.
Haven't? used it myself, but have you considered node-red-contrib-string ?
?


Re: Parsing a string

 

I have a workable solution

(Dave, no driving and texting)? :)

Take the string and convert it to csv.? I can manage the rest.??

But, I will like to see your idea.

73

image.png


On Fri, Jan 29, 2021 at 1:17 PM David De Coons wo2x <RocketNJ@...> wrote:
I¡¯ve got a solution. I should be home in 1/2 hr.

Dave wo2x


Sent from my waxed string and tin cans.?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?
Hi Neal

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

Mike?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

Mike:

Have you taken a look at the bit unloader node?? Would this do what you wish?


Neal


On Fri, Jan 29, 2021 at 10:09 AM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

¿ªÔÆÌåÓý

I¡¯ve got a solution. I should be home in 1/2 hr.

Dave wo2x


Sent from my waxed string and tin cans.?

On Jan 29, 2021, at 1:11 PM, Michael Walker <va3mw@...> wrote:

?
Hi Neal

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

Mike?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

Hi Neal

Yes, that is the status of 8 relays that I need to break out so I can build an LED panel (so to speak)

Mike?

On Fri, Jan 29, 2021 at 1:09 PM Neal Pollack <nealix@...> wrote:
Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: Parsing a string

 

Mike:

I don't have the actual answer, but I *think* I understand how to describe what you want:

Given a binary string of 1's and 0's such as, for example, 10010110 , parse out each digit position, and assign?each digit to
a separate boolean variable name set to 1 or 0.? ? Is that what?you're looking for?

Neal

On Fri, Jan 29, 2021 at 9:52 AM Michael Walker <va3mw@...> wrote:
Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Parsing a string

 

Hi All

I have a string I need to parse of 8 binary values being returned from a relay board

10000000

What is the best way to parse out the status of each of these relays???

I looked at 'string' but I can't see a method that allows me to pull the boolean out 1 at a time.

thoughts?

Mike va3mw


Re: INA-219 Node Fixed/Updated, no longer requires downgrade to Node.js v10

 

¿ªÔÆÌåÓý

Thanks Neal. I am going to spend some time updating the Groups.io site tomorrow including fixing the order of FRStack install in the WiKi.?

There are other node updates I have noticed also.?

73
Dave wo2x

Sent from my waxed string and tin cans.?

On Jan 28, 2021, at 10:48 PM, Neal Pollack <nealix@...> wrote:

?

Dave:

We can update the note in the Forum Wiki, if you had one there.? ?My bug report last month prompted the maintainer of the INA-219 node to fix the bug.? So now, you can do a fresh install of the current Raspberry Pi OS and Node Red, and the INA-219 node should agree to install, for those who use it.? You can see the details at the link below.

REF:??

Cheers,

Neal
N6YFM


INA-219 Node Fixed/Updated, no longer requires downgrade to Node.js v10

 
Edited

Dave:

We can update the note in the Forum Wiki, if you had one there.? ?My bug report last month prompted the maintainer of the INA-219 node to fix the bug.? So now, you can do a fresh install of the current Raspberry Pi OS and Node Red, and the INA-219 node should agree to install, for those who use it.? You can see the details at the link below.

REF:??
Summary:??This node WILL NOT install if your system is using Node.js v12.x or higher.
So if you did a fresh install of a raspberry pi OS in 2020 or later, you will need to roll back
the Node.js portion to 10.x? [NOW FIXED according to the maintainer.]


Cheers,

Neal
N6YFM