The 2026.3.0 released just today is purely a maintenance release that thanks to some really useful people was raised to my attention.
The camera libraries had some dependency issue. Meanwhile some code improvements, the shutdown of the threads is now more clean.
In the next release will try to get PNG format for who likes to overlap the images on images (floors plans) will be optionally available.
Much other in progress but slowly also because will do a little brake
Noticed the background Alpha problem myself with the latest update. On two vacuums itās now blue. On one vacuum, itās now black. Interesting that itās so wildly different.
Iām not seeing the cropping issue on my vacuums at all.
Guys @tom_l and @rohankapoorcom about the background alpha is because the camera now render JPEG instead of PIL, as a compromise will support PNG and HomeKit streaming too⦠Iām working on it.
In the DOCS as explained already as now we have Floors Support, the trems are in the floor data⦠It means in Image Setting:
Thanks at the excellent cooperation of @demonizator it was possible to add the Congatudo vacuums (Conga) running this variant of Valetudo. Maps are rendered and calibration / rooms data is available for start we added also some new payload to detect Water Tanks installations and Dust Bins installations, working on improvements of course will be our pleasure.
Many of you uses the background with different floor plans for this reason converting the camera (thanks again @mafredri) to use go2rtc therefore JPEG, instead of PIL, lost the possibility to use the background transparencies. To solve this we now support as default JEPEG format and optionally PNG. Image Options ā Basic Settings ā Image Format selectable is now available. Note JPEG will still support the go2rtc as introduced in the 2026.2.2
As usual
Whenever you feel something can be improved please join our discord or post in GitHub your proposals/concerns and especially issues faced. If you use this consider starring this project, if not yet done.. or contribute to its development. Thanks to all of you
hi guys! I hadnāt updated Home Assistant for months because I was afraid the integration wouldnāt work. Today I decided to update it, and it happened⦠any ideas on how to fix it? Iām on the latest version of Home Assistant and the latest version of MQTT_Camera, firmware version 2025.05.0. Thanks everyone!
@kill_one Try to update the vacuum firmware too please and use the stable version not the the beta one instead. This should solve the issue, as the vacuum actually is rejected from MQTT because of deprecated values.
@possum2 sorry for the late replay if you deleted floor_0 from the camera config (it effects only the camera) yep probably there could be some problems. You are welcome to describe the problem you are facing creating an issue on the camera repo and will be happy to add some āsafe guardā⦠the camera do not delete or edit floors data just uses the floor data from HA if available and if not as fall back the library and camera custom component fall back to floor_0. Simply add the floor (if noting is in the HA registry as floor) would result in a new floor_0 data.
Iām not going to post an issue as of yet, I donāt want to recreate the situation (but if you need, lmk and Iāll do it, this time I know a quicker way out)
I turned on debug logging in case something happens, what made me do it was when i changed trim levels in integration settings, HA restarted. I was sure it will be gone again, but it came back. Didnāt touch the trims since, because they also didnāt do anything for me - āEdit Floor Settingsā saved my settings but when proceeding to āUpdate Floor Dataā, it still had the old value.
integration v - 2026.3.1
Valetudo 2026.02.0
HAOS 2026.3.4
Roborock.s5
Yes this is what I kind of expected⦠I did several test and floor_0 is as it is suppose init correctly in the library if not defined in the config⦠as it is the default floor when HA isnāt configured in floors mode⦠and I repeat we use the IDās of the floors but the management of the floors (add or delete) is in HA. We just record the trims of the floors idās if any or in floor_0 if none as we need a key to grab the data⦠simple like that.
The data are stored then a floor_0 can be activated and you can update the trims when needed.
Ok it happened again, now this time while changing trim values (it still doesnāt change my camera feed image, I was just trying).
I had debug logging active, but where to see those logs? System-Logs and then Supervisor or Core? edit: ah nvm, I restarted HA after safe mode and logs are gone.
@possum2 I simply do not understand your problem⦠the camera works just fine and without logs that anyway should be posted on GitHub not here I canāt really help. Honestly it work for 1000 of users I do not know what is happening and why⦠just please remember that this is a custom component and it come as it is. You can delete the camera and use something different if this is the problem for sure the Camera do not crash HA!!!
Service Definitions & Versionmanifest.json, services.yaml
Version bumped to 2026.4.0. Two new camera services added: camera_select_floor (sets active floor via floor_id) and camera_update_floor_data (persists map trim data to a floor).
Service Registration & Handlers__init__.py, utils/camera/camera_services.py
Service handlers registered/unregistered conditionally in async_setup_entry/async_unload_entry. Handlers resolve camera entity, validate floor existence, update config, and emit events. Floor data updates convert coordinator trim values to persisted FloorData.
Valetudo event handling now supports dismissal acknowledgment. Processed events dismiss HA notifications; unprocessed events create them and register dismissal callbacks that publish MQTT interact commands back to Valetudo, preventing notification echo-back.
@frastill yes the multi floor might work also work for Congatudo the vacuum might have a map after scanning the floor grey means there are no maps for that floor yet in the vacuum. Aldo Congatudo is still maybe buggy in my implementation will be happy to help you understand where the problem is if you open a discussion in GitHub we can see if it will be necessary to open an issue