Describe the issue you are experiencing
Description
When using the customize feature to load a custom /share/mosquitto/mosquitto.conf,
the file is loaded before /etc/mosquitto/mosquitto.conf. This means any settings
in the custom config (e.g. log_type) are overridden by the main config generated by
the add-on, making it impossible to control log verbosity via the customize folder.
Check the additional information section at the end for the impact.
Expected behavior
Custom config settings should take precedence over (or at least not be overridden by)
the generated main config.
Actual behavior
From the logs it is clear the custom config is loaded first:
- Loading config file /share/mosquitto/mosquitto.conf
- Config loaded from /etc/mosquitto/mosquitto.conf.
The main config is loaded second and overrides log_type.
Suggestion
Either load the custom config after the main config, or use include_dir at the
end of /etc/mosquitto/mosquitto.conf so custom settings win.
What type of installation are you running?
Home Assistant OS
Which operating system are you running on?
Home Assistant Operating System
Which app are you reporting an issue with?
Mosquitto broker
What is the version of the app?
2.0.22
Steps to reproduce the issue
- Enable
customize: active: true, folder: mosquitto in the add-on config
- Create
/share/mosquitto/mosquitto.conf with log_type warning
- Restart the add-on
- Observe logs — informational connect/disconnect messages still appear
System Health information
System Information
| version |
core-2026.4.0 |
| installation_type |
Home Assistant OS |
| dev |
false |
| hassio |
true |
| docker |
true |
| container_arch |
aarch64 |
| user |
root |
| virtualenv |
false |
| python_version |
3.14.2 |
| os_name |
Linux |
| os_version |
6.12.47-haos-raspi |
| arch |
aarch64 |
| timezone |
Europe/Zurich |
| config_dir |
/config |
Home Assistant Community Store
| GitHub API |
ok |
| GitHub Content |
ok |
| GitHub Web |
ok |
| HACS Data |
ok |
| GitHub API Calls Remaining |
5000 |
| Installed Version |
2.0.5 |
| Stage |
running |
| Available Repositories |
2929 |
| Downloaded Repositories |
3 |
Home Assistant Cloud
| logged_in |
false |
| can_reach_cert_server |
ok |
| can_reach_cloud_auth |
ok |
| can_reach_cloud |
ok |
Home Assistant Supervisor
| host_os |
Home Assistant OS 17.1 |
| update_channel |
stable |
| supervisor_version |
supervisor-2026.03.2 |
| agent_version |
1.8.1 |
| docker_version |
29.1.3 |
| disk_total |
28.6 GB |
| disk_used |
18.2 GB |
| nameservers |
192.168.1.1, fe80::3a94:edff:feaf:1191 |
| healthy |
true |
| supported |
true |
| host_connectivity |
true |
| supervisor_connectivity |
true |
| ntp_synchronized |
true |
| virtualization |
|
| board |
rpi4-64 |
| supervisor_api |
ok |
| version_api |
ok |
| installed_addons |
Duck DNS (1.26.0), File editor (5.8.0), Samba share (12.6.1), Terminal & SSH (10.0.2), Frigate (0.17.1), Mosquitto broker (6.5.2) |
Dashboards
| dashboards |
3 |
| resources |
1 |
| views |
4 |
| mode |
storage |
Network Configuration
| adapters |
lo (disabled), end0 (enabled, default, auto), docker0 (disabled), hassio (disabled), vethc3c0375 (disabled), vethe79c466 (disabled), veth9f5c31e (disabled), veth88f053f (disabled), veth05533bb (disabled), vethd317ee9 (disabled), veth3a01787 (disabled), vethb39d019 (disabled), veth669d2dc (disabled) |
| ipv4_addresses |
lo (127.0.0.1/8), end0 (192.168.1.131/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), vethc3c0375 (), vethe79c466 (), veth9f5c31e (), veth88f053f (), veth05533bb (), vethd317ee9 (), veth3a01787 (), vethb39d019 (), veth669d2dc () |
| ipv6_addresses |
lo (::1/128), end0 (2a00:d2a0:19:d300:b2d8:f818:7123:912a/64, fe80::eff6:8cdc:dcda:82ff/64), docker0 (fe80::186a:abff:fea2:6306/64), hassio (fe80::b808:a8ff:fe77:97c2/64), vethc3c0375 (fe80::a860:caff:feb3:247d/64), vethe79c466 (fe80::9491:29ff:fe92:c74a/64), veth9f5c31e (fe80::d04b:32ff:fef3:466a/64), veth88f053f (fe80::e898:46ff:fe8e:60c8/64), veth05533bb (fe80::e8d0:10ff:fed1:df1c/64), vethd317ee9 (fe80::c406:4fff:fe93:692d/64), veth3a01787 (fe80::c93:1fff:fe05:547d/64), vethb39d019 (fe80::d094:b9ff:fed6:a8ef/64), veth669d2dc (fe80::ec6f:83ff:fe8f:6351/64) |
| announce_addresses |
192.168.1.131, 2a00:d2a0:19:d300:b2d8:f818:7123:912a, fe80::eff6:8cdc:dcda:82ff |
Recorder
| oldest_recorder_run |
21. März 2026 um 16:18 |
| current_recorder_run |
2. April 2026 um 09:17 |
| estimated_db_size |
60.70 MiB |
| database_engine |
sqlite |
| database_version |
3.49.2 |
Anything in the Supervisor logs that might be useful for us?
Anything in the app logs that might be useful for us?
2026-04-03 11:20:50: Client <unknown> closed its connection.
2026-04-03 11:22:50: New connection from 172.30.32.2:40150 on port 1883.
2026-04-03 11:22:50: Client <unknown> closed its connection.
2026-04-03 11:24:50: New connection from 172.30.32.2:34934 on port 1883.
2026-04-03 11:24:50: Client <unknown> closed its connection.
2026-04-03 11:26:50: New connection from 172.30.32.2:36322 on port 1883.
2026-04-03 11:26:50: Client <unknown> closed its connection.
2026-04-03 11:28:50: New connection from 172.30.32.2:60914 on port 1883.
2026-04-03 11:28:50: Client <unknown> closed its connection.
2026-04-03 11:30:50: New connection from 172.30.32.2:43750 on port 1883.
2026-04-03 11:30:50: Client <unknown> closed its connection.
2026-04-03 11:32:50: New connection from 172.30.32.2:35246 on port 1883.
2026-04-03 11:32:50: Client <unknown> closed its connection.
2026-04-03 11:34:50: New connection from 172.30.32.2:59764 on port 1883.
2026-04-03 11:34:50: Client <unknown> closed its connection.
Additional information
Why this matters
The inability to control log verbosity has real hardware consequences for users
running HAOS on SD card-based devices (e.g. Raspberry Pi).
The Mosquitto add-on watchdog (watchdog: tcp://[HOST]:1883) probes port 1883
every ~2 minutes via a raw TCP connection. Since it never completes the MQTT
handshake, Mosquitto logs every probe as:
New connection from 172.30.32.2:PORT on port 1883.
Client <unknown> closed its connection.
This generates ~720 unnecessary log entries per day — caused entirely by the
add-on's own internal infrastructure. Users cannot suppress this noise because
the custom config's log_type setting gets overridden by the main config.
Excessive log writes accelerate SD card wear. For users on Raspberry Pi or
similar embedded hardware, this is not a cosmetic issue — it directly impacts
the lifespan of their storage medium.
Describe the issue you are experiencing
Description
When using the
customizefeature to load a custom/share/mosquitto/mosquitto.conf,the file is loaded before
/etc/mosquitto/mosquitto.conf. This means any settingsin the custom config (e.g.
log_type) are overridden by the main config generated bythe add-on, making it impossible to control log verbosity via the customize folder.
Check the additional information section at the end for the impact.
Expected behavior
Custom config settings should take precedence over (or at least not be overridden by)
the generated main config.
Actual behavior
From the logs it is clear the custom config is loaded first:
The main config is loaded second and overrides
log_type.Suggestion
Either load the custom config after the main config, or use
include_dirat theend of
/etc/mosquitto/mosquitto.confso custom settings win.What type of installation are you running?
Home Assistant OS
Which operating system are you running on?
Home Assistant Operating System
Which app are you reporting an issue with?
Mosquitto broker
What is the version of the app?
2.0.22
Steps to reproduce the issue
customize: active: true, folder: mosquittoin the add-on config/share/mosquitto/mosquitto.confwithlog_type warningSystem Health information
System Information
Home Assistant Community Store
Home Assistant Cloud
Home Assistant Supervisor
Dashboards
Network Configuration
Recorder
Anything in the Supervisor logs that might be useful for us?
Anything in the app logs that might be useful for us?
Additional information
Why this matters
The inability to control log verbosity has real hardware consequences for users
running HAOS on SD card-based devices (e.g. Raspberry Pi).
The Mosquitto add-on watchdog (
watchdog: tcp://[HOST]:1883) probes port 1883every ~2 minutes via a raw TCP connection. Since it never completes the MQTT
handshake, Mosquitto logs every probe as:
This generates ~720 unnecessary log entries per day — caused entirely by the
add-on's own internal infrastructure. Users cannot suppress this noise because
the custom config's
log_typesetting gets overridden by the main config.Excessive log writes accelerate SD card wear. For users on Raspberry Pi or
similar embedded hardware, this is not a cosmetic issue — it directly impacts
the lifespan of their storage medium.