HA Backup
Befindet sich auf der NAS 2QNAP
Data/Documente/Backup/HomeAssistent_PRD
Shelly Konfiguration für HA
Den Shelly mit der HandyApp Grund Konfigurieren
Bei der Gen2 und Gen 3 muss
Enable CoIoT
CoIoT peer: 192.168.178.xx:5683
nicht mehr eingerichtet werden.
Home Assistant MariaDB installieren
Mit Add-on MariaDB installieren
Nicht starten sondern erst auf Konfigurieren drücken
User Name -> homeassistant und Password eintragen
Zurück auf info Watchdog aktivieren
Auf Protokoll drücken und schauen ob alles OK ist keine Fehler
recorder:
db_url: mysql://homeassistant:password@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 31
Diese Zeile in configuration-yaml einfügen
Danach mit dem File Editor die Datei
Daten Migrieren -> Ich habe es nicht gemacht
Zu Add-ons gehen Terminal & SSH starten
Benutzeroberfläche öffnen
Wenn es nicht klappt z.B. bei Promox gehen wir auf die Promox Konsole auf das Terminal
Eingeben:
apk add python3
apk add py3-pip
pip3 install sqlite3-to-mysql
Folgendes script ausführen
sqlite3mysql \ –sqlite-file /config/home-assistant_v2.db \ –mysql-database homeassistant \ –mysql-host core-mariadb \ –mysql-user homeassistant \ –mysql-password ‚[Passwort deiner MariaDB]‚ \ –ignore-duplicate-keys
recorder:
db_url: mysql://homeassistant:password@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 31
Diese Zeile in configuration-yaml einfügen
Konfiguration InFlux DB
- Bei meiner Installation nicht notwendig! Repository hinzufügen: Öffne dein Home Assistant Dashboard und gehe zu Supervisor > Add-on Store. Klicke auf die drei Punkte in der oberen rechten Ecke und wähle Repositories. Füge das InfluxDB Repository hinzu: arduinoCode kopieren
https://github.com/hassio-addons/repository - InfluxDB Add-on installieren: Suche nach dem InfluxDB Add-on und installiere es. Nachdem die Installation abgeschlossen ist, starte das Add-on und aktiviere die Optionen „Start on boot“ und „Watchdog“.
- Auf die Krone drücken und eine neue Datenbank anlegen: homeassistant
- Benutzer Anlegen User:
- Passwort xxxxxxxxx
- Rechte geben: Damit euer Nutzer jetzt auch lesen und schreiben darf, aktiviert WRITE und READ. Speichern und weiter gehts.
Konfigurieren im Home Assistent
- Konfigurationsdatei bearbeiten: Öffne die
configuration.yamlDatei deines Home Assistant und füge folgende Zeilen hinzu. Bitte passe zwingend deine IP und dein Passwort an!
influxdb:
host: HOMEASSISTANTIP #Deine Home Assistant IP z.b. 192.168.1.10
port: 8086
database: homeassistant
username: inflxha
password: DEINSTARKESPasswort
Installation von Grafana
- Grafana Add-on installieren:Öffne wieder den Add-on Store in Home Assistant und suche nach dem Grafana Add-on. Installiere es und starte das Add-on. Das habe ich oben bei Influx auch als Screenshot eingefügt.
- Grafana konfigurieren:Gehe zu den Grafana Einstellungen und aktiviere „Start on boot“ und „Show in sidebar“. Öffne anschließend die Grafana Weboberfläche über die Sidebar.
- Datenquelle hinzufügen:Öffne Grafana und gehe zu Connections > Data Sources. Klicke auf Add data source und wähle InfluxDB aus.
- InfluxDB Konfiguration:Fülle die Felder wie folgt aus:
- URL:
http://192.168.18.xxx:8086 - Falls das nicht geht, teste deine HA IP z.B. 192.168.1.13:8086
- URL:
- Auth alles deaktivieren außer “witch Credentials”
- Database:
homeassistant
- User: inflxha
- Database:
- Password:
DEINSTARKESPasswort
- Password:
Erstellen von Dashboards in Grafana
Jetzt, da Grafana und InfluxDB miteinander verbunden sind, kannst du damit beginnen, Dashboards zu erstellen.
- Neues Dashboard erstellen:Gehe zu Create > Dashboard und füge ein neues Panel hinzu. Dann klicke auf “Add Visualization”
- Abfrage konfigurieren:Wähle InfluxDB als Datenquelle und konfiguriere deine Abfrage, um die gewünschten Daten anzuzeigen.
- Visualisierung anpassen:Passe die Visualisierung an, um die Daten auf ansprechende Weise darzustellen. Grafana bietet viele verschiedene Visualisierungsoptionen, die du ausprobieren kannst.
- Mein Tipp ist jetzt immer mit der Entität anzufangen. Das ist der eindeutige Name in Home Assistant. Hier am Beispiel des Temperatur Sensors. Die Entität ist

