Code Monkey home page Code Monkey logo

statux's People

Contributors

larshei avatar

Stargazers

 avatar

Watchers

 avatar  avatar

statux's Issues

Implement usage of multiple Rule Sets and assigning them

Using multiple Rule Sets is mostly prepared.

The Rule Set loaded initially is set as the :default variant and the message processing pipeline can already handle multiple Rule Sets.

To be implemented:

  1. Add more RuleSets to a Tracker
  2. Assign RuleSets to tracked entities (store in EntityStatus.rule_set_name)
    1. If the RuleSet is replaced, but e.g. the available options change, what do we want to do? Reset the current EntityStatus? Keep the intersection, remove/add others as needed? Transition the current_state to nil or keep as-is (or either, depending if the option still exists)?
  3. Choose the RuleSet based on EntityStatus.rule_set_name

Implement more statistics

  1. Add transition times to history
  2. Calculate total time spent in each option when transitioning and maybe even add a percentage for each option
    1. Should allow to filter for devices that spend more/less time in specific status/options
  3. Somehow audit forced status updates

Make transition history limit configurable

Each tracked Entity holds a history of its state transitions as a list.
The list should be as short as possible for less memory and computation requirements,
but as long as needed to be useful. So this will be different for every project.

  1. Configure history length as fixed length (Integer)
  2. Configure history length as fixed duration (Duration)
  3. Maybe add these things to the Rule Set file?
    -> Would require adjusting the parser and also the rule set?
    Not sure how complex the Rule Set file should become ๐Ÿ™ˆ
    In any case, default values should be given and it should be configurable via environment or args as well.

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.