System Overview

System Overview: {{company_name}} Datalogger and IoT Platform

{{company_name}} provides a reliable and multipurpose solution for remote infrastructure monitoring, enabling almost real-time data acquisition and analysis. The system is composed of three key components:

  1. {{device_name}} – intelligent, ruggedized field datalogger that interface with a wide range of sensors.

  2. {{platform_name}} – a centralized IoT platform for device management, data visualization, alerts, and integration with third-party systems. The {{platform_name}} can be deployed either in the cloud or on-premises, depending on customer requirements.

  3. {{platform_connector}}(Optional) – a lightweight connector that enables seamless data integration with external SCADA systems or enterprise applications.

Components High-level Diagram

1. {{company_name}} Datalogger: {{device_name}} Edge Device

The {{device_name}} datalogger is the cornerstone of {{company_name}}’s field data acquisition. It serves as a smart bridge between sensors in the field and the platform. Key features include:

  • Multi-Sensor Compatibility: Supports analog, digital, serial, SDI-12, Modbus, and pulse inputs.

  • Edge Computing: Performs real-time data simple processing, filtering, and event-driven decision-making.

  • Power Efficiency: Battery-operated with long-lasting power capacity; options for solar integration.

  • Secure Communication: Encrypted data transmission via cellular or LoRa.

  • Rugged Design: IP68-rated enclosure, suited for harsh environmental conditions.

Each {{device_name}} device comes pre-configured for plug-and-play deployment. Once installed, it begins collecting and transmitting sensor data based on the programmed sampling and transmission schedule.

To support field installation and diagnostics, {{company_name}} provides the {{mobile_app_name}} mobile app, which connects to the {{device_name}} using Bluetooth Low Energy (BLE). Designed for use during on-site setup and maintenance, AyyekaGo allows field technicians to:

  • View the latest transmission and sampling status

  • Configure cellular connectivity settings and preferences to improve signal stability

  • Check GSM (signal strength) and perform cellular diagnostics

  • Verify sensor wiring, power levels, and input status

  • Perform local tests, diagnostics, and basic configuration without requiring a full laptop or cloud connection

The app streamlines deployment, simplifies troubleshooting, and ensures a smoother commissioning process in the field.

  • Review transmission status and sampling schedule in real time

  • Configure cellular settings and communication preferences to improve connectivity

  • Check signal strength

  • Verify sensor wiring and power levels

  • Perform local testing and device identification

{{mobile_app_name}} streamlines deployment, simplifies troubleshooting, and eliminates the need for specialized equipment during installation.

2. {{platform_name}}: Field Asset Intelligence Platform

The {{platform_name}} is a scalable platform that acts as a lightweight SCADA for managing field-deployed {{device_name}} devices and their data streams. It can be hosted as a cloud solution or deployed on-premises for customers with specific regulatory or IT security needs.

Core Functions:

  • Device Management:

    • Configure and monitor {{device_name}} units remotely.

    • Perform firmware updates (OTA).

    • Monitor {{device_name}} status and diagnose health issues with real-time diagnostics and automatic health reporting.

  • Data Visualization:

    • Real-time and historical trend analysis.

    • Map-based and graph-based display of sensor values.

    • Custom dashboards for various use cases (e.g., water quality, sewer overflows, tank levels).

  • Alerts and Notifications:

    • Threshold-based alerts via SMS or email.

    • Time-based and event-based notifications.

  • Data Import/Export and Integration:

    • REST API to integrate with custom third-party applications, enabling secure and structured access to field data pulled from the {{platform_name}}.

    • Export to CSV for external analysis, using automated scheduled reports generated within the {{platform_name}}.

    • Integration with weather APIs, environmental data sources and simple CSV file imports to enhance analysis and automation.

  • Security and Compliance:

    • End-to-end encryption (TLS/SSL).

    • User access roles and audit trails.

    • Compliance with industry standards (e.g., ISO27001, RED, etc.).

3. Optional: {{platform_connector}}

For advanced integration needs, {{company_name}} offers an optional {{platform_connector}}. This lightweight software conenctor component can be deployed to:

  • Pull data from the {{platform_name}}

  • Push it into third-party systems using industry-standard SCADA protocols such as OPC-UA or DNP3, or CSV.

  • Serve as a connector between {{platform_name}} and SCADA platforms.

This allows customers to retain their existing automation infrastructure while leveraging the intelligence and connectivity of {{company_name}}’s IoT ecosystem.


Deployment Architecture

A typical {{company_name}} setup includes:

  • Sensors deployed in the field, wired to a {{device_name}} datalogger.

  • {{device_name}} transmits data at defined intervals or based on event triggers.

  • {{platform_name}} (cloud or on-prem) receives, stores, and processes incoming data.

  • Users interact with the platform via a secure web portal or API to view data, configure settings, and generate reports.

  • For integration with existing control systems, the optional {{company_name}} Integration Agent can facilitate data transfer into SCADA systems or enterprise applications.

FAI Lite Agent Integration Guide

The FAI Lite Agent enables exporting Raw Value data from the Wavelet to CSV files or directly to your SCADA system using DNP3 or OPC-UA. To function correctly, the Agent must communicate with both the MQTT Broker and the Wavelet device.


Quick Navigation


Prerequisites

Required Knowledge & Tools

  • Understanding of MQTT (see: MQTT Essentials for tutorials)

  • Sensor documentation, including communication protocols

  • Installed and configured MQTT Broker:

    • Must be accessible from inside and outside the network

    • Port 8883 (secured) and optionally 1883 (unsecured) must be open

    • TLS must be enabled with signed certificates

  • Address and port of the Broker

  • Broker credentials (if using authentication)

Device Requirements

  • Wavelet firmware v2.29x or newer

Host Computer Requirements

  • Windows® Server 2012 64-bit or Windows 10 64-bit

  • Microsoft .NET 5

  • Read-write access to local file system

  • Open access to MQTT Broker port

Installation

  1. Request .MSI installer from [email protected]

  2. Copy and run on the host computer


Configuring FAI Lite

  1. Navigate to the Agent installation directory

  2. Open appsettings.json

  3. Edit DeviceQueueItems – defines how many samples/metadata the queue can hold before pausing intake

  4. CSV Output:

    • Configure parameters like file formatting, folder structure, and filtering (see CSV settings)

  5. DNP3 Output:

    • Configure core threads, outstations, and templates

    • Devices not mapped to outstations will be ignored

  6. MQTT Communication:

    • Define Broker settings: host, port, TLS, credentials

  7. Additional Agent Settings:

    • Metadata: Custom attributes for CSV/OPC-UA

    • Serilog: Logging preferences and location

    • Logging: Windows Event Viewer integration

    • StoreDumps: Where Raw Value binary dumps are stored and how they’re archived

Important: Re-uploading dump files can cause data duplication. Avoid repeated uploads unless you explicitly intend to replicate.

  1. Restart the Agent to apply changes

  2. Integrate Raw Value Data using your SCADA configuration (see SCADA Integration)


Configuring Wavelet Devices

To enable MQTT communication:

  1. Connect the Wavelet to FAI Pro or FAI Local

  2. In the UI:

    • Go to Advanced Device Configuration > GSM

    • Set the following:

      • gsm_mqtt_enable = 1

      • MQTT Server Address = <Broker IP or hostname>

      • MQTT Server Port = 8883

      • Use SSL = 1

The configuration is applied on the next transmission. Raw Value data will begin streaming to your MQTT Broker. Note: The Agent must be running; otherwise, MQTT messages will be dropped.


📁 Appendix A: Opening MQTT Port (8883)

  1. Search for Windows Defender Firewall or run firewall.cpl

  2. Navigate to Advanced Settings > Inbound Rules > New Rule

  3. Select Port, choose TCP, and enter 8883

  4. Allow the connection, apply to all profiles, and name the rule (e.g., MQTT Service Port)


📂 Appendix B: Configuration File Details

templates.json

Maps device channels to DNP3 input types and indices. Includes:

  • DefaultVariations for BinaryInput, AnalogInput, Counter

  • AnalogInputs / BinaryInputs / Counters sections

  • Each Source (channel type/number) is assigned a unique Index and Class (for polling efficiency)

✅ Custom templates are supported ✅ Every device must be mapped to a template to avoid data loss


mappings.json

Maps devices (by AKID) to templates and assigns an Offset to differentiate channels:

[
  {
    "AKID": "24A04F085C80A4B0",
    "TemplateName": "DefaultTemplate",
    "Offset": 0
  }
]
  • 🔸 1 Outstation = max 650 devices

  • 🔸 Each Outstation must have a unique mapping file


metadata.json

Used to add custom attributes to devices/channels:

  • Filter or enrich CSV/OPC-UA outputs

  • Define in DeviceCustomAttributes and ChannelCustomAttributes

  • Reference in CSV headers like:

"Header": "Serial Number, Channel Name, Channel Number, Sampling Time, Value, Units"

