Project

lex-mqtt

0.0
No release in over 3 years
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