/mqtt_recorder

Simple cli tool for recording and replaying MQTT messages.

Primary LanguagePythonMIT LicenseMIT

MQTT Recorder

Simple cli tool for recording and replaying MQTT messages.

Install

pip install mqtt-recorder

Usage

Argument Description Required Default
-h, --help Show help
--host MQTT broker address x
--port MQTT broker port 1883
--client_id MQTT Client ID
--mode mode: record/replay x
--file output/input csv file x
--loop looping replay false
--qos Quality of Service that will be used for subscriptions 0
--topics json file containing selected topics for subscriptions null
-t, --topic Single topic to subscribe to null
--enable_ssl True to enable MQTTs support, False otherwise False
--tls_insecure If certs is self-generated, change to True False
--ca_cert Path to the Certificate Authority certificate files None
--certfile Path to the client certificate None
--keyfile Path to the client private key None
--username MQTT broker username None
--password MQTT broker password None
--encode_b64 True to store message payloads as base64 encoded strings False
--csv_field_size_limit CSV field size limit False

Recording

Subscribing to every topic

mqtt-recorder --host localhost --mode record --file recording.csv

Subscribing to selected topics

mqtt-recorder --host localhost --mode record --file test.csv --topics topics.json
Topics can be selected using a json file. Example

{
    "topics": [
        "/myhome/groundfloor/livingroom/temperature",
        "USA/California/San Francisco/Silicon Valley"
    ]
}

Replaying

mqtt-recorder --host localhost --mode replay --file test.csv