Mqtt - SmartMeter Wärmepumpe auslesen | Client disconnected due to protocol error

Hi,

ich habe eine Wärmepumpe / PV Anlage welche mit einem SmartMeter ausgestatt ist und Daten via mqtt bereitstellen kann.
Das SmartMeter ist das Energy Manager 420.

Die Dokumentation ist hier abgelegt:

Die Einstellungen im SmartMeter:


Ich habe es mit Benutzernamen/ Passwort versucht, ohne, eigenen neuen Benutzer in Homeassistant.

In Homeassistant habe nutze ich den Mosquitto broker, Aktuelle Version: 6.5.0.
Hier habe ich nur den Standard genutzt:

Im Protokoll wird immer folgendes protokolliert:

2025-02-10 20:44:27: Client disconnected due to protocol error.

2025-02-10 20:44:32: New connection from 192.168.188.94:39066 on port 1883.

2025-02-10 20:44:32: Client disconnected due to protocol error.

2025-02-10 20:44:37: New connection from 192.168.188.94:39074 on port 1883.

2025-02-10 20:44:37: Client disconnected due to protocol error.

2025-02-10 20:44:42: New connection from 192.168.188.94:39076 on port 1883.

2025-02-10 20:44:42: Client disconnected due to protocol error.

2025-02-10 20:44:47: New connection from 192.168.188.94:39078 on port 1883.

2025-02-10 20:44:47: Client disconnected due to protocol error.

2025-02-10 20:44:52: New connection from 192.168.188.94:39086 on port 1883.

2025-02-10 20:44:52: Client disconnected due to protocol error.

2025-02-10 20:44:57: New connection from 192.168.188.94:39088 on port 1883.

2025-02-10 20:44:58: Client disconnected due to protocol error.

2025-02-10 20:45:03: New connection from 192.168.188.94:39090 on port 1883.

2025-02-10 20:45:03: Client disconnected due to protocol error.

2025-02-10 20:45:08: New connection from 192.168.188.94:39098 on port 1883.

2025-02-10 20:45:08: Client disconnected due to protocol error.

2025-02-10 20:45:13: New connection from 192.168.188.94:39100 on port 1883.

2025-02-10 20:45:13: Client disconnected due to protocol error.

2025-02-10 20:45:18: New connection from 192.168.188.94:39102 on port 1883.

2025-02-10 20:45:18: Client disconnected due to protocol error.

2025-02-10 20:45:23: New connection from 192.168.188.94:39110 on port 1883.

2025-02-10 20:45:23: Client disconnected due to protocol error.

2025-02-10 20:45:28: New connection from 192.168.188.94:39112 on port 1883.

2025-02-10 20:45:28: Client disconnected due to protocol error.

2025-02-10 20:45:30: New connection from 172.30.32.2:60248 on port 1883.

2025-02-10 20:45:30: Client closed its connection.

2025-02-10 20:45:33: New connection from 192.168.188.94:39114 on port 1883.

2025-02-10 20:45:33: Client disconnected due to protocol error.

2025-02-10 20:45:38: New connection from 192.168.188.94:39122 on port 1883.

2025-02-10 20:45:38: Client disconnected due to protocol error.

2025-02-10 20:45:43: New connection from 192.168.188.94:39124 on port 1883.

2025-02-10 20:45:43: Client disconnected due to protocol error.

2025-02-10 20:45:48: New connection from 192.168.188.94:39126 on port 1883.

2025-02-10 20:45:48: Client disconnected due to protocol error.

2025-02-10 20:45:53: New connection from 192.168.188.94:39134 on port 1883.

2025-02-10 20:45:53: Client disconnected due to protocol error.

2025-02-10 20:45:58: New connection from 192.168.188.94:39136 on port 1883.

2025-02-10 20:45:59: Client disconnected due to protocol error.

2025-02-10 20:46:04: New connection from 192.168.188.94:39138 on port 1883.

2025-02-10 20:46:04: Client disconnected due to protocol error.

2025-02-10 20:46:09: New connection from 192.168.188.94:39146 on port 1883.

2025-02-10 20:46:09: Client disconnected due to protocol error.

2025-02-10 20:46:14: New connection from 192.168.188.94:39148 on port 1883.

2025-02-10 20:46:14: Client disconnected due to protocol error.

2025-02-10 20:46:19: New connection from 192.168.188.94:39152 on port 1883.

2025-02-10 20:46:19: Client disconnected due to protocol error.

2025-02-10 20:46:24: New connection from 192.168.188.94:39158 on port 1883.

2025-02-10 20:46:24: Client disconnected due to protocol error.

Ich habe wirklich keinen Lösungsansatz mehr und freue mich auf eure Hilfe / input.

Danke!!!

Was sagt der MQTT-Explorer?

Bitte Logfiles und Code-Blöcke mit </> kenntlich machen.

Hi,
habe ich noch nicht mit gearbeitet, gerade heruntergeladen und mit homeassistant mqtt verbunden. Login passt mit den Daten.

Oder was soll ich hier prüfen? danke dir!

Wenn du mit deinem MQTT-Server verbunden bist, siehst du dann dort Daten eintrudeln? Wenigstens bei $SYS?

