Definition stage

Multicontroller configuration

A single controller configuration has to be define to handle multiple USP controllers


Key aspects to consider

  • The key aspects to configure multiple controllers are:



    1. Controller Configuration:

      • Add a new Device.LocalAgent.Controller.{i} section for each additional controller you want to configure.

      • Set the Alias, EndpointID, Enable, PeriodicNotifInterval, and PeriodicNotifTime parameters for each controller.

      • Configure the MTP.1 section for each controller, specifying the Alias, Enable, Protocol, MQTT.Reference, and MQTT.Topic parameters.



    2. MQTT Client Configuration:

      • Add a new Device.MQTT.Client.{i} section for the MQTT client associated with each controller.

      • Set the BrokerAddress, ProtocolVersion, BrokerPort, TransportProtocol, Username, Password, Alias, Enable, ClientID, KeepAliveTime, ConnectRetryTime, ConnectRetryIntervalMultiplier, and ConnectRetryMaxInterval parameters for each MQTT client.

      • Ensure that the MQTT.Reference parameter in the controller's MTP.1 section matches the Alias of the corresponding MQTT client.
  • Reference usp_factory_conf.conf

    • ##########################################################################################################

      # Factory Reset Configuration File for OB-USP-AGENT

      ##########################################################################################################


      # General Configuration

      Device.LocalAgent.EndpointID "proto::rx_usp_agent_mqtt"  # Default Endpoint ID (for first controller)


      ##########################################################################################################

      # First Controller Configuration

      ##########################################################################################################


      # Controller 1 Settings

      Device.LocalAgent.Controller.1.Alias "cpe-1"

      Device.LocalAgent.Controller.1.EndpointID "proto::rx_usp_agent_mqtt"

      Device.LocalAgent.Controller.1.Enable true

      Device.LocalAgent.Controller.1.PeriodicNotifInterval "86400"

      Device.LocalAgent.Controller.1.PeriodicNotifTime "0001-01-01T00:00:00Z"

      Device.LocalAgent.Controller.1.ControllerCode ""

      Device.LocalAgent.Controller.1.MTP.1.Alias "cpe-mqtt-1"

      Device.LocalAgent.Controller.1.MTP.1.Enable true

      Device.LocalAgent.Controller.1.MTP.1.Protocol "MQTT"

      Device.LocalAgent.Controller.1.MTP.1.MQTT.Reference "Device.MQTT.Client.1"

      Device.LocalAgent.Controller.1.MTP.1.MQTT.Topic "/usp/controller"


      # MQTT Client 1 Settings

      Device.MQTT.Client.1.Alias "cpe-mqtt-1"

      Device.MQTT.Client.1.BrokerAddress "69.136.54.71"

      Device.MQTT.Client.1.ProtocolVersion "5.0"

      Device.MQTT.Client.1.BrokerPort "1883"

      Device.MQTT.Client.1.TransportProtocol "TCP/IP"

      Device.MQTT.Client.1.Username ""

      Device.MQTT.Client.1.Password ""

      Device.MQTT.Client.1.Enable true

      Device.MQTT.Client.1.ClientID ""

      Device.MQTT.Client.1.KeepAliveTime "60"

      Device.MQTT.Client.1.ConnectRetryTime "5"

      Device.MQTT.Client.1.ConnectRetryIntervalMultiplier "2000"

      Device.MQTT.Client.1.ConnectRetryMaxInterval "60"


      ##########################################################################################################

      # Subscriptions for First Controller

      ##########################################################################################################


      # Subscription for Boot Event

      Device.LocalAgent.Subscription.1.Alias "cpe-1-sub-1"

      Device.LocalAgent.Subscription.1.Enable true

      Device.LocalAgent.Subscription.1.ID "default-boot-event-ACS"

      Device.LocalAgent.Subscription.1.Recipient "Device.LocalAgent.Controller.1"

      Device.LocalAgent.Subscription.1.NotifType "Event"

      Device.LocalAgent.Subscription.1.ReferenceList "Device.Boot!"

      Device.LocalAgent.Subscription.1.Persistent true

      Device.LocalAgent.Subscription.1.TimeToLive 0

      Device.LocalAgent.Subscription.1.NotifRetry true

      Device.LocalAgent.Subscription.1.NotifExpiration 10000


      # Additional Subscriptions for First Controller...


      ##########################################################################################################

      # Second Controller Configuration

      ##########################################################################################################


      # Controller 2 Settings

      Device.LocalAgent.Controller.2.Alias "cpe-2"

      Device.LocalAgent.Controller.2.EndpointID "oktopus-0-mqtt"

      Device.LocalAgent.Controller.2.Enable true

      Device.LocalAgent.Controller.2.PeriodicNotifInterval "86400"

      Device.LocalAgent.Controller.2.PeriodicNotifTime "0001-01-01T00:00:00Z"

      Device.LocalAgent.Controller.2.ControllerCode ""

      Device.LocalAgent.Controller.2.MTP.1.Alias "cpe-mqtt-2"

      Device.LocalAgent.Controller.2.MTP.1.Enable true

      Device.LocalAgent.Controller.2.MTP.1.Protocol "MQTT"

      Device.LocalAgent.Controller.2.MTP.1.MQTT.Reference "Device.MQTT.Client.2"

      Device.LocalAgent.Controller.2.MTP.1.MQTT.Topic "oktopus/usp/v1/controller"


      # MQTT Client 2 Settings

      Device.MQTT.Client.2.Alias "cpe-mqtt-2"

      Device.MQTT.Client.2.BrokerAddress "x.x.x.x"

      Device.MQTT.Client.2.ProtocolVersion "5.0"

      Device.MQTT.Client.2.BrokerPort "1884"

      Device.MQTT.Client.2.TransportProtocol "TCP/IP"

      Device.MQTT.Client.2.Username ""

      Device.MQTT.Client.2.Password ""

      Device.MQTT.Client.2.Enable true

      Device.MQTT.Client.2.ClientID ""

      Device.MQTT.Client.2.KeepAliveTime "60"

      Device.MQTT.Client.2.ConnectRetryTime "5"

      Device.MQTT.Client.2.ConnectRetryIntervalMultiplier "2000"

      Device.MQTT.Client.2.ConnectRetryMaxInterval "60"


      ##########################################################################################################

      # Subscriptions for Second Controller

      ##########################################################################################################


      # Subscription for Boot Event

      Device.LocalAgent.Subscription.2.Alias "cpe-2-sub-1"

      Device.LocalAgent.Subscription.2.Enable true

      Device.LocalAgent.Subscription.2.ID "default-boot-event-ACS"

      Device.LocalAgent.Subscription.2.Recipient "Device.LocalAgent.Controller.2"

      Device.LocalAgent.Subscription.2.NotifType "Event"

      Device.LocalAgent.Subscription.2.ReferenceList "Device.Boot!"

      Device.LocalAgent.Subscription.2.Persistent true

      Device.LocalAgent.Subscription.2.TimeToLive 0

      Device.LocalAgent.Subscription.2.NotifRetry true

      Device.LocalAgent.Subscription.2.NotifExpiration 10000


      # Additional Subscriptions for Second Controller...


      ##########################################################################################################

      # Boot Parameters (Example for Both Controllers)

      ##########################################################################################################


      # Boot Parameters for First Controller

      Device.LocalAgent.Controller.1.BootParameter.1.Enable true

      Device.LocalAgent.Controller.1.BootParameter.1.ParameterName "Device.LocalAgent.EndpointID"


      # Boot Parameters for Second Controller

      Device.LocalAgent.Controller.2.BootParameter.1.Enable true

      Device.LocalAgent.Controller.2.BootParameter.1.ParameterName "Device.LocalAgent.EndpointID"

      Just a reference - Not tested
  • No labels