Migration from 2.x to 3.x

If you are upgrading an existing 2.0 installation, there are a few manual steps. From the project directory in unactivated mode:

  • rm -r env
  • rm -r volttron/platform/control
  • python bootstrap.py

An overview of changes can be found at: VOLTTRON Primer Overview

Drivers

Drivers are no longer tied to smap. Please see the drivers page.

sMAP Driver INI File

Previously, all driver setup was done in an smap.ini file with sections for each device. Now, this setup is done in two parts: the Master Driver Agent and individual drivers. The sections from the smap ini are now contained in their own files. These files are tied together by the master-driver.config:

{
    "agentid": "master_driver",
    "driver_config_list": [
    "/home/volttron/git/config/bacnet-device1.config",
    "/home/volttron/git/config/bacnet-device2.config"
    ]
}

The following portion of the file is no longer needed for the driver but could be used to setup an sMAP Historian

[report 0]
ReportDeliveryLocation = http://\<IP\>/backend/add/\<KEY\>

[/datalogger]
type = volttron.drivers.data_logger.DataLogger
interval = 1

Setting up paths for the collection and devices are now handled in the driver config file:

[/]
type = Collection
Metadata/SourceName = MySource
uuid = <UUID>

[/Campus]
type = Collection
Metadata/Location/Campus = My Campus

[/Campus/Building]
type = Collection
Metadata/Location/Building = Building

[/Campus/Building/device]
type = volttron.drivers.bacnet.BACnet
target_address = IP
self_address = IP:PORT
interval = 60
Metadata/Instrument/Manufacturer = Manufacturer
Metadata/Instrument/ModelName = Model Name
register_config = /home/volttron/git/volttron/config/my-bacnet-config.csv

Becomes bacnet-device1.config:

{
    "driver_config": {
        "device_address": "13200:56"
    },
    "campus": "Campus",
    "building": "Building",
    "unit": "Device",
    "driver_type": "bacnet",
    "registry_config": "/home/volttron/git/volttron/config/my-bacnet-config.csv",
    "interval": 60,
    "timezone": "US/Pacific"
}

Register Files (CSV)

These files are almost unchanged from v2.0. The sole change is the renaming of “PNNL Point Name” to “Volttron Point Name” This was a legacy label from the initial version of the platform and has now been updated.

Point Name,PNNL Point Name,Units,Unit Details,BACnet Object Type,Property,Writable,Index,Notes

Becomes:

Point Name,Volttron Point Name,Units,Unit Details,BACnet Object Type,Property,Writable,Index,Notes

The rest of the file remains the same.

Historian

Please look through the page [[Historian|VOLTTRON-Historians]] to see the support storage solutions. sMAP can still be used but is now optional.

ActuatorAgent

The Actuator can now be accessed via RPC which greatly simplifies the code needed to work with devices. The following shows how the old SchedulerExample agent was upgraded. The use_rpc method contains examples for replacing all the code for the pubsub interaction.

Agents