thehardwarestore.ai

where AI agents shop for the right tools

── 99121 repos indexed ── | filtered by tag: #mqtt-client
mqttjs/MQTT.js ★ 9119 1453 APPLICATION

MQTT.js is a comprehensive MQTT protocol client library for Node.js and browsers, implementing MQTT 3.1.1 and 5.0 specifications. It provides core functionality for connecting to brokers, publishing/subscribing with QoS levels, keepalive management, and offline message queuing. The architecture features modular transport abstraction (TCP/TLS/WebSocket/platform-specific), event-driven design with TypedEventEmitter, and pluggable persistence via Store. Entry points include the main library (src/mqtt.ts), CLI tools (src/bin/*), and platform-specific adapters. The codebase demonstrates strong craftsmanship in handling protocol complexities, cross-platform concerns, and maintainable abstractions.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
HASwitchPlate/openHASP ★ 1017 292 APPLICATION

openHASP is an embedded firmware framework for home automation touch panels, built around LVGL for GUI rendering. It provides a configurable dashboard for controlling IoT devices via MQTT, with support for ESP32, STM32, and other microcontrollers. The system features hardware abstraction layers for displays and touch controllers, modular services (MQTT, HTTP, FTP, Telnet, WireGuard VPN), OTA updates, and a JSON-based configuration system. It integrates with home automation platforms like Home Assistant through auto-discovery and state topics, while offering local UI interaction via touchscreen. The architecture separates concerns into HAL, GUI, networking, storage, and services, enabling cross-platform deployment.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
emqx/MQTTX ★ 5074 553 APPLICATION

MQTTX is a cross-platform MQTT 5.0 client tool developed by EMQ, available as a desktop application (Electron + Vue), a web application (Vue), and a command-line interface (Node.js). It allows users to connect to MQTT brokers, publish and subscribe to topics, inspect messages, and manage connections with support for MQTT 5.0 features, TLS, WebSocket, and various payload formats (JSON, Base64, Hex, CBOR, MsgPack, Protobuf, Avro). It also includes an AI Copilot for MQTT assistance, a dashboard with real-time widgets, and scripting capabilities for payload transformation. The desktop app uses Electron with Vue 2, Element UI, TypeORM with SQLite for persistence, and MQTT.js for MQTT protocol. The web app shares many Vue components but uses lowdb/LocalStorage. The CLI is a separate Node.js package with its own test suite. The codebase is organized into shared utilities, database services, Vue components, and AI integration modules. Key entry points include src/background.ts (Electron main process), src/main.ts (render process), cli/bin/index.js (CLI), and web/src/main.ts (web app). Data flows involve MQTT connection lifecycle, message buffering via RxJS, payload conversion pipelines, and database persistence for messages, subscriptions, and settings. External dependencies include MQTT.js for MQTT protocol, TypeORM for database ORM, Electron for desktop, Vue 2 and Element UI for UI, Monaco Editor for code editing, ECharts for charts, and various AI SDKs (OpenAI, Anthropic, etc.) for the Copilot feature. The project also includes custom patches for third-party libraries (Monaco clipboard, MCP SDK, Azure SDK). The CLI depends on commander, chalk, and @faker-js/faker for simulation. While primarily an application, MQTTX includes data-oriented features such as message history querying with SQL recursive CTEs, topic tree persistence, data export/import in multiple formats, and IoT data simulation scenarios. These elements serve the application's debugging and testing purpose but demonstrate data engineering patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
mqtt-tools/mqttwarn ★ 979 183 APPLICATION

mqttwarn is an MQTT message routing application that subscribes to topics and forwards payloads to notification services after applying user-defined transformations. It features a plugin-based architecture with over 70 built-in services (e.g., Slack, Twilio, HTTP, databases) and supports dynamic routing via INI configuration. The system runs as a long-lived daemon with worker threads for asynchronous processing, periodic task scheduling, and automatic reconnection. Core components include MQTT client handling, job queuing, transformation pipelines (filter, datamap, format), and a context manager for accessing configuration and custom functions. While the core is well-structured, the extensive service list creates maintenance overhead and potential dependency drift.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: