¿ªÔÆÌåÓý

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

Re: Updated flows by WO2X = VITA49, FlexRadio, KPA1500 and PSTRotatorAZ

 

Thanks David!


Updated flows by WO2X = VITA49, FlexRadio, KPA1500 and PSTRotatorAZ

 

¿ªÔÆÌåÓý

Hi All,

?

I have updated the following flows:

?

VITA49v5 & FlexRadiov5 ¨C These two flows must be used together. I have zipped them into a single file and uploaded them to my file area. Meters are zeroed and client info removed when last client disconnects. Radio info clears when radio powered down.

?

KPA1500v2 ¨C meters are set to zero when amp is off.

?

PSTRotatorAZ ¨C Updated rotor flow to talk to PSTRotatorAZ UDP server. It incorporates Tormod¡¯s Azimuth map.

?

?

[email protected] | Files

?

73

Dave wo2x

?

?


File Notifications #file-notice

[email protected] Notification
 

The following files have been uploaded to the Files area of the [email protected] group.

By: David De Coons wo2x

Description:
New VITA49 and FlexRadio flows to zero meters when no client connected and designed for future Flex software updates


The following files have been uploaded to the Files area of the [email protected] group.

By: David De Coons wo2x

Description:
Updated Elecraft KPA1500 flow to zero meters when amp is off.


The following files have been uploaded to the Files area of the [email protected] group.

By: David De Coons wo2x

Description:
Updated rotor flow designed to talk to PSTRotatorAZ. This incorporates Tormod's Azimuth graphical map. Thanks Tormod!


Moderated Re: Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

¿ªÔÆÌåÓý

That is exactly what my updated Flex Radio and VITA 49 flows do. When there is no client connected Node Red sets the meters to zero. Note ¨C when disconnecting a client it may take up to a minute before the temperature meter actually goes to zero.

?

I also do the same for my Elecraft KPA1500 flow.

?

I am uploading the new VITA40v5, FlexRadiov5, and KPA1500 flows to the file section now. The VITA49 and FlexRadio flows need to be used together So I am zipping them as a single file. The new flows will detect the proper model of radio along with the software version and set meters appropriately.

NOTE ¨C There is no fan speed internal meter on the 6300/6500/6700 models as they use 4 fans (2 different style fans) while the 6400/6600 uses a single fan.

?

Enjoy! Feedback is appreciated.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of K6HN Gary
Sent: Saturday, January 30, 2021 6:40 PM
To: [email protected]
Subject: Re: [nodered-hamradio] Zeroing meters when rig or amp off (eg. KPA500, Flex)

?

I send the meter a 0 when it's turned off. Simple...

--
Gary
K6HN


Moderated Re: Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

I send the meter a 0 when it's turned off. Simple...

--
Gary
K6HN


Moderated Re: Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

Thanks, Alan......the left pane is the one you helped me make. It's working great when the rig is on.? I imported Dave's KPA500 and KAT500 flows, but haven't gotten the amp and tuner just yet (although the "administration" has ok'd it). Next phase for me is to figure out how to add sliders to set power out and maybe other things.

Charlie KB8CR


Moderated Re: Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

Charlie

I know for sure that Dave, WO2X, is almost ready to release a new version of the VITA49 and Flex API flow that will "zero" the meters.

Alan
WA9WUD


Moderated Re: Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

This is what it looks like when things are turned off:?


Moderated Zeroing meters when rig or amp off (eg. KPA500, Flex)

 

Is there a way to zero the meters/text data for the meters when the radio or amplifier is turned off?
Currently, when they are off, the meters register full scale.

Thanks,

Charlie KB8CR


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

 

Sorry Neal.? I should of clicked on the link before posting.? It's right there!!!!!??

LOL


Re: Parsing a string

 

Since it's fixed length (8) convert it into an array then you can access each position via an index

Object.assign([], string);

newObject?=?Object.assign([], string);

OR without conversion

const splitString = originalString.split("");
fanState = splitString[1];
anotherState?=?splitString[3];

etc.


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

 

Yes there is Kyle.? ?Look to the beginning of the thread.? Procedure is in the link to the bug report.? It is not hard.? I am running the workaround myself.

Neal


On Fri, Jan 29, 2021, 2:31 PM Kyle K <kylekrieg@...> wrote:
I just got my INA219 boards last week and were going to start playing around with them.? I had not installed the INA-219 node yet.? I installed my OS in 2020.

I'm assuming there isn't a procedure on how to roll back?? How do we find out what version we have installed?

Kyle
AA0Z


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

 

I just got my INA219 boards last week and were going to start playing around with them.? I had not installed the INA-219 node yet.? I installed my OS in 2020.

I'm assuming there isn't a procedure on how to roll back?? How do we find out what version we have installed?

Kyle
AA0Z


Re: Parsing a string

 

¿ªÔÆÌåÓý

Advantage of a 50¡± 4k TV as a monitor. Good for my tired old eyes (age 59).

?

I do like your single function solution!

?

73

Dave wo2x

?

?

?

?

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

?

Thanks Dave,? I caught it... I need a bigger monitor.? Doing it on a laptop screen.? ?It would seem Michaels has a plethora?of options available to him now.

?

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

Hi Mick,

?

Close ?

Your msg6 if/else has true & true.(typo)

?

Here¡¯s the cleaned up, cleaned up version.

?

73

Dave wo2x

?

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:'false'};

?

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

 

¿ªÔÆÌåÓý

Hi Alan,

?

Mick¡¯s single function node is fine for processing Mike¡¯s string input. With the DLI the input is a base 10 number which equates to the binary position of the eight outlets.

A combo of both flows would be good for Miles use as it would give him visual indication and ability to control the relays.

?

Mike, if you need a hand let me know but this should get you on the right track.

?

73

Dave wo2x

?

?

From: [email protected] <[email protected]> On Behalf Of Alan Blind, WA9WUD
Sent: Friday, January 29, 2021 3:58 PM
To: [email protected]
Subject: Re: [nodered-hamradio] 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

 

Thanks Dave,? I caught it... I need a bigger monitor.? Doing it on a laptop screen.? ?It would seem Michaels has a plethora?of options available to him now.

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

Hi Mick,

?

Close ?

Your msg6 if/else has true & true.(typo)

?

Here¡¯s the cleaned up, cleaned up version.

?

73

Dave wo2x

?

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:'false'};

?

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

 

¿ªÔÆÌåÓý

Hi Mick,

?

Close ?

Your msg6 if/else has true & true.(typo)

?

Here¡¯s the cleaned up, cleaned up version.

?

73

Dave wo2x

?

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:'false'};

?

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

 

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;
?
?