Software Engineer
Homey Energy - (2018 - 2019)
Description
At Homey my main task was the creation of Homey Energy. The Homey platform's home energy management system. The led the creation of Homey Energy from start to finish, including use case analysis & requirements engineering, software design, technology choices regarding the databases and how to process and format the data. The finished system includes functionality for:
- Live power production
- Live power use from sensors
- Live power use estimates for devices
- Battery monitoring
- Historical analysis
The Homey Energy platform was built using JavaScript as a NodeJS server application backed by a time-series database that enabled the efficient storage and analysis of the historical energy data. The choice for a time-series database also impacted the Homey Insights functionality which experienced an increase in performance and a decrease in complexity as a result.
Buzzwords
- JavaScript
- Node.js
- Research
- Software design
- Timeseries databases
- Data analysis
- Real-Time computing
Software Engineer
Part-Time - Integrations - (2017 - 2018)
Description
While working at Homey part-time next to my studies I was helping out with the development of multiple Homey integrations. This involved exploring protocol definitions for Z-Wave, Zigbee and 433 MHz radio devices, implementing said protocols in JavaScript and testing the created integrations on a local device. The stack on which these integrations are built is an in-house developed framework that makes of NodeJS, Homey exposes its own API for integrations to use and helpers for the network communications but integration logic is often very device specific and subject to many unforeseen use cases by end users. During this time I have worked maintained and developed integrations for the following devices:
- Fibaro Z-Wave devices
- Aeotec Z-Wave devices
- Neato robot vacuums
- Somfy sun covers
Buzzwords
- JavaScript
- Node.js
- Z-Wave
- Zigbee
- Radio communication
- Network protocols