▶️ Starting / Stopping / Uninstalling the Agent

  • Start/Stop: Via Windows Services (FAI.Agent)

  • Uninstall: Use Settings > Apps > FAI.Light > Uninstall


🔍 MQTT Broker References

  • RabbitMQ – CLI, config, queues, authentication

  • Mosquitto – Config file, CLI

  • HiveMQ – Installation, security, monitoring

Installing New Ayyeka Local Server

This guide outlines the process for setting up an on-premises Ayyeka Server to replace the Ayyeka cloud platform. Customers are responsible for ensuring the server meets all system requirements and managing operations like administration, backups, and security.

Key Considerations

  • Independence: Once the server is deployed, it will no longer sync with Schneider Electric's cloud platform for updates.

  • Responsibility: Customers must handle server redundancy, cybersecurity, backups, and full-disk encryption.

Steps Overview

  1. Planning for an On-Premises Server

  2. Network and Security Setup

  3. Installation and Configuration

  4. Changing the TLS Certificate

  5. Designating SMTP Server

  6. Database Retention Management

  7. Sanity Check

  8. Final Steps

1. Planning for an On-Premises Server

Skill Requirements

  • Familiarity with Linux server administration (Ubuntu 20.04)

  • Knowledge of network, security, and backup management

Prerequisites

  • Fixed IP/DNS for inbound HTTPS/MQTT traffic

  • SMTP server details (host, port, username, password)

  • SIM Cards: Provide your own or purchase from Schneider Electric

Hardware Requirements

Devices
CPU Cores
RAM
Storage

1–50

4

8 GB

500 GB SSD

51–500

10

16 GB

1 TB SSD

501–4000

32

64 GB

1 TB SSD

2. Network and Security Setup

Inbound Ports

Port
Description
Firewall Config

8883

MQTT device communication

Allow external traffic

9443

HTTPS device communication

Allow external traffic

443

Web user interface

Block external, allow internal

Outbound Traffic

Map services require access to:

  • mapbox.com (Port 443)

  • api.mapbox.com (Port 443)

3. Installation and Configuration

Step 1: Connect to the Server

  • Use an SSH client to log in as an admin user

  • Copy the installation file:

sudo chmod +x onprem_offline_install_*.run

Step 2: Perform Installation

sudo OFFLINE_PACKAGES=Yes INSTALL_PATH=/opt/onprem ./onprem_offline_install_<version>.run

Step 3: Verify Installation

  • Check logs for the "PLAY RECAP" line

  • Log out and back in to apply admin privileges

Step 4: Change Admin Password

sudo dchpwd admin update_config
  • Enter a secure password (12+ characters, uppercase, lowercase, numbers)

4. Changing the TLS Certificate

  • Copy the certificate and key:

cp cert.crt /etc/ayyeka/nginx
cp cert.key /etc/ayyeka/nginx
  • Update the certificate:

sudo /opt/onprem/update_https_certificate.sh /etc/ayyeka/nginx/cert.crt /etc/ayyeka/nginx/cert.key

5. Designating SMTP Server

  • Configure the SMTP server:

dsmtp_setup
  • Provide the following details when prompted:

    • SMTP Host, Port, Username, Password

    • TLS Support (type Yes if enabled)

    • Sender Email Address

6. Database Retention Management

  • Retention is managed via a cron job running weekly

  • Configure settings in /opt/onprem/dockers/.env_scripts

Run the cleanup script:

cd /opt/onprem/sql_scripts/
./db_cleanup.sh

7. Test

  1. Log in to the on-premises UI with admin credentials

  2. Create a test account and send a user invitation

  3. Accept the invitation, complete your profile, and verify user functionality

8. Final Steps

  • Device Migration: Transfer all devices from the cloud to the on-premises server. Follow detailed migration steps provided in the documentation

  • Optional VPN Setup: Configure a VPN to allow Schneider Electric Support access if needed

For assistance, contact support.

Device Migration from FAI Cloud to FAI Local Server

Device migration involves transferring devices from the cloud-based FAI Cloud to an on-premises FAI Local Server. After migration, devices will transmit and store data directly on the on-premises server. Note: Historical data stored on the cloud server is not included in the migration process.

Overview of the Migration Process

  1. Export Device Metadata: Export site and device configurations from FAI Cloud.

  2. Import Metadata and Firmware: Transfer exported files to the FAI Local Server and import them.

  3. Reconfigure Communication: Update server communication parameters for each device to point to the on-premises server.

