Building a Smarter Home: Integrating RESTful Data into Home Assistant Dashboard

Unlock the full potential of Home Assistant by seamlessly integrating custom data from a Restful API. This post describes all the required steps to configure a REST sensor, retrieve data, and display it on your dashboard. Configure the REST Sensor / API in configuration.yaml To define a sensor that fetch custom data from an REST API, add the following YAML code to your Home Assistant configuration file (configuration.yaml).Adjust the resource parameter to match your server’s Read more…

Automating Pet Care: Building an ESP8266-Powered Automated Cat Feeder

The Catfeeder was created with the aim of providing cat care in a simple way. It is powered by an ESP8266, 3D-printed components, a NEMA17 stepper motor with A4988 Driver Module, as well as a 12V power supply.
Additionally, the cat feeder is simple to integrate into well-known home automation systems like Home Assistant, enabling you to feed your cat with an embedded HTTP request.

Centralized Log Monitoring with Kibana, Elasticsearch, and Filebeat

Logs are an essential aspect of server and application management. They help identify issues, troubleshoot problems, and monitor performance. However, with multiple servers and applications like VPN, DNS, HAProxy, or Home Assistant running, monitoring logs can become a challenging task. Especially when analyzing requests through multiple Docker microservices. This is where Docker Log Monitoring with Kibana and Elasticsearch comes into play.Especially, Kibana and Elasticsearch are popular open-source tools for log monitoring, analytics, and visualization. In Read more…

HAProxy

The High Availability (HA)Proxy is an open-source very fast and reliable reverse proxy and load balancer. Over the years it has become a state of the art open-source product and is often deployed by default on popular cloud platforms. Basic Setup with Health Endpoint and Statistic Page For a first test, you can use the following HAProxy configuration file, which defines a frontend bound to port 80 and provides a health check endpoint as well Read more…

Use DokuWiki with Synology DSM 7

The new Synology DSM 7 does not support DokuWiki by default.Right at the beginning of the upgrade to DSM 7, Synology alerts a problem with the third-party package DokuWiki is not compatible with the new DSM version. Migrate DokuWiki to DSM 7 In fact, there is a way to migrate and use DokuWiki with Synology DSM 7.Basically, DokuWiki as an integrated Synology package is not supported anymore, but you still have the possibility to serve Read more…

Home Assistant Setup with Docker

In this post, I describe how to set up your own Home Assistant with hassio.Before getting started you have to find an appropriate Hardware Environment to deploy hassio. I would recommend adding a RaspberryPi 3 or 4 to your local infrastructure. As a precondition to this description, you have to install docker to your hosting system. To start hassio using docker, execute the following command. I would recommend storing the configuration of the home assistant Read more…

Angular – Dynamic Module Loading

This post describes how to implement lazy or dynamic module loading with angular, based on an Angular 10 demo implementation, and is an extension to the former post I created on lazy-loading components and services. In the daily business of a Software Engineer, the time comes when some modules, components, or services have to be loaded asynchronously at runtime. For instance to implement some sort of dynamic feature switches or something like that. In order to Read more…

Angular – Dynamic Component and Service Loading

This post describes how to implement lazy or dynamic component loading with angular, based on an Angular 10 demo implementation. In Angular applications, it is sometimes necessary to load components or services dynamically/lazily and asynchronously at runtime. Just think of loading captcha, promotion, or advertisement components. Manual component loading with Angular is achieved very easily once you have seen an example implementation, and that’s what I provide. Assume an existing Angular application or at least Read more…

Getting started with Microcontroller Programming – ESP8266

During the 3rd Corona Lockdown in Austria, I searched for a new private project and decided to test something new. So I tried myself in programming microcontrollers.This post shares my first impressions, experiences, and ready-to-use code snippets for programming ESP8266. The associated code samples can be found on GitLab. Find a Suitable Microcontroller Since I’m deep into developing all sorts of web applications, I searched for a microcontroller with a built-in WiFi chip and decided Read more…

Set up your own VPN

A Virtual Private Network (VPN) is used to extend an existing private network across the internet (public network). VPN enables connected devices all over the world to interact through an encrypted connection as if they were connected directly to the private network. Undoubtedly this opens several obvious advantages. Therefore, it’s not surprising that almost every company and also many private technically versed households hold their own VPN-Server. In the last 10 years, I have set Read more…

Synology – Import Photo Station Data into Moments

I recently bought a Synology DS218+ to manage data and especially photos. For this purpose, Synology offers different packages that can be installed within the Network Attached Storage to extend the feature set.To fulfill my photo managing use-case (upload/backup, edit, group photos automatically according to topics and persons, …), I need two independent working packages called Photo Station and Moments. Problem Description Both packages, of course, use their own database managing files, indexes, and so Read more…

Play with Docker (PWD) – An Amazing One-Click Docker Playground Project

Last week I found an amazing valuable in-browser Docker solution hacked by Marcos Nils and Jonathan Leibiusky and sponsored by Docker Inc.   About PWD PWD is a Docker playground that allows launching and using Docker Containers in your browser within seconds. You don’t need to install anything!!!Just visit https://labs.play-with-docker.com, log in with you Docker Hub user and play around with a free Alpine Linux Docker Container in your browser. Of course, the base Alpine Linux container Read more…

Private DNS-Server in 3 Steps

There are several reasons to use a private DNS-Server within a network.
This post is about how to set up a private DNS-Server based on Pi-hole and using Docker. Pi-hole is a very lightweight, scalable, robust, open-source software that provides a beautiful and responsive web interface to control the DNS-Server and view statistics.

Dynamic OAuth Client Configuration using Spring Security

OAuth 2.0 is the industry-standard protocol for authorization or to be precise a specification for issuing access tokens defined in RFC 6749. It focuses on client developer simplicity while providing specific authorization flows for different kinds of applications.For a detail description of the different OAuth 2.0 flows, I recommend reading through this post. Problem Description The configuration of OAuth consists of some OAuth provider-specific server configuration (server endpoints) and a client configuration (clientID, secret, accessTokenUri, scope…). Read more…

Building a Kubernetes Cluster within 15 minutes

In this blog post, I provide a basic guide on how to become a Kubernaut and set up your own Kubernetes Cluster. Kubernetes (K8s) … is Greek for helmsman or captain. And this is what Kubernetes is about – Shipping your containerized applications. Kubernetes is a system for automating deployment scaling management of containerized applications. Kubernetes manages the Computing Infrastructure Networking Infrastructure Storage Infrastructure for your containers. It manages everything around your application. Read more. Read more…

A basic introduction into Jigsaw and the impact on Java-Application startup time as well as the footprint

Years ago monolithic software often seems widespread while in recent years developers have focused on structuring their application architecture into technical components to achieve maintainable self-contained software units. Since Java offered no direct support to separate different parts of software functionality, using Maven modules in combination with naming conventions has been a quite widespread approach. Introduction to Jigsaw With Jigsaw a general module system was introduced into Java 9 which provides the native module formation Read more…

Android Application Security Evaluation

In 2019 I received my Master’s degree from the Vienna University of Technology for my thesis on Efficient Automated Analysis of Android-Applications Related to IT-Security Based on Open-Source-Tools.

To provide the ability of automated Android-Application security testing on different security fields, I implemented a web-based Testing as a Service (TaaS) Framework as part of my master thesis with the focus on…