(Optional) Add a Remote EnOcean Interface (Beta) for SmartServer Pi

REMOTE ENOCEAN INTERFACE (BETA) IS SUPPORTED WITH SMARTSERVER 4.3 UPDATE 1 AND HIGHER.

Support for EnOcean devices is available in following interface modes:

  • Remote EnOcean (beta) – EnOcean devices are supported in remote mode with SmartServer 4.3 Update 1 and higher. For remote mode, the EnOcean driver supports EnOcean IoT Connector (IoTC) as an EnOcean network interface. Remote mode uses a remote connection to IoTC, and supports a local EnOcean radio with a web security service (WSS) tunnel to IoTC. Remote mode works with or without a local EnOcean radio.

  • Local EnOcean – EnOcean devices are supported in local mode with SmartServer 4.0 and higher. For local mode, the EnOcean driver supports the EnOcean USB 300 (868MHz for Europe), USB 500U (902MHz for North America), and USB 500J (928 MHz for Japan) network interfacesLocal mode uses the local EnOcean radio and does not require any remote interfaces. 

    For local EnOcean interface, see (Optional) Add a Local EnOcean Interface.


This section describes how you can use the SmartServer to integrate and manage EnOcean devices in remote mode and consists of the following:

Setting up Remote EnOcean Interface

To set up and use remote EnOcean interface with the SmartServer, follow these steps:

  1. Enable remote mode on your SmartServer as described on this page. Do not use the EnOcean Configuration page to enable remote mode; for this release, remote mode is configured manually as described on this page. 

  2. Optionally add an EnOcean network interface as described on this page.
     
  3. Download and modify, or create an EnOcean device interface (XIF) and device type definition as described on this page.

  4. Define datapoint properties for any datapoints to be monitored or logged as described in Setting Datapoint Properties.

  5. Define or discover devices as described in Site Provisioning. See the following section on this page for a step-by-step example:
  6. Optionally, provide a BACnet interface for your EnOcean device; see Setting up the BACnet Server.  This enables you to use a BACnet workstation with your EnOcean device.

Enabling Remote Mode

With SmartServer 4.3 Update 1 and higher, EnOcean IoTC is supported as an EnOcean network interface, where EnOcean devices can be accessed through EnOcean WSS tunnel via access points, gateways, and SmartServers.

To enable remote EnOcean interface, perform the following steps:

  1. Open the SmartServer Configuration page as described in Accessing the SmartServer Pi Configuration Page. The Configuration page view that appears depends on your cache data. As needed, click the SmartServer IoT tab. The System tab (top) will appear as the default as shown below.



  2. Click the EnOcean tab. 



  3. If local EnOcean interface is enabled as shown below, then set the Enabled option to disabled (greyed-out) and click Update.



  4. Open a terminal connection to SmartServer Pi.

  5. Verify that the local EnOcean interface (enocean) and remote EnOcean interface (iotcid) are inactive by entering the following command:

    smartserverctl status enocean iotcid
    Example result:
    enocean                            inactive
    iotcid                             inactive
  6. If the interface(s) is active, then stop and disable the interface(s) by entering the following commands:

    sudo smartserverctl stop <enocean> <iotcid>
    sudo smartserverctl disable <enocean> <iotcid>
  7. Edit the remote mode configuration file by entering the following command, followed by the apollo password:

    sudo nano /var/smartserver/conf.d/iotcid/iotcid.conf
  8. Configure and save the remote interface mqtt and iotc (API) settings as shown in the example below. The mqtt parameters define the connection information and authentication credentials to the MQTT broker of IoTC. The clientid parameter provides a way to identify your specific connection. The iotc parameters define the connection information and authentication credentials to the REST API of IoTC. Depending on your environment, the mqtt and iotc credentials (username and password) may be the same or different. 

    1. The iotc settings may need to be added to the file following the mqtt settings, where the x's define the remote server address and login credentials in the example below.

      "iotc":{"address":"xx.xxxxxxx.xxxxx","username":"xxxxxxx","password":"xxxxxxxxxx","insecure":true},
    2. If your IoTC instance is not using security on the MQTT side, then remove the “username” and “password” parameters and  from the mqtt settings section in the iotcid.conf file.

    3. If you are updating from SmartServer 4.3 or 4.3 Update 1 to SmartServer 4.4, then change the parameter keep_alive to keepalive.

    4. If you have more than one SmartServer connecting to a given IoTC instance, then specify a unique clientid for each SmartServer. Every client that connects to the same IoTC instance must have a unique clientid.



  9. Start the remote EnOcean interface (iotcid), and enable it so that it will start automatically after reboot, by entering the following commands:

    sudo smartserverctl start iotcid
    sudo smartserverctl enable iotcid
  10. Verify that the remote EnOcean interface (iotcid) is enabled by entering the following command:

    smartserverctl status iotcid
    Example result:
    iotcid                             active since Fri 2024-04-19 15:50:14 EDT; 6s ago

The remote EnOcean interface is now enabled on your SmartServer Pi.

Adding an EnOcean Network Interface

You can optionally attach an EnOcean USB network interface to your SmartServer to add support for communicating with your EnOcean devices. See USB 300, 300U, 400J, and 500U EnOcean Network Interfaces

If a local EnOcean radio is used, then follow the steps below to configure Local Antenna Tunnel settings using the SmartServer EnOcean Configuration page.

  1. Plug the EnOcean USB network interface into an available SmartServer USB drive.

  2. Open the SmartServer Configuration page as described in Accessing the SmartServer Pi Configuration Page. The Configuration page view that appears depends on your cache data. As needed, click the SmartServer IoT tab. The System tab (top) will appear as the default as shown below.



  3. Click the EnOcean tab and configure the Local Antenna Tunnel settings as follows:



    1. Set the Enabled option to enabled status.
    2. Set Auth URL to the EnOcean IoTC cloud URL as supplied by your IoTC provider. Use https:// at the beginning of Auth URL setting.
    3. Use the Host DEV pulldown menu to define the SmartServer USB where the EnOcean radio is connected. To determine which port is being used, enter the following command from a terminal connection to the SmartServer Pi:

      sudo ls -l /dev/serial/by-id/ | grep usb-EnOcean_GmbH

      A response similar to the one shown below is returned, where the port in the example below is ttyUSB0:

      lrwxrwxrwx 1 root root 13 Mar 17 14:48 usb-EnOcean_GmbH_USB_500U_DA_EO6TD13G-if00-port0 -> ../../ttyUSB0
    4. Set Username to the EnOcean IoTC username credentials.
    5. Set Password to the EnOcean IoTC password credentials.
    6. Set Client ID to a user-defined client identifier (e.g., userStarterKit). If you have more than one tunnel within the same IoTC instance, then specify a unique Client ID for each tunnel. Every client that connects to the same IoTC instance must have a unique Client ID.
    7. Set Identifier to your SmartServer MAC ID without the colons (e.g., 00d0710d29b5). You can find your SmartServer MAC ID on the SmartServer System Configuration page. See Viewing System Information.

  4. Click Update to save the local antenna tunnel configuration.

Downloading and Creating EnOcean Device Interface (XIF) and Device Type Definitions

You can download and optionally modify EnOcean device interface (XIF) and device type definitions. You can also manually create custom EnOcean XIF and device type definitions. To download and modify EnOcean device interface (XIF) and device type definitions, follow these steps:

  1. To download EnOcean XIF definitions, download the EnOcean device type package (.dtp) files from the SmartServer GitHub Repository  You can optionally modify the EnOcean XIF files to hide selected datapoints.

  2. To create a custom EnOcean XIF definition (.iotc), see (Optional) Creating a Remote EnOcean Device Interface (XIF) Definition.

  3. To create a custom EnOcean device type definition (.dtd), see Defining Device Types.

  4. If you were previously configured for EnOcean interface local mode, then  open the SmartServer Pi CMS and remove local EnOcean interface device types from the Device Types widget. SeDefining Device Types.

  5. Import the EnOcean device interface (XIF) and device type definitions using the Import / Export button () on the SmartServer app bar.



    When the EnOcean XIF and device type definitions are loaded, the device type definitions will appear in the Device Types widget.



  6. Define datapoint properties for any datapoints to be monitored or logged as described in Setting Datapoint Properties.

Adding Remote EnOcean Devices

Once you have enabled remote mode and imported EnOcean device types, you can manually add EnOcean devices and/or discover EnOcean devices. To add EnOcean devices using remote mode, perform the following steps.

  1. Open the SmartServer Pi CMS.

  2. Open the Devices widget.



  3. If you were previously configured for EnOcean interface local mode, then remove the EnOcean devices from the Devices widget. See Discovering, Defining, or Importing Devices.

  4. If you are manually adding EnOcean devices, then define the Create Edge Devices fields as shown in the example below. See Discovering, Defining, or Importing Devices

    • Name – enter a name for the device
    • UID – enter the ID that is printed on the back of the device (e.g., 04208BA6). Use the 8 least significant bytes of the ID.
       


    • Integration method – select Manual assignment 
    • Driver – select iotc
    • Device Type – select the device type (e.g., STM550-V1-1)

      The devices are added and automatically provisioned.

  5. If you are adding EnOcean devices using IoTC, then click the Discover button () on the Devices widget.



    A confirmation dialog box appears indicating that discovery may take up to 40 minutes to complete.



  6. Click OK to start device discovery.

    The discovered remote EnOcean devices appear in the Devices widget.



    The discovered remote EnOcean devices are automatically provisioned.



    If you discover remote EnOcean devices, removing them using the SmartServer CMS Devices widget removes the devices from the remote server

  7. If discovery continues to run, perform the following:

    1. For SmartServer 4.4 and higher, click the Stop button () as described in Discovering, Defining, or Importing Devices.

    2. For SmartServer 4.3 and prior, reboot the SmartServer Pi