# SmartHome

Smart Home System und Usecases

# SmartHome

Hausautomatisierung: Hardware, Software, Vernetzung, Anwendungsfälle

# DIY SmartHome

#### Zentrale HW-Plattform

##### Hardwarebasis

<div class="page-content clearfix" component="page-display" id="bkmrk-zentrale-rechnerplat" option:page-display:page-id="14"><div dir="auto"><div class="page-content clearfix" component="page-display" id="bkmrk-zentrale-rechnerplat-1" option:page-display:page-id="12"><div dir="auto">- zentrale Rechnerplattform 
    - [Raspberry PI](https://oppel.ddns.net:6877/books/hardware/chapter/raspberry-pi "Raspberry Pi") mit Linux OS
    - NAS z.B. Synology mit Virtualisierungsmöglichkeit (DSXYZ+) Modelle oder besser

</div></div></div></div>##### Vernetzung

<div class="page-content clearfix" component="page-display" id="bkmrk-ethernet-heimnetzwer" option:page-display:page-id="14"><div dir="auto"><div class="page-content clearfix" component="page-display" id="bkmrk-ethernet-heimnetzwer-1" option:page-display:page-id="12"><div dir="auto">- Ethernet Heimnetzwerk mit Internetverbindung 
    - siehe [Netzwerk](https://oppel.ddns.net:6877/books/netzwerk "Netzwerk")

</div></div></div></div>##### Software

<div class="page-content clearfix" component="page-display" id="bkmrk-hems-basissystem-mit" option:page-display:page-id="14"><div dir="auto"><div class="page-content clearfix" component="page-display" id="bkmrk-hems-basissystem-mit-1" option:page-display:page-id="12"><div dir="auto">- HEMS Basissystem mit Automatisierungsmöglichkeiten 
    - [FHEM](https://fhem.de/) - pearlbasiertes Framework mit einer sehr großen Library an unterstützten Devices
    - [NodeRed](https://nodered.org/) - NodesJS basiertes graphisches Automatisierungsframework mit einer großen Library an Komponenten
- Datenbanken für Messwerte 
    - [InfluxDB ](https://docs.influxdata.com/influxdb/v2/)- für zeitreihenoptimiert in der Version 2 als selbstgehostete open source version; Vorsicht: V3 ist in der OSS Version eingeschränkt bzgl. Abfragetiefe (72h)
    - MariaDB - allgemeine SQL Datenbank
- Visualisierungsmäglichkeit 
    - im Basissystem integriert, meist rudimentär als Webseite
    - [Grafana](https://grafana.com/) - frei gestaltbare Dashboards mit verschiedenen Diagrammtypen; [Beispiel](https://oppel.ddns.net:6877/books/smarthome-hems/page/beispiel-einfamilienhaus "Beispiel: Einfamilienhaus")

</div></div></div></div>

# DIY SmartHome Projekte; Beispiele

[Matthias Kleine](https://haus-automatisierung.com/) viele Tutorials zu Systeme, Komponenten Methoden Technologieen aus dem Bereich Hausautomation

[https://www.smarthome-tricks.de/](https://www.smarthome-tricks.de/)

# Beispiel: Einfamilienhaus

#### Visualisierung mittels Grafana

<iframe allowfullscreen="allowfullscreen" height="400" name="Visualisierung live" sandbox="allow-scripts allow-same-origin allow-presentation" src="https://grafana.oppel.info/public-dashboards/f03c499713204b28b95bf7cbbc3f7b8e" width="900"></iframe>

Vollständige Darstellung [Bsp. Heizungstemperaturen Einfamilienhaus](https://grafana.oppel.info/public-dashboards/f03c499713204b28b95bf7cbbc3f7b8e)


### Externe Schnittstellen und API's

#### Tibber (Stromzähler)

[Tibber-API](https://data-api.tibber.com/)

# Synology NAS

### **<span style="color: rgb(0, 0, 0);">Zugriff auf Services über's Internet</span>**

#### <span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); text-decoration: underline;">Grundlagen</span></span>

**<span style="color: rgb(0, 0, 0);">Voraussetzungen</span>**

- <span style="color: rgb(0, 0, 0);">Dynamisches DNS muss eingerichtet sein, um den Router über Namen zu erreichen.</span>
- <span style="color: rgb(0, 0, 0);">Portweiterleitung muss im Internetrouter eingerichtet sein um den internen Server zu erreichen</span>

<p class="callout info"><span style="color: rgb(0, 0, 0);">Zugriff nur über verschlüsselte Verbindung mittels https</span></p>

<span style="color: rgb(0, 0, 0);">Dazu muss der im Anmeldeportal der [ReverseProxy](https://knowhowbase.oppel.info/books/netzwerk/page/reverse-proxy "Reverse-Proxy") für jede Verbindung konfiguriert werden.</span>

<p class="callout danger"><span style="color: rgb(0, 0, 0);">Wenn Anwendungen mit Websockets arbeiten z.B. NodeRed müssen in der Verbindung die benutzerdefinierte Header aktiviert werden. Ansonsten geht die Verbindung regelmäßig verloren und der Service funktioniert nicht.</span></p>

# Software und Plattformen - Übersicht

### Homeassistant

Vollstädiges Betriebssystem für Hausautomatisierung

Homepage: https://www.home-assistant.io/

### OpenMUC

Framework zum Kapseln von Protokollen und Schnittstellen

Homepage: [https://www.openmuc.org/](https://www.openmuc.org/)