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.
This repository is a Homebridge plugin that bridges MQTT devices to Apple HomeKit. It allows users to configure MQTT topics for various HomeKit accessories (lights, switches, sensors, etc.) and translates MQTT messages to HomeKit characteristics and vice versa. The architecture follows a typical Node.js Homebridge plugin structure with a main entry point (index.js) that registers the accessory type, separates MQTT handling into libs/mqttlib.js, and provides a codec system for value transformation. The plugin supports advanced features like confirmation systems, history logging via fakegato-history, and conditional configuration through a JSON schema. It relies on dependencies including mqtt, jsonpath, and homebridge-lib, and is actively maintained with recent commits showing compatibility with current Node.js and Homebridge versions.