MQTT Daten wollen nicht in die Datenbank

Alles was speziell mit der Anbindung der HomeMatic Zentrale und anderen Smart Home Zentralen zu tun hat. (FHEM, ioBroker usw.) Fragen Ideen und Erfolgsmeldungen.

Moderator: Ulrich

elflinko
Beiträge: 10
Registriert: Mo 19. Aug 2019, 21:56
Hat sich bedankt: 6 Mal

MQTT Daten wollen nicht in die Datenbank

Beitrag von elflinko »

Hallo an Ulrich und die gesamte Community!

Erstmal Danke für die tolle Arbeit die hier geleistet wird und für die vielen wertvollen Informationen die man hier erhaschen kann!

Ich kämpfe schon seit Tagen MQTT Daten in die (lokale) influx DB zu bekommen. Grundsätzlich hätte ich MQTT (Grund)Kenntnisse und habe mit der Solaranzeige schon Erfahrung. Ich nutze ein Multireglersystem mit 2 Reglern (Victron und Shelly 3EM) mit 2 getrennten Datenbanken. Das funktioniert soweit perfekt. Nun würde ich gerne weitere MQTT Daten in der Datenbank speichern und darstellen.

Als Versuch sende ich MQTT Daten von einem Raspi im lokalen Netzwerk an die IP (192.168.8.59) der Solaranazeige. Ich nutze dazu folgenden Befehl:
mosquitto_pub -h 192.168.8.59 -t solaranzeige/anzeige/2/Boiler -m 25 -q 1

Wenn ich in der Konsole der Solaranzeige mosquitto nutze, dann kommen die Daten auch an, doch in der Datenbank finde ich keinen Eintrag. Die Datei 2.user.config.php habe ich wie folgt angepasst:

Code: Alles auswählen

//  $MQTTTopic[1] = "solaranzeige/befehl/1/#";
//  Es können so viele Topics wie benötigt aufgeführt werden. Sie müssen nur
//  durch nummeriert werden [1] bis [n]
//  Bei Multi-Regler-Versionen muss zusätzlich noch die Gerätenummer angegeben
//  werden. Weitere Informationen finden Sie auf dem Support Forum.
$MQTTTopic[1] = "solaranzeige/anzeige/2/#";
Das Log zeigt:

Code: Alles auswählen

23.04. 09:08:01    -Multi Regler Auslesen [Start].
23.04. 09:08:01    -Verarbeitung von: '1.user.config.php'   Regler: 4
23.04. 09:08:01 |------------   Start  victron_solarregler.php   --------------$
23.04. 09:08:01    -Zentraler Timestamp: 1619161681
23.04. 09:08:05 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
23.04. 09:08:05    -Multi-Regler-Ausgang. 3
23.04. 09:08:08    -OK. Datenübertragung erfolgreich.
23.04. 09:08:08 |------------   Stop   victron_solarregler.php   --------------$
23.04. 09:08:08    -Verarbeitung von: '2.user.config.php'   Regler: 31
23.04. 09:08:08 |--------------------   Start  shelly.php    ------------------
23.04. 09:08:08    -Gesamtleistung: 2258.76 Watt
23.04. 09:08:08 *  -Daten zur lokalen InfluxDB [ shelly ] gesendet.
23.04. 09:08:08    -Multi-Regler-Ausgang. 7
23.04. 09:08:15    -OK. Datenübertragung erfolgreich.
23.04. 09:08:15    -WattstundenGesamtHeute: 16722.17
23.04. 09:08:15 |--------------------   Stop   shelly.php    -----------------$
23.04. 09:08:15    -Multi Regler Auslesen [Stop].
Die Datenbank bleibt leider von MQTT unberührt:

Code: Alles auswählen

influx
Connected to http://localhost:8086 version 1.8.0
InfluxDB shell version: 1.8.0
> use shelly
Using database shelly
> show MEASUREMENTS
name: measurements
name
----
AC
Info
Service
Statistik
Summen
Habe ich einen Denkfehler? Gibt eines eine Debug Möglichkeit um der Sache auf dem Grund gehen zu können? Im Log der Solaranzeige finde ich keine Einträge die ich MQTT zuordnen könnte.
Wäre für eure Hilfe sehr dankbar!

Benutzeravatar
Ulrich
Administrator
Beiträge: 2312
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 111 Mal
Kontaktdaten:

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von Ulrich »

Schaue bitte einmal in die 1.user.config.php ob dort

$MQTT = true;

steht. Damit wird der MQTT Empfang eingeschaltet.

Mir feht in der LOG Datei der Hinweis, dass der MQTT Empfang aktiviert ist.
--------------------------------------
Ulrich [Admin]

elflinko
Beiträge: 10
Registriert: Mo 19. Aug 2019, 21:56
Hat sich bedankt: 6 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von elflinko »

Hallo,

wie per Mail bereits kommuniziert, wurde das Problem durch eine Neuinstallation behoben. Keine Ahnung warum es nicht funktionierte, aber das Problem wurde dadurch beseitigt. Danke an dieser Stelle @Ulrich! :idea:

Bei einer Sache bin ich mir allerdings noch nicht ganz im Klaren.
Ich nutze eine Multi-Regler-Version mit 2 Regler (1=Victron, 2=Shelly). In der 1.user.config.php schalte ich MQTT (senden) auf true, damit MQTT für alle Regler aktiviert wird.

Wie lautet die korrekte Konfiguration, damit ich die MQTT Daten in Datenbank des 2. Reglers bekomme?

Meine Konfiguration des 1. Reglers (1.user.config.php):

Code: Alles auswählen

/******************************************************************************
//  MQTT Protokoll     MQTT Protokoll      MQTT Protokoll      MQTT Protokoll
//  Wenn Daten mit dem MQTT Protokoll versendet werden sollen. Hat nichts
//  direkt mit den Sonoff Geräten zu tun.
//
******************************************************************************/
//  Sollen alle ausgelesenen Daten mit dem MQTT Protokoll an einen
//  MQTT-Broker gesendet werden? Bitte das Solaranzeige-MQTT PDF Dokument lesen
$MQTT = true;
//

...

//  $MQTTTopic[1] = "solaranzeige/befehl/1/#";
//  Es können so viele Topics wie benötigt aufgeführt werden. Sie müssen nur
//  durch nummeriert werden [1] bis [n]
//  Bei Multi-Regler-Versionen muss zusätzlich noch die Gerätenummer angegeben
//  werden. Weitere Informationen finden Sie auf dem Support Forum.
//$MQTTTopic[1] = "solaranzeige/anzeige/1/#";
//
Meine Konfiguration des 2. Reglers (2.user.config.php):

Code: Alles auswählen

/******************************************************************************
//  MQTT Protokoll     MQTT Protokoll      MQTT Protokoll      MQTT Protokoll
//  Wenn Daten mit dem MQTT Protokoll versendet werden sollen. Hat nichts
//  direkt mit den Sonoff Geräten zu tun.
//
******************************************************************************/
//  Sollen alle ausgelesenen Daten mit dem MQTT Protokoll an einen
//  MQTT-Broker gesendet werden? Bitte das Solaranzeige-MQTT PDF Dokument lesen
$MQTT = false;
//
//  Wo ist der MQTT-Broker zu finden?

...

//  Oder auch
//  $MQTTTopic[1] = "solaranzeige/befehl/1/#";
//  Es können so viele Topics wie benötigt aufgeführt werden. Sie müssen nur
//  durch nummeriert werden [1] bis [n]
//  Bei Multi-Regler-Versionen muss zusätzlich noch die Gerätenummer angegeben
//  werden. Weitere Informationen finden Sie auf dem Support Forum.
$MQTTTopic[1] = "solaranzeige/anzeige/2/#";
//
In der Konstellation werden die Daten jedoch in die Datenbank des 1. Reglers (influx "solaranzeige") geschrieben, selbst wenn ich an das Topic solaranzeige/anzeige/2 sende...?
mosquitto_pub -h 192.168.8.59 -t solaranzeige/anzeige/2/Pool -m 25 -q 1

Ist es möglich die Daten in die Datenbank des 2. Reglers (influx "shelly") zu schreiben? Im Grunde ist es so auch kein Problem, "schöner" wär' es halt anders, da die Daten zum Shelly gehören..

Liebe Grüße,
Alex

Benutzeravatar
solarfanenrico
Beiträge: 192
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 15 Mal
Danksagung erhalten: 17 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von solarfanenrico »

Hallo Alex,
Du hast doch sicher die 2.user.config.php mit dem

$Regler = "23";

$InfluxDB_local = true;

$InfluxDBLokal = "shelly";

das sollte eigentlich schon genügen um diese Daten in die DB zu schreiben, und sind dort vielleicht schon drin.

Um im Grafana-Dashboard daran zu kommen, muß diese Datasources hinzugefügt werden.

MQTT hat damit noch gar nichts zu tun.
Enrico

elflinko
Beiträge: 10
Registriert: Mo 19. Aug 2019, 21:56
Hat sich bedankt: 6 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von elflinko »

solarfanenrico hat geschrieben:
Fr 14. Mai 2021, 16:28
Hallo Alex,
Du hast doch sicher die 2.user.config.php mit dem

$Regler = "23";

$InfluxDB_local = true;

$InfluxDBLokal = "shelly";

das sollte eigentlich schon genügen um diese Daten in die DB zu schreiben, und sind dort vielleicht schon drin.

Um im Grafana-Dashboard daran zu kommen, muß diese Datasources hinzugefügt werden.

MQTT hat damit noch gar nichts zu tun.
Enrico
Hallo,

als Regler verwende ich die Nr. 31 (Shelly 3EM). Die MQTT Daten bekomme ich aber woanders her und möchte diese auch in die DB "shelly" speichern.
$InfluxDB_local = true; --> ist gesetzt ($InfluxDB_remote= true; ebenfalls)
Die Daten des Shelly 3EM kommen ja in die Datenbank, nur die MQTT Daten leider nicht.

Wenn ich mir die Database "shelly" anschaue, gibt's gar keine Tabelle mit MQTT:

Code: Alles auswählen

pi@PoolPi:/var/www/html $ influx
Connected to http://localhost:8086 version 1.8.0
InfluxDB shell version: 1.8.0
> use shelly
Using database shelly
> show measurements
name: measurements
name
----
AC
Info
Service
Statistik
Summen
>
Mit der 1.user.config.php (DB: "solaranzeige") funktioniert es allerdings problemlos:

Code: Alles auswählen

> use solaranzeige
Using database solaranzeige
> show measurements
name: measurements
name
----
Batterie
Info
MQTT
PV
Service
Statistik
Summen
aktuellesWetter
> select * from MQTT
name: MQTT
time                Pool
----                ----
1620993563000000000 21
1620994358000000000 27
>

Benutzeravatar
solarfanenrico
Beiträge: 192
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 15 Mal
Danksagung erhalten: 17 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von solarfanenrico »

was wird denn per MQQT übertragen?

von der solaranzeige sehe ich die wahrscheinlich Pooltemperatur, und was soll von der shelly kommen?

elflinko
Beiträge: 10
Registriert: Mo 19. Aug 2019, 21:56
Hat sich bedankt: 6 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von elflinko »

Der Shelly 3EM liefert mir die Verbrauchsdaten vom ganzen Haus. Das funktioniert auch wie es sein soll. Die Daten werden gelesen und in die DB "shelly" geschrieben. Der MQTT eintrag mit "Pool" ist nur zur Demonstration und hat nichts mit meiner späteren Anwendung zu tun. Ich möchte einfach noch zusätzliche Daten in die Datenbank "shelly" speichern, die ich über MQTT an den Raspi Solaranzeige schicke. Die Daten kommen ja auch an, nur werden mir die Daten in der Datenbank "solaranzeige" der 1.user.config.php gespeichert.

Hoffe ich konnte mich verständlich ausdrücken.

Benutzeravatar
solarfanenrico
Beiträge: 192
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 15 Mal
Danksagung erhalten: 17 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von solarfanenrico »

ist mir zu hoch, Verzeihung ich steige auch nicht durch.

Enrico

elflinko
Beiträge: 10
Registriert: Mo 19. Aug 2019, 21:56
Hat sich bedankt: 6 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von elflinko »

Danke trotzdem @Enrico!

Benutzeravatar
solarfanenrico
Beiträge: 192
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 15 Mal
Danksagung erhalten: 17 Mal

Re: MQTT Daten wollen nicht in die Datenbank

Beitrag von solarfanenrico »

Hallo,
ich empfehle diesen Beitrag von Ulrich viewtopic.php?f=4&t=427

MQTT ist nur ein Übermittlungssystem, womit gesendet und empfangen wird.

Fall Du auch shellydaten an eine Homatic senden möchtest, muß in der entsprechenden X.user.config.php sicher auch senden auf "true" gestellt werden.

Bisher scheint shelly nur auf Empfang zu sein.

Falls ich dies falsch sehe, wird sich TeamO oder Ulrich sicher dazu melden.

Enrico

Antworten