Linux Migration to FIN 5.1

Migrating to FIN 5.1 on Linux

Below is the process to migrate from any FIN 5.0.X version to 5.1+ on Linux machines.

The migration covers the below tag changes:

  • weather → weatherStation

  • weatherRef → weatherStationRef

  • job → now a marker tag

  • jobExpr → new tag that contains the job function

  • schedule → now a marker tag

  • scheduleGrid → new tag that contains the schedule events

  • as well as other behind the scenes db format changes

Create a backup first!

We strongly recommend to make backup of the existing project prior to migrating. We also recommend storing the backup somewhere else off the server hosting FIN for best practice.

Making a full project backup:

  1. Stop the FIN service

  2. Navigate to the the FIN directory \opt\finFramework (Substitute it with your specific installation path if different)

  3. Zip up the var folder - make sure to have enough space on the server as it will also contain all the database snapshots if you have a lot of them. If you like, you can delete or move some to reduce the file size. Path to the backups folder is something like this: \opt\finFramework\var\proj\<projName>\backup

  4. Move the newly created var zip folder off the server hosting FIN. For example onto a USB drive, cloud storage service, or another server.

1) Stop the FIN 5.0.x service

First, the user needs to stop the 5.0.x service by running the below command if using the same script we provided in the Linux Installation doc.

sudo systemctl stop fin

2) Install FIN 5.1

The user will then have to have FIN 5.1 installed on the machine. Look at Linux Installation for how to install FIN 5.1.

3) Stop the FIN 5.1 service

After installing FIN 5.1, the user needs to stop the FIN 5.1 service. Same command as before.

sudo systemctl stop fin

4) Copy/Move the 'var' folder to FIN 5.1

Now the user needs to either copy or move the FIN 5.0.X ‘var’ into the FIN 5.1 folder. Make sure a backup was saved outside of the FIN directory!

To copy, the command would look like this, but substitute with your specific path.

//sudo cp -r <path to 5.0.x var> <path to 5.1 folder> sudo cp -r /opt/finFramework_5.0.7.3722/var /opt/finFramework_5.1.0.35

To move, the command would look like this, but substitute with your specific path.

5) Navigate to the bin folder of FIN 5.1

Next, the user will need to navigate to the 'bin' folder of FIN 5.1 directory. It should look something like below but with your version.

Path: \opt\finFramework_5.1.0.35\bin

6) Migration command

Once inside the bin folder, the user will right click anywhere in the open space and select “Open in Terminal”.

Run these two commands, but substitute with your specific path and project name.

7) Migration complete

After running the migration command, the user will wait until they get the indication that migration is “Complete” message. After this, the user can start the FIN service and log into the project.

Command to start FIN if using our script:

Note: If by any chance the tags did not update, the user can run the finMigrateProject() function via Folio app to update them. Recommend to restart the service afterwards.

8) BACnet Queries

If BACnet MSTP devices behind a router to IP are involved in the project. We recommend to add the bacnetRoute tag to a connector per router IP. Below is the query that can be ran in Folio to do this automatically.

Connectors are required to have the bacnetDeviceName tag. If for some reason it doesn’t exist, the connector status will not be available, therefore won’t be able to disable/enable those connectors. The dis tag is required for these queries to write to the bacnetDeviceName tag whatever the dis tag value is. Run these queries in Folio to apply this to any BACnet connector that might not have the bacnetDeviceName tag on it. A restart of the FIN service is required.

If for some reason the dis tag doesn’t exist either, then the user will have to manually add the dis as a string and the value being the name of the connector via the property editor.