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:
{{device_name}} – intelligent, ruggedized field datalogger that interface with a wide range of sensors.
{{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.
{{platform_connector}}(Optional) – a lightweight connector that enables seamless data integration with external SCADA systems or enterprise applications.
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
Request
.MSIinstaller from[email protected]Copy and run on the host computer
Configuring FAI Lite
Navigate to the Agent installation directory
Open
appsettings.jsonEdit
DeviceQueueItems– defines how many samples/metadata the queue can hold before pausing intakeCSV Output:
Configure parameters like file formatting, folder structure, and filtering (see CSV settings)
DNP3 Output:
Configure core threads, outstations, and templates
Devices not mapped to outstations will be ignored
MQTT Communication:
Define Broker settings: host, port, TLS, credentials
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.
Restart the Agent to apply changes
Integrate Raw Value Data using your SCADA configuration (see SCADA Integration)
Configuring Wavelet Devices
To enable MQTT communication:
Connect the Wavelet to FAI Pro or FAI Local
In the UI:
Go to
Advanced Device Configuration > GSMSet the following:
gsm_mqtt_enable = 1MQTT Server Address = <Broker IP or hostname>MQTT Server Port = 8883Use 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)
Search for Windows Defender Firewall or run
firewall.cplNavigate to
Advanced Settings > Inbound Rules > New RuleSelect Port, choose TCP, and enter 8883
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:
DefaultVariationsforBinaryInput,AnalogInput,CounterAnalogInputs/BinaryInputs/CounterssectionsEach Source (channel type/number) is assigned a unique
IndexandClass(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
DeviceCustomAttributesandChannelCustomAttributesReference 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
Planning for an On-Premises Server
Network and Security Setup
Installation and Configuration
Changing the TLS Certificate
Designating SMTP Server
Database Retention Management
Sanity Check
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
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
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_*.runStep 2: Perform Installation
sudo OFFLINE_PACKAGES=Yes INSTALL_PATH=/opt/onprem ./onprem_offline_install_<version>.runStep 3: Verify Installation
Check logs for the
"PLAY RECAP"lineLog out and back in to apply admin privileges
Step 4: Change Admin Password
sudo dchpwd admin update_configEnter 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/nginxUpdate the certificate:
sudo /opt/onprem/update_https_certificate.sh /etc/ayyeka/nginx/cert.crt /etc/ayyeka/nginx/cert.key5. Designating SMTP Server
Configure the SMTP server:
dsmtp_setupProvide the following details when prompted:
SMTP Host, Port, Username, Password
TLS Support (type
Yesif 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.sh7. Test
Log in to the on-premises UI with admin credentials
Create a test account and send a user invitation
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
Export Device Metadata: Export site and device configurations from FAI Cloud.
Import Metadata and Firmware: Transfer exported files to the FAI Local Server and import them.
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
Log in to FAI Cloud:
Use an AccountOwner or Partner role account.
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.
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
Use the FAI Cloud interface to upload the exported zip file:
Go to Fleet > Accounts.
Click Set Action > Import Sites and upload the file.
Monitor the import process in the Tasks section.
Step 2: Reconfigure MQTT and HTTP Communication
Log in to FAI Cloud:
Use an AccountOwner or Partner role account.
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 to1.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.
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
Server Architecture Overview
High Availability Recommendations
Maintenance Guidelines
Monitoring
Ongoing Maintenance
Disk Space Monitoring and Planning
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
/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 -hDelete logs:
docker inspect --format='{{.LogPath}}' $(docker ps -a -q) | sudo xargs -n 1 truncate -s 0Remove unused images:
docker image prune -a5. Troubleshooting
Use these commands to monitor and manage Docker containers:
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
Open Preferences
At the bottom of the left pane, click the Profile (user icon) then click Personal Settings.
Select the Preferences tab.
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.
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