Was versteht man unter „Industrie 4.0“?

Als Industrie 4.0 bezeichnet man die umfassende Digitalisierung in der industriellen Produktion. Es geht dabei um die Hightech-Strategie der Bundesrepublik Deutschland und die Wettbewerbsfähigkeit von Europa.

Durch die digitale Informations- und Kommunikationstechnik kann die industrielle Produktion miteinander verzahnt werden. Ziel ist eine weitgehend selbstorganisierte Produktion.

Durch die Optimierung kann die gesamte Wertschöpfungskette von Unternehmen verbessert werden. Mit Industrie 4.0 kann die Produktion individueller und effizienter gestalltet werden. Dadurch entstehen enorme Chance und Wettbewerbsvorteile für unseren Wirtschaftsstandort Deutschland!

StereoDrama im Brandner Kasper

Was versteht man unter „IoT“?

Das Internet der Dinge oder auch das Internet of Things (IoT) ist allgegenwärtig. Es handelt sich hierbei um einen Sammelbegriff einer globalen Infrastruktur. Diese Infrastruktur soll physische und virtuelle Gegenstände miteinander verknüpfen, damit eine übergreifende Kommunikation der Endgeräte einfach möglich ist.

Durch die weitere Vernetzung von Geräten und Sensoren über ein IP-Netz wird sich auch unsere tägliche Arbeitsweise ändern. Es ergeben sich im Umfeld Smart City, Smart City oder Connected Cars viele neue Möglichkeiten.

IoT wird als eine der wichtigste Technologie des 21. Jahrhunderts gesehen. Möglich wurde dies durch kostengünstige Sensoren, neue Cloud-Plattformen, Machine Learning und Künstlicher Intelligenz (KI).

Es wird und bleibt spannend in den nächsten Jahren, wohin uns diese Technologie führen wird!

Edge ist tot, es lebe Edge!

Seit dem 15.01.2020 wird der Nachfolger von Microsoft Edge – Microsoft Edge Chromium verteilt.

Aktuell kann der Browser hier bezogen werden und kommt demnächst auch über das Windows Update und ersetzt Microsoft Edge.

Bei den Edge-Insindern kann man sich weiterführende Informationen einholen.

Nutzt Ihr bereits den neuen Browser von Microsoft? Wechselt Ihr von Chrome oder Firefox zu Edge Chromium?

Was versteht man unter „Docker“?

Docker ist eine Softwarelösung, die eine Container-Virtualisierung von Anwendungen ermöglicht. Softwareanwendungen könnten damit einfach incl. aller Abhängigkeiten in einem Image verpackt und dem Anwender bereitgestellt werden. Docker stellt hier die Engine für die isolierte Ausführung der Container auf allen Betriebssystemen zur Verfügung.

Docker-Lösungen (Container-Virtualisierung) wird häufig im Umfeld von Cloud-Diensten verwendet (hier ist eine hohe Skalierbarkeit sehr wichtig). Ein anders Einsatzgebiet ist in der Softwareentwicklung, wo regelmäßig neue Versionen und Entwicklungsstände getestet und verteilt werden müssen.

Ein Docker-Container unterscheidet sich von einer virtuellen Maschine, dass dort keine Hardware und kein Betriebssystem simuliert wird. Das spart viel Speicherplatz und Systemressourcen.

Fertige Container kann man sich über den Docker Hub von diversen Softwareherstellern beziehen und sofort verwenden.

 

 

Was versteht man unter „Lebenslanges Lernen“?

Beim Lebenslangen Lernen handelt es sich um ein Gesamtkonzept, um in der gesamten Lebensspanne Wissen aufnehmen zu können.

Lernen wird hier nicht als eine „lästige Pflichtaufgabe“ gesehen, sondern stellt eine zentrale Fähigkeit dar. Für den Lernenden ist es wichtig eigenverantwortlich zu entscheiden, welche Inhalte neu erschlossen oder vertieft werden sollen.

Im Rahmen der Digitalisierung ist es natürlich immer wichtiger Lernressourcen unabhängig vom Standort zur Verfügung zu haben.

Durch die Disruption in den digitalen Geschäftsmodellen entstehen stehts neue Anforderungen und Verhalten für die aktualisiertes Wissen notwendig ist. Auch ändern sich die Anforderungen immer schneller (und ein Ende ist noch nicht abzusehen).

