-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make device database persistent #1
Comments
Can you describe what you mean by the device database? Sorry if I'm missing something obvious here, but is this referring to how devices are persisted in |
We need to extract: https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/zigbee.js#L8 as a configuration so you can pass it as option from the addon. |
Got it. So that’s going to require changes to zigbee2mqtt, correct? |
Either that or a very ugly hack to parse that js file 😸 |
@Koenkk do you think you could help with making https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/zigbee.js#L8 extracted inside configuration.yaml ?
|
I've raised: Koenkk/zigbee2mqtt#34 as it seems there might also be a problem running two instances on zigbee2mqtt with two CC2531 on different devices. |
Working on this persistence issue in zigbee2mqtt#39. In addition to the database, the configuration file also needed to be persisted. So at that point, Koenkk suggested just making the entire |
I don't think the configuration needs to be persisted. The way I see it is that "friendly names" section has to be persisted, but I don't think that should be in the same file as the rest of the configuration we set at start time. |
Well with this approach, we wouldn’t necessarily be writing the configuration file at start time, but instead the file could be created in the mounted share dir ahead of time. Or, if the file doesn’t exist, it will be copied in from the container, and then can be edited.
Maybe so, but that’ll take changes in the zigbee2mqtt library. This approach handles persisting the database, logging files, and (if indeed necessary) the configuration file. |
We should limit the times configuration.yaml is moved around to avoid problems. I agree that for the moment it can work like this. I think writing the configuration with values from options.json at start time removes any unpredictable results. One of they key functionalities (starting pairing mode or not) will be using this method for now until an mqtt command could be implemented. |
Not sure I understand this concern. The file should never be moved, should just stay in whatever data directory is specified (in the add-on’s case, probably something like /share/zigbee2mqtt/). The copying I mention is a one-time thing, in case the user has failed to create a configuration file, that allows the addon to start with the default config rather than fail. |
I think all extra copying I saw disappeared 👍 My bad for not checking latest code again. |
No worries! Ok, I've modified the add-on to use the |
No description provided.
The text was updated successfully, but these errors were encountered: