Comments (2)
What exactly is the issue here? I suppose this is about the frequent disk I/O?
So this is mainly done in order to deal with power losses as users tend to just cut the power cord on the devices running nymea.
I think there was a branch somewhere which would allow a configuration option to only cache on shutdown, but it never landed at this caused too many issues. I could still see a justification for such a config option though, for systems that cannot easily be unplugged and have more strict I/O limits.
In any case, plugin developers should use the caching feature with caution and disable it for states where caching is not needed. There's probably room for optimization in quite some plugins though. You can enable the ThingManager debug category and it will print a message whenever it caches something. That's useful to find states that are cached but should not be.
from nymea.
Yes it is frequent disk I/O.
When I wrote the issue, I was very deeply involved with the SMA Smart Meter Plugin, which reads data in a high frequency. In the worst case, the file was written 12 times within one second. And we also already have a brocken device where the SD card is damaged.
You are right that here the plugin developer must be very careful.
I think for values that change every second it makes no sense to cache them.
We will check all energy plugins and the hint that we enable the debug category for the ThingManager is very helpful.
from nymea.
Related Issues (20)
- NetworkDeviceDiscoveryReply::hostAddressAdded is not always emitted HOT 1
- Nymea Package installation issue HOT 3
- Already complete network device info changed during discovery process HOT 9
- Occational crashes in NetworkDeviceDiscovery
- Crash in NetworkDeviceDiscoveryImpl::unregisterMonitor HOT 3
- Advance password change HOT 1
- Userconfiguration HOT 3
- Crash when a NetworkDeviceDiscovery finishes HOT 1
- Make command for nymea fails on arm64 HOT 5
- [Python Integration Plugin] setupThing() is called before init() completed HOT 2
- Can't log in to tuya Cloud HOT 1
- Error Message during Windows App Installation HOT 3
- feature request: add support for Ubuntu Touch 20.04 HOT 4
- feature request: phone ping interval HOT 1
- Problem when compiling plugins, error in `plugininfo.h` HOT 1
- Add support for FlowMeter interface HOT 2
- Able to integrate with NodeRed? HOT 2
- Nymea system shutdown not shown in system log HOT 1
- Network device thing does not detect presence or absence after system restart HOT 19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nymea.