Smart Home Dashboard mit Home Assistant, MQTT, Certbot und Nginx Proxy

Heimautomation, Überwachung und Steuerung erfordert eine Benutzeroberfläche, die einfach zu nutzen ist. Es gibt hierfür zahlreiche kommerzielle Lösungen.

Mein Smart Home Dashboard

Hat man jedoch hohe Anforderungen an Datensicherheit und Privatsphäre, so ist eine Smart Home Lösung in Eigenbetrieb das Mittel der Wahl. Ich habe ein paar Open-Source Lösungen ausprobiert und war am Ende mit „Home Assistant“ sehr zufrieden. In diesem Beitrag möchte ich erläutern, wie man eine minimale Instanz von Home Assistant mit MQTT, Certbot und Nginx Proxy mit Docker-Compose in Betrieb nehmen kann.

Smart Home Dashboard mit Home Assistant, MQTT, Certbot und Nginx Proxy weiterlesen

Balkonkraftwerk in Schwetzingen

Bis vor ein paar Monaten war ich zufrieden mit meinem bisherigen Stromanbieter. Wenige Zeit danach kam jedoch die böse Überraschung. Mein monatlicher Abschlag ist von 42€ auf 66€ gestiegen. Damit war für mich der bisherige Vertrag nicht mehr attraktiv.

Mit der Kraft der Sonne will ich künftig meine Energie gewinnen

Für mich war schon länger das Interesse an eigenen Solarzellen auf dem Balkon vorhanden. Ich habe so viel ungenutzte Fläche. Aufgrund der Energiekrise wurden bürokratische Hürden in Deutschland für Balkonkraftwerke beseitigt. Die Sterne lagen richtig und ich habe diese Gelegenheit genutzt, um ein klein wenig mehr zum Selbstversorger zu werden.

Balkonkraftwerk in Schwetzingen weiterlesen

ChatGPT für Bewertung von Klausuren

Im Rahmen meines Lehrauftrages habe ich die Aufgabe eine Vorlesung zu halten und im Anschluss eine Prüfung durchzuführen, um die Leistung der Studierenden abzunehmen.

Eine gute Prüfung soll laut ChatGPT transparent, fair und objektiv sein. Den Anspruch an Transparenz und Fairness bin ich nachgegangen, indem die Studierenden bereits im Vornherein über eine Eingrenzung und Übungsaufgaben über mögliche Prüfungsinhalte informiert wurden. Meine Prüfung fand in Form einer digitalen Prüfung statt und bei der Prüfung sehe ich keine Namen der Studierenden. Ein Vorurteil basierend auf unleserlicher Schrift und ausländischen Namen wird damit verringert.

Der Anspruch an Objektivität ist nicht einfach. Jede Bewertung baut auf subjektive Erfahrungen auf. Ich habe meine Prüfung abgeschlossen und habe im Anschluss auch ein wenig ChatGPT in die Prüfung meiner Bewertung hinzugezogen. Dadurch gehe ich auch mit meiner eigenen Bewertung kritisch um und kann die Möglichkeiten von ChatGPT erkunden. ChatGPT hat dabei erstaunliche Ergebnisse geliefert. In diesem Blogpost möchte ich meine Erfahrung mit echten Prüfungsinhalten teilen.

ChatGPT für Bewertung von Klausuren weiterlesen

Kintsugi und seine Bedeutung heute

„Kintsugi“ bedeutet „Goldverbindung“. Es ist die japanische Art, zerbrochene Töpferwaren zu reparieren, indem man die Bruchstellen mit goldenen Fugen ausbessert. Kintsugi ist nicht nur eine Tätigkeit, sondern auch eine Lebensweise und eine Denkweise.

Zerbrochene Dinge sind ein wesentlicher Bestandteil des Lebenszyklus von Gegenständen. Meine Leidenschaft ist es, Dinge zu reparieren, die im täglichen Leben kaputt gehen. Plastik ist ein wesentlicher Bestandteil unseres modernen Lebens, aber wenn wir Plastik in den Müll oder in die Gewässer werfen, verschmutzen wir unsere Welt. Ich sehe lokales Recycling (local-recycling) und lokale Fertigung (local-manufacturing) als die Lösung, um unseren Planeten zu retten und den Kintsugi-Lebensstil zu leben.

