Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ysfsmet/mqtt-inspector
A desktop application for real-time monitoring and inspection of MQTT messages with automatic device-based grouping.
https://github.com/ysfsmet/mqtt-inspector
claude-ai electron inspector mqtt mqtt-client
Last synced: about 2 months ago
JSON representation
A desktop application for real-time monitoring and inspection of MQTT messages with automatic device-based grouping.
- Host: GitHub
- URL: https://github.com/ysfsmet/mqtt-inspector
- Owner: ysfsmet
- Created: 2024-12-11T19:54:15.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-12-11T20:38:17.000Z (about 2 months ago)
- Last Synced: 2024-12-11T21:26:38.346Z (about 2 months ago)
- Topics: claude-ai, electron, inspector, mqtt, mqtt-client
- Language: HTML
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MQTT Inspector
A desktop application for real-time monitoring and inspection of MQTT messages with automatic device-based grouping.
![MQTT Inspector Screenshot](/assets/MainWindowScreenshot.png)
## Features
- 🔌 Support for MQTT and WebSocket protocols
- 📊 Automatic device-based grouping
- 🔄 Real-time data updates
- 📝 Message counter
- 🔐 Username/password authentication support
- 💻 Cross-platform support (Windows, macOS, Linux)
- 🎨 Modern and user-friendly interface
- 📈 Message history tracking
- 🔍 Real-time message inspection
- 🌐 Multi-broker support## Installation
### For Users
1. Download the appropriate version for your operating system from [Releases](https://github.com/ysfsmet/mqtt-inspector/releases):
- Windows: `MQTT Inspector Setup.exe`
- macOS: `MQTT Inspector.dmg`
- Linux: `mqtt-inspector.AppImage` or `mqtt-inspector.deb`2. Run the downloaded file:
- Windows: Run the setup file and follow installation steps
- macOS: Open the DMG file and drag the application to Applications folder
- Linux: Make the AppImage executable and run it, or install the .deb package### For Developers
To develop the project locally:
1. Install requirements:
- Node.js (v14 or higher)
- npm (v6 or higher)
- Git2. Clone the project:
```bash
git clone https://github.com/ysfsmet/mqtt-inspector.git
cd mqtt-inspector
```3. Install dependencies:
```bash
npm install
```4. Start the application:
```bash
npm start
```## Usage
### Connection Settings
1. Enter broker connection details:
- Protocol: MQTT (1883) or WebSocket (9001)
- Broker Address: IP address or hostname
- Port: Automatically filled based on protocol
- Username/Password (optional)2. Click "Connect" button
### Topic Structure
The application supports the following topic structure:
```
sysmanager/[Device Name]/[Variable Name]
```Example:
```
sysmanager/Device1/Temperature
sysmanager/Device1/Pressure
sysmanager/Device2/Speed
```### Interface Features
- **Connection Status**: Displayed in the top right corner
- **Device Groups**: Separate panel for each device
- **Variable List**: For each variable:
- Message counter (left)
- Variable name (center)
- Latest value (right)## Development
### Project Structure
```
mqtt-inspector/
├── assets/ # Icons and visual assets
│ ├── icon.ico # Windows icon
│ ├── icon.icns # macOS icon
│ └── icon.png # Linux icon
├── src/ # Source files
│ ├── main.js # Electron main process
│ └── index.html # Main application window
├── package.json # Project configuration
└── README.md # Documentation
```### Building
For Windows:
```bash
npm run build:win
```For macOS:
```bash
npm run build:mac
```For Linux:
```bash
npm run build:linux
```For all platforms:
```bash
npm run build
```### Testing
You can use Mosquitto for testing MQTT broker connections:
1. Install Mosquitto:
- Windows: [Mosquitto Download Page](https://mosquitto.org/download/)
- macOS: `brew install mosquitto`
- Linux: `sudo apt-get install mosquitto`2. Send test message:
```bash
mosquitto_pub -t "sysmanager/TestDevice/Temperature" -m "25.5"
```## Troubleshooting
1. **Connection Error**
- Verify broker address and port
- Check firewall settings
- Confirm broker is running2. **WebSocket Connection Error**
- Verify WebSocket support is enabled in broker
- Check correct port usage3. **Application Launch Issues**
- Verify Node.js version
- Delete node_modules folder and run `npm install`## Contributing
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request### Development Guidelines
- Follow the existing code style
- Add comments for complex logic
- Update documentation for new features
- Add appropriate error handling
- Test on all supported platforms## Security
- Always use secure connections in production
- Regularly update dependencies
- Use strong passwords for MQTT authentication
- Enable SSL/TLS when possible
- Be cautious with topic permissions## Roadmap
- [ ] Add SSL/TLS support
- [ ] Implement message filtering
- [ ] Add data visualization
- [ ] Support for custom topic patterns
- [ ] Message payload formatting
- [ ] Export data functionality
- [ ] Dark mode support
- [ ] Configurable refresh rates## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Electron](https://www.electronjs.org/)
- [MQTT.js](https://github.com/mqttjs/MQTT.js)
- [electron-builder](https://www.electron.build/)## Contact
Project Maintainer - [@ysfsmet](https://x.com/ysfsmet)
Project Link: [https://github.com/ysfsmet/mqtt-inspector](https://github.com/ysfsmet/mqtt-inspector)
## Changelog
### Version 1.0.0 (2024-12-11)
- Initial release
- Basic MQTT monitoring functionality
- Cross-platform support
- Real-time message inspection
- Automatic device grouping## Support
For support, email [email protected] or open an issue on GitHub.