For some time, I have been working on my own environment monitoring setup — which was already capable of tracking temperature and humidity across all rooms, as well as controlling the heating to save energy & money.

While I enjoyed checking the metrics from time to time, there was still at least one missing piece of the puzzle — air quality. Since I had no idea what that word actually meant, I did some research about the topic, including the available sensors on the market.

As it turned out, there are multiple quality metrics that one could monitor — beyond…

In some countries, including where I live, district heating is quite common. Apartment buildings in a given area get heating from a common, central place — called the heating central —in the form of hot water, transported via insulated pipes (well, that’s at least one solution).
Apartments then have radiators that the hot water warms up.
There is, of course, quite a difference in energy consumption (i.e how much heat is used) for the different apartments, depending on where they are located (top/ground floor/corner) and who’s living in them.

The Trigger

Shortly after I started with home monitoring, the housing association kicked…

I have been looking for something that would enable monitoring the temperature — among other metrics — in my apartment. I wanted something that:

  1. enables temperature monitoring in multiple rooms
  2. has small sensors
  3. has reasonable battery life
  4. provides some sort of an API to access the measurements

… and there was of course the price & the security aspect as well.

Wireless Sensor Tags

The top candidate after some research was the Wireless Sensor Tags, so I ordered what was necessary — one tag manager, and a selection of various sensors, (temperature/humidity, light, water) a.k.a tags.

The communication between the tags and the…

This is the second part of the story — you can read the first part here.


That winter, when we got enlightened by Johnny, was a warm one — by the time he came to inspect the apartment, the temperatures were well over freezing point, so again — we had to wait one year to see the results of our hard labor.
So, did we fix the problem?


Next winter, this winter — I hate to say this — the pipes froze, again.
I felt insanity slowly growing in my mind — all those years, all the attempts we made…

The beginning

We moved to a new apartment early 2016 — and we did it very quickly, because our previous home was a rental, where the contract was terminated by the owner unexpectedly.

A few months later we decided to modernize one of the bathrooms — which had to be a complete overhaul, first tearing it down to bare walls, then rebuilding it from there.
So we hired a professional team, who delivered a relatively decent result four weeks later.

Then winter came — and along with it:

The symptoms

One morning, there was no water coming from the bathroom tap anymore — while…

Let’s say that you have decided to use Google App Engine Standard for your new service, which is written in some JVM-based language (Kotlin, Java, …) and after some fiddling, it is now happily running on your computer.
You might also have deployed it to App Engine already using mvn appengine:deploy, and it seems to be working fine in its natural habitat as well.

Thinking about Continuous Integration — especially if you have your code on GitHub — you might end up using CircleCI.
In their documentation they name a handful of deployment targets alongside Google App Engine, but what makes…

Application configuration often contains sensitive information (like database credentials) that should be treated with care — preferably not checked in to version control, but injected into the application via a separate channel.

GAE Standard offers very little in this space — developers can either decide to use environment variables that are set in appengine-web.xml, or just choose one of the configuration files they bundle with the application, based e.g on the current project name. …

Tamas Føldesi

Full stack developer at 2Park

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store