Failed to normalize configuration / UNINITIALIZED (HANDLER CONFIGURATION PENDING)

I already posted this in the vacuum thread - but maybe somebody here can help me fix this as nobody else seems to have this issue with the MIIO binding and I can’t seem to find any other threads with solutions, so here we go:
A couple of days ago my MIIO things started throwing the following error:

Failed to normalize configuration for thing 'miio:basic:moppiBasic': {thing/channel=Type description miio:IJAI_VACUUM_V19_actions for miio:basic:moppiBasic:actions not found, although we checked the presence before.}
Thing 'miio:basic:moppiBasic' changed from UNINITIALIZED (DISABLED) to UNINITIALIZED (HANDLER_CONFIGURATION_PENDING): {model=Der Wert ijai.vacuum.v19 ist nicht in den erlaubten Optionen enthalten. Erlaubte Optionen sind: [ParameterOption [value="text-davinci-001", label="text-davinci-001"], ParameterOption [value="text-search-curie-query-001", label="text-search-curie-query-001"], ParameterOption [value="davinci", label="davinci"], ParameterOption [value="text-babbage-001", label="text-babbage-001"], ParameterOption [value="curie-instruct-beta", label="curie-instruct-beta"], ParameterOption [value="text-davinci-003", label="text-davinci-003"], ParameterOption [value="davinci-similarity", label="davinci-similarity"], ParameterOption [value="code-davinci-edit-001", label="code-davinci-edit-001"], ParameterOption [value="text-similarity-curie-001", label="text-similarity-curie-001"], ParameterOption [value="text-embedding-ada-002", label="text-embedding-ada-002"], ParameterOption [value="ada-code-search-text", label="ada-code-search-text"], ParameterOption [value="text-search-ada-query-001", label="text-search-ada-query-001"], ParameterOption [value="babbage-search-query", label="babbage-search-query"], ParameterOption [value="ada-similarity", label="ada-similarity"], ParameterOption [value="gpt-3.5-turbo", label="gpt-3.5-turbo"], ParameterOption [value="whisper-1", label="whisper-1"], ParameterOption [value="text-search-ada-doc-001", label="text-search-ada-doc-001"], ParameterOption [value="text-search-babbage-query-001", label="text-search-babbage-query-001"], ParameterOption [value="code-search-ada-code-001", label="code-search-ada-code-001"], ParameterOption [value="curie-search-document", label="curie-search-document"], ParameterOption [value="text-search-davinci-query-001", label="text-search-davinci-query-001"], ParameterOption [value="text-search-curie-doc-001", label="text-search-curie-doc-001"], ParameterOption [value="gpt-3.5-turbo-0301", label="gpt-3.5-turbo-0301"], ParameterOption [value="babbage-search-document", label="babbage-search-document"], ParameterOption [value="babbage-code-search-text", label="babbage-code-search-text"], ParameterOption [value="davinci-instruct-beta", label="davinci-instruct-beta"], ParameterOption [value="davinci-search-query", label="davinci-search-query"], ParameterOption [value="text-similarity-babbage-001", label="text-similarity-babbage-001"], ParameterOption [value="text-davinci-002", label="text-davinci-002"], ParameterOption [value="code-search-babbage-text-001", label="code-search-babbage-text-001"], ParameterOption [value="babbage", label="babbage"], ParameterOption [value="text-search-davinci-doc-001", label="text-search-davinci-doc-001"], ParameterOption [value="code-search-ada-text-001", label="code-search-ada-text-001"], ParameterOption [value="gpt-3.5-turbo-16k-0613", label="gpt-3.5-turbo-16k-0613"], ParameterOption [value="gpt-3.5-turbo-16k", label="gpt-3.5-turbo-16k"], ParameterOption [value="ada-search-query", label="ada-search-query"], ParameterOption [value="text-similarity-ada-001", label="text-similarity-ada-001"], ParameterOption [value="ada-code-search-code", label="ada-code-search-code"], ParameterOption [value="ada", label="ada"], ParameterOption [value="text-davinci-edit-001", label="text-davinci-edit-001"], ParameterOption [value="davinci-search-document", label="davinci-search-document"], ParameterOption [value="curie-search-query", label="curie-search-query"], ParameterOption [value="babbage-similarity", label="babbage-similarity"], ParameterOption [value="ada-search-document", label="ada-search-document"], ParameterOption [value="text-ada-001", label="text-ada-001"], ParameterOption [value="text-similarity-davinci-001", label="text-similarity-davinci-001"], ParameterOption [value="curie", label="curie"], ParameterOption [value="curie-similarity", label="curie-similarity"], ParameterOption [value="gpt-3.5-turbo-0613", label="gpt-3.5-turbo-0613"], ParameterOption [value="babbage-code-search-code", label="babbage-code-search-code"], ParameterOption [value="code-search-babbage-code-001", label="code-search-babbage-code-001"], ParameterOption [value="text-search-babbage-doc-001", label="text-search-babbage-doc-001"], ParameterOption [value="text-curie-001", label="text-curie-001"]]}

The log content is - apart from the name of the MIIO thing - always the same and it happens to all MIIO things.
I did try removing and re-adding the thing (both in UI as well as text file) and also re-installing the binding, but nothing helped.

Weird thing is that happened pretty much “out of the blue” - I did update to OH4 a couple of weeks ago, but this only happened a couple of days ago.
There’s already a discussion on this as some other bindings run into those issues as well (see at openHAB 4.0 Milestone discussion - #278 by glen_m and Failed to normalize configuration for thing · Issue #3473 · openhab/openhab-core · GitHub), however, I don’t understand if there’s a way for me to fix it at my end at this point (already tried restarting the bundle manually, without success).
All other things/bindings work fine.

I’m running Openhabian 4.0.2 on an RPi3

Thanks in advance

So Thing is file based or UI?
Disclaimer* I know zip about MIIO binding but mixing file and UI Thing configuration is not supported and highly discouraged

Thing is UI based, I just added it manually later as well for testing purposes when the issue occurred.

1 Like

This looks like something that would need to be fixed in the binding. I don’t see anything you have control over as a way to fix this.

It doesn’t seem like this would be the case, but if MIIO works through a cloud based API and they changed their API, maybe it’s throwing the binding into a weird state. I would expect different errors in that case but it’s all I can think of.

What puzzles me is that I seem to be the only user of this (IMO fairly popular) binding at the moment.
The binding has the option to use either cloud or local detection. Using cloud detection returns a weird set of allowed model strings…


Using “direct” sets the things’ status from NOT_READY_YET to HANDLER_MISSING_ERROR and then finally HANDLER_CONFIGURATION_PENDING.

This also happens to the thing I created via text file - it has the correct model string included, but the binding is expecting one of the nonsense-names from the screenshot.

Well, give this isn’t a generic problem and seems to be specific to this binding, I’m not sure if there is any other help I can offer. Hopefully someone who uses this binding and technology can chime in to help.

chiming in here…

The strange thing here is that the options in the screenshot are totally unrelated to the binding.
In fact the error it show (HANDLER_CONFIGURATION_PENDING): {model=Der Wert ijai.vacuum.v19 ist nicht in den erlaubten Optionen enthalten. Erlaubte Optionen sind: [ParameterOption [value="text-davinci-001", label="text-davinci-001"], ParameterOption [value="text-search-curie-query-001", label="text-search-curie-query-001"],t
The binding actually needs the model= part, which is indeed one of the regular thing config parameters.

Note that this bit of the parameters is not dynamically defined (it is in the binding defined by regular xml files in the OH_INF folder)

I think there is a conflict between the chatGPT binding and the miio binding for the model config option.

It’s me who created the issue on github and posted in the ChatGPT thread. I can confirm the symptoms were the same for me as in this thread.

Something is in conflict with the ChatGPT binding. Don’t know if the problem is the GPT binding or the MIIO. But there’s issues between them, uninstalling ChatGPT and then going into every MIIO thing and saving the “Device Model” solves the issue.

There also seems to be a pending pull request for a fix to the ChatGPT binding.

The ChatGPT binding changed the allowed values for all configuration options called model indifferent of which binding it belonged to. Kai made a PR for the fix.

1 Like