Key features and highlights
Mobile UI/UX
New designs and functionality for the platform’s iOS and Android apps with configurable styles and layouts in line with a user’s corporate identity.
The features to define a user’s location and apply related settings accordingly, such as the date and time formats and the language (English, German, Russian).
A calendar for creating and tracking users’ events, with the ability for the owner to invite other people.
This feature allows the user to choose any asset or place and book it, placing the event in the calendar.
- Communication Functionality
This feature lets users communicate with each other with the help of groups, channels and private messages.
This feature lets users view and manage information within each mesh.
User is provided with the diagnostic info on different services such as Location, Bluetooth, and Internet Connection.
- Location notifications info
The app has the ability to listen to nearby beacons which may contain specific location info (wiki, process etc.).
In order to improve user experience and performance of the app, main images, icons, fonts are cached, as well as main data entities (which are also periodically retrieved from the server side).
IoT plugins
Proximity, Touch and Temperature sensors — options for sensors to start both as a master, and as a slave.
Light control and occupancy sensors — logic drafts (API calls, XMPP events stream logic).
Different configurations of Light, Thermostat and Jalousie controls, Virtual BACnet devices communication (connecting with different devices running on the same IP and port). Sharing one port for several devices on the Thing-it side restarts optimization. BACnet device simulator, BACnet events subscription auto-disabling (workaround for unexpected crashes/stops). Status check logic for complex actors. Logic sharing and reusing for several devices (via redux).
- Communication protocol for BLE
Implemented communication protocol for BLE Bluetooth Low Energy – device ECO Side Lock 7010.
HVAC, light, media and room controls.
- Enocean IP-connected devices
Switch, occupancy sensor, power outlet/plug, temperature sensor.
Technical highlights
- The architecture was tuned for dynamic content creation and visualization.
- The architecture was set up on the client’s side to change UI (color palette, font, font size, alignment etc), depending on the client’s styles and data caching.
- A modular architecture was set up to reduce complexity, simplify maintenance and increase the platform’s scalability.
- The Redux library was introduced to ease the state management pains of such a large application.
- The platform and the mobile app were ported from AngularJS to the more advanced Angular 2 and later Angular 7.