In einer flexiblen, agilen und weniger hierarchisch geprägten Arbeitswelt wird sich unser Lernverhalten die nächsten Jahre noch gravierend verändern.

 

Was versteht man unter „SmartHome“?

Unter dem Begriff „Smart Home“ versteht man im allgemeinen ein vernetztes Zuhause das mit Sensoren, Technologien und Systemen erweitert wurde. Im Vordergrund steht die Verbesserung der Wohn- und Lebensqualität, Sicherheit und die effiziente Energienutzung und die Automatisierung von Abläufen.

Von Vorteil ist es, wenn alle eingesetzten Technologien unabhängig vom Anbieter miteinander kommunizieren können. Um alle Technologien einfach zu implementieren kann eine Heimautomatisierungssoftware (wie openHAB) unterstützen und Schnittstellen vereinheitlichen.

Die Teilaspekte des SmartHome definiert Wikipedia wie folgt:

  • Hausautomation
  • Smart Metering
  • Haushaltsgeräte-Automation
  • Vernetzte Unterhaltungselektronik
  • Sicherheit / Peace of Mind

Vernachlässigen darf man bei allem Komfortgewinn aber auch nicht die IT-Sicherheit einer eingesetzten Lösung oder das Thema Überwachung und Privatsphäre.

Aktualisierung openHAB 2.4 auf 2.5.1

Ich habe in den vorherigen Artikeln bereits beschrieben welche Mehrwerte und neue Funktionen openHAB 2.5.1 hat. In diesem Beitrag beschreibe ich kurz die Aktualisierung von openHAB 2.4 auf 2.5.1 und mögliche „Stolpersteine“ nach dem Update.

Aktualisierung der Installation

Das Update in einer Linux-Distribution auf Debian-basieren wird wie folgt durchgeführt:

sudo systemctl stop openhab2.service
sudo apt-get update
sudo apt-get upgrade

Nach dem Update bzw. während des Updates kamen Meldungen, dass bestimmte Keys nicht mehr gültig sind (KEYEXPIRED-Meldungen vom openHAB-Server). Diese können wie folgt umgangen werden:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
apt-key list

Mit dem ersten Befehl wird der openHAB-Dienst beendet. Die beiden nächsten Zeilen starten die Aktualisierung.

Nach der Aktualisierung kann man das System mit folgendem Befehlt komplett neu starten:

sudo shutdown -r now

Damit ist die Installation von Version 2.4 auf 2.5.1 aktualisiert. Am Ende der Installation werden jetzt auch noch die „Breaking Changes“ angezeigt d.h. die Änderungen die Ihr manuell durchführen müsst.

Nach der Installation habe ich noch den Cache wie folgt geleert und das System noch einmal neu gestartet:

sudo systemctl stop openhab2.service
sudo openhab-cli clean-cache
sudo shutdown -r now

Manuelle Anpassungen der Konfigurationen

Nach der Installation werden die „Breaking Changes“ in der Konsole angezeigt. Hier kann man alle Bindings kontrollieren, die man im Einsatz hat.

In meiner Systemumgebung musste ich folgende Punkte kontrollieren:

  • HueEmulation
    • Hier hatte ich noch eine alte Beta-Version installiert mit der es zu Konflikten kam (hier mussten dann auch alle Alexa-Geräte deaktiviert und neu gesucht werden)
  • RestDocs
    • Diese Thematik wird in den „Breaking Changes“ beschrieben (bitte vor dem Update ändern und nicht wie bei mir erst nach der Aktualisierung)
  • Ansonsten hatte ich keine weiteren Anpassungen durchführen müssen …

Fazit

Nach etwas zwei Stunden Arbeit und etwas Vorbereitung läuft meine Installation nun auf openHAB 2.5.1. Ähnlich wie beim update auf Version 2.4 hatte ich nach diesem Update wieder Probleme mit der HueEmulation / Alexa (dieses Mal waren Sie aber von mir selbst verursacht).

Das Update alleine hat man schnell durchgeführt. Die Tests mit allen Endgeräten und Bindings benötigen bei mir doch schon etwas Zeit (FritzBox, KNX, openHAB App + Web-Client, HueEmulation, HomeMatic, MQTT, LED, Echo / Alexa, Sprachsteuerung, …).

