danielwelch / hassio-zigbee2mqtt

Hass.io add-on for zigbee2mqtt
Apache License 2.0
565 stars 190 forks source link

Can't remove deprecated options from configuration #530

Closed point-4ward closed 3 years ago

point-4ward commented 3 years ago

zigbee2mqtt add-on version (if edge, please report commit hash): 1.17.1

Operating environment (HassOS, Virtual Machine, Device/platform running Home Assistant): Supervised, Debian, Proxmox

Description of problem:

The option

experimental:
  new_api: true

Is deprecated, and probably had been for a while, but trying to remove it from my configuration for the addon results in being unable to save. Unfortunately the error message it generates is so long it just goes off the edge of the screen and I'm unable to read it. I can't screenshot it either because the bit that actually is on the screen contains sensitive details.

Your entire configuration from the frontend (with sensitive fields redacted):

Can't copy from android unfortunately and I'm not at home, but with those fields included it saves and works fine, but taking them out will not allow me to save.

Your logs from Home Assistant

None relevant.

ciotlosm commented 3 years ago

It's probably because there are other options changed between version and when you save the config it complains about other options not there that don't get populated automatically unfortunately. You will need access to some supervisor logs to get more clarity of what is not working

point-4ward commented 3 years ago

This is the problem, the error message isn't written to the supervisor logs, nor the addon logs, it's put 'on screen' but is really long and literally runs off the side of the screen with no ability to scroll.

Also, if it was complaining about other options being missing, surely I would get the same failure when saving the configuration with that option present? But I don't, the config checker will not allow me to save without those deprecated items being set.

I have tried to look in the repo to work out how you tell the config checker which keys are mandatory/optional etc but I couldn't actually see anything other than the 'default' configuration, which still has this option in it.

ciotlosm commented 3 years ago

I was not aware the the option below was deprecated.

experimental:
  new_api: true

Removing it (including experimental option) is not possible because it's a required option in the add-on config.

If you really want to move new_api you must use:

experimental: {}
point-4ward commented 3 years ago

Yeah it's been deprecated for a while, that's kinda the point of this bug report, it shouldn't be a required option if it's deprecated.

https://github.com/Koenkk/zigbee2mqtt/releases/tag/1.17.0

Edit - if you can tell me where it is specified that this is a required option (presumably that's what the configuration checker in homeassistant uses) I'll open a PR to change it to optional, but as I said above I cannot find anything in the repo that defines what keys/values the config checker should accept, reject or otherwise.

ciotlosm commented 3 years ago

This was now added in 1.17.1-1 and edge for https://github.com/zigbee2mqtt/hassio-zigbee2mqtt. Version 1.17.1-1 is not yet published, but it should be soon.

point-4ward commented 3 years ago

I'm proper confused now - I take it this repo is being deprecated and the addon is moving to that one?

Either way, I take it I can close this issue now? And that being the case, thanks 👍

ciotlosm commented 3 years ago

@mf-social let me know what confuses you, as it's best I make it a bit more clear.

The idea is that danielwelch/hassio-zigbee2mqtt is being migrated to zigbee2mqtt/hassio-zigbee2mqtt/ as that uses an org and can have multiple admins.

The new version has also some improvements in process management (you can read the changelog).

danielwelch/hassio-zigbee2mqtt will still exist in parallel but probably will just hold configs and will require some doc updates.

I did not make an update to danielwelch/hassio-zigbee2mqtt for this issue because it will become irelevant soon (as soon as we get docs update on z2m repo).

point-4ward commented 3 years ago

Yeah, I'm still a bit confused, it's probably just me being tired...

What I guess I'm asking, in simple yes/no terms, is:

When my addon next shows an update is available, is that update coming from zigbee2mqtt/hassio-zigbee2mqtt?

If so, then basically it doesn't matter whether this repo has the update you did or not, so long as that update is in the other repository?

Therefore this issue is fixed, in spite of no changes to this repo?

And any further bugs should be reported to the new repository rather than this one?

Sorry if I'm being a bit simple 🙈

ciotlosm commented 3 years ago

When my addon next shows an update is available, is that update coming from zigbee2mqtt/hassio-zigbee2mqtt?

No, it will come from danielwelch/hassio-zigbee2mqtt, but that will contain just some configs and use images from the other repo.

Yes, you are correct, the issue will be fixed even if you don't change repos as this repo won't contain code anymore, and images will be consumed from the new org.

Yes, any further bugs should be reported on the new repo, but the "new issue" template should mention this.

point-4ward commented 3 years ago

@ciotlosm - excellent, thanks for the clarification 👍