Prerequisites

  • Credentials for a user with AccountOwner role in FAI Cloud.

  • Details for the FAI Local Server:

    • Server IP address or hostname.

    • Administrator username and password (with SUDO privileges).

    • Account ID for the devices on the on-premises server.

  • FTP client for transferring files.

  • Ensure accounts for the new sites are already set up on the on-premises server.

Step 1: Export Device Metadata

  1. Log in to FAI Cloud:

    • Use an AccountOwner or Partner role account.

  2. Export Sites:

    • Navigate to Fleet Management in the left pane.

    • Filter the devices using identifiers like Account or Collection.

    • Select relevant devices and click Set Action > Export Sites.

  3. Save the Export File:

    • Name the export task (e.g., New_Export_Sites_Task_08162020).

    • Ensure the file name does not contain special characters; replace spaces with underscores.

    • Click Submit and download the export file when ready.

For Software Versions 3.42.2 and Newer

  1. Use the FAI Cloud interface to upload the exported zip file:

    • Go to Fleet > Accounts.

    • Click Set Action > Import Sites and upload the file.

  2. Monitor the import process in the Tasks section.

Step 2: Reconfigure MQTT and HTTP Communication

  1. Log in to FAI Cloud:

    • Use an AccountOwner or Partner role account.

  2. Update Server Communication Settings:

    • Navigate to Devices in the left pane.

    • Select the device and open the Configuration tab.

    • Scroll to Advanced Device Configuration and open the GSM section.

    • Update the following fields:

      • gsm_mqtt_enable: Confirm it is set to 1.

      • MQTT Server Port: Confirm it is 8883.

      • MQTT Server Address: Replace with your on-premises server’s IP or hostname.

      • HTTP SSL Port: Confirm it is 9443.

      • HTTP Server Address: Replace with your on-premises server’s IP or hostname.

  3. Submit Changes:

    • Verify all entries and click Submit.

Important:

  • Devices will stop transmitting to FAI Cloud once these settings are applied.

  • Incorrect server addresses may result in losing control of the device.

Post-Migration Notes

  • Devices will communicate with the FAI Local Server the next time they connect.

Maintenance Guide for FAI Local (On-Premises) Server

Proper maintenance is essential to ensure the reliability and availability of the FAI Local Server. Neglecting maintenance may result in downtime, data loss, or poor performance. Note: Ayyeka is not responsible for maintenance or any failures resulting from insufficient upkeep.

Contents

  1. Server Architecture Overview

  2. High Availability Recommendations

  3. Maintenance Guidelines

    • Monitoring

    • Ongoing Maintenance

  4. Disk Space Monitoring and Planning

  5. Troubleshooting

1. Server Architecture Overview

The server software uses microservices deployed in Docker containers to handle tasks like user interface, data processing, and device communication. The system relies on:

  • MySQL: Stores collected data, metadata, and application state.

  • Redis™: Caches frequently accessed data and handles system-wide synchronization.

  • RabbitMQ™: Manages communication between microservices and device data reception.

2. High Availability Recommendations

For enhanced reliability, customers may implement:

  • Redundant internet connections.

  • Multiple servers for failover.

  • High availability setups for MySQL, Redis, and RabbitMQ. Contact Ayyeka support for assistance in planning high availability architectures.

3. Maintenance Guidelines

Monitoring

  • Disk Space: Ensure at least 16 GB of free space for growth, backups, and updates.

  • System Health: Periodically monitor CPU, memory, and hypervisor (if virtualized).

  • Critical Services: Verify these services are running:

    • MySQL

    • Redis

    • RabbitMQ

    • Docker

Ongoing Maintenance

  • Updates: Apply OS and Ayyeka software updates regularly.

    • Major updates: Every 6 months.

    • Minor updates: Every 2 months.

    • Always back up your system before updates.

  • Backups:

    • Perform regular backups of the database and configuration files.

    • Store backups offline in a secure location and test them quarterly.

4. Disk Space Monitoring and Planning

Directory
Contents
Growth
Action

/var/ayyeka/ak-dumps

Backup of raw HTTP data

30-day retention enforced

Ensure sufficient disk space for retention.

/var/ayyeka/proto-dumps

Backup of raw MQTT data

30-day retention enforced

Ensure sufficient disk space for retention.

/var/ayyeka/backup

Database and config backups

7-day retention enforced

Backup offline regularly.

/var/lib/mysql

Database storage

Grows with more devices and data

Add storage as needed.

/var/lib/rabbitmq

RabbitMQ data

Should not grow steadily