Kintsugi und seine Bedeutung heute weiterlesen

Lokales Recycling: Precious Plastic Shredder Kit

Ich bin überzeugt, dass wir das globale Plastikproblem nur mit lokalen Maßnahmen lösen können. Aus diesem Grund habe ich die letzten Wochen/Monate an verschiedenen Projekten experimentiert und arbeite prototypisch an einer kleinen Recycling-Anlage, die ich zuhause betreiben kann um aus Plastikmüll, was durchgehend anfällt, neue Rohstoffe zu gewinnen.

Ich habe lange probiert, ein Plastikschredder zuhause mit wenigsten Mitteln aufzubauen. Ich hatte die Idee, Wärme auf Plastik anzuwenden, sie so weicher zu bekommen und das Plastik so mit weniger Krafteinwirkung zu verkleinern. Mein erster Prototyp ist leider gescheitert.

Nach vielen Überlegungen habe ich mich doch entschieden, ein Precious Plastics Shredder Kit zu bestellen, bei dem alle nötigen Teile bereits enthalten sind. Ich muss den Shredder zusammen bauen und kann damit durchstarten. In 2-4 Wochen wird der Shredder ankommen. Ich freue mich auf mein kleines Recycling-Business!

Proxer Discord Bot Migration (NadekoBot)

Discord ist einer der beliebtesten Nachrichtendienste heutzutage. Wenn man sich bei Discord registriert, bekommt man kostenlose Nutzung einer großartigen Infrastruktur. Jeder kann sogenannte „Discord Server“ erstellen, andere Nutzer einladen und Inhalte aufbauen. In Discord gibt es daher unzählige Communities, die von dieser Infrastruktur profitieren. Auch auf Proxer besitzen wir einen Discord Server, in dem der Austausch innerhalb der Community stattfindet. Bald wird der Proxer Discord Server 10.000 Mitglieder haben.

Screenshot vom Git Repository des Bots

Um ein wenig Spaß und Spiele in den Server einzubringen, betreiben wir ein Discord Bot. Der Bot basiert auf NadekoBot. Dieser Bot hat nicht mehr funktioniert und musste geprüft werden. Es hat sich heraus gestellt, dass der Bot sich nicht mehr aktualisiert hat. Den Bot wieder zum Laufen zu bekommen, war gar nicht so einfach und hat einen manuellen Migrationsprozess gefordert. In diesem Blogpost möchte ich erklären, warum es wichtig ist, immer wieder mal ein Auge auch auf funktionierende Systeme zu haben.

Proxer Discord Bot Migration (NadekoBot) weiterlesen

SAP HANA und Jupyter Notebook

SAP HANA ist die Datenbanklösung von SAP, die eine breite Palette an Möglichkeiten und Funktionen für Geschäftsanwendungen bieten. Was vielleicht weniger bekannt ist, dass diese Datenbank auch Integration in offene Connectoren wie JDBC oder ODBC APIs anbietet, sodass man aus jeder beliebigen Anwendung heraus Operationen auf der Datenbank ausführen kann.

Vor Kurzem habe ich im Rahmen von Data-Science Aufgaben diese Connectoren genutzt und möchte hier dokumentieren, wie man Operationen in SAP HANA von Jupyter Notebook aus durchführen kann. Es ist dadurch möglich von bestehenden Data-Science Werkzeugen gebrauch zu machen und gleichzeitig von den Möglichkeiten zu profitieren, die SAP HANA für Geschäftsanwendungen bietet. Ich möchte das Ganze in diesem Beitrag an einem Beispiel erläutern.

Das Ergebnis dieser Arbeit findet sich auch auf GitHub.

Update: Blog Artikel gibt es nun auch auf englisch auf blogs.sap.com

SAP HANA und Jupyter Notebook weiterlesen

ABAP Entwicklung

Vor kurzem habe ich diese beiden Werke auf Ebay-Kleinanzeigen erworben

