409 Conflict when deleting Thing created from Paper UI

  • Platform information:
    • Hardware: Raspberry Pi 4
    • OS: Raspbian Buster
    • Java Runtime Environment:OpenJDK 1.8.0_212
    • openHAB version:2.5.4

After installing the Xiaomi Mi IO Binding, I saw it had auto-discovered my Vacuum and decided to just add it through the Paper UI auto discover. I have nothing else configured through/from Paper UI.

The new thing it had configured wasn’t working, so I tried editing some values and got a 409 Conflict.
I then tried to delete the created thing and got a 409 Conflict.
I then deleted the thing from the JSONDB and it would still show up.
I then shutdown openhab, deleted everything from JSONDB, cleared cache, restarted, and it would still show up.
I then deleted the binding, shutdown openhab, deleted everything from JSONDB, restart and it would be gone, but once I reinstalled the binding it would show up.

Right now I have no idea how this thing keeps showing up or how to get rid of it permanently. Is there another place where things get stored that I couldn’t find? I searched other topics and tried as much as I could but couldn’t permanently get rid of it with the binding still installed.

The only logs I see when trying to delete is this line:
2020-05-12 03:41:32.976 [INFO ] [st.core.internal.thing.ThingResource] - Received HTTP DELETE request for update at 'things/miio:vacuum:0F94BC0A' for an unmanaged thing 'miio:vacuum:0F94BC0A'.

Welcome!

Do you have Simple Mode turned on? If so, turn it off. It automatically creates Items with unintuitive names causing havoc.

Just checked and it’s set to expert.

I am referring to this.

“unmanaged” generally means it has been created from an xxx.things file.
I know you haven’t mentioned creating such, but neither have you said you checked for this Thing in any such files.

1 Like

Ok thanks for the clarification. I checked and it’s set just like that screenshot.

Auto-Ignore is true, Auto-Approve Off, Simple Mode Off

1 Like

I do have a Thing configured, but that’s not the UID I use, it’s miio:vacuum:rocky

I added that after I could not edit/delete the Thing from Paper UI. I did all the experiments above with this miio:vacuum:rocky Thing removed from the files as well and could not get rid of it.

I did some grep searches on the box yesterday and couldn’t find anything but I’ll give it a second run and see if I catch anything I missed yesterday.

Just realized something that might be relevant, when the phantom Thing shows up again it doesn’t show up in the jsondb/some.package.Thing.json, it shows up in /jsondb/thing_status_storage.json

Does anyone know what thing_status_storage.json normally for? I couldn’t find anything on it with a quick Google search.

I have no idea what that file is for. On my system it’s an empty JSON (i.e. { }). If the phantom Thing is the only thing in that file I’d say stop OH, delete the file and restart OH and see what happens. You could create a backup first just in case but I’m confident that OH will just recreate it as an empty JSON.

1 Like

I tried that and it didn’t work. Since I have nothing configured from Paper UI I just delete everything in the jsondb folder but it still manages comes back. I also tried deleting this file after OH is stopped and clearing cache before restart and it still comes back.

At this point I’m not sure if it’s getting stored somewhere else or somehow getting recreated but it seems a fresh install would be the only way to get rid of it right now. :frowning:

If you are certain the Thing isn’t defined in any of your .things files but it keeps coming back after deleting the JSONDB files, it’s possible the problem is with the SD card. Files coming back after being deleted is one of the many symptoms of a worn out SD card.

1 Like

I’m running from an SSD on an RPI4, the SD card is only used for the Raspi’s /boot folder. And yes I’m completely certain it’s not comming from my files, and if I do a case-insensitive grep on the system for the string 0F94BC0A I don’t really get anything other than the JSONDB folder once it regenerates, so I do think OpenHAB is somehow recreating the object through some lingering config, but I have no idea what it could be.

At this stage, it seems more likely to be a discovery artifact, supported by

It shows up both on discovery and as a thing once I reinstall the binding, but I think you might be right. Do you have any ideas on how to fix it if it’s a discovery artifact?

No. I’m not entirely sure what “it” is anymore. Since you have now changed system mode, and deleted various stuff, where does it “show up” exactly? We’d expect the binding to still discover it and put it in the inbox.

I’ll see if I can clarify. I have a Roborock Vacuum which I was trying to set up to use. OpenHAB discovered it and put it in my inbox, and I then went and accepted that it be created into a Thing. After that Thing for the Roborock Vacuum was created via discvoery, I get 409 Conflict whenever I try to edit or delete said Thing.

When I uninstall the binding, stop OH, delete JSONDB, restart OH, and reinstall the binding, the Thing created originally via Discovery shows up again and the Inbox shows it discovered my Roborock vacuum for me to import.

My issue is not the discovered device in the inbox, but the fact that I can’t

Hopefully this more thorough explanation is clearer than before, but if it isn’t let me know and I’ll throw in some screenshots that might help.