Monitor for unexpected increases.

/var/lib/docker

Docker images and logs

May grow after updates

Clean logs and prune unused images if needed.

/var/log/ayyeka

Application server logs

Grows with activity; 7-day retention

Investigate fast growth; it may indicate issues.

/var/lib/redis

Redis data

Should not grow steadily

Monitor for unexpected increases.

Docker Cleanup Commands

  • Check log sizes:

docker inspect --format='{{.LogPath}}' $(docker ps -a -q) | sudo xargs -n 1 du -h
  • Delete logs:

docker inspect --format='{{.LogPath}}' $(docker ps -a -q) | sudo xargs -n 1 truncate -s 0
  • Remove unused images:

docker image prune -a

5. Troubleshooting

Use these commands to monitor and manage Docker containers:

Task
Command

Check directory size

sudo du -sh /var/lib/mysql

List running containers

docker ps

Show resource stats

docker stats

List stored images

docker image ls

Stop a container

docker stop [container_name]

Start a container

docker start [container_name]

Restart a container

docker restart [container_name]

Final Recommendations

  • Perform regular maintenance checks to ensure all critical services are running.

  • Monitor disk space and resource usage to avoid disruptions.

  • Maintain an updated and tested backup system.

For assistance, contact support.

Applying Templates for Wavelets in an On-Premises Setup

This guide explains how to apply a template to a Wavelet on a FAI Local setup. The process involves uploading a zip file provided by Ayyeka Support and applying the template to the desired devices.


Important Notes

  • Applying a template replaces the device’s existing data streams with new ones.

  • Technical streams, reports, logs, and commands remain unchanged.

  • The user must have Owner privileges to import the zip file.


Contents


1. Uploading the Template

1. Provide Details to Ayyeka Support

Send the following information:

  • Sensors required in the template

  • Any special configuration needs

  • Firmware version of the Wavelet

  • Wavelet model (e.g., V2, 4R)

Note: If the requested template needs to be created or updated, additional charges may apply.

2. Upload the Template

  • Navigate to Fleet Management > Actions > Import Sites

  • Browse and upload the zip file provided by Ayyeka Support

  • Verify the upload via Devices > Tasks to ensure it was successful


2. Applying the Template

1. Select Target Device(s)

  • Navigate to Fleet Management in the left pane

  • Choose the target device(s) for the template

  • Ensure all selected devices have compatible firmware versions (check the Firmware column)

2. Apply the Template

  • Click Actions > Apply Template

  • In the Template window, select the template to apply

Note: Templates not displayed may be incompatible due to mismatched firmware or hardware versions.

3. Check Compatibility

  • Click Next to review any warnings about incompatible settings

  • Resolve warnings or choose OK to ignore them (ignored settings will not be applied)

4. Submit the Template

  • Select the Accept checkbox

  • Click Submit to apply the template

Timing: Applying the template may take up to one hour, depending on the device's transmission frequency.

5. Handle Failures

  • If the process fails, a message will indicate the cause. Click the error for details

  • For multiple devices, some may succeed while others fail. Review the error messages to identify failed devices and reasons


3. Verifying the Template

1. Connect and Test Sensors

  • Attach the sensors to the device

  • In the FAI UI, verify that new data streams are sending data as expected

2. Lab Testing

  • Ensure the template works correctly in a controlled environment before deploying the device in the field


This process ensures a successful template application for on-premises Data Logger setups. For additional assistance, contact Ayyeka Support.

Customizing the User Interface Display

Overview

The logged-in user can customize their user interface (UI) display at any time. Additionally, an Organization Owner or Account Owner may configure the UI display settings for users under their management—unless those users have set their own preferences, in which case the individual settings take precedence.

By default, Wavelet data is stored and timestamped in UTC. When displayed in the UI, this data is automatically converted to the user-defined time zone.

Note: User-set Preferences always override any default settings applied by an Organization or Account Owner.

Steps to Customize the UI Display

  1. Open Preferences

    • At the bottom of the left pane, click the Profile (user icon) then click Personal Settings.

    • Select the Preferences tab.

  2. Configure Date and Time Format

    • In the Date and Time Format fields, define how date and time values will appear throughout the UI.

    • You can manually edit the format directly in the input fields.

  3. Apply Default Settings To Specify the scope of the default preferences:

    • User – Applies only to your account.

    • Collections – Applies to all users in collections you manage, unless users have set their own preferences.

    • Account – Applies to all users in accounts you manage, unless an Organization Owner or user has overridden the defaults.

Last updated