/twomes-provisioning-app

Source code and (pointers to) binary releases of the Twomes WarmteWachter app that helps a user to install and connect one or more measurement devices

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Twomes provisioning app

Note

This repository has been archived and is no longer maintained.

See the status here.

This repository contains the source code for the Twomes provisioning app (WarmteWachter) for both Android and iOS. The app helps a user to install and connect one or more Twomes measurement devices that start collecting monitoring data related to home heating.

Table of contents

General info

The app is meant to be installed automatically by clicking on e-mail invitation on your smartphone that contains a Firebase Dynamic Link, which automatically selects the proper app from the proper app store, installs it and activates the user's account using the account activation token in the Firebase Dynamic Link. The user is then asked to proceed by scanning, one-by-one, the QR-code that is attached to each Twomes measurement device that has been sent to the home address of the user. For each device scanned, the proper device installation instructions are retrieved from the Twomes server and presented. The app then connects with the device, which then scans for available Wi-Fi networks. The user is asked to select their home Wi-Fi network from the list of available networks and supply the password for that network. If everything has been entered correctly, the user is notified the setup was complete and succesful and can choose to configure the next device.

Prerequisites

To deploy and sucessfully use the app you need to have received an e-mail with a proper Firebase Dynamic Link and you need be in the possession of at least one Twomes measurment device.

Deploying

LTS version is available in both the Apple App Store and Google Play Store. For beta versions an invite is required. To receive an invite please contact @henriterhofte. Please include in your request the Email address of the Apple ID or Google Account that's being used on the device you wish to install the app.

Developing

For getting started with the development of the app see Developing - Getting Started.

Features

List of features ready and TODOs for future development. Ready:

  • Activate your account using a Firebase Dynamic Link.
  • Scan the QR code of any Twomes measurment device.
  • Present device specific 'Installation Instructions' that have been fetched from the Twomes backoffice server.
  • Connect via BLE to a Twomes measurement device to provision internet connectivity via your home Wi-Fi network.
  • Have a connected measurement device scan for available Wifi-networks and present these.
  • Provision (write network credentials to) a measurement device.
  • Verify successful device provisioning with the Twomes backoffice server by checking for a measurement (heartbeat) from the measurement device.

To-do:

  • Connect via SoftAP to a Twomes measurement device to provision internet connectivity via your home Wi-Fi network;
  • More complete non-happy flow coverage;
  • Improved and translated error handling for known errors.
  • Usability improvements.
  • Use the production Backoffice API instead of the testing API.

Status

Project is: archived

This repository has been archived and is no longer maintained. This project has been continued as twomes-app-needforheat.

License

This software is available under the Apache 2.0 license, Copyright 2021 Research group Energy Transition, Windesheim University of Applied Sciences

Credits

This software is a collaborative effort of:

Thanks also go to:

Product owner:

We use and gratefully acknowlegde the efforts of the makers of the following source code and libraries: