5 unresolved threads
stash
Activity
added 11 commits
- 918754c7 - ds-model: replace str2dsuid by Dsuid
- 0fe696f5 - metering: lastValue already catches exception
- a507aaf7 - metering: split Direction from Metering class
- 8cf80d25 - metering: rename createArchiveFilename
- bcb3b0c9 - metering: hide checkAllDBRest from public interface
- 93211b23 - metering: merge checkAllDBReset/checkDBConsistency
- 697daeac - metering: addProducedEnergy with separate files
- 4afb7370 - ds-model: extend for produced energy
- 012904b5 - ds-mode: call Apartment::getMetering only once
- 53a6928b - ds-model: toEnum(MeteringType) instead of strings, bugfix
- 175a1c52 - ds-model: bugfix: meteringType set incorrectly for produced energy/power
Toggle commit listadded 6 commits
- 79d6284d - metering: split Direction from Metering class
- c5382ea8 - metering: rename createArchiveFilename
- faea7c38 - metering: hide checkAllDBRest from public interface
- ed9909fd - metering: merge checkAllDBReset/checkDBConsistency
- 5fae1b12 - metering: addProducedEnergy with separate files
- 3960c841 - metering: getSeries: std::exchange
Toggle commit list91 92 return {}; 92 93 } 93 94 94 class MeteringImpl : public MeteringSubsystem { 95 private: 96 std::string m_MeteringStorageLocation; 97 MeteringBusInterface* m_pMeteringBusInterface = NULL; 95 class MeteringImpl; 96 97 class Direction { 98 public: 99 typedef std::function<std::string(const dsuid_t&)> createFilename_t; changed this line in version 5 of the diff
129 MeteringBusInterface* m_pMeteringBusInterface = NULL; 109 130 110 std::vector<std::string> getKnownArchiveFilenames(); 111 std::string tryGetValidArchiveFilename(const dsuid_t& dsmId) const; 112 std::string getOrCreateCachedSeries(const dsuid_t& dsmId); 131 std::shared_ptr<Archives> m_archives; 132 Direction m_consumption; 133 Direction m_production; 113 134 114 std::optional<ArchiveValue> tryCreateCacheFromDB(const dsuid_t& meterId) const; 135 public: 136 // callbacks from Direction 137 std::string createArchiveFilename(const dsuid_t& meterId, DirectionType directionType) const { 138 return (directionType == DirectionType::Consumption) 139 ? ds::str(m_MeteringStorageLocation, meterId, ".rrd") 140 : ds::str(m_MeteringStorageLocation, meterId, "-production.rrd"); changed this line in version 5 of the diff
131 166 const std::vector<MeteringConfig> getConfig() const override { return m_archives->getConfig(); } 132 167 void setMeteringBusInterface(MeteringBusInterface* _value) override { m_pMeteringBusInterface = _value; } 133 168 134 std::string createCachedSeriesFilename(const dsuid_t meterId) const override { 135 return ds::str(m_MeteringStorageLocation, meterId, ".rrd"); 169 std::optional<ArchiveValue> getEnergy(const dsuid_t& meterId) const override { 170 return m_consumption.getEnergy(meterId); 171 } 172 std::optional<ArchiveValue> getProducedEnergy(const dsuid_t& meterId) const override { 173 return m_consumption.getEnergy(meterId); changed this line in version 5 of the diff
176 222 } 177 223 } 178 224 179 std::string MeteringImpl::tryGetValidArchiveFilename(const dsuid_t& dsmId) const { 225 std::string Direction::tryGetValidArchiveFilename(const dsuid_t& dsmId) const { 180 226 { 181 227 boost::mutex::scoped_lock lock(m_cachedSeries_mutex); 182 228 if (auto it = boost::find(m_consumptionOnly, dsmId); it != m_consumptionOnly.end()) { changed this line in version 5 of the diff
139 180 140 std::optional<ArchiveValue> getEnergy(const dsuid_t& dsuid) const override; 141 181 std::vector<Value> getSeries(std::vector<boost::shared_ptr<DSMeter>> _meters, int& _resolution, 142 182 metering::SeriesTypes _type, bool _energyInWh, const TimeDuration& timeDuration, 143 183 int& _valueCount) override; 144 184 }; // MeteringImpl 145 185 186 std::string Direction::createArchiveFilename(const dsuid_t& meterId) const { 187 return m_metering->createArchiveFilename(meterId, m_directionType); 188 } 189 146 190 MeteringImpl::MeteringImpl(DSS* _pDSS, std::shared_ptr<Archives>&& archives) 147 : MeteringSubsystem(_pDSS), m_archives(std::move(archives)) {} 191 : MeteringSubsystem(_pDSS), 192 m_archives(std::move(archives)), 193 m_consumption(this, DirectionType::Consumption), enabled an automatic merge when the pipeline for 87929bec succeeds
mentioned in commit f46a7073