Heute hatte ich einen kleinen persönlichen Meilenstein in meinem Dasein als Softwareentwickler erlebt. Seit über 10 Jahren entwickle ich Software in allen möglichen Programmiersprachen, Frameworks und Plattformen. Heute habe ich meinen ersten funktionsfähigen ABAP Code selbstständig geschrieben. ABAP Entwicklung ist in vielerlei Hinsicht eine komplizierte Sache: ABAP Entwicklung erfordert nicht nur gute SAP Kenntnisse und ein Entwicklungssystem, sondern auch gute Kenntnisse über die Geschäftsprozesse. ABAP Code läuft oft auf kritischen Produktivsystemen und erfordert besondere technische Expertise von den Entwicklern und Testern. Auch die Art und Weise wie man entwickelt ist in vieler Hinsicht anders als alles, was ich bisher entwickelt habe.

ABAP Entwicklung weiterlesen

Data-Science bei SAP

Gerade ist vorlesungsfreie Zeit und ich habe meine Arbeitszeit bei SAP erhöht. Ich arbeite intensiv an den Data-Science Herausforderungen unseres Bereiches. Es macht so unglaublich viel Spaß. Es sind genau die Art von Herausforderungen, die ich mag: Es ist anfangs nicht klar, was das Ergebnis überhaupt sein wird, es haben noch nicht viele daran gearbeitet und ich habe das Gefühl, dass ich Pionierarbeit mache.

Es ist einfach, ein paar Daten herunterzuladen und in einer graphischen Oberfläche darzustellen. Wenn die Herausforderung so einfach wäre, wäre ich dafür vermutlich nicht eingestellt. Die Herausforderungen sind verzwickter. Es geht um das Verstehen komplexer Geschäftsprozesse. Es gibt oft eine abstrakte Repräsentation eines Geschäftsprozesses, welcher relativ gut dokumentiert ist. Es gibt aber auch eine technische Repräsentation, die meist viel detaillierter ist und die meistens nur in den Köpfen einzelner Entwickler oder als ABAP Code vorhanden ist. Diese technische Repräsentation wurde bislang noch nicht so richtig durchleuchtet. Ich bringe Licht ins Dunkle, indem ich bei unseren Data-Science Aktivitäten den Aufwand betreibe, diese richtig zu verstehen und dokumentieren. Ich interviewe dafür die Entwickler und Experten und baue Diagramme von Inhalten auf, die vermutlich niemand vorher in solch eine Ordnung gebracht hat.

Was ist der Wert von Datenvisualisierung in Form eines Dashboards? Ohne die betriebswirtschaftliche und technischen Zusammenhänge zu verstehen, haben diese Visualisierungen keinen Wert. Für mich stellt sich durchgehend die Frage, wie ich Wert für unseren Bereich generiere. Tatsächlich offenbart sich der Wert erst dann, wenn irgendeine Aktion an die Datenvisualisierung gebunden ist. Die Datenvisualisierung hilft dann was, wenn Trends erkennbar werden, wenn Usage und Adaption messbar werden. Eine Aktion kann sein, dass man mehr Ressourcen oder Priorisierung in die Entwicklung bestimmter Objekte steckt.

Usage und Adaption ist bei uns ein entscheidender Aspekt. Wenn man sich überlegt, von was man alles die Nutzung messen kann, dann stellt man fest, dass es so vieles sein kann. Ist es vielleicht eine API? Ist es eine Klasse? Ist es eine Entität? Ist es eine Operation? Ist es eine bestimmte UI? Ein bestimmtes UI-Element? Eine bestimmte Fehler-Kategorie? Bestimmte ausgefüllte Felder? Es kann so vieles gemessen werden.

Daten bringen ihr Potenzial erst auch dann hervor, wenn man sie mit anderen Daten anreichert oder verschiedene Datensätze miteinander verbindet. Eine populäre Frage in diesem Kontext ist beispielsweise, ob die Einführung und Nutzung einer bestimmten Funktionalität die Abnahme einer anderen Funktionalität zur Folge hat. Im SAP Kontext gibt es so viele unterschiedliche Technologien und Möglichkeiten. Es ist kaum möglich zufällig diese Zusammenhänge zu finden. Ein tieferes Verständnis von den betriebswirtschaftlichen Zusammenhängen ist hier wieder essentiell.