Habt Ihr auch schon auf openHAB 2.5.1 aktualisiert? Hat es bei euch ohne Probleme funktioniert? Welche neuen Funktionen nutzt Ihr?

Eine smarte Waschmaschine mit openHAB (2)

Im vorherigen Artikel habe ich kurz die Anforderung dargestellt und eine kurzes Beispiel für eine Messung unter HomeMatic beschrieben.

Inbetriebnahme openHAB

Im ersten Schritt habe ich noch einmal meine notwendigen Räume und Variablen in der generellen Haus.items-Datei kontrolliert und ein paar neue Räume eingefügt (das ist individuell pro Installation).

Da meine HomeMatic-Anlage bereits vorhanden war, war keine Anpassung der HomeMatic.things-Datei bei mir notwendig.

Nach der Inbetriebnahme waren die neuen Items bereits in der Inbox vorhanden. Die weitere Konfiguration habe ich manuell in der Konfiguration und nicht im Webclient vorgenommen.

HomeMatic.items

In der Items-Datei habe ich folgende Kanäle für die Steckdose zugeordnet:

// 14.01.2020 - Steckdose Waschmaschine mit Leistungsmessung
Number hmSteckdose_KG_Heizungsraum_Washingmachine_SIGNAL_STRENTH                                    "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Signal Strength"       (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:0#SIGNAL_STRENGTH"}
Switch hmSteckdose_KG_Heizungsraum_Washingmachine_STATE                                             "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - State [%d]"            (gKGgKG_HeizungsraumgSteckdosegSteckdose_KGgSteckdose_KG_Heizungsraum)  [ "Lighting" ]      {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:1#STATE"}
Number:Energy hmSteckdose_KG_Heizungsraum_Washingmachine_ENERGY_COUNTER                             "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Energy Counter"        (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:2#ENERGY_COUNTER"}
Number:Frequency hmSteckdose_KG_Heizungsraum_Washingmachine_FREQUENCY                               "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Frequency"             (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:2#FREQUENCY"}
Number:Power hmSteckdose_KG_Heizungsraum_Washingmachine_POWER                                       "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Power"                 (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:2#POWER"}
Number hmSteckdose_KG_Heizungsraum_Washingmachine_CURRENT                                           "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Current"               (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:2#CURRENT"}
Number:ElectricPotential hmSteckdose_KG_Heizungsraum_Washingmachine_VOLTAGE                         "Waschmaschine Funk-Steckdose KG - Heizungsraum (HM-ES-PMSw1-Pl-DN-R1) - Voltage"               (gKG_Heizungsraum)                                                                                  {channel="homematic:HM-ES-PMSw1-Pl-DN-R1:ccu:SERIAL:2#VOLTAGE"}

Number hmSteckdose_KG_Heizungsraum_Washingmachine_OpState                                           "Waschmaschine Status [MAP(HomeMatic.map):%s]"

Die ersten 7 Variablen stellen die Kanäle des Aktors dar. Die letzte Variable nutze ich für die Visualisierung des Status in der Oberfläche.

Aus dem Beispiel bitte die SERIAL mit der entsprechenden Seriennummer des Aktors austauschen.

HomeMatic.map

Die Mapping-Datei für die Oberfläche kann mit folgenden Statuswerten versehen werden:

0=Aus
1=Standby
2=Aktiv
3=Fertig
NULL=Unbekannt

Leistungswerte herausfinden

Nun kann man je nach Systemumgebung die Leistungswerte des Verbrauchers bzw. der Waschmaschine herausfinden. Dazu lässt man den Aktor entsprechend einen Waschgang in Betrieb und kann per grep-Befehl unter Linux entsprechend die erfassten Werte aus den Log-Dateien lesen:

grep "Washingmachine_POWER changed" /var/log/openhab2/events.log | sed 's/.[0-9]* \[ItemStateChangedEvent.* to /;/'

Danach habe ich die Ergebnisse in Notepad++ als CSV-Datei kopiert und etwas für die weitere Excel-Auswertung vereinfacht. In Excel lädt man die CSV-Datei entsprechend der Trennzeichen oder festen Breite entsprechend in die Applikation und fügt ein Diagramm für die Visualisierung des Stromverbrauchs in dem definierten Zeitraum ein.

Ein einfaches Beispiel-Ergebnis kann wie folgt aussehen:

Hier sind klar die Leistungsspitzen und die geringeren Aktivitäten erkennbar. Abgeleitet ergeben sich daraus folgende Werte:

  • > 10 W = ACTIVE d.h. Waschmaschine läuft
  • < 4,5 W = STANDBY d.h. Waschmaschine ist fertig, aber eingeschalten
  • < 0,2 W = OFF d.h. Waschmaschine ist aus

Integration Alexa

Das Amazon Echo Control Binding ist bei mir bereits eingebunden. Folgendes Item ist für „Text to Speech“ bereits bei mir vorhanden und muss evtl. ergänzt werden:

String Echo_Living_Room_TTS                   "Text to Speech"                        (Alexa_Living_Room) {channel="amazonechocontrol:echo:acc:dev1:textToSpeech"}
String Echo_Office_TTS                   "Text to Speech"                        (Alexa_Office) {channel="amazonechocontrol:echo:add:dev2:textToSpeech"}

acc bitte entsprechend eures Accounts ändern und dev1 bzw. dev2 an eure Endgeräte anpassen.

HomeMatic.rules

Eine einfache Automatisierung kann wie folgt hinzugefügt werden:

val Number MODE_OFF = 0
val Number MODE_STANDBY = 1
val Number MODE_ACTIVE = 2
val Number MODE_FINISHED = 3

rule "Washingmachine Consumption State Machine"
when
    Item hmSteckdose_KG_Heizungsraum_Washingmachine_POWER changed
then
    if (hmSteckdose_KG_Heizungsraum_Washingmachine_POWER.state < 0.2) {
        hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.postUpdate(MODE_OFF)
        logInfo("INFO","Waschmaschine: MODE_OFF")
}
    else if (hmSteckdose_KG_Heizungsraum_Washingmachine_POWER.state > 10) {
        hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.postUpdate(MODE_ACTIVE)
        logInfo("INFO","Waschmaschine: MODE_ACTIVE")
}
    else if (hmSteckdose_KG_Heizungsraum_Washingmachine_POWER.state < 4.5) {
        if (hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.state == MODE_OFF) {
            hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.postUpdate(MODE_STANDBY)
            logInfo("INFO","Waschmaschine: MODE_STANDBY")
}
        else if (hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.state == MODE_ACTIVE) {
            hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.postUpdate(MODE_FINISHED)
            logInfo("INFO","Waschmaschine: MODE_FINISHED")
}
}
end

rule "Washingmachine Notifications"
when
    Item hmSteckdose_KG_Heizungsraum_Washingmachine_OpState changed
then
    if (hmSteckdose_KG_Heizungsraum_Washingmachine_OpState.state == MODE_FINISHED) {
        Echo_Living_Room_TTS.sendCommand('Die Waschmaschine ist fertig.')
        Echo_Office_TTS.sendCommand('Die Waschmaschine ist fertig.')
        logInfo("INFO","Waschmaschine fertig")
}
end

Wenn die Waschmaschine fertig ist, wird entsprechend in die Log-Datei geschrieben und eine Status-Information per Alexa ausgegeben. Nachträglich habe ich noch eine Information per Telegram eingebaut.

Haus.sitemap

Nun müssen in der App und im Webclient noch die Ergebnisse visualisiert werden. Ein einfaches Beispiel kann so aussehen:

Frame label="Verbraucher" {
    Text label="Waschmaschine" item=hmSteckdose_KG_Heizungsraum_Washingmachine_OpState icon=whitegood
}

Ein paar Bilde für die „weiße Ware“ können hier zur optischen Verbesserung auch noch verwendet werden: https://www.openhab.org/docs/configuration/iconsets/classic/

Fazit

Mit den zur Verfügung stehenden Informationen ist es recht einfach einen Verbraucher im Haushalt in das SmartHome zu integrieren. Das Beispiel mit openHAB, HomeMatic und Alexa ist recht einfach und schnell umgesetzt.

Welche Szenarien fallen euch bei der Leistungsüberwachung im SmartHome ein? Gibt es noch weitere Ideen und Verbesserungen für das Szenario?