Image Veev Ios App Scree

The Veev Series

How Temy Became Part of the Smart Home Revolution

WebIoTServerlessChatbotMobile

Capabilities

  • Backend
  • Frontend
  • Cloud infrastructure
  • iOS and Android
  • UX/UI design
  • Software QA and testing

Duration

  • September 2017 – Ongoing

Team

  • 4 Software Engineers
    1 UI/UX Designer
    2 QA Manual Engineers
    1 DevOps

Co-op model

  • Team Extension
The Veev Series:

How Temy Became Part of the Smart Home Revolution

Despite the wide use of smart home products, the market offers fragmented options. Most digital house offerings are standalone solutions — your smart home needs separate apps for your climate control system, lighting, smart door locks, and so on.

But now, for the first time, Veev Digital Home offers a fully connected smart home system. Veev Digital Home is essentially a house designed to be smart. Embedded into the walls at the construction stage, users can control Veev’s smart home functionality through the Veev mobile app, touch panels in every room, and Amazon Alexa.

Uniting diverse devices into a single ecosystem is a challenge, and Temy’s took a giant leap to conquer it. Veev Digital Home is now a reality. It’s hard to believe that it all began with a prototype but no clear plan.

This first post in our series about the Veev project considers Veev’s system as a whole to tell the central story of how we collaborated to develop the system, rather than delve into each part of the system in detail. However, if you want to learn more about each smart feature in Veev’s system and how we implemented it, feel free to read other posts from the series:

But first for now, let’s get back to our main story.

Image

How It All Started

Veev Digital Home (originally called Adomi) was started by Alon Klein, an entrepreneur with extensive experience in systems engineering, hardware design, and manufacturing.

When we first met, Mr. Klein had already built an initial prototype of the smart home system, running on a single Intel NUC (a local hub) in a single house. The minimum viable product (MVP) that helped Veev to secure funding. However, the MVP was still far from the full-fledged cloud-based smart solution that now runs in hundreds of homes. To build the full solution, he needed a team of full-stack engineers with diverse expertise:

  • Cloud-based back-end engineering, specifically Amazon Web Services (AWS)
  • Android and iOS app development
  • Web development
  • Software testing
  • IoT protocols & hardware integration (light controllers, HVAC, smart locks, doorbells, and shades)

Klein found the perfect mix of expertise at Temy.

HOW WE WORK
Image 6

Temy successfully merged various smart devices into a unified ecosystem so users could manage their entire smart home from a single app, a touch panel, or through voice commands. These are the smart device features Temy implemented.

Lighting control

Users can control lights remotely using a mobile app, touch panel, or voice commands. Besides turning lights on and off, users can dim lights and change the color temperature. They also have the option of setting lights to turn on and off automatically based on a set schedule or in response to motion sensors.

Temy used a combination of ArtNET DMX controllers and Z-Wave to integrate different smart bulbs and motion sensors, and coordinated them via services implemented in Java running on the local NUC server.

Climate control

Smart thermostats can adjust the house’s temperature house based on user preferences. Like the lights, users can control the thermostats remotely in the app. In addition, users can set different programs for different zones of their smart homes.

Veev Digital Home uses different thermostat adaptors and temperature sensors for different homes. Connected via ArtNET DMX controllers and Z-Wave, the adaptors and sensors communicate with the local server, and all control logic is implemented in Java.

Climate

Humidity control

Smart humidity sensors monitor moisture levels in bathrooms and trigger fans to maintain the needed humidity level. The humidity sensors transmit data to Z-Wave HubitatHub while the fans are connected to the server through the ArtNET DMX controllers. Menawhile, Java services manages the system.

Door lock and doorbell

Homeowners can lock and unlock the front door manually or remotely via the app, voice control, or touch panels. The lock control feature is particularly convenient in combination with the doorbell feature: When someone rings the bell, the system notifies the user, who can then use the app or a touch panel to initiate a video call with the visitor, and to open the door.

From a technical point of view, the front door locks or unlocks depending on the state of a lock sensor. To communicate with the local server, the smart lock uses ArtNET DMX controllers while the sensors transmit the lock state data via the Z-Wave protocol. The doorbell uses a solution called DoorBird, which is integrated into the system. All operations are managed by services written in Java running on the NUC server.

Shades control

Homeowners can control the position of shades remotely via the app, touch panel, and voice. Smart motors connect to the server via ArtNET DMX controllers and Shade Store Wi-Fi Bridge, both of which are integrated into the system, ensuring seamless operation with control logic implemented in Java.

This list covers some of the most widely used smart device features implemented by our team. We implemented additional features, such as garage door functionality, but in order to maintain the simplicity of the system, Veev doesn’t currently offer the feature.

Challenges

Building a production-grade system from a prototype wasn’t easy. The process involved some real engineering challenges.

Challenges
Image 496

Challenge #1

It’s impossible to develop the prototype into the robust solution now implemented in thousands of homes without relying on cloud infrastructure. But cloud infrastructure raises security concerns. How did we implement secure communication between the cloud, the local hub, and devices?

Challenge #2

The key feature (and the advantage) of a smart house is the ease of controlling lights, blinds, locks, and other devices from anywhere. What features did we implement to make controlling everything in the house as easy as possible for users?

Challenge #3