Einbinden von Grafana Dashbords in HA Dashboard
Der link der erzeugt wird ist schlicht und einfach falsch zumindest bei HA unter Promox
-> Falsch http://localhost:3000/api/hassio_ingress/BlFGAqbODmCUitNSq8H5A7TH2qOFu ….
-> Richtig ist http://192.168.xxx.xxx:8123/api/hassio_ingress/BlFGAqbODmCUitNSq8H5A7TH2qOFu91aDt1eNiSdBKA
- name: GF_AUTH_ANONYMOUS_ENABLED
value: "true"
- name: GF_AUTH_ANONYMOUS_ORG_NAME
value: Main Org.
- name: GF_AUTH_ANONYMOUS_ORG_ROLE
value: Viewer
- name: GF_SECURITY_ALLOW_EMBEDDING
value: "true"
- name: GF_AUTH_DISABLE_LOGIN_FORM
value: "true"
- name: GF_AUTH_OAUTH_AUTO_LOGIN
value: "true"
- name: GF_SECURITY_ALLOW_EMBEDDING
value: "true"
Tibber Price Integration
Um diese Grafik erstellen zu lassen wird benötigt :
HACS
ApexCharts zu installieren über HACS
Die Tibber Integration
Tibber Api Key
File Editor Integration
Anpassungen an der configuration.yaml für die Sensoren
und dann die Grafik erstellen
-> sensor.xxxxxxxxxxxx_strompreis# Tibber Integration Sensor Splitter
- platform: template
sensors:
electricity_price_max_xx_xxxxxxxx_NN:
friendly_name: Electricity Max price xx_xxxxxxx_NN
unique_id: sensor.electricity_max_price xx_xxxxxxx_NN
value_template: "{{ state_attr('sensor.xx_xxxxxxx_xx_strompreis','max_price') }}"
unit_of_measurement: EUR/kWh
icon_template: mdi:currency-eur
electricity_price_min_im_apfelgarten_11:
friendly_name: Electricity Min price xx_xxxxxxx_NN
unique_id: sensor.electricity_min_price xx_xxxxxxx_NN
value_template: "{{ state_attr('sensor.xx_xxxxxxxx_NN_strompreis','min_price') }}"
unit_of_measurement: EUR/kWh
icon_template: mdi:currency-eur
electricity_price_avg_im_apfelgarten_11:
friendly_name: Electricity Avg price xx_xxxxxxx_NN
unique_id: sensor.electricity_avg_price_im_apfelgarten_11
value_template: "{{ state_attr('sensor.xx_xxxxxxx_NN_strompreis','avg_price') }}"
unit_of_measurement: EUR/kWh
icon_template: mdi:currency-eur
# Tibber API
- platform: rest
name: "Electricity price Prognose xx_xxxxxxxxx_NN"
unique_id: sensor.electricity_price_prognose_xx_xxxxxxxxx_NN
resource: https://api.tibber.com/v1-beta/gql
method: POST
payload: '{ "query": "{ viewer { homes { currentSubscription { status priceInfo { current { total } today { total } tomorrow { total } } } } } }" }'
json_attributes_path: "$.data.viewer.homes[0].currentSubscription.priceInfo"
json_attributes:
- today
- tomorrow
value_template: "{{ value_json.data.viewer.homes[0].currentSubscription.priceInfo.current.total | float }}"
scan_interval: 300
headers:
Authorization: –>TIBBER-API-KEY-HIER-EINTRAGEN<–
Content-Type: application/json
User-Agent: REST
unit_of_measurement: EUR/kWh
Wenn die Anpassungen vorgenommen wurden muss einmal Home Assistant neu gestartet werden. Das kann gleich beim File Editor oben rechts beim Zahnrad erledigt werden.
Dann wechsel wir zum Dashbord und erstellen eine neue Karte.
Hier könnt ihr gerne erstmal mittes Sensor Karte die neuen Sensoren suchen.
Im zweiten Teil bei „platform: rest“ rufen wir die Tibber Api auf um dort an die Daten für die nächsten Tage zu kommen.
Bei Authorization: –>TIBBER-API-KEY-HIER-EINTRAGEN<– Bitte durch Euren Tibber Api Key ersetzenUnd in dem Quellcode Bereich ersetzen wir den Inhalt mit diesem.
Auch hier muss wieder bei den Sensoren die ADRESSE durch eure Adresse / Sensor Namen ersetzt werden
also
„- entity: sensor.electricity_price_prognose_ADRESSE“ mit
„- entity: sensor.electricity_price_prognose_xxxxxxxxxxx„
und so weiter.
type:
--------------------------------------------------------------------------------------
Display openHASP 4 Zoll
Ich erkläre hier wie ich ein 4 Zoll Display mit openHASP im Home Assistenten eingebunden habe.
Hintergrund der Aktion ist das mir eine Ecowitt Wetterstation kaputt gegangen ist.
Sie hatte Zwei Displays aber die neue Wetterstation von LFF hat nur ein Display.
Zum Einsatz nach vielen Probieren ein 4 Zoll Display von Aliexpress gkommen:
SKU 10103003 ESP32-4848S040C_I_Y_1. Das Display hat auch einen Relais Ausgang was bei mir aber nebensächlich ist.
Nach dem anstecken:

