Benutzer online
Gäste online 1
Mitglieder online 0

Mitglieder insgesamt: 2
Neuestes Mitglied: joevec
Foren-Statistiken
Besucher-Zähler
Besucher heute: 183
Besucher gestern: 299
Rekord: 490 (02.11.2026)
Besucher gesamt: 11239

Gesamt-Statistiken
Themen gesamt: 24
Beiträge gesamt: 24
Mitgliederumfragen
Hostet ihr eure Clouds selber?
ja100 %
100% [1 Vote]
Nein0 %
0% [0 Votes]
Kontaktformular
Für Hinweise, Fragen und Kritik haben wir stets ein offenes Ohr.
Einfach nachfolgendes Formular absenden und wir antworten schnellstmöglich.
CAPTCHA ImageRefresh Image

Das offizielle Smart-Home-Handbuch: Proxmox, HAOS, MQTT, EcoTracker & Noah 2000

Letzte Aktualisierung
Loop1403Loop1403Seiten Administrator
Veröffentlicht am
# 🎛️ Das offizielle Smart-Home-Handbuch: Proxmox, HAOS, MQTT, EcoTracker & Noah 2000


## 🚀 TEIL 1: Proxmox VE & Home Assistant OS (HAOS) installieren

### 1. Vorbereitung & Proxmox-Installation
1. Lade das **Proxmox VE ISO-Image** herunter und flashe es mit **BalenaEtcher** oder **Rufus** auf einen USB-Stick (mindestens 8 GCool.
2. Schließe deinen Server per **LAN-Kabel** an den Router an. Boote vom USB-Stick (über F11/F12).
3. Wähle **"Install Proxmox VE (Graphical)"** und folge dem Setup:
* **Target Harddisk:** Deine primäre Festplatte (SSD/NVMe).
* **Management Network:** Vergib eine **feste IP-Adresse** (z. B. 192.168.178.100).
4. Nach Abschluss startet der Server neu. Ziehe den USB-Stick ab.

### 2. HAOS via automatischer VM einrichten
1. Rufe die Proxmox-Weboberfläche an einem PC im selben Netzwerk auf: https://DEINE-SERVER-IP:8006 (Ignoriere die SSL-Warnung).
2. Melde dich mit dem Benutzernamen root und deinem Installationspasswort an.
3. Klicke links ganz oben auf den **Namen deines Servers** und öffne im mittleren Menü die **"Shell"**.
4. Kopiere diesen Befehl, füge ihn ein und drücke **Enter**:

bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/haos-vm.sh)"


5. Bestätige alle Abfragen mit **Ja / Enter** (Standardeinstellungen). Das Skript erstellt die VM vollautomatisch.
6. Klicke links auf die neu erstellte VM (z. B. 100 (haos...)) und wähle oben **"Start"**.
7. Öffne nach wenigen Minuten einen neuen Tab: http://homeassistant.local:8123 – folge dem Einrichtungsassistenten.

---

## 📡 TEIL 2: Lokalen Mosquitto MQTT Broker einrichten

Der MQTT Broker verarbeitet die lokalen Daten deiner smarten Geräte ohne Umwege.

1. Gehe in Home Assistant auf **Einstellungen** ➔ **Add-ons** ➔ **Add-on Store** (unten rechts).
2. Suche nach **"Mosquitto Broker"**, klicke darauf und wähle **Installieren**.
3. Aktiviere vor dem Start die Optionen **Watchdog** und **Automatisches Update**.
4. Klicke auf **Starten**.
5. Navigiere zu **Einstellungen** ➔ **Geräte & Dienste**. Die **MQTT** Integration wird als neue Kachel entdeckt. Klicke dort auf **Konfigurieren** und bestätige das Fenster.

---

## 🔋 TEIL 3: Growatt Noah 2000 über noah-mqtt einbinden

Dieses Tool holt die Daten deines Akkuspeichers über die Programmschnittstelle ab und übergibt sie an MQTT.

1. Gehe zu **Einstellungen** ➔ **Add-ons** ➔ **Add-on Store**.
2. Klicke oben rechts auf die **drei Punkte** ➔ **Repositorys**.
3. Füge folgende URL hinzu und klicke auf Hinzufügen: https://github.com/firstusing/hassio-addons
4. Suche im Store nach **"noah-mqtt"** und klicke auf **Installieren**.
5. Aktiviere **Watchdog** und **Automatisches Update**.
6. Wechsle oben auf den Reiter **Konfiguration** und fülle die Felder aus:
* **growatt_username / growatt_password:** Deine Anmeldedaten der ShinePhone-App.
* **mqtt_host:** localhost (bzw. die IP deines HA-Servers, falls extern).
* **mqtt_port:** 1883
7. Klicke auf **Speichern**, wechsle zurück zu *Informationen* und klicke auf **Starten**.
8. **Ergebnis:** Unter **Einstellungen** ➔ **Geräte & Dienste** ➔ **MQTT** taucht dein **Noah 2000** mit allen Live-Sensoren auf.

---

## 📋 TEIL 4: Profi-YAML-Konfiguration (configuration.yaml)

