MQTT will nicht

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung
sparkiie
Beiträge: 6
Registriert: Mi 15. Mai 2019, 08:57

MQTT will nicht

Beitrag von sparkiie » Fr 31. Mai 2019, 23:41

Nachdem mich Ulrich überredet hat einen Raspi zum Auslesen meiner Pylontech anzuschaffen, konnte ich auch direkt die gewünschten Werte auslesen. Nun möchte ich die Daten noch an FHEM senden was mir aber nicht gelingen mag. Ich empfange einfach keine Daten.

Der Befehl aus der Anleitung mosquitto_sub -h localhost -v -t solaranzeige/box1/# bringt auch keine Ausgabe. Woran könnte es liegen?

Code: Alles auswählen

/******************************************************************************
//  MQTT Protokoll     MQTT Protokoll      MQTT Protokoll      MQTT Protokoll
//
//  Gültig erst ab der Version 4.3.0 !
******************************************************************************/
//  Sollen alle ausgelesenen Daten mit dem MQTT Protokoll an einen
//  MQTT-Broker gesendet werden? Bitte das Solaranzeige-MQTT PDF Dokument lesen
$MQTT = true;
//
//  Wo ist der MQTT-Broker zu finden?
//  Entweder "localhost", eine Domain oder IP Adresse "xxx.xxx.xxx.xxx" eintragen.
//  broker.hivemq.com ist ein Test Broker   Siehe http://www.mqtt-dashboard.com/
$MQTTBroker = "192.168.0.133";
//
//  Benutzter Port des Brokers. Normal ist 1883
$MQTTPort = 1883;
//
//  Falls der Broker gesichert ist. Sonst bitte leer lassen.
$MQTTBenutzer = "";
$MQTTKennwort = "";
//
//  Wenn man die Daten mit SSL Verschlüsselung versenden möchte.
//  Achtung! SSL Verschlüsselung ist zur Zeit noch nicht implementiert!
$MQTTSSL = false;
//
//  Timeout der Übertragung zum Broker. Normal = 10 bis 60 Sekunden
$MQTTKeepAlive = 60;
//
//  Topic Name des Gerätes solaranzeige/box1   (solaranzeige ist fest vorgegeben.)
//  Man kann das Gerät nennen wie man will, nur jeden Raspberry unterschiedlich
//  falls man mehrere im lokalen Netz betreibt.
$MQTTGeraet = "box1";
//
//  Welche Daten sollen als MQTT Message übertragen werden? Wenn hier nichts
//  aufgeführt ist, werden alle ausgelesenen Daten übertragen.
//  Bitte darauf achten, dass keine Leerstellen zwischen den Variablen sind.
//  Die einzelnen Variablen müssen mit einem Komma getrennt werden.
//  Beispiel:    $MQTTAuswahl = "Ladestatus,Solarspannung,Solarstrom"
//  Werden hier Variablen eingetragen, dann werden auch nur diese Topics
//  übertragen.
$MQTTAuswahl = "";
//
//
//
/******************************************************************************

mafe68
Beiträge: 49
Registriert: Mo 4. Mär 2019, 21:18

Re: MQTT will nicht

Beitrag von mafe68 » Sa 1. Jun 2019, 03:39

Das ist die Adresse vom MQTTBroker = "192.168.0.133" ? Und wo hast du den Befehl ausgeführt?

Code: Alles auswählen

mosquitto_sub -h localhost -v -t solaranzeige/box1/# 
Sonst kannst du auch statt dem Befehl die abfrage mit MQTTfx machen wenn du dir dabei leichter tust!
https://mqttfx.jensd.de/index.php
Lg. Mario

sparkiie
Beiträge: 6
Registriert: Mi 15. Mai 2019, 08:57

Re: MQTT will nicht

Beitrag von sparkiie » Sa 1. Jun 2019, 09:02

Richtig, mein Broker liegt auf .....133.

Kann es sein, dass das Image von Solaranzeige bereits einen Broker integriert hat?

Edit:
Offensichtlich ja.
Wenn ich MQTT auf localhost stelle, werden mit der Abfrage auch Werte angezeigt. Wenn ich aber fhem MQTT auf dem Raspberry abfrage erhalte ich keine readings...

Hat evtl. jemand Solaranzeige mit MQTT und FHEM im Einsatz?

Benutzeravatar
Ulrich
Administrator
Beiträge: 597
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: MQTT will nicht

Beitrag von Ulrich » Sa 1. Jun 2019, 10:58

Ich kenne leider die FHEM Zentrale nicht. Hat die denn einen Broker eingebaut? Die HomeMatic Zentrale hat z.B. keinen Broker eingebaut.

Normalerweise musst Du den lokalen Mosquitto Broker auf dem Raspberry nutzen, dort die Daten hin schicken und dann die Daten mit der FHEM Zentrale abholen (Subcribe)


Diesen Hinweis habe ich im Internet gefunden:
"Seit 2018 kann auch FHEM selbst - über ein Gerät des Typs MQTT2_SERVER - als Broker fungieren und diese Funktionalität auch für andere Clients bereitstellen, ohne dass weitere Perl-Module benötigt werden. Über allowed kann dabei auch verschlüselte Kommunikation stattfinden."

D.h. in der normalen FHEM Installation ist der Broker nicht enthalten / konfiguriert.
--------------------------------------
Ulrich [Admin]

mafe68
Beiträge: 49
Registriert: Mo 4. Mär 2019, 21:18

Re: MQTT will nicht

Beitrag von mafe68 » Sa 1. Jun 2019, 12:17

Ja man kann mqtt-Broker in Fehem installieren mit dem Befehl direkt in Fhem drin ausführen

Code: Alles auswählen

define myBroker MQTT 192.168.0.XXX:1883
Die Pearl Pakete sind in Fhem schon drin wenn Fhem am aktuellen Stand ist.
Lg. Mario

sparkiie
Beiträge: 6
Registriert: Mi 15. Mai 2019, 08:57

Re: MQTT will nicht

Beitrag von sparkiie » Sa 1. Jun 2019, 13:42

Habe ich eigentlich genau so eingerichtet. 192.168.0.175 ist der Raspberry Pi mit Solaranzeige.

Code: Alles auswählen

defmod Raspberry MQTT 192.168.0.175:1883

setstate Raspberry opened
setstate Raspberry 2019-06-01 13:40:12 connection active
setstate Raspberry 2019-06-01 10:27:00 state opened

Code: Alles auswählen

defmod Pylontech MQTT_DEVICE
attr Pylontech IODev Raspberry
attr Pylontech autoSubscribeReadings 1
attr Pylontech room MQTT
attr Pylontech subscribeReading_Pack1_Volt1 /solaranzeige/box1/pack1_zelle1

setstate Pylontech 2019-06-01 10:27:03 transmission-state subscription acknowledged
Leider kommt nix an...

Benutzeravatar
Ulrich
Administrator
Beiträge: 597
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: MQTT will nicht

Beitrag von Ulrich » Sa 1. Jun 2019, 14:49

attr Pylontech subscribeReading_Pack1_Volt1 /solaranzeige/box1/pack1_zelle1
Vor dem solaranzeige, darf da ein Schrägstrich sein?
Das muss doch

solaranzeige/box1/pack1_zelle1

heißen oder?
--------------------------------------
Ulrich [Admin]

sparkiie
Beiträge: 6
Registriert: Mi 15. Mai 2019, 08:57

Re: MQTT will nicht

Beitrag von sparkiie » Sa 1. Jun 2019, 15:02

Ulrich hat geschrieben:
Sa 1. Jun 2019, 14:49
attr Pylontech subscribeReading_Pack1_Volt1 /solaranzeige/box1/pack1_zelle1
Vor dem solaranzeige, darf da ein Schrägstrich sein?
Das muss doch

solaranzeige/box1/pack1_zelle1

heißen oder?
Zack, und schon geht's...
Vielen Dank!!!! :)

Antworten