You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are several modules available to Obelisk to instance, the next subsections will explain some of the most important ones.
Socketcan
Description
This module is in charge of configuring and managing a CAN network interface as defined in the Linux Socketcan standard. The other modules receive and send CAN frames through this module.
Delay between reads to the serial in seconds, instead of reading data byte to byte. (0 means no delay).
0.05
stopbits
Serial stop bits (one of 1 or 2).
1
parity
Serial parity (0 for none, 1 for odd, 2 for even).
0
hwfc
Hardware flowcontrol enabled.
false
swfc
Software flowcontrol enabled.
false
Pubsub topics
Topic
Type
Description
Flags
recv
instance_name.recv
Byte Array
Subscribe to enable the reception of data frames from the serial bus.
evt
instance_name.evt.recv
Byte Array
Subscribe to enable the reception of data frames from the serial bus.
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
instance_name.evt.rts
Integer
Publish to set rts.
instance_name.evt.cts
Integer
Publish to set cts.
instance_name.evt.dtr
Integer
Publish to set dtr.
instance_name.evt.dsr
Integer
Publish to set dsr.
instance_name.evt.dcd
Integer
Publish to set dcd.
instance_name.evt.ri
Integer
Publish to set ri.
cmd
instance_name.cmd.write
Byte Array / String
Publish to send data frames to the serial bus. The number of written bytes is returned. An error is returned if the type passed in the publish is invalid.
instance_name.cmd.setbaudrate
Integer
Publish to set baudarate.
instance_name.cmd.setparity
Integer
Publish to set parity.
instance_name.cmd.getrts
Integer
Publish to get rts.
instance_name.cmd.getcts
Integer
Publish to get cts.
instance_name.cmd.getdtr
Integer
Publish to get dtr.
instance_name.cmd.getdsr
Integer
Publish to get dsr.
instance_name.cmd.getdcd
Integer
Publish to get dcd.
instance_name.cmd.getri
Integer
Publish to get ri.
Console
Description
This module is responsible for opening a console that allows the user to hook up to the obbus pubsub to perform debug. It is possible to access the console through a client socket (netcat). The connection data to the console through a socket are defined in the configuration of the module.
Once connected to the socket, the available commands are the following:
Seconds of inactivity before closing the remote connection to prevent it from being permanently open. It does not affect the local connection. A negative value disables this functionality.
600
blacklist
Regular expression to deny IP addresses of incoming connections.
"^$"
whitelist
Regular expression to accept IP addresses of incoming connections.
"127.0.0.1"
Pubsub topics
Topic
Type
Description
topic
String/Integer/Double/Bool
The topic is received and depending on the first element, one action or another is performed. ps -> Post a string, pi-> Post an integer, pf -> Post a float, s-> subscribe to a topic, u-> unsubscribe, ua-> unsubscribe from all topics. Ex: s:max17048.*, pi:pdahl.cmd.send:2, ps:modem.evt.sms:{"from":"654321234", "body":"12345,C:rp"}
sys
sys.cmd.exit
String
Publish cmd exit
Obbus
Description
This module is responsible of offering a connection point with the pubsub of the system.
Seconds of inactivity before closing the remote connection to prevent it from being permanently open. It does not affect the local connection. A negative value disables this functionality.
600
blacklist
Regular expression to deny IP addresses of incoming connections.
"^$"
whitelist
Regular expression to accept IP addresses of incoming connections.
"127.0.0.1"
Slic-dahdi
Description
This module handles a SLIC dahdi device. Sends the appropiate tones for each state, receives and publishes the DTMFs from the SLIC.
Invite to dial tone (frequency/milliseconds, ...).
"425"
busytone
Busy line tone (frequency/milliseconds, ...).
"425/200,0/200"
ringtone
Ringing tone (frequency/milliseconds, ...).
"425/1500,0/3000"
congestiontone
Busy network tone (frequency/milliseconds, ...).
"425/200,0/200,425/200,0/200,425/200,0/600"
dtmf_threshold
DTMF detection threshold.
-100
dtmf_min_gain
Minimum gain (in dBs) to detect a DTMF.
-40.0
dtmf_min_gap
Minimum gap in milliseconds between a DTMF and the previous one to detect it.
85
dtmf_twist
Gain of the high tone (in dBs).
-1.0
dtmf_rtwist
Gain of the low tone (in dBs).
-1.0
filter
int
1
Pubsub topics
Topic
Type
Description
Flags
evt
instance_name.evt.onhook
Integer
Publish to set value to ringer and post to cmd.ringer.
instance_name.evt.pcm
Integer
Publish to value to generate dtfm_rx.
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
instance_name.evt.pulsestart
String
Publish to activate the ev_slic_pulsestart of the gw state machine.
instance_name.evt.pulsestop
Integer
Publish to disable the ev_slic_pulsestart of the gw state machine.
instance_name.evt.needpcm
Integer
Publish to size buffer pcm.
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
instance_name.evt.dtmf
String
Publish to dtmf.
instance_name.evt.dtmf_discard
String
Publish to dtmf discard.
instance_name.evt.dtmf_end
String
Publish to end of dtmf
instance_name.evt.pcm_echocan
Buffer
Publish to buffer
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
cmd | |
instance_name.cmd.pcmsend | Byte Array / String | Publish to buffer to the CAN.
instance_name.cmd.playtone | String | The selected tone is played. Options: dial, busy, ring, congestion, none.
instance_name.cmd.echobuf | Integer | The value is stored in ctx->echobuf.
instance_name.cmd.echoflags | Integer | The value is stored in ctx->echoflags and modification to flags.
instance_name.cmd.polarity | Integer | Publish set polarity
instance_name.cmd.dtmfsend | String | Publish to Json with information of type, digits, on_time, off_time, level, twist and publish in cmd.playinstance_name.cmd.ringer | String | Publish set ctx->ringer and activate o disable
instance_name.cmd.play | String | Publish to Json with information of type, digits, on_time, off_time, level, twist.
Audiogen
Description
This module is an auxiliary that allows to reproduce sound and publish it to other modules. It supports reading a sound file, generating a sequence of DTMFs or generating a tone.
Publish verify the configuration and send a publication of evt.started
cmd
instance_name.cmd.stop.topic
Publish close audiogen
instance_name.cmd.play.*
Publish activate audiogen and post cmd.isplaying
instance_name.cmd.isplaying.topic
String
Pubblish to topic and return 1.
Gateway
Description
This module implements the logic of a gateway between the SLIC and the modem. Allows to bypass the audio between them, to attend the call requests from the SLIC (and do redirections), to regenerate tones from the SLIC or the modem...
Instance name of the audiogen module to use to send the regenerated tones from the modem to the SLIC.
"audiogen"
slic_dev
Instance name of the slic module to use.
"slic"
modem_dev
Instance name of the modem module to use.
"modem"
slic_dev_gain
Gain in dBs to apply to audio from SLIC.
0
modem_dev_gain
Gain in dBs to apply to audio from modem.
0
wait_digit
Maximum time (in seconds) to wait between digits presses of a phone from the SLIC. After it expires, the number is dialed and no more presses are expected.
4.0
switch_polarity
Generates a polarity change when an outgoing call is answered.
false
tronum
Translation patterns (checked in order from num 1 to 6) for origin number. The first pattern that matches wil be translating according to the trdnum parameter. Examples ("902*, "612345678", *).
""
trdnum
Translation destination corresponding to the pattern tronum. Redirect the number to the one specified ("=" means no redirection will be done, "" means the call won't be done).
""
modem_dtmf_regen
Enable regeneration of the DTMFs from the modem.
true
on_time
Duration of the DTMFs regenerated from the modem.
-8.0
off_time
Duration of the silence after the DTMFs regenerated from the modem.
0.0
modem_pcm_q_len
Size of the queue for the audio (PCM) received from the modem.
2
modem_dtmf_q_len
Size of the queue for the DTMFs received from the modem.
2
slic_dtmf_regen
Enable regeneration of the DTMFs from the SLIC.
true
modem_dtmf_q_len
Size of the queue for the DTMFs received from the SLIC.
2
modem_data_dev
Instance name of the modem module to use in only data mode.
""
listen_addr
Address to listen for incoming connections for data calls in only data mode.
"0.0.0.0"
listen_port
Port to listen for incoming connections for data calls in only data mode.
2325
Pubsub topics
Topic
Type
Description
Flags
evt
instance_name.evt.timeout
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.deactivate_timeout
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.modem_dtmf_timeout
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.slic_dtmf_timeout
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.dial_result
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.stat
Integer
Depending on the TYPE the state machine is modified.
instance_name_dialer.evt.bstat
Integer
Depending on the TYPE the state machine is modified.
instance_name_dialer_data.evt.bstat
Integer
Depending on the TYPE the state machine is modified.
instance_name_dialer.evt.pcm
Integer
Publish activate to topic
instance_name_dialer.evt.dtfm
Integer
Depending on the TYPE the state machine is modified.
instance_name_dialer.evt.dtfm_end
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.slic_dtmfsent
Integer
instance_name_tas.evt.end
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.set_tas_params_result
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.onhook
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.pulsestart
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.pulse
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.pulsestop
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.ready
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.dtfm
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.dtfm_end
Integer
Depending on the TYPE the state machine is modified.
instance_name.evt.modem_dtmfsent
Integer
Depending on the TYPE the state machine is modified.
instance_name_slic.evt.pcm
Integer
Publish activate to topic
cmd
instance_name.cmd.deactivate
Integer
Publish disactivate to gateway
instance_name.cmd.activate
Integer
Publish activate to gateway
instance_name.cmd.set_state
String
Publish set to state (online, ringing, dialout, busy, congestion, idle)
instance_name_dialer_data.cmd.datasend
Byte Array / String
Publish sends the contents of the buffer.
**instance_name_slic.cmd.playtone
String
Publish sends to tone is played. Options: dial, busy, ring, congestion, none.
**instance_name_slic.cmd.ringer
Integer
Publish activate to topic
instance_name_dialer_data.cmd.hangup
Integer
Publish send 1 to hang up.
instance_name_dialer.cmd.hangup
Integer
Publish send 1 to hang up.
instance_name_dialer.cmd.answer
Integer
The answer is sent to the dialer and it is sent to the corresponding module.
**instance_name_slic.cmd.polarity
Integer
Publish set polarity
instance_name_tas.cmd.set_params
String
Publish the parameters of the tas
instance_name_dialer.cmd.dtmfsend
String
Publish send to dtmf.
instance_name_slic.cmd.dtfmsend
String
Publish send to dtmf.
instance_name_dialer.cmd.pcmsend
Buffer
Publish send to buffer.
MSG_FL_INSTANT/ MSG_FL_NONRECURSIVE
Telealarm
Description
This module implements the logic of a lift telealarm.
Minimum gap in milliseconds between a DTMF and the previous one to detect it.
85
dtmf_twist
Gain of the high tone (in dBs).
-1.0
dtmf_rtwist
Gain of the low tone (in dBs).
8.0
spk_vol
Modem speaker gain (in dBs).
7
data_only
Use the modem only for data calls.
false
regen_dtmf_duration_ms
Duration in milliseconds of the regenerated tones sent with the modem.
100
Pubsub topics
Topic
Type
Description
Flags
evt
instance_name.evt.timeout
Integer
Activate to ev_timeout
instance_name.evt.clcc_timeout
Integer
Activate to ev_clcc_timeout
instance_name.evt.stat
Integer
Activate to ev_stat
instance_name.evt.atrecv
Activate to ev_modem_str
instance_name.evt.sms.part
String
Post to diferents sms
instance_name.evt.pcm
String
Manage if there are different sms and send them ??
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
instance_name.evt.needpcm
int
Publish send to size buffer
MSG_FL_INSTANT / MSG_FL_NONRECURSIVE
instance_name.evt.stopped.instance_name
Send ok to rtopic
cmd
instance_name.cmd.atsend
String
Post command AT
instance_name.cmd.atsendraw
String
Post command AT
instance_name.cmd.datasend
Buffer
Post buffer
instance_name.cmd.hangup
String
Activate to ev_hangub
instance_name.cmd.answer
String
Activate to ev_answer
instance_name.cmd.qbstat
Post to stat modem
instance_name.cmd.dial
String
Call the number indicated by parameter.
instance_name.cmd.call_blacklist_add
String
Number is added to a blacklist
instance_name.cmd.call_blacklist_del
String
Number is deleted from a blacklist
instance_name.cmd.agc_print
If agc is enabled it will print the agc information
instance_name.cmd.pcmsend
Buffer
Post to buffer
instance_name.cmd.sms
String
Post to SMS
instance_name.cmd.divert
String
Publish forward calls from a number, a json is passed with three parameters phone, period and oneshot.
instance_name.cmd.force_pub_state
Force to publish the csq and the creg.
instance_name.cmd.dtmfsend
String
Publishes the sent dtfm, through a configuration json that is obtained from the config
sys
sys.phone.cmd.divert
String
Publish forward calls from a number, a json is passed with three parameters phone, period and oneshot.
Leds
Description
This module allows to control the LEDs of the device. In the configuration, a list of LEDs with its associated path is defined, those LEDs will have an interface in the pubsub to control them.
Multiple configurations for multiple LEDs assigning a name for each one. The value is a string with de path of the led device to be controlled.
""
switch_off
A comma-separated string list with the names of the LEDs to be turned off when stopping the instance.
"lan,wan,wlan,usb"
Pubsub topics
Topic
Type
Description
cmd
instance_name.cmd.brightness.*
String
Turn the led on or off
instance_name.cmd.trigger.*
String
Turn on or off the led with higher configuration
Exec
Description
This module is responsible of executing arbitrary commands on the target machine. To execute commands through pubsub, publish the path exec.cmd in JSON. If no timeout is specified in the JSON, the default timeout of the configuration is used; If the timeout expires before the execution of the command has finished, the execution stops. If the size of some buffer is exceeded (input, output or error of the command) an error occurs. Let's see some examples executed from the console module.
Maximum time by default to execute commands (can be modified when executing a command).
180
max_in_size
Maximum number of bytes to write as command input.
131072
max_out_size
Maximum number of bytes to read from command output.
131072
Pubsub topics
Topic
Type
Description
evt
instance_name.evt.stop_cmds
The process that was running is killed
cmd
instance_name.cmd
String
Executes the json that has been passed as a parameter and returns the result
Report
Description
This module collects information (the current state of the system and of each instance). Once started it tries to send the report through a HTTP POST request until it succeeds. The report can be requested to the module through the pubsub too.
Time in seconds to wait after starting the instance to start trying to send the report. This allows for the other instances to start.
10
iface
Network interface to extract the MAC to include in the report.
"eth0"
posturl
Address to send the POST with the report.
"http://localhost:80"
max_retry_timeout
Maximum time in seconds to wait between tries to send the report (it increases linearly at a reason of 10 seconds until this maximum).
3600
Pubsub topics
Topic
Type
Description
cmd
instance_name.cmd.generate
String
Send a report of all system modules.
Wdinet
Description
This module is responsible of tracking the network interfaces specified in the configuration and modifying the metrics of its default routes to prioritize the Internet access for those who have real access to Internet.
Each interface is checked if it has a default route, if it has one it tries to execute a ping towards each of the hosts in ping_list, if any of the pings works it is determined that there is internet access by said interface and the metric of its default route moves to the 0-19 interval, making it a higher priority than those that do not have ping (metrics 20-39).
The states of each interface will be published as JSON in the topic wdinet.status.interface_name.
If after a time determined by panic_timeout no ping has been achieved by any interface, the panic_cmd command will be executed.
Comma-separated string list of interfaces to track.
"eth0,eth1,wlan0,br-lan,ppp0"
clean_untracked
Prioritize the tracked interfaces to the others of the system (moving the others to higher metrics).
false
ping_list
Comma-separated string list of hosts to ping.
"8.8.8.8,8.8.4.4"
off_period
Interval in seconds to check the interfaces when no ping has succeeded.
10.0
on_period
Interval in seconds to check the interfaces when a ping has succeeded.
60.0
ping_path
Command to execute for the ping utility.
"ping"
ping_tout
Timeout in seconds for the pings.
4.0
ip_path
Command to execute for the ip utility.
"ip"
route_path
Command to execute for the route utility.
"route"
awk_path
Command to execute for the awk utility.
"awk"
head_path
Command to execute for the head utility.
"head"
panic_tout
Time in seconds without ping to execute the panic command.
900
panic_cmd
Command to execute when the panic timeout expires (none if left empty).
"reboot"
Pubsub topics
Topic
Type
Description
evt
instance_name.evt.ping_done
String
Wdinet received a response from a ping execution
instance_name.evt.get_route_done
String
get the route
instance_name.evt.set_route_done
String
set the route
instance_name.evt.stat
String
Exec module has changed state
instance_name.evt.timeout
String
Ping response timed out
instance_name_exec.evt.mod.stat
String
Exec module has changed state
instance_name_n4m.evt.secure
Integer
safe_n4m mode is activated
cmd
instance_name.cmd.check_now
String
Connectivity is verified.
3g
Description
This module is responsible for making the connection to the Internet through the 3G modem. Make the conversation with the modem to configure it, test APNs through the world list or allow it to be configured by hand; run the PPPD daemon with the correct configuration and check that there is internet access through 3G with the wdinet module. If you do not get internet after a certain time, a panic command is executed.
Timeout in seconds to wait for AT command responses.
5.0
modem_init
Initial AT command to send to the modem.
"ATE0V1"
pppd_path
Command to execute the pppd utility.
"pppd"
pppd_params
Extra parameters to pass to pppd.
"mtu 1450"
pppd_wait_iface
Time in seconds to wait for the interface to be ready after launching pppd.
25
unit
Number of the desired interface to pass to pppd, used to name the interface (pppX).
0
metric
Desired metric of the interface to pass to pppd (see wdinet module).
30
apn_file
Path of the JSON file to use as list of APNs.
"/etc/apns.json"
force_apn
Force the specified APN (if empty the file with the list of APNs is used).
""
force_apn_user
User to use with the forced APN.
""
force_apn_pass
Password to use with the forced APN.
""
panic_timeout
Time in seconds without internet through 3G to execute the panic command.
600
panic_cmd
Command to execute when the panic timeout expires (none if left empty).
""
Pubsub topics
Topic
Type
Description
evt
instance_name.evt.stat
Integer
changed stat
instance_name.evt.recv
String
Received AT command
instance_name.evt.pppd_recv
String
Received pppd log line (change state when connected)
instance_name.evt.timeout
Integer
active timeout
instance_name.evt.exec_response
String
change state to M3G_ST_RUNNING_WAIT_IFACE
instance_name_wdinet.evt.mod.stat
Integer
Wdinet module has changed state
instance_name_modem.evt.bstat
Integer
Modem module has changed state
Sms
Description
This module acts as a bridge between the received SMSs (through a modem instance) and the pubsub.
The format of the SMS iss:
SMS = <password>,<command>,<command>...
S:(<param>|<$param_alias>):<value> = sys.cmd.cfg.set.param
value == "t" > true
value == "f" > false
S! > force to set the param although it doesn't exists or type differs
G:(<param>|<$param_alias>) = sys.cmd.cfg.get
MS:(<param>|<$param_alias>)
MS = Module Restart
MK = Module Stop
MR = Module Restart
ML = Module Reload
I:<param> = Add <param> to response (??)
R = Respond
NR = No respond
W = Save cfg
Modem module instance name from which to receive SMSs.
"modem"
password
Password the SMS must contain to be valid.
"22sms22"
respond
Respond to all the SMSs (included those that don't requested a response).
true
report_parameters
A map to specify the data to be returned by a SMS report. The keys correspond to a section (an instance name or main) in the report generated by the report module and the values correpond to the parameter of that section to be included in the report.
{"main": "id", "console": "remote_conns"}
$param_alias
One alias for each parameter of the config to use with the SMSs, instead of writing the instance and the parameter, the alias can be used to save characters on the SMS.
Pubsub topics
Topic
Type
Description
evt
instance_name_mode.evt.sms
String
Send sms
instance_name.got_state
String
Changed last_state_query
sys
sys.alert.instance_name
String
Send the Json of the sms
sys.cmd.cfg.set.instance_name
String
Send new config
sys.cmd.cfg.get.instance_name
String
Get config
sys.cmd.cfg.save
String
Save config
sys.alarm.end_of_alarm.sms.instance_name
Integer
remove cabin alarm
Battery (Deprecated)
Description
This module is responsible of periodically checking the battery status, publishing the read values of the battery in the pubsub and generating alerts depending on the threshold values defined for each variable. Works with a BQ34Z100 module.
Interval in seconds to read and publish battery data.
60
vars
A list for each battery variable defining the thresholds and alert values.
[]
vars parameters
Parameter
Description
name
Name of the variable ("v" for voltage, "i" for intensity, "t" for temperature and "soc" for state of charge).
thold
Threshold to publish again the read data (from the last published value).
alert
Wheter to activate the alerts for the variable (true) or not (false).
alert_level
(only for v) Limit value to generate the alert state.
alert_safe
(only for v) Limit value to generate the alert recovery state.
alert_max
(only for t) Limit value to generate the alert state.
Pubsub topics
Topic
Type
Description
Flags
evt
instance_name.evt.v_name
Double
Publish v value
instance_name.evt.i_name
Double
Publish i value
instance_name.evt.t_name
Double
Publish t value
instance_name.evt.soc_name
Double
Publish soc value
cmd
instance_name.cmd.query.*
String
Publish the value of the parameter received in the path.
instance_name.cmd.resend
String
publish the value of (v ,i ,t, soc)
instance_name.cmd.resend
String
values are changed to 0 and public (v ,i ,t, soc)
sys
sys.alert.instance_name
String
Publish alert json
Max17048
Description
This module is responsible of periodically checking the battery status, publishing the read values of the battery in the pubsub and generating alerts depending on the threshold values defined for each variable. Works with a BQ34Z100 module.
Treat as an error the execution of commands with a return value different to zero.
false
restart_on_default_route
Restart the instance when a change on the default route is found through the wdinet instance.
true
ip_cmd
Command to execute the ip utility.
"/usr/sbin/ip"
iptables_cmd
Command to execute the iptables utility.
"/usr/sbin/iptables"
Pubsub topics
Topic
Type
Description
evt
instance_name.evt.stat
Integer
Set new stat
instance_name.evt.timeout
String
Active timeout
instance_name_wdinet.evt.def_iface
String
Restart module
instance_name_modem.evt.bstat
Integer
Set bstat
instance_name_modem.evt.cops
Integer
Set cops
instance_name.evt.secure
Integer
it is 1 when GSM secure activated and working over 2G. Stopping VPN and it's 0 when GSM secure not activated, go to open.
instance_name.evt.nl.dellink.ifname
String
Link down. Stop (not used).
instance_name.evt.nl.delladdr.ifname
String
IP address removed. Stop (not used).
cmd
instance_name.cmd.addmetainfo
String
Add info to ping (not used)
sys
sys.evt.realtime
String
Add info to ping (not used)
other
instance_name.status.ifname
String
Publish a json with the status of the vpn.
Evdev
Description
This module captures the input events of an evdev device and publishes them on the obelisk pubsub. This, for example, allows to react to button pushes.
This module is reponsible of subscribing to the alerts that you wish to notify, and notifies those alerts by the configured channel (SMS, POST, etc).
The module currently allows to configure a maximum of two channels to notify the alert: HTTP POST and SMS. The notification addresses are defined by configuring the parameters sms_to and url_post. If both methods are configured, HTTP POST is given priority because it is the most economical method.
The timeout parameter is used when all the methods configured to notify the alert fail, initiating an exponential timer using timeout as the base time. In addition, a max_ttl time is defined to discard the alert as soon as that time is reached without being notified.
Path of the pubsub to subscribe for receiving alerts (sys.alert.<alert_path>).
""
sms_to
Phone number to send the SMS to. Not send by SMS if empty.
""
modem_dev
Instance name of the modem module to send the SMSs.
"modem"
url_post
Address to send the alert through POST. Not sent by POST if empty.
""
timeout
Time in seconds to wait between tries to send the alert. It increments exponentially.
3600
max_ttl
Maximum life time in seconds for the alert, when this time expires and the alert has not been notified, it's deleted.
86400
Pubsub topics
Topic
Type
Description
evt
instance_name.evt.stat
String
Call run machine
instance_name.evt.mod.stat
Integer
If the value is 1, is_modem_started is activated else disable
cmd
instance_name_modem.cmd.sms
String
The alert is sent by sms
sys
sys.alert.alert_path
String
Alert is saved and managed
Button
Description
This module implements the logic of a button. The controlled key is identified by the type and by the code issued by the mod_evdev. If the monitored key is kept pressed for at least keypress_min_secs seconds and no more than keypress_max_secs, the list of actions defined in the actions parameter tag is executed.
This actions parameter is an array of json objects, each with three keys: topic, type and payload. The topic identifies the topic that is published in the pubsub, the type defines the type of what is published, and the payload the data field that is published. With this list of actions we can make the button inject in the pubsub the configured commands.
Specify modules name to monitor splited by ,. If an @ is added at the end of the modules it will monitor all the modules wit the format <instance_name>@<autogenerated_id>
Depending on the data received, one thing or another is done. The message is processed
subscribe - topic list
*
Depending on the data received, one thing or another is done. The message is processed
cmd
instance_name.cmd.query
String
receives a json and stores the necessary information product, id, topic
DIALER
Description
Generic dialer to enable the possibility of using several types of dialers (mod_sip, mod_modem) at the same time in other modules such as "mod_gw", "mod_telealarm" or "mod_tas