Dieses mathematische Filter-Setup fragt den **EcoTracker** lokal über REST-API (alle 5 Sek.) ab und wandelt per Trigger-Template unzuverlässige Watt-Leistungen (W) fehlerfrei in präzise Energie-Arbeit (kWh) um. Zudem werden Ausreißer-Schutzfilter für den Wechselrichter (Fritz!Dose) und automatische Euro-Ersparnis-Zähler integriert.

Passe bei Bedarf die IP deines EcoTrackers (resource:) an!

yaml
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# ==========================================
# 📊 UTILITY METER (Langzeit-Statistiken)
# ==========================================
utility_meter:
fritzdose_energie_heute:
source: sensor.solarproduktion_sicher
name: "Fritzdose Energie Heute"
cycle: daily

solar_ersparnis_monat:
source: sensor.solar_ersparnis_heute
name: "Solar Ersparnis Monat"
cycle: monthly

solar_ersparnis_jahr:
source: sensor.solar_ersparnis_heute
name: "Solar Ersparnis Jahr"
cycle: yearly

solar_ersparnis_gesamt:
source: sensor.solar_ersparnis_heute
name: "Solar Ersparnis Gesamt"

solar_produktion_heute:
unique_id: solar_produktion_heute_utility_001
source: sensor.solarproduktion_sicher
name: "Solar Produktion Heute"
cycle: daily

solar_produktion_monat:
unique_id: solar_produktion_monat_utility_001
source: sensor.solarproduktion_sicher
name: "Solar Produktion Monat"
cycle: monthly

solar_produktion_jahr:
unique_id: solar_produktion_jahr_utility_001
source: sensor.solarproduktion_sicher
name: "Solar Produktion Jahr"
cycle: yearly

# ==========================================
# 🌐 REST API INTEGRATION (EcoTracker)
# ==========================================
sensor:
- platform: rest
name: ecotracker
unique_id: ecotracker_rest_base_001
resource: http://deine ecotracker ip/v1/json
scan_interval: 5
value_template: "{{ value_json.power }}"
json_attributes:
- power
- energyCounterIn
- energyCounterOut

# ==========================================
# 🤖 TEMPLATE ENTITIES (Mathematische Filter)
# ==========================================
template:
# Mathematische Integration: Leistung (W) -> Arbeit (kWh) via 1-Minuten-Trigger
- trigger:
- platform: time_pattern
minutes: "/1"
- platform: homeassistant
event: start
sensor:
# Berechnung des Akku-Ladungsvolumens
- name: "Noah Geladen Kwh Helfer 001"
unique_id: noah_geladen_kwh_helfer_001
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set entity = 'sensor.0pvpqaed268t0002_charging_power' %}
{% set watt = states(entity) | float(0) %}
{% set prev = this.state | float(0) %}
{% if watt > 0 %}
{{ (prev + (watt / 60000.0)) | round(5) }}
{% else %}
{{ prev }}
{% endif %}

# Berechnung des Akku-Entladungsvolumens
- name: "Noah Entladen Kwh Helfer 001"
unique_id: noah_entladen_kwh_helfer_001
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set entity = 'sensor.0pvpqaed268t0002_discharge_power' %}
{% set watt = states(entity) | float(0) %}
{% set prev = this.state | float(0) %}
{% if watt > 0 %}
{{ (prev + (watt / 60000.0)) | round(5) }}
{% else %}
{{ prev }}
{% endif %}

# Validierte akkumulierte Solarproduktion
- name: "Solarproduktion Sicher"
unique_id: growatt_solar_kwh_sicher_final
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set entity = 'sensor.solarleistung_aktuell_sicher' %}
{% set watt = states(entity) | float(0) %}
{% set prev = this.state | float(0) %}
{% if watt > 0 %}
{{ (prev + (watt / 60000.0)) | round(5) }}
{% else %}
{{ prev }}
{% endif %}

# State-Transformationen & Mathematische Filter (Echtzeit-Auswertung)
- sensor:
- name: "Noah Batterie Entladen Live Sicher"
unique_id: noah_batterie_entladen_live_sicher
device_class: power
state_class: measurement
unit_of_measurement: "W"
state: >
{% set entity = 'sensor.0pvpqaed268t0002_discharge_power' %}
{% set akku_state = states(entity) %}
{% if akku_state in ['unavailable', 'unknown', 'none'] or akku_state is none %}
0
{% else %}
{% set akku_watt = akku_state | float(-1) %}
{{ akku_watt | round(1) if akku_watt >= 0 else 0 }}
{% endif %}

- name: "Ecotracker Aktueller Verbrauch"
unique_id: ecotracker_power_live_001
device_class: power
state_class: measurement
unit_of_measurement: "W"
state: >
{% set val = state_attr('sensor.ecotracker', 'power'Zwinkern %}
{{ val if val is not none else this.state }}

# Wh -> kWh Konvertierung für Netzbezug
- name: "Ecotracker Bezug"
unique_id: ecotracker_com_import_001
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set val = state_attr('sensor.ecotracker', 'energyCounterIn'Zwinkern %}
{% if val is not none and val | float(0) > 0 %}
{{ (val | float / 1000) | round(3) }}
{% else %}
{{ this.state }}
{% endif %}

# Wh -> kWh Konvertierung für Netzeinspeisung
- name: "Ecotracker Einspeisung"
unique_id: ecotracker_com_export_001
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set val = state_attr('sensor.ecotracker', 'energyCounterOut'Zwinkern %}
{% if val is not none and val | float(0) > 0 %}
{{ (val | float / 1000) | round(3) }}
{% else %}
{{ this.state }}
{% endif %}

# Mathematische Isolierung der reinen Einspeiseleistung (Invertierung von Negativwerten)
- name: "Ecotracker Aktuelle Einspeisung"
unique_id: ecotracker_current_export_001
device_class: power
state_class: measurement
unit_of_measurement: "W"
state: >
{% set power = state_attr('sensor.ecotracker', 'power'Zwinkern %}
{% if power is not none %}
{% set p_float = power | float(0) %}
{{ p_float | abs if p_float < 0 else 0 }}
{% else %}
{{ this.state }}
{% endif %}

# Validierungs-Filter für FRITZ!DECT Leistungsmessung (Ausreißer-Schutz)
- name: "Solarleistung Aktuell Sicher"
unique_id: growatt_solar_watt_sicher_final
device_class: power
state_class: measurement
unit_of_measurement: "W"
availability: >
{{ has_value('sensor.fritz_smart_energy_200_1_leistung'Zwinkern
and states('sensor.fritz_smart_energy_200_1_leistung'Zwinkern not in ['unknown', 'unavailable'] }}
state: >
{% set val = states('sensor.fritz_smart_energy_200_1_leistung'Zwinkern %}
{% if val is not none and val | float(-1) >= 0 %}
{{ val | float | round(1) }}
{% else %}
{{ this.state }}
{% endif %}

# Monetäre Echtzeit-Ersparnis (Berechnungsfaktor: 0.2655 €/kWh)
- name: "Solar Ersparnis Heute"
unique_id: solar_ersparnis_heute_euro
unit_of_measurement: "€"
state: >
{% set kwh = states('sensor.fritzdose_energie_heute'Zwinkern | float(0) %}
{% set preis = 0.2655 %}
{{ (kwh * preis) | round(2) }}

**Aktivierung:** Unter **Entwicklerwerkzeuge** ➔ **YAML** die Konfiguration prüfen und anschließend auf **Template-Entitäten neu laden** sowie **REST-Objekte neu laden** klicken.

---

## 📊 TEIL 5: Das Energie-Dashboard konfigurieren

Binde die erstellten Langzeit-Entitäten im nativen Energie-Dashboard ein, um die vollständige Fluss-Analyse freizuschalten.

1. Navigiere zu **Einstellungen** ➔ **Dashboards** ➔ **Energie**.
2. **Netzverbrauch (Grid Consumption) hinzufügen:**
* Klicke bei Netzverbrauch auf **"Vom Netz hinzugefügt"**.
* Wähle die Entität:
sensor.ecotracker_bezug
3. **Zurückgegebenes Netz (Return to Grid) hinzufügen:**
* Klicke auf **"Zum Netz zurückgegeben"**.
* Wähle die Entität:
sensor.ecotracker_einspeisung
4. **Solarproduktion (Solar Production) hinzufügen:**
* Klicke unter "Solaranlagen" auf **"Solarproduktion hinzufügen"**.
* Wähle die Entität:
sensor.solar_produktion_heute`

⚠️ **Wichtiger System-Hinweis:** Das Energie-Dashboard aktualisiert sich im Hintergrund zyklisch **immer zur vollen Stunde**. Nach dem Speichern bleibt das Diagramm zunächst leer – es dauert **bis zu zwei Stunden**, bis die ersten Balken generiert werden!
zuletzt bearbeitet von Loop1403 am 25-10-2026 05:54,
Du kannst alle Themen in diesem Forum sehen.
Du kannst nicht ein neues Thema in diesem Forum eröffnen.
Du kannst nicht auf dieses Thema antworten.
Du kannst nicht Umfragen in diesem Forum erstellen.
Du kannst nicht Anhänge in diesem Forum hochladen.
Du kannst nicht Anhänge in diesem Forum herunterladen.
Anmelden
Noch keinen Account? Klicke hier, um dich zu registrieren.
Passwort vergessen?
Shoutbox
Du musst dich anmelden, um eine Nachricht zu senden.
Loop1403
Loop1403#1
Moingsen
SERVER BEITRETEN
Echte Live-Kanäle:
Eurotruck SimulatorJoin
LS 25Join
Kreis SteinfurtJoin
Hebby`s SabbeleckeJoin
Sven,s ZockerbudeJoin
Left for DeadJoin
CounterstrikeJoin
World of WarshipsJoin
BattlefieldJoin
Klönecke( wenn nicht Gespielt wird)Join
Tratschecke ( im Single Player )Join
TeamJoin
AwayJoin
BesprechungJoin