Das ist die Anzeige nach dem Anstecken des Displays.
https://nightly.openhasp.com

Jetzt Geduld bewahren.

Nach erfolgreichen flashen erscheint das Bild. Das Display stellt einen AP zur Verfügung. Entweder den qr code scannen oder per Hand die Wifi Daten eingeben.

WiFi Daten eingeben.

Unbedingt die IP merken. Dann im Browser die IP eingeben.

Unter Configuration Zeitserver einstellen und die mqtt Daten eintragen.
Nach den mqtt eingaben reboot nicht vergessen. Dann unter Information schauen ob alles verbunden ist.
File Editor mein erstes Display

{"page":0,"comment":"---------- Global on all pages ----------"}
{"comment":"---------- Kopfzeile ----------"}
{"id":1,"obj":"label","x":10,"y":10,"h":40,"w":280,"text":"00:00","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF","comment":"Uhrzeit"}
{"id":2,"obj":"label","x":360,"y":10,"h":40,"w":100,"text":"00.0°C","align":2,"bg_color":"#2C3E50","text_color":"#FFFFFF","comment":"Temperatur Innen"}
{"page":1,"comment":"---------- Aussen Temperatur ----------"}
{"id":1,"obj":"label","x":10,"y":60,"h":120,"w":200,"text":"00.0°C","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#4fd606"}
{"id":2,"obj":"label","x":260,"y":60,"h":120,"w":210,"text":"00.0km/h","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#a2231d"}
{"id":3,"obj":"label","x":10,"y":120,"h":120,"w":230,"text":"00.0mm/h","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#4fd606"}
{"id":4,"obj":"label","x":260,"y":120,"h":120,"w":210,"text":"00.0km/h","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#4fd606"}
{"id":5,"obj":"label","x":10,"y":180,"h":120,"w":210,"text":"SOC","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#4fd606"}
{"id":6,"obj":"label","x":120,"y":180,"h":120,"w":120,"text":"000%","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#4fd606"}
{"id":7,"obj":"label","x":310,"y":180,"h":120,"w":220,"text":"XXX","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#f6f6f6"}
{"id":8,"obj":"label","x":10,"y":240,"h":120,"w":57,"text":"PV","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#ff00ff"}
{"id":9,"obj":"label","x":130,"y":240,"h":120,"w":190,"text":"0000W","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#ff00ff"}
{"id":10,"obj":"label","x":310,"y":240,"h":120,"w":160,"text":"unbk","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#b8147d"}
{"id":11,"obj":"label","x":10,"y":300,"h":120,"w":150,"text":"PV2","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#ff00ff"}
{"id":12,"obj":"label","x":130,"y":300,"h":120,"w":160,"text":"0000W","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#ff00ff"}
{"id":13,"obj":"label","x":10,"y":360,"h":120,"w":160,"text":"Haus","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#f6f6f6"}
{"id":14,"obj":"label","x":130,"y":360,"h":120,"w":160,"text":"0000W","text_font":54,"align":0,"bg_color":"#4542f5","text_color":"#f6f6f6"}
Konfiguration in Home Assistent
Config file zu finden /homeassistant/packages/hasp.yaml
Gateway für EVCC und Home Assistent SMTP Server PostFix
1. Debian-LXC in Proxmox erstellen
Ich würde einen kleinen Debian 13 LXC nehmen:

