{"id":23480467,"url":"https://github.com/qtoggle/qtoggleserver-mqtt","last_synced_at":"2025-04-13T19:46:38.129Z","repository":{"id":207450261,"uuid":"719191043","full_name":"qtoggle/qtoggleserver-mqtt","owner":"qtoggle","description":"Publish qToggleServer events to an MQTT broker","archived":false,"fork":false,"pushed_at":"2024-01-21T18:06:20.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T08:28:04.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qtoggle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-15T16:40:24.000Z","updated_at":"2023-11-15T16:41:02.000Z","dependencies_parsed_at":"2024-01-21T19:26:40.593Z","dependency_job_id":"c5c70a13-08e0-4566-8987-e4f86e441c05","html_url":"https://github.com/qtoggle/qtoggleserver-mqtt","commit_stats":null,"previous_names":["qtoggle/qtoggleserver-mqtt"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-mqtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-mqtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-mqtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qtoggle%2Fqtoggleserver-mqtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qtoggle","download_url":"https://codeload.github.com/qtoggle/qtoggleserver-mqtt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248772994,"owners_count":21159387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-24T20:13:28.985Z","updated_at":"2025-04-13T19:46:38.099Z","avatar_url":"https://github.com/qtoggle.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\n\nThis is an addon for [qToggleServer](https://github.com/qtoggle/qtoggleserver).\n\nIt pushes events to an MQTT broker.\n\n\n## Install\n\nInstall using pip:\n\n    pip install qtoggleserver-mqtt\n\n\n## Driver \u0026 Parameters\n\nThis is add-on provides an [event handler](https://github.com/qtoggle/qtoggleserver/wiki/Event-Handlers) that will\nconnect to the MQTT broker and will push desired events in a specified format.\n\nThe message payload is constructed from a template, as indicated by\n[Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications). By default, no templates\nare specified and the payload will be the template context serialized as JSON.\n\n### `driver`: `qtoggleserver.mqtt.MqttEventHandler`\n\n### `server`\n\n * type: `string`\n * default: required\n * example: `\"test.mosquitto.org\"`\n\n### `port`\n\n * type: `integer`\n * default: `1883`\n\n### `tls_enable`\n\nControls TLS support.\n\n * type: `boolean`\n * default: `false`\n\n### `tls_verify`\n\nWhether to verify the server-supplied certificate. Disabling this will effectively disable server authentication,\nensuring only data transmission encryption.\n\n * type: `boolean`\n * default: `true`\n\n### `tls_ca`\n\nFull path to CA file, for self-signed certificates.\n\n * type: `string`\n * default: `null`\n\n### `tls_cert`\n\nFull path to client certificate file, for client authentication.\n\n * type: `string`\n * default: `null`\n\n### `tls_key`\n\nFull path to client certificate key file, for client authentication.\n\n * type: `string`\n * default: `null`\n\n### `username`\n\nIndicates a username to supply for authentication. The value is in fact a template that can be customized following the\nrules  described in [Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications). The\navailable context is limited however to `device_attrs`.\n \n * type: `string`\n * default: `null`\n\n### `password`\n\nIndicates a password to supply for authentication. The value is in fact a template that can be customized following the\nrules  described in [Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications). The\navailable context is limited however to `device_attrs`.\n\n * type: `string`\n * default: `null`\n\n### `client_id`\n\nIndicates the MQTT client id to use. The value is in fact a template that can be customized following the rules\ndescribed in [Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications). The\navailable context is limited however to `device_attrs`.\n\n * type: `string`\n * default: `{{device_attrs.name}}`\n\n### `reconnect_interval`\n\nRepresents the interval, in seconds, between two (re)connection attempts to the MQTT server.\n\n * type: `integer`\n * default: `5`\n\n### `topic`\n\nIndicates the MQTT topic to which to publish the message. The value is in fact a template that can be customized\nfollowing the rules described in\n[Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications). The available context\ncan be used to construct topics specific to each device, port, event type, etc.\n\n * type: `string`\n * default: `{{device_attrs.name}}`\n\n### `json_context_fields`\n\nUsed only when `template` and `templates` are unset, when the payload consists of a JSON-dumped context. Indicates which\ncontext fields to include in the payload. If `null`, will include all fields.\n\n * type: `string[]`\n * default: `null`\n\n### `qos`\n\nSets the QoS MQTT level:\n\n * `0` - at most once\n * `1` - at least once\n * `2` - exactly once\n\n * type: `integer`\n * default: `0`\n\n### `client_logging`\n\nIndicates whether the logs generated by the MQTT client will be added to the qToggleServer logging system or not.\n\n * type: `boolean`\n * default: `false`\n\n### `filter`\n\nSee [Event Handlers](https://github.com/qtoggle/qtoggleserver/wiki/Event-Handlers) for details on filtering events.\n\n * type: `dictionary`\n * default: `null`\n\n### `template`\n\nSee [Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications) for details on\nspecifying templates. Keep in mind that default templates for this driver are `null`.\n\n * type: `string`\n * default: `null`\n\n### `templates`\n\nSee [Template Notifications](https://github.com/qtoggle/qtoggleserver/wiki/Template-Notifications) for details on\nspecifying templates. Keep in mind that default templates for this driver are `null`.\n\n * type: `dictionary`\n * default: `null`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqtoggle%2Fqtoggleserver-mqtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqtoggle%2Fqtoggleserver-mqtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqtoggle%2Fqtoggleserver-mqtt/lists"}