Test-Nachrichten an MQTT-Server schicken

Ich brauche mal einen Denkanstoß …

Ich habe ein Modul, das als Parent mit dem MQTT-Server (Splitter) verbunden ist und auf ein entsprechendes Topic lauscht (die Daten kommen von einem speziellen Tasmota-Endgerät).

Nun möchte ich dem aus Testgründen Nachrichten „unterjubeln“, d.h. ich würde gerne das Endgerät simulieren, die Nachrichten von diesem Gerät sollen also im ReceiveData() des Moduls erscheinen.

Gibt es eine einfache Möglichkeit dazu? Wenn es zu kompliziert ist, kann ich natürlich im Modul was einbauen; aber eine Geräte-Simulation wäre mir lieber.

Für sowas nutze ich den MQTT Explorer.
http://mqtt-explorer.com/

1 „Gefällt mir“

super Hinweis, das Tool funktioniert gut.

Allerdings muss ich Nachrichten in einem bestimmten, kurzen Zeitraster (3/Sekunde, dann 2/Sekunde usw) schicken um ein bestimmtes Fehlverhalten zu prüfen.
Und das sind immer Partien unterschiedliche Nachrichten, kann also noch nichteinmal immer wieder das gleich schicken.

Richte dir im Symcon oder zusätzlichem Sender-Symcon den folgenden Client ein, dann kannst du beliebig senden.

require('phpMQTT.php');

$server = 'localhost';     // change if necessary
$port = 1882;                     // change if necessary
$username = '';                   // set your username
$password = '';                   // set your password
$client_id = 'phpMQTT-publisher'; // make sure this is unique for connecting to sever - you could use uniqid()

$topic1 = "zigbee2mqtt/Heizung-WHZ-SW/set";

$mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id);

prima, danke. ich probiere

Oder in Symcon einen MQTT Client mit Client Device erstellen. Der Client zeigt auf localhost und das senden über RequestAction einer String Variable.
Michael

so hatte ich es mit eigentlich gedacht, war aber gescheitert, weil ich nicht die ganze Kette (MQTT Client Device, MQTT Client Splitter und Client Socket) angelegt hatte, sondern nur das MQTT Client Device.
Was ich übersehen hatte war, das das neu erzeugte MQTT Client Device sich einen vorhandenen MQTT Client Splitter eines ganz anderen Geräts als Gateway geschnappt hatte :person_facepalming:
Und das hatte natürlich nicht den gewünschten Erfolg.

Kaum macht man es richtig, geht’s auch. Danke