Project

lex-mqtt

0.0
The project is in a healthy, maintained state
Connects Legion to MQTT brokers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.6
>= 1.3.11
>= 1.4.9
>= 1.4.17
>= 1.2.1
 Project Readme

lex-mqtt

LegionIO extension for MQTT broker integration. Publish and subscribe to MQTT topics via the mqtt gem.

Usage

Standalone Client

require 'lex-mqtt'

client = Legion::Extensions::Mqtt::Client.new(
  host:     'broker.example.com',
  port:     1883,
  username: 'user',
  password: 'secret',
  ssl:      false
)

# Publish a message
client.publish(topic: 'sensors/temperature', payload: '22.5')
client.publish(topic: 'sensors/temperature', payload: '22.5', retain: true, qos: 1)

# Get a single message
result = client.get(topic: 'sensors/temperature')
# => { topic: 'sensors/temperature', payload: '22.5' }

# Subscribe and collect messages
result = client.subscribe(topic: 'sensors/#', timeout: 5, max_messages: 10)
# => { messages: [...], count: 3, topic: 'sensors/#' }

Configuration

Default lex_settings:

Key Default
mqtt.host 'localhost'
mqtt.port 1883
mqtt.ssl false

Dependencies

  • mqtt (~> 0.6)
  • Ruby >= 3.4