Giter Club home page Giter Club logo

Comments (13)

danielwelch avatar danielwelch commented on June 15, 2024 2

No worries! Ok, I've modified the add-on to use the ZIGBEE2MQTT_DATA environment variable now that the functionality has been merged into zigbee2mqtt. I'll wait to close this until we've tested it out.

from hassio-zigbee2mqtt.

danielwelch avatar danielwelch commented on June 15, 2024 1

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 data directory location configurable. This would be nice because we could specify the location within the mounted /share directory, and nothing else will really need to be done.

from hassio-zigbee2mqtt.

danielwelch avatar danielwelch commented on June 15, 2024 1

We should limit the times configuration.yaml is moved around to avoid problems

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.

from hassio-zigbee2mqtt.

danielwelch avatar danielwelch commented on June 15, 2024

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 configuration.yaml?

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

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.
And store it in a shared folder outside of the container.

from hassio-zigbee2mqtt.

danielwelch avatar danielwelch commented on June 15, 2024

Got it. So that’s going to require changes to zigbee2mqtt, correct?

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

Either that or a very ugly hack to parse that js file 😸

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

@Koenkk do you think you could help with making https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/zigbee.js#L8 extracted inside configuration.yaml ?

 dbPath: `${__dirname}/../data/database.db`

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

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.

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

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.

from hassio-zigbee2mqtt.

danielwelch avatar danielwelch commented on June 15, 2024

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.

"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.

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.

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

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.

from hassio-zigbee2mqtt.

ciotlosm avatar ciotlosm commented on June 15, 2024

I think all extra copying I saw disappeared 👍 My bad for not checking latest code again.

from hassio-zigbee2mqtt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.