ioBroker.mqtt icon indicating copy to clipboard operation
ioBroker.mqtt copied to clipboard

[Feature request] Add extensions (like web adapter)

Open klein0r opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

At the moment we have a lot of adapters which create their own MQTT brokers:

  • https://github.com/ioBroker/ioBroker.sonoff
  • https://github.com/iobroker-community-adapters/ioBroker.shelly
  • ...

If you want to use multiple adapters on the same system, you have to configure different ports in each instance (e.g. 1883, 1882, 1881, ...)

Describe the solution you'd like

I'd like to have a plugin system like the web adapter via io-package.json: "webExtension": "lib/web.js",.

  1. Define a new common-property for adapters (like common.mqttExtension)
  2. Add "mqttExtension": "lib/mqtt.js", to all adapters which should extend those features

The extension has to support the following features:

  • Subscribe to additional topics
  • Receive messages (topic, payload, clientId/publisher)
  • Allow to send new messages on a defined topic
  • ...

Examples for Plugins

  • evcc
  • Shelly
  • Fully browser
  • Tasmota
  • espresense
  • wled
  • frigate
  • ...

TODO

  • Extend io-package schema (example)

klein0r avatar Jun 21 '23 15:06 klein0r