Hi,
also wenn du mit dem MQTT-Server meinen homeassistant mosquito broker meinst, sehe ich alle Daten. Komme da komplett an alle Daten ran. ich habe ein relativ großes zigbee2mqtt-netzwerk und sehe dort jedes Gerät.

Na dann kannst du jetzt aus den Topics deine Entitäten basteln.

Aber da sehe ich nicht von dem SmartMeter von dem ich die Daten benötige.
Die Muster Jason vom Smart-Meter wäre diese hier:

{
  "smart-meter": {
    "active_energy_+": 0,
    "active_energy_+_L1": 0,
    "active_energy_+_L2": 0,
    "active_energy_+_L3": 0,
    "active_energy_-": 0,
    "active_energy_-_L1": 0,
    "active_energy_-_L2": 0,
    "active_energy_-_L3": 0,
    "active_power_+": 0,
    "active_power_+_L1": 0,
    "active_power_+_L2": 0,
    "active_power_+_L3": 0,
    "active_power_-": 0,
    "active_power_-_L1": 0,
    "active_power_-_L2": 0,
    "active_power_-_L3": 0,
    "apparent_energy_+": 0,
    "apparent_energy_+_L1": 0,
    "apparent_energy_+_L2": 0,
    "apparent_energy_+_L3": 0,
    "apparent_energy_-": 0,
    "apparent_energy_-_L1": 0,
    "apparent_energy_-_L2": 0,
    "apparent_energy_-_L3": 0,
    "apparent_power_+": 0,
    "apparent_power_+_L1": 0,
    "apparent_power_+_L2": 0,
    "apparent_power_+_L3": 0,
    "apparent_power_-": 0,
    "apparent_power_-_L1": 0,
    "apparent_power_-_L2": 0,
    "apparent_power_-_L3": 0,
    "current_L1": 0,
    "current_L2": 0,
    "current_L3": 0,
    "power_factor": 0,
    "power_factor_L1": 0,
    "power_factor_L2": 0,
    "power_factor_L3": 0,
    "reactive_energy_+": 0,
    "reactive_energy_+_L1": 0,
    "reactive_energy_+_L2": 0,
    "reactive_energy_+_L3": 0,
    "reactive_energy_-": 0,
    "reactive_energy_-_L1": 0,
    "reactive_energy_-_L2": 0,
    "reactive_energy_-_L3": 0,
    "reactive_power_+": 0,
    "reactive_power_+_L1": 0,
    "reactive_power_+_L2": 0,
    "reactive_power_+_L3": 0,
    "reactive_power_-": 0,
    "reactive_power_-_L1": 0,
    "reactive_power_-_L2": 0,
    "reactive_power_-_L3": 0,
    "status": 0,
    "supply_frequency": 0,
    "timestamp": 123456789,
    "voltage_L1": 0,
    "voltage_L2": 0,
    "voltage_L3": 0
  }
}

Dein Smartmeter hat die IP-Adresse: 192.168.188.94?

Und bei der Mosquito-Konfiguration hast du im Bereich Login

- username: mqtt
  password: dein passwort

eingegeben?

genau. Eigentlich ja kein Hexenwerk.

Die Meldung im Smart-Meter beim speichern ist:

Ich glaube mich erinnern zu können, dass man den user auch als Benutzer haben sollte.
Es ist bei mir so lange her, als ich das einmal eingerichtet hatte. Jedenfalls gibt es bei mir einen Benutzer mit dem username in der Mosquito-Konfig.

auch schon versucht :slight_smile:

Da kann ich dir jetzt auch nicht helfen. Vielleicht weiß die Suchmaschine deiner Wahl eine Antwort auf:

> MQTT Client disconnected due to protocol error.

Vielleicht liegt es aber auch an:

Im Feld Port muss die Port-Nummer des MQTT-Brokers angegeben werden. Die Kommuni-
kation erfolgt ausschließlich mit TLS Verschlüsselung

Du aber ohne Verschlüsselung zum Port 1883 die Daten versendest.

leider nichts zu gefunden.

Hm, bei mir kommen mehr als 3 Seiten als Suchergebnis. Da wird doch wohl irgendwo ein Hinweis drin stecken.

Nachtrag: Hattest du eventuell in Betracht gezogen die Daten via TCP-Modbus abzugreifen?

das ist mri vollkommen egal. ich habe nur davon noch weniger Ahnung wie von mqtt. daher war das nicht erste wahl. ne jason-Schnittstelle kann das ding ja auch. Habe ich nur auch keine ahnung von.

Die Dokumentation zum Modbus scheint sehr ausführlich zu sein. Probiere es einfach aus.
Hier für den Einstieg:

  - name: zaehler
    type: tcp
    host: 192.168.188.94
    port: 502
    sensors:
      - name: LeistungAktuell
        unit_of_measurement: W
        slave: 1
        address: 0
        data_type: int32
        input_type: input
        scale: 0.1
        precision: 2
        device_class: power

Nachtrag:
Bei deinem Zähler →
TCP Slave muss dazu aktiviert sein.
TLS besser deaktivieren

1 „Gefällt mir“

dank dir, habe den ersten Wert erhalten. Ich fuxe mich da mal rein. Dank dir!

1 „Gefällt mir“