![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@energyweb/algorithms
Advanced tools
Collection of algorithms used for performing matching between energy consumers and energy generators.
Collection of algorithms used for performing matching between energy consumers and energy generators.
Any input should match algorithm interface, therefore handling special cases like battery charging/discharging should be handled
before and after using the algorithm. One example workaround is to create special kind of id
(for consumers/generators) that will contain
some additional metadata, that for example the entity is a battery.
We expect consumptions and generations assetIds to be unique, that is have one read per device.
Each consumption has it's matching preferences.
Matches happen in rounds (more on that later). In each round not fulfilled consumption, and not used up generation is fed into next round. Therefore rounds determine matching priority. Whatever is matched in the same round in matched proportionally to consumption and available generation.
What gets matched with what in given matching round is determined by paths (that come from path strategies).
Path strategy essentially describes matching round, therefore it implies priority. For example if sitePathStrategy
is first in list of strategies, then consumers/generators in the same site will be matched first.
There are various way to connect consumers with generators (by energy priority preference, regional preference and so on).
As the path strategies are written in declarative way (and documented), I'll skip description of them. Please consult the code for details.
Matched volumes in given round are determined in this way:
Because asks are created first, and then they are narrowed to matches by generator it may happen, that an ask may not be resolved completely. In such case consumer will be named "leftoverConsumption", and passed to a next round of matching. If sum of all asks is lower than the generator available volume, then such generator will be named "leftoverGenerator", and passed to a next round of matching.
Leftovers from the last round of matching are considered leftovers from the whole matching process.
We don't use fraction of volumes. Therefore if assigning proportionally isn't possible without fractions, then the volume is assigned proportionally as much as possible, and then the volume that would become fraction is assigned to all entities by 1 (Wh) until the volume (whether the ask or generator's volume) is depleted.
For questions and support please use Energy Web's Discord channel
Or reach out to us via email: 247enquiries@energyweb.org
The Energy Web Decentralized Operating System is a blockchain-based, multi-layer digital infrastructure.
The purpose of EW-DOS is to develop and deploy an open and decentralized digital operating system for the energy sector in support of a low-carbon, customer-centric energy future.
We develop blockchain technology, full-stack applications and middleware packages that facilitate participation of Distributed Energy Resources on the grid and create open market places for transparent and efficient renewable energy trading.
To learn about more about the EW-DOS tech stack, see our documentation.
For an overview of the energy-sector challenges our use cases address, go here.
For a deep-dive into the motivation and methodology behind our technical solutions, we encourage you to read our White Papers:
FAQs
Collection of algorithms used for performing matching between energy consumers and energy generators.
The npm package @energyweb/algorithms receives a total of 1 weekly downloads. As such, @energyweb/algorithms popularity was classified as not popular.
We found that @energyweb/algorithms demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.