- 1 CPU
- 512 MB bis 1 GB RAM
- 4–8 GB Speicher
- feste IP-Adresse
- kein öffentlich erreichbarer Port









Beim Fehler enable Nesting:
Wählen Sie den gewünschten LXC-Container im linken Menü aus.
Klicken Sie auf den Reiter Optionen (Options).
Doppelklicken Sie auf den Eintrag Eigenschaften (Features).
Setzen Sie einen Haken bei Nesting und speichern Sie die Änderung.
pct set 100 -features nesting=1
PostFix instalieren
apt update
apt upgrade -y
apt install postfix libsasl2-modules ca-certificates mailutils swaks -y
IONOS als Relay eintragen
postconf -e "relayhost = [smtp.ionos.de]:465"
postconf -e "smtp_sasl_auth_enable = yes"
postconf -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd"
postconf -e "smtp_sasl_security_options = noanonymous"
postconf -e "smtp_sasl_tls_security_options = noanonymous"
postconf -e "smtp_tls_security_level = encrypt"
postconf -e "smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt"
Das entspricht dem üblichen Postfix-Smarthost-Aufbau mit SASL und TLS
postconf -e 'smtp_tls_wrappermode = yes'
postconf -e 'smtp_tls_security_level = encrypt'
nano /etc/postfix/sasl_passwd
[smtp.ionos.de]:465 deine-adresse@deinedomain.de:DEIN_PASSWORT
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
Die Datei mit den Zugangsdaten sollte ausschließlich für root lesbar sein. Postfix verwendet anschließend die erzeugte .db-Datei.
Sollte es nicht funktionieren prüfen
mailq
Mails neu versenden mit
postqueue -f
Mail log installieren unter Debian 13
dpkg -l rsyslog
apt update
apt install rsyslog
Mail-Logging konfigurieren
nano /etc/rsyslog.d/50-mail.conf
mail.* -/var/log/mail.log
rsyslog neu starten
systemctl restart rsyslog
Prüfen
systemctl status rsyslog
Testen
echo "Test von Postfix" | mail -s "Postfix Logging Test" evcc@sl-support.org
tail -50 /var/log/mail.log
Live Beobachten
tail -f /var/log/mail.log Stop mit Strg c
Debian sollte über logrotate bereits dafür sorgen, dass /var/log/mail.log nicht unbegrenzt wächst. Prüfe:
ls -l /etc/logrotate.d/
cat /etc/logrotate.d/rsyslog
cat /etc/logrotate.d/rsyslog
/var/log/syslog
/var/log/mail.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
grep -iE 'error|warning|deferred|bounced|lost connection' /var/log/mail.log
grep 'status=sent' /var/log/mail.log
Postfix nur für dein Heimnetz öffnen
Das ist sehr wichtig, damit dein Server niemals zu einem Open Relay wird.
postconf -e "inet_interfaces = all"
postconf -e "inet_protocols = ipv4"
postconf -e "mynetworks = 127.0.0.0/8, 192.168.178.0/24"
postconf -e "smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination"
Neustart
systemctl restart postfix
systemctl enable postfixTestmail verschicken
swaks \
--server 127.0.0.1 \
--from deine-adresse@deinedomain.de \
--to deine-adresse@deinedomain.de \
--header "Subject: SMTP Test" \
--body "Diese E-Mail wurde über den lokalen Postfix-Server versendet."
Ein wichtiger Punkt bei IONOS
Ich würde als Absender grundsätzlich deine echte IONOS-Adresse verwenden, mit der sich Postfix bei IONOS anmeldet.
SMTP-Anmeldung:
technik@meinedomain.de
Absender:
technik@meinedomain.de
Danach kannst du sämtliche Geräte darauf zeigen lassen
SMTP-Server: 192.168.178.xx
Port: 25
Verschlüsselung: keine (nur im LAN)
Benutzername: -
Passwort: -
Und der einzige Server, der die IONOS-Zugangsdaten kennt, ist dein Postfix-LXC.
Perfekt. Dann können wir es konkret machen. Ich würde den SMTP-Relay beispielsweise unter 192.168.178.xxx betreiben.
Ziel
192.168.178.x Heimnetz
│
├── NAS
├── Kameras
├── sonstige Geräte
│
▼
192.168.178.xx
Debian LXC
Postfix SMTP-Relay
│
│ SMTP + STARTTLS
▼
smtp.ionos.de:587
│
▼
Internet
EVCC Mail Konfiguration
Wenn du in evcc unverschlüsselte E-Mails (ohne TLS/SSL) über ein lokales Netzwerk oder einen eigenen Mailserver (wie z. B. auf Port 25 ohne Authentifizierung) senden möchtest, kannst du das über das smtp-Schema (anstatt smtps) einrichten.
Es gibt jedoch eine wichtige technische Einschränkung in neueren evcc-Versionen: evcc versucht standardmäßig, eine verschlüsselte Verbindung via StartTLS aufzubauen. Wenn dein lokaler Server dies anbietet, aber ein selbstsigniertes Zertifikat nutzt oder evcc die IP-Adresse nicht verifizieren kann, bricht der Sendevorgang ab (tls: failed to verify certificate).
Du hast zwei Möglichkeiten, dies zu konfigurieren:
Methode 1: Über die evcc.yaml (Empfohlen für feine Einstellungen)
Füge den Parameter ?skipVerify=true an deine URI an, um die TLS-Zertifikatsprüfung zu umgehen.
yaml
messaging:
events:
- start
- stop
services:
- type: email
# smtp:// anstelle von smtps:// für unverschlüsselte/Standard-Ports
uri: smtp://user:password@192.168.178.10:25/?fromAddress=evcc@local.lan&toAddresses=deine@mail.de&skipVerify=true
Erklärung der Parameter:
smtp://: Erzwingt die unverschlüsselte bzw. optionale StartTLS-Verbindung (anstelle des implizit verschlüsseltensmtps://).skipVerify=true: Ignoriert Zertifikatsfehler, falls dein lokaler Mailserver unverschlüsselt läuft oder Zertifikate nutzt, die nicht öffentlich validiert werden können.- Hinweis zu Passwörtern: Enthält dein Passwort Sonderzeichen, müssen diese in der URI URL-encodiert werden (z. B.
@wird zu%40).
Methode 2: Über das Web-Interface (GUI)
Wenn du die Benachrichtigungen direkt im evcc Web-Interface unter Einstellungen → Benachrichtigungen konfigurierst
Troubleshooting
Wenn viele Sensoren eingrichtet und wieder entfernt werden kommt es zu Fehlern in der Statistik Datenbank. Diese muss dringend repariert werden.