The client and Temy are based in different countries. How did we speed up configuration and testing of smart devices across borders?

Challenge #4

The majority of smart homes rely on devices from a single manufacturer, which is extremely limiting, so Veev opted to mix devices from different manufacturers. How did we seamlessly integrate devices across different manufacturers’ communication protocols into one system?

Challenge #5

The client had no clear plan at the beginning. This begs the question, How did we build a successful solution without a plan?

The Role of the Temy Team

Temy team played a pivotal role in overcoming the challenges to provide a seamless solution

How we work

The Team

Our alliance with Veev Digital Home differed from a conventional client-contractor relationship In that we collaborated across three countries, with the business side (the client’s team) based in the US and Israel and Temy’s team based in Ukraine. The client’s team did all the research, collected residents’ feedback, and gave their requirements to our team.

As for Temy’s team’s team structure, we initially assigned a cloud architect and a back-end engineer. But as the project progressed, the team grew to eight engineers, plus two QA experts.

How we work

A dedicated team handled each component of the Veev system

These teams closely collaborated through regular meetings and communication channels like Slack, to ensure that everyone stayed on the same page. This high level of inter-team coordination extended to the QA team, who worked in tandem with the installers’ team based in the US. The collaboration ensured that all system components underwent thorough testing from end to end.

Since the client had no A-Z requirements, we settled on scrum, renowned for its iterative approach, regular feedback, and close collaboration. Using the scrum methodology gave us the flexibility to test hypotheses on the go and roll back changes easily. We coupled the scrum approach with a rigorous risk management process that involved regular monthly e-meetings with the Veev team and close monitoring of all issues. As a result, we quickly adapted to changes in requirements.

Image 1
How we work

The Solution

After over five years of close collaboration and fifty-two sprints, we delivered a powerful automated home system configured on a web-based back office and controlled remotely through touch panels (Wall Switches), an iOS app, and Amazon’s Alexa.

The system’s backend runs in the AWS cloud. The local server sends device data to the cloud service to sync up with user apps.
Let’s take a closer look at these essential components of the system, i.e. the local hub, touch panel, mobile app, voice control, and web-based back office.

Image 3

Local hub

This is basically a local server — the “brain” of every digital home powered by VeevOS. The local hub connects the house’s sensors and devices through a cabled Ethernet communication protocol. This ensures the availability of smart home functionality even without the internet.
The local hub, written in Java atop the Mosquitto MQTT framework and deployed on Intel’s NUC, has secure upstream network connectivity with the AWS cloud. Temy made the VeevOS installation and setup process plug and play, similar to that of WindowsOS — all the installer needs is a flash drive with the configuration.

Since each Veev smart system is customized to each house’s individual floor plan, plug and play spares installers from the usual smart house configuration headaches: manually creating configurations, adding all the devices one by one in the back office, generating certificates for identification of the house, syncing up the local server with the cloud server, and so on. Instead, the flash drive has all the custom configurations required for a given house — just insert it into the NUC and press a key.

Touch panel

Every room in the Veev Digital Home is equipped with a touch panel — an Android app called Wall Switch running in kiosk mode on a touch-screen tablet. This allows users to control devices in the entire house without a cloud connection — it’s accessible without the internet unlike the mobile app, voice control, and the back-office.

Wall Switch communicates with the local server directly through Ethernet to change the state of devices in the house. Whenever the user performs an action in Wall Switch (turns on or turns off the lights, for example), the local hub initiates the device state change and communicates the corresponding event to the cloud services.

Image 5

Mobile app

The mobile app allows users to control their household smart devices, whether they’re home or not. Initially, we implemented two separate apps, an iOS and Android app. But ultimately, the client decided to move ahead with the iOS version only.

The iOS app has a serverless API backend running in an AWS environment. This means that it requires an internet connection to function. Here is how it works:

  • A user performs an action in the app.
  • The app calls an API and activates the appropriate Lambda function.
  • The Lambda function sends the IoT signal to the local hub and updates a database.
  • The local hub changes the device state.
A

Voice control

We gave Veev Digital Home users the ability to control their smart home devices by voice by integrating the VeevOS with Amazon Alexa Voice AI. The inner workings here are similar to those of the mobile app:

  • A user sends a voice request to Alexa.
  • Alexa activates the needed Lambda function.
  • The Lambda function processes Alexa’s commands, sends the IoT signal to the local hub, and updates the database.
  • The local hub changes the device state.
Voice

Web-based back office

Each smart house is configured with a web-based administrative application with multiple user roles, including installers and sales teams. For example, Veev’s sales team can use it to add new residents to the system. Also, Veev’s support service can use it to define the floor plan of the house, add and register devices and their locations, and remotely monitor and maintain the system’s health. The back office has a React-based frontend and a serverless API backend running in an AWS environment.

Wrap-Up

The Veev Digital Home project was initially fraught with doubt. Was it even possible to integrate different devices in a uniform environment, so users could interact with the system easily and securely? Against the odds, Temy achieved the extraordinary and implemented a sophisticated, seamlessly functioning solution. Moreover, we achieved this without defined requirements and without being able to test each component on-site.

More of our Works

View more
Coffe Shop Image

Coffee Shop

View More
Rollsoft Image

ROLLSOFT

View More