(Optional) Add a Remote EnOcean Interface (Beta) for SmartServer IoT
Remote EnOcean interface (beta) is supported with SmartServer 4.3 Update 1 and higher.
For SmartServer Pi, see (Optional) Add a Remote EnOcean Interface (Beta) for SmartServer Pi.
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 interfaces. Local 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:
- 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.
- Optionally add an EnOcean network interface as described on this page.
- Download and modify, or create an EnOcean device interface (XIF) and device type definition as described on this page.
- Define datapoint properties for any datapoints to be monitored or logged as described in Setting Datapoint Properties.
- Define or discover devices as described in Site Provisioning. See the following section on this page for a step-by-step example:
- 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:
- Open a terminal connection to SmartServer IoT.
If the local EnOcean interface (enocean) was previously enabled, then stop the service, and disable it so that it will not start automatically after reboot, by entering the following commands:
sudo smartserverctl stop enocean sudo smartserverctl disable enocean
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
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>
Edit the remote mode configuration file by entering the following command, followed by the apollo password:
SmartServer IoTsudo nano /var/apollo/conf.d/iotcid/iotcid.conf
- 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.
- If your IoTC instance is not using security on the MQTT side, then remove the “username” and “password” lines from the mqtt settings section in the iotcid.conf file.
- 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.
SmartServer IoT 4.4 and higher
SmartServer IoT 4.3
Verify that the port you using is open by entering the following command:
sudo ufw status
If the port is not allowed, then open the port by entering the command:sudo ufw allow <port number>
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
Verify that the remote EnOcean interface (iotcid) is active 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 IoT.
Adding an EnOcean Network Interface
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.
You can also 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.
- Plug the EnOcean USB network interface into an available SmartServer USB drive.
- Open the SmartServer Configuration page as described in Accessing the SmartServer IoT Configuration Page. The Network tab appears as the default SmartServer IoT Configuration page. Once the network settings are configured for the SmartServer system, then the System tab will appear as the default.
SmartServer IoT Network tab
SmartServer IoT System tab - Click the EnOcean tab.
The settings that you configured in the iotcid.conf file appear in the Remote server settings area. - Click Install Local Antenna Tunnel.
The Local Antenna Tunnel settings appear. - Configure the Local Antenna Tunnel settings as follows:
- Set the Enabled option to enabled status.
- Set Auth URL to the EnOcean IoTC cloud URL as supplied by your IoTC provider. Use https:// at the beginning of Auth URL setting.
Use the Host DEV pulldown menu to set 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:
sudo ls -l /dev/serial/by-id/ | grep usb-EnOcean_GmbH
A response similar to the one shown below is returned, where the port is ttyUSB0:
lrwxrwxrwx 1 root root 13 Mar 17 14:48 usb-EnOcean_GmbH_USB_500U_DA_EO6TD13G-if00-port0 -> ../../ttyUSB0
- Set Username to the EnOcean IoTC username credentials.
- Set Password to the EnOcean IoTC password credentials.
- Set Client ID to a user-defined client identifier (e.g., userStarterKit).
- 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.
- Optionally for SmartServer 4.4 and higher, set the Skip TLS and hostname verification option.
- Optionally for SmartServer 4.4 and higher, import the Privacy Enhanced Mail (PEM) certification authority file.
SmartServer IoT 4.4 and higher
SmartServer IoT 4.3 Update 1
- 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:
- 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.
- To create a custom EnOcean XIF definition (.iotc), see (Optional) Creating a Remote EnOcean (Beta) Device Interface (XIF) Definition.
- To create a custom EnOcean device type definition (.dtd), see Defining Device Types.
- If you were previously configured for EnOcean interface local mode, then open the SmartServer IoT CMS and remove local EnOcean interface device types from the Device Types widget. See Defining Device Types.
- 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. - 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.
- Open the SmartServer IoT CMS.
- Open the Devices widget.
- 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.
- If you are manually adding EnOcean devices, then set 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 provisioned.
- If you are adding EnOcean devices using IoTC, then click the Discover button () on the Devices widget.
- For SmartServer 4.4 and higher, a dialog box appears prompting you to select the device protocol for discovery. Select iotc and then click Discover. See Discovering, Defining, or Importing Devices for more information. When device discovery is finished, click Close.
- For SmartServer 4.3 and prior, a confirmation dialog box appears indicating that discovery may take up to 40 minutes to complete. Click OK to start device discovery.
The discovered remote EnOcean devices appear in the Devices widget and are automatically provisioned.If you discover remote EnOcean devices, removing them using the SmartServer CMS Devices widget removes the devices from the remote server.
- For SmartServer 4.4 and higher, a dialog box appears prompting you to select the device protocol for discovery. Select iotc and then click Discover. See Discovering, Defining, or Importing Devices for more information. When device discovery is finished, click Close.
If discovery continues to run, perform the following:
For SmartServer 4.4 and higher, click the Stop button () as described in Discovering, Defining, or Importing Devices.
For SmartServer 4.3 and prior, reboot the SmartServer IoT.