Ham Radio Rig Control using FL-RIG

Introduction

This is an experimental flow to demonstrate the use of Node-RED with the FL-RIG control client for amateur radio transceivers. This flow supports my presentation to NARC Live on Feb 8th 2023

Configuration

FL-RIG provides a server that can control the operation of many popular amateur radio rigs. The server uses XMLRPC messaging format, so the node-red-contrib-xmlrpc v 1.0.2 needs to be installed in Node-RED. FL-RIG can be run on any local network device, provided you enter the appropriate IP address when configuring the client. There appears to be a bug either in the xmlrpc node or FL-RIG that requires the frequency setting number format to include a decimal point followed by a number greater than 1. For this example, I've used 0.1. This doesn't affect the frequency setting of the rig as the decimal point is ignored.

I hope this proves useful.

Mike Richards - G4WNC

[{"id":"59b9a0bce277e368","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"9d4286716284c5dc","type":"xmlrpc call","z":"59b9a0bce277e368","name":"Set VFO","method":"rig.set_vfo","client":"432f7ace4f68695e","x":840,"y":240,"wires":[[]]},{"id":"b05ce2068690a642","type":"ui_numeric","z":"59b9a0bce277e368","name":"","label":"Set Frequency (Hz)","tooltip":"","group":"20547374b633f2e0","order":2,"width":"0","height":"0","wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{msg.payload}} Hz","min":"100.1","max":"440000000.1","step":"100","className":"","x":550,"y":240,"wires":[["9d4286716284c5dc"]]},{"id":"5db7d12a6a7d9f88","type":"xmlrpc call","z":"59b9a0bce277e368","name":"Get Current Freq","method":"rig.get_vfo","client":"432f7ace4f68695e","x":830,"y":460,"wires":[["ea0e5611fc074666"]]},{"id":"ea0e5611fc074666","type":"ui_text","z":"59b9a0bce277e368","group":"20547374b633f2e0","order":1,"width":0,"height":0,"name":"","label":"Current Frequency (Hz)","format":"{{msg.payload}} Hz","layout":"row-spread","className":"","x":1110,"y":460,"wires":[]},{"id":"e88242266e9b5d49","type":"inject","z":"59b9a0bce277e368","name":"1 Sec Pulse","props":[{"p":"payload"}],"repeat":"1","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":550,"y":540,"wires":[["5db7d12a6a7d9f88","da0e904a2f891b6f","073d862dd4d35f19"]]},{"id":"da0e904a2f891b6f","type":"xmlrpc call","z":"59b9a0bce277e368","name":"Get S Meter","method":"rig.get_DBM","client":"432f7ace4f68695e","x":830,"y":540,"wires":[["7a4577f2cec49ec8","c4918df2c6971a21"]]},{"id":"7a4577f2cec49ec8","type":"ui_gauge","z":"59b9a0bce277e368","name":"","group":"20547374b633f2e0","order":3,"width":0,"height":0,"gtype":"gage","title":"Signal","label":"units","format":"{{value}} dB","min":"-100","max":"-20","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1110,"y":540,"wires":[]},{"id":"c4918df2c6971a21","type":"ui_chart","z":"59b9a0bce277e368","name":"","group":"20547374b633f2e0","order":4,"width":0,"height":0,"label":"S-Meter Log","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"-100","ymax":"-20","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":1130,"y":620,"wires":[[]]},{"id":"45082efadb865c46","type":"xmlrpc call","z":"59b9a0bce277e368","name":"Set Mode","method":"rig.set_mode","client":"432f7ace4f68695e","x":840,"y":300,"wires":[["e2f5a6209b17513c"]]},{"id":"34b4bb2683117cdf","type":"ui_dropdown","z":"59b9a0bce277e368","name":"","label":"Select Mode","tooltip":"","place":"Select option","group":"20547374b633f2e0","order":4,"width":0,"height":0,"passthru":true,"multiple":false,"options":[{"label":"USB","value":"USB","type":"str"},{"label":"LSB","value":"LSB","type":"str"},{"label":"Digital","value":"DIG","type":"str"}],"payload":"","topic":"topic","topicType":"msg","className":"","x":530,"y":300,"wires":[["45082efadb865c46"]]},{"id":"e2f5a6209b17513c","type":"debug","z":"59b9a0bce277e368","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1040,"y":300,"wires":[]},{"id":"073d862dd4d35f19","type":"xmlrpc call","z":"59b9a0bce277e368","name":"Get Mode","method":"rig.get_mode","client":"432f7ace4f68695e","x":840,"y":660,"wires":[["a6133d5f0da2460b"]]},{"id":"a6133d5f0da2460b","type":"ui_text","z":"59b9a0bce277e368","group":"20547374b633f2e0","order":5,"width":0,"height":0,"name":"","label":"Current Mode","format":"{{msg.payload}}","layout":"row-left","className":"","x":1140,"y":680,"wires":[]},{"id":"432f7ace4f68695e","type":"xmlrpc-client","name":"Rig Controls","host":"192.168.1.194","port":"12345","path":"/"},{"id":"20547374b633f2e0","type":"ui_group","name":"Rig Controls","tab":"a4251b25e1c8c7ad","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"a4251b25e1c8c7ad","type":"ui_tab","name":"FT-897","icon":"dashboard","disabled":false,"hidden":false}]

Flow Info

Created 3 years, 5 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • debug (x1)
  • inject (x1)
Other
  • tab (x1)
  • ui_chart (x1)
  • ui_dropdown (x1)
  • ui_gauge (x1)
  • ui_group (x1)
  • ui_numeric (x1)
  • ui_tab (x1)
  • ui_text (x2)
  • xmlrpc call (x5)
  • xmlrpc-client (x1)

Tags

  • G4WNC
  • FL-RIG
  • Rig
  • Control
  • XMLRPC
  • FLRIG
  • Rig-Control
  • Transceiver-Control
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option