chbla

chbla

Advice needed: IoT Streams with Elixir: Rules engines?

Hi there,

We are running an internal platform for IoT sensors. Elixir is perfect for this especially with projects like genstage/flow/broadway.

However, we would like to integrate a rules engine for our data streams that can trigger actions like alerts, notifications based on thresholds, change over time, etc.

I’m therefore looking for options and frameworks that already exist and that we could a) easily plug in (e.g. using queues) and b) allow for seamless integration in our Phoenix application.

It’s quite difficult to find out what to search for, so far Influx Capacitor (TICK stack) sounds very promising. Besides that we could probably also use something like white labeled Node-Red (WYSIWYG) or parts of the ELK stack.

Does anyone have experience here or can share some recommendations/suggestions?

Thank you very much,
Christoph

Most Liked

chasers

chasers

Are pipelines not enough?

event
|> rule_a()
|> rule_b()
|> rule_c()

Or like you want to have a file that defines rules dynamically?

chasers

chasers

I think you could even have your rule modules, then a list of rule names that mapped to those modules and then dynamically built that pipeline based on the input of rule names from somewhere (a file, a database record, etc).

StefanHoutzager

StefanHoutzager

I have used a camunda rules modeler to create executable xml’s within a bpms. The interpreter for the rules I wrote in elixir (for one of the ruletypes). But camunda has it’s own interpreter written in java also. I never tried it, but here is a link DMN Decision Engine | Collaboratively Automate Business Decisions | Camunda | Camunda

Where Next?

Popular in Questions Top

Tee
can someone please explain to me how Enum.reduce works with maps
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
JulienCorb
I am trying to implement my new.html.eex file to create new posts on my website. new.html.eex: <h1>Create Post</h1> <%= ...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

Other popular topics Top

skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30877 112
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 126479 1222
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement