NEWS
MQTT Daten Senden
-
Hi,
ich versuche Daten per MQTT an eine Solaranzeige zu senden leider ohne Erfolg.
Was funktioniert ist von der Solaranzeige zu Iobroker allerdings nicht andersrum.
Hier meine ganzen Settings vielleicht sieht ja einer den Fehler :
// In diesem Beispiel wird der Wert der PV-Spannung in die Influx Datenbank // geschrieben unter dem Measurement MQTT // oder // Beispiel: solaranzeige/befehl/1/POP mit Wert 00 // Der Befehl POP00 wird zum Wechselrichter geschickt. Er wird jedoch nur // ausgeführt wenn es sich um einen erlaubten Befehl handelt, der in der // Datei "befehle.ini.php" enthalten ist. // // Beispiele: // $MQTTTopic[1] = "solaranzeige/befehl/1/POP"; // $MQTTTopic[2] = "solaranzeige/befehl/1/PCP"; // $MQTTTopic[3] = "solaranzeige/anzeige/1/Wasserboiler"; // // 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. // Achtung! Damit der Empfang auch funktioniert muss $MQTT = true; // etwas weiter oben stehen! $MQTTTopic[1] = "solaranzeige/anzeige/1/PvErsparnisEuro"; // // /******************************************************************************
Ich denke es liegt an Iobroker allerdings finde ich leider den Fehler nicht.
-
@michaelf Mach mal das topic bei Verbindung raus.
-
Hi,
nein kommt leider auch nichts an.
Hier sollte dann eine neue Datenbank namens MQTT erscheinen :
Stimmt die Broker IP Adresse ? oder muss da diese des Empfängers rein ?
-
@michaelf Ich sags immer wieder MQTT- sendet nicht direkt. Der Client muss an einen Broker publishen und der leitet die Nachrichten weiter an alle Clients die ein topic abonniert haben.
Wenn das eine Telegraf Konfiguration ist, die als Client für Deinen mqtt-Broker dient, musst Du sowohl im mqtt-Client also auch in der Konfig des Telegraf - die IP Adresse des Brokers verwenden.
-
Leider bin ich damit noch nicht soooo besonders bewandert.
Der Iobroker hat die .69 am Ende, die Solaranzeige die .42 dann müsste die .69 ja eigentlich richtig sein.
Daten in die Influx Datenbank schreiben Es ist möglich, Schaltzustände oder Daten fremder Geräte mit in das Dashboard aufzunehmen. Die Daten müssen als MQTT Topic zum angeschlossenen Broker gesendet werden. Ein Beispiel: Eine Smart Home Zentrale schaltet einen Wasserboiler ein und dieses soll im Dashboard visualisiert werden. Die Smart Home zentrale sendet also den Topic „solaranzeige/anzeige/1/Wasserboiler“ mit dem Wert „ein“ im MQTT Protokoll an den angeschlossenen Broker. Dieser Wert „ein“ wird von der Solaranzeige in die lokale Influx Datenbank des 1. Gerätes geschrieben unter dem Measurement „mqtt“ und der Spalte „Wasserboiler“. Alle Daten werden immer asl „String“ in die Datenbank geschrieben. Eine Zahl 9 also als „9“ Um das zu sehen muss man auf der Raspberry Command Ebene folgende Befehle eingeben: influx + ENTER >use 'solaranzeige' + ENTER („anstatt des Datenbanknamens 'solaranzeige' bitte ihr gewählter Datenbankname eintragen. In der Multi-Regler-Version muss jedes Gerät einen anderen Datenbanknamen besitzen. Diesen Namen gibt man in der x.user.config.php an.) >show measurements + ENTER >select * from MQTT limit 10 + ENTER Jetzt sollte man die Spalte „Wasserboiler“ mit dem Wert „ein“ sehen. Eventuell ist es aber besser anstatt die Werte „ein“ und „aus“ „1“ und „0“ zu senden, da man jeder Zahl in Grafana umwandeln und einem Textstring zuordnen kann. So könnte man die „1“ in den Textstring „Wasserboiler ein“ umsetzen. Aber Achtung! Wenn erst einmal „ein“ gesendet wurde, kann man nicht mehr „1“ senden. Das würde erst gehen, wenn man das Measurement „MQTT“ wieder löscht. Der Influx Befehl heißt dazu „drop measurement MQTT“
Das ist die Beschreibung, Multiregler habe ich nicht.
Von hier kommen die Daten :
-
@michaelf Na dann scheint Dein Broker Deine Solaranzeige zu sein. Du verbindest Dich ja auch mit dem mqtt-Adapter als Client auf die Adresse 42. Dann musst Du auch in Deinem telegraf Konfig - die 42 als Broker verwenden. Der iobroker hat damit nichts zu tun.
Ich versteh aber auch nicht - warum Du 2 clients auf deinem iobroker in diesem Fall hast, da beide ja als Client konfiguriert wurde.
-
Das ist dann glaube ich einfach Unwissenheit meinerseits, wenn ich den 2 Client wieder :
deinstalliere fehlen mir die MQTT Einstellungen in den Datenpunkten, diese :
Daher dachte ich das ich zwei benötige.
-
@michaelf Beim mqtt-client nimmst Du das Zahnrad zum Publishen neben dem Datenpunkt.
-
Jetzt habe ich den mqtt.client-0 deinstalliert, wenn ich jetzt auf das Zahnrad drücke ist der MQTT Reiter weg
Oder bin ich da Falsch ?
-
@michaelf Ja wenn Du es deinstalliert - dann ist auch das Zahnrad weg mit dem Reiter. Wenn hätte ich halt den Mqtt- Client/Server Adapter deinstalliert.
-
Wenn ich den deinstalliere sind meine datenpunkte der solaranzeige weg oder werden nicht mehr aktualisiert.
Oder legt der andere Adapter diese dann neu an ?
-
@michaelf Ok verstehe - du bekommst auch noch daten von dem solarpanel - dann kannst du den server/client Adapter lassen . Dann publishst Du aber einfach - indem Du selbst datenpunkte unter mqtt.0 anlegst - Also das geht auch - ich sagte ja nur dass Du nicht 2 clients brauchst. Also nicht löschen, sonst die die Datenpunkte unter mqtt.0 weg.
-
Ahh ok, gibt es ein Beispiel wie ich da ein neuen Datenpunkt anlegen kann ?
-
@michaelf Einfach in den Expertenmodus wechseln im Admin und dann mit dem + einen Datenpunkt erstellen. Das topic zähl quasi ab mqtt.0 - also die nächste Ebene ist das topic in der ersten Hierarchie.
-
-
@michaelf Nur unbestätigt den Datenpunkt beschreiben - dann wird gepublished
-
da kommt leider nichts an
-
@michaelf Mach mal alle Haken raus - und zeig deine mqtt Einstellungen. Was sagt denn das log?
-
-
@michaelf said in MQTT Daten Senden:
Welche Haken ?
Muss ich umstellen auf debug ?