Process
Message Type and Details
KEY VALUE DETAILS
TODO
Each 35 seconds
one -> *
List of Events w Details
Mapper

->

BE

Devices info Recieve

Ok

Bad

Why Bad?

No ping from device

No ping from sensor(s)

Sensor(s) value(s) wrong

Report

Notify

Notifications

Non-website

Subscibed Users

r

OpenedQuestion: 1) pull subscribed users?(1) By type? By location?

Webhook Call

Slack

websiteSettings

slackBot

@channel

@user

custom

redefine websiteSettings

@channel

@user

IFTTT

Variants

Slack

Webhook

...

Restrictions

message type

3 values

createdAt

Browser PUSH notification

3dParty

Works in Chrome and FF only

realtime.co

Email

No solution so far

IFTTT can send email to IFTTT creator only

MailChimp

Can sub/unsubscribe user only

Email

Self written

webhook? (Non-IFTTT)

...

Website

Devices

API

Send Info

Id

Measurments

Token

Register

Nofification Event Sending

Event
id
type(sensor type/ device issue report type)
val_min (nullable)
val_max (nullable)
Location (nullable)
group.id (nullable)

->

Route

id
event.id
notification.channel.id

Channel

id
name
group.id(orNull)
user.id(orNull)
channelType
config(JSON)
...

Channel Message Formatting

Group
id
Name

Events for Notification

EventFilter

EventBus

Sources
of Probable notificationEvents

Device.Issue.Report

type
location
createdAt

Create event By some rules

Measurements

EventFilter delay

Normal

Each 1-2 minutes

Urgent

Device Issue

Route

Group
Notification channel
Notification Settings

Group(s)

id
Name
user.id (nullable)

no users

-> group.id

Route

Any count of users

[ postponed ]

Route

>1

Route

...

Route

Channel

ChannelSettings

...

...

...

User

profile

add Notification

1 notification

IFTTT

TEMP_HIGH

Location 1

BE

IFTTT SETTINGS (Channel Settings)

Group (user_id_t_1)

Route

Notification Channel

Filter urgent ones

Key(Sensor Type/ Device.Issue.Report.type)
Value

Is Event

By key (type)

withing Location depths levels (All in Office, All in Office+Floor, All in Room)

By value

value>=min

value<=max

min<=value<=max

Channel Variants

SLACK?

channel_config_slack
by group.id

-> send

IFTTT

...

->

email

channel_config_email
id
recepient
mail Formatting

facebook

SMS

Channel Message Formatting

Mapper via wildcard

APP variables

Some of EventDetails

{{Notification Source Type}}

Measurment

Temperature

CO2

...

Device.Issue.Report

DEVICE.PING.ISSUE

DEVICE.SENSOR.PING.ISSUE

...

{{Value}}

{{Value_units}}

{{Location}}

Channel variables

IFTTT

{{value1}}

{{value2}}

{{value3}}

Slack

None, just formatting

...

Question for discuss

issue with measurement ?? send one time or as schedule time?