NEWS
MQTT-Adapter gleichzeitig als Server und Client?
-
Ich habe einen Raspi4 als iobroker laufen, der alle wichtigen Daten sammelt und anzeigt. Ein zweiter Raspi2 soll als Heizungssteuerung laufen und liefert als MQTT-Client die Heizungsdaten an den Raspi4.
Jetzt benötige ich aber auf dem Raspi2 die Außentemperatur, die der Raspi4 hat.
In den Instanzen kann ich den MQTT-Adapter nur als Server oder Client laufen lassen.
Wie kann ich auf dem Raspi4, der als als MQTT-Server läuft, Daten an den Client senden? -
Ich habe einen Raspi4 als iobroker laufen, der alle wichtigen Daten sammelt und anzeigt. Ein zweiter Raspi2 soll als Heizungssteuerung laufen und liefert als MQTT-Client die Heizungsdaten an den Raspi4.
Jetzt benötige ich aber auf dem Raspi2 die Außentemperatur, die der Raspi4 hat.
In den Instanzen kann ich den MQTT-Adapter nur als Server oder Client laufen lassen.
Wie kann ich auf dem Raspi4, der als als MQTT-Server läuft, Daten an den Client senden?@tombir du hast leider das Konzept nicht verstanden. Es braucht immer nur einen Server /Broker im Netz. Ein Client kann Topics abonnieren oder publishen. Wenn es sich nur um einzelne Datenpunkte auf dem Raspi2 sind, dann installiere noch einen mqtt-Client Adapter und publishe Deine Temperaturen
-
Ich habe einen Raspi4 als iobroker laufen, der alle wichtigen Daten sammelt und anzeigt. Ein zweiter Raspi2 soll als Heizungssteuerung laufen und liefert als MQTT-Client die Heizungsdaten an den Raspi4.
Jetzt benötige ich aber auf dem Raspi2 die Außentemperatur, die der Raspi4 hat.
In den Instanzen kann ich den MQTT-Adapter nur als Server oder Client laufen lassen.
Wie kann ich auf dem Raspi4, der als als MQTT-Server läuft, Daten an den Client senden?@tombir Der MQTT Server = MQTT Broker ==> wenn das der ioBroker macht kann der die Daten lesen und schreiben.
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten permosquitto_pubDaten senden und permosquitto_subDaten abfragen.Falls auf dem 2. Pi auch ioBroker laufen soll so richtest du dort MQTT als Client ein und verbindest dich mit dem Broker auf dem ioBroker.
Dabei kannst du angeben welche Topics du abonnieren willst (an diese kannst du senden und wirst bei Änderungen benachrichtigt) - das solltest du dann möglichst klein halten für die Topics die dich interessieren. -
@tombir du hast leider das Konzept nicht verstanden. Es braucht immer nur einen Server /Broker im Netz. Ein Client kann Topics abonnieren oder publishen. Wenn es sich nur um einzelne Datenpunkte auf dem Raspi2 sind, dann installiere noch einen mqtt-Client Adapter und publishe Deine Temperaturen
@mickym said in MQTT-Adapter gleichzeitig als Server und Client?:
du hast leider das Konzept nicht verstanden. Es braucht immer nur einen Server /Broker im Netz.
Sorry, konnte mich erst jetzt melden, da ich die ganze Zeit noch im Dienst war.
Ich habe nur den Raspi4 als Server im Netzt und ich dachte, ich brauche bei MQTT immer einen Server.
Danke für den Tipp mit dem MQTT-Client. Ich wusste nicht dass ich den noch parallel installieren darf.
Habe ihn gerade mal installiert und versuche nun damit meine Aussentemperatur des Netatmo an den Raspi2 zu senden.
Leider bisher ohne Erfolg.
Es wird mir zwar das topic angezeigt, aber keine Werte.
Ich habe im mqtt-client folgende Einstellungen gemacht:

und bei den Objekten dies:

in der Console des Raspi2 kommt dann das

in den Objekten des mqtt-Servers wird das Topic, aber keine Daten angezeigt
-
@tombir Der MQTT Server = MQTT Broker ==> wenn das der ioBroker macht kann der die Daten lesen und schreiben.
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten permosquitto_pubDaten senden und permosquitto_subDaten abfragen.Falls auf dem 2. Pi auch ioBroker laufen soll so richtest du dort MQTT als Client ein und verbindest dich mit dem Broker auf dem ioBroker.
Dabei kannst du angeben welche Topics du abonnieren willst (an diese kannst du senden und wirst bei Änderungen benachrichtigt) - das solltest du dann möglichst klein halten für die Topics die dich interessieren.@bananajoe said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten per mosquitto_pub Daten senden und per mosquitto_sub Daten abfragen.Mein Raspi2 ist als Client am Raspi4-MQTT-Server angemeldet und liefert Daten der Heizung an ihn. Das funktioniert auch.
Wenn ich am Raspi2 Daten per mosquitto_sub abfragen will, dann muss ich diese ja erst mal senden. Und das war mein Problem.
Mit Hilfe von michym habe ich das im Prinzip gelöst - will nur noch nicht so richtig funktionieren (siehe meine Antwort davor). -
@bananajoe said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten per mosquitto_pub Daten senden und per mosquitto_sub Daten abfragen.Mein Raspi2 ist als Client am Raspi4-MQTT-Server angemeldet und liefert Daten der Heizung an ihn. Das funktioniert auch.
Wenn ich am Raspi2 Daten per mosquitto_sub abfragen will, dann muss ich diese ja erst mal senden. Und das war mein Problem.
Mit Hilfe von michym habe ich das im Prinzip gelöst - will nur noch nicht so richtig funktionieren (siehe meine Antwort davor).@tombir sagte in MQTT-Adapter gleichzeitig als Server und Client?:
@bananajoe said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten per mosquitto_pub Daten senden und per mosquitto_sub Daten abfragen.Mein Raspi2 ist als Client am Raspi4-MQTT-Server angemeldet und liefert Daten der Heizung an ihn. Das funktioniert auch.
Wenn ich am Raspi2 Daten per mosquitto_sub abfragen will, dann muss ich diese ja erst mal senden. Und das war mein Problem.
Mit Hilfe von michym habe ich das im Prinzip gelöst - will nur noch nicht so richtig funktionieren (siehe meine Antwort davor).Wenn ich dich richtig verstehe, hast du da noch einen Knoten drin und hast auf beiden Raspis einen Broker laufen?
Für den Anwendungsfall benötigst du auf dem Raspi4 einen MQTT Broker/Client Adapter, der als Broker (Server) läuft und auf dem Raspi2 einen MQTT Client Adapter. Auf dem Raspi2 published du die Heizungsdaten (zum Raspi4) und subscribst die Temperaturdaten (vom Raspi4).
Du musst keine Daten vom Raspi4 zum Raspi2 "senden". -
@tombir sagte in MQTT-Adapter gleichzeitig als Server und Client?:
@bananajoe said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn dein Raspi2 da als Client die Daten liefern soll muss er sich als Client an diesen anmelden.
Wenn du auf diesem Mosquitto installierts kannst du aus deinen Skripten per mosquitto_pub Daten senden und per mosquitto_sub Daten abfragen.Mein Raspi2 ist als Client am Raspi4-MQTT-Server angemeldet und liefert Daten der Heizung an ihn. Das funktioniert auch.
Wenn ich am Raspi2 Daten per mosquitto_sub abfragen will, dann muss ich diese ja erst mal senden. Und das war mein Problem.
Mit Hilfe von michym habe ich das im Prinzip gelöst - will nur noch nicht so richtig funktionieren (siehe meine Antwort davor).Wenn ich dich richtig verstehe, hast du da noch einen Knoten drin und hast auf beiden Raspis einen Broker laufen?
Für den Anwendungsfall benötigst du auf dem Raspi4 einen MQTT Broker/Client Adapter, der als Broker (Server) läuft und auf dem Raspi2 einen MQTT Client Adapter. Auf dem Raspi2 published du die Heizungsdaten (zum Raspi4) und subscribst die Temperaturdaten (vom Raspi4).
Du musst keine Daten vom Raspi4 zum Raspi2 "senden".@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn ich dich richtig verstehe, hast du da noch einen Knoten drin und hast auf beiden Raspis einen Broker laufen?
Für den Anwendungsfall benötigst du auf dem Raspi4 einen MQTT Broker/Client Adapter, der als Broker (Server) läuft und auf dem Raspi2 einen MQTT Client Adapter. Auf dem Raspi2 published du die Heizungsdaten (zum Raspi4) und subscribst die Temperaturdaten (vom Raspi4).Da habe ich mich wohl missverständlich ausgedrückt. Mit senden und empfangen meinte ich natürlich puplishen und subscriben. Ich habe auch genau das, was du beschreiben hast, getan: Der Raspi4 ist der Broker/Server und parallel MQTT-Client (mit iobroker) und der Raspi2 der Client (mit mosquitto ).
Denn wenn ich das richtig verstanden habe, kann der Raspi4 als MQTT-Server nicht publishen (ich habe zumindest dafür keine Einstellungen gefunden). Deshalb parallel der MQTT-Client, wie es mickym vorgeschlagen hat.
Die Datenrichtung vom Raspi4 (MQTT-Client) zum Raspi2 funktioniert aber noch nicht, ich vermute mal wegen falschen Einstellungen. -
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn ich dich richtig verstehe, hast du da noch einen Knoten drin und hast auf beiden Raspis einen Broker laufen?
Für den Anwendungsfall benötigst du auf dem Raspi4 einen MQTT Broker/Client Adapter, der als Broker (Server) läuft und auf dem Raspi2 einen MQTT Client Adapter. Auf dem Raspi2 published du die Heizungsdaten (zum Raspi4) und subscribst die Temperaturdaten (vom Raspi4).Da habe ich mich wohl missverständlich ausgedrückt. Mit senden und empfangen meinte ich natürlich puplishen und subscriben. Ich habe auch genau das, was du beschreiben hast, getan: Der Raspi4 ist der Broker/Server und parallel MQTT-Client (mit iobroker) und der Raspi2 der Client (mit mosquitto ).
Denn wenn ich das richtig verstanden habe, kann der Raspi4 als MQTT-Server nicht publishen (ich habe zumindest dafür keine Einstellungen gefunden). Deshalb parallel der MQTT-Client, wie es mickym vorgeschlagen hat.
Die Datenrichtung vom Raspi4 (MQTT-Client) zum Raspi2 funktioniert aber noch nicht, ich vermute mal wegen falschen Einstellungen.@tombir sagte in MQTT-Adapter gleichzeitig als Server und Client?:
Die Datenrichtung vom Raspi4 (MQTT-Client) zum Raspi2 funktioniert aber noch nicht, ich vermute mal wegen falschen Einstellungen.
Sorry, aber mit DEM Satz hast du mich jetzt komplett abgehängt.
Diese "Datenrichtung" bedeutet doch, dass du das betreffende Topic per mosquitto_sub auf dem Raspi2 beim MQTT Broker auf dem Raspi4 subscribst. Was hat da der Client auf dem Raspi4 für eine Rolle?
-
@tombir sagte in MQTT-Adapter gleichzeitig als Server und Client?:
Die Datenrichtung vom Raspi4 (MQTT-Client) zum Raspi2 funktioniert aber noch nicht, ich vermute mal wegen falschen Einstellungen.
Sorry, aber mit DEM Satz hast du mich jetzt komplett abgehängt.
Diese "Datenrichtung" bedeutet doch, dass du das betreffende Topic per mosquitto_sub auf dem Raspi2 beim MQTT Broker auf dem Raspi4 subscribst. Was hat da der Client auf dem Raspi4 für eine Rolle?
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Diese "Datenrichtung" bedeutet doch, dass du das betreffende Topic per mosquitto_sub auf dem Raspi2 beim MQTT Broker auf dem Raspi4 subscribst. Was hat da der Client auf dem Raspi4 für eine Rolle?
Der Client auf dem Raspi4 publisht die Aussentemperatur, da ich nicht wusste, wie ich mit dem Sever publishen kann.
-
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Diese "Datenrichtung" bedeutet doch, dass du das betreffende Topic per mosquitto_sub auf dem Raspi2 beim MQTT Broker auf dem Raspi4 subscribst. Was hat da der Client auf dem Raspi4 für eine Rolle?
Der Client auf dem Raspi4 publisht die Aussentemperatur, da ich nicht wusste, wie ich mit dem Sever publishen kann.
-
Zumindest sollte es so gehen. Aber der Raspi2 empfängt zwar das Topic Aussentemperatur, aber keine Werte.
gelöscht
-
Zumindest sollte es so gehen. Aber der Raspi2 empfängt zwar das Topic Aussentemperatur, aber keine Werte.
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Ich benutze den MQTT Client Adapter nicht, darum muss ich nachfragen.
-
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Ich benutze den MQTT Client Adapter nicht, darum muss ich nachfragen.
Grundsätzlich bietet es sich an, sich parallel mit einem Client wie dem http://mqtt-explorer.com/ (oder einem der Tausend anderen) zu verbinden, damit man sieht, was am Broker abgeht.
-
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Wenn ich dich richtig verstehe, hast du da noch einen Knoten drin und hast auf beiden Raspis einen Broker laufen?
Für den Anwendungsfall benötigst du auf dem Raspi4 einen MQTT Broker/Client Adapter, der als Broker (Server) läuft und auf dem Raspi2 einen MQTT Client Adapter. Auf dem Raspi2 published du die Heizungsdaten (zum Raspi4) und subscribst die Temperaturdaten (vom Raspi4).Da habe ich mich wohl missverständlich ausgedrückt. Mit senden und empfangen meinte ich natürlich puplishen und subscriben. Ich habe auch genau das, was du beschreiben hast, getan: Der Raspi4 ist der Broker/Server und parallel MQTT-Client (mit iobroker) und der Raspi2 der Client (mit mosquitto ).
Denn wenn ich das richtig verstanden habe, kann der Raspi4 als MQTT-Server nicht publishen (ich habe zumindest dafür keine Einstellungen gefunden). Deshalb parallel der MQTT-Client, wie es mickym vorgeschlagen hat.
Die Datenrichtung vom Raspi4 (MQTT-Client) zum Raspi2 funktioniert aber noch nicht, ich vermute mal wegen falschen Einstellungen. -
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Ich benutze den MQTT Client Adapter nicht, darum muss ich nachfragen.
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
In der Instanz des MQTT-Client habe ich das Topic "Aussentemperatur" eingetragen. Ich dachte, das reicht, um alle Werte, die puplisht werden, zu subscriben, wenn ich dort auch das Topic "Aussentemperatur" eintrage.
Muss ich mal testen, wenn ich das Topic in den Objekten so subscribe. -
Grundsätzlich bietet es sich an, sich parallel mit einem Client wie dem http://mqtt-explorer.com/ (oder einem der Tausend anderen) zu verbinden, damit man sieht, was am Broker abgeht.
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Grundsätzlich bietet es sich an, sich parallel mit einem Client wie dem http://mqtt-explorer.com/ (oder einem der Tausend anderen) zu verbinden, damit man sieht, was am Broker abgeht.
Danke für den Tipp, das werde ich mal installieren.
-
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Ich benutze den MQTT Client Adapter nicht, darum muss ich nachfragen.
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Leider habe ich keine Werte bekommen. Hier das Ergebnis:
Connected to MQTT Broker: 192.168.178.23 message received: message topic: netatmo/0/5e9d7bc0a91a645c33155601/70-ee-50-15-df-22/02-00-00-2e-9c-8a/Temperature/Temperature -
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Leider habe ich keine Werte bekommen. Hier das Ergebnis:
Connected to MQTT Broker: 192.168.178.23 message received: message topic: netatmo/0/5e9d7bc0a91a645c33155601/70-ee-50-15-df-22/02-00-00-2e-9c-8a/Temperature/Temperature -
@marc-berg said in MQTT-Adapter gleichzeitig als Server und Client?:
Dieses Topic publishst du also, okay. Dann muss aber genau dieses Topic auch subscribed werden, oder nicht? Du schreibst aber was von "Aussentemperatur".
Leider habe ich keine Werte bekommen. Hier das Ergebnis:
Connected to MQTT Broker: 192.168.178.23 message received: message topic: netatmo/0/5e9d7bc0a91a645c33155601/70-ee-50-15-df-22/02-00-00-2e-9c-8a/Temperature/Temperature
