Custom Scenarios: Difference between revisions

From Teltonika Telematics Wiki
 
(23 intermediate revisions by the same user not shown)
Line 3: Line 3:
To meet the diverse and evolving needs of our clients, we have developed the Custom Scenarios feature. This solution allows users to define specific conditions using customizable parameters to generate events or control a device’s digital outputs. By connecting the device to peripherals like alarms, buzzers, or relays, this functionality can notify drivers or perform targeted actions seamlessly.
To meet the diverse and evolving needs of our clients, we have developed the Custom Scenarios feature. This solution allows users to define specific conditions using customizable parameters to generate events or control a device’s digital outputs. By connecting the device to peripherals like alarms, buzzers, or relays, this functionality can notify drivers or perform targeted actions seamlessly.


The feature enables the device to operate autonomously based on predefined conditions, eliminating the need for constant monitoring of device status or complex backend integrations. With Custom Scenarios, any data the device can read becomes a potential input for controlling digital outputs, providing flexibility and efficiency.
The feature enables the device to operate autonomously based on predefined conditions, eliminating the need for constant monitoring of device status or complex backend integrations. With Custom Scenarios, any data the device can send becomes a potential input for controlling digital outputs, providing flexibility and efficiency.




==Custom Scenarios description==
==Custom Scenarios description==
[[File:Custom Scenarios Topology.png|right|thumb|800px|Figure 1. “Custom Scenarios” functionality logic]]
[[File:Custom Scenarios Topology.png|right|thumb|800px|Figure 1. “Custom Scenarios” functionality logic]]
The Custom Scenarios functionality enables configuration of up to three independent scenarios, each with up to three unique triggers. Triggers are defined using data as source from various I/O elements, such as: Fuel Level, Engine RPM, Seatbelt Status, DTC Faults, Movement Status, Ignition State, GSM Signal Level, 1-Wire/Bluetooth sensor temperature and etc. Each source is configured with specific logic operands (e.g., "On Entrance," "On Exit"), threshold values (Low and High levels), and an activation delay timer, which specifies how long a value must remain within the defined range before the trigger is activated.
The Custom Scenarios functionality enables configuration of up to three independent scenarios, each with up to three unique triggers. Triggers are defined using data as source from various I/O elements, such as: Fuel Level, Engine RPM, Seatbelt Status, DTC Faults, Movement Status, Ignition State, GSM Signal Level, 1-Wire or Bluetooth sensor temperature and etc. Each source is configured with specific logic operands, threshold values, and an activation delay timer, which specifies how long a value must remain within the defined range before the trigger is activated.


When all triggers of a scenario evaluate as true, the scenario becomes active. This can generate a record (if configured) and control the digital output (DOUT) by toggling it on or off based on the active conditions. Additionally, if configured for continuous operation, the DOUT remains active as long as the conditions are met.
When all triggers of a scenario are 'true', the scenario becomes active. This can generate a record and/or control the Digital Output by toggling it on or off based on the active conditions. Additionally, if configured for continuous operation, the DOUT remains active as long as the conditions are met.


Key features include:
Key features include:
Line 23: Line 23:
=== Configuration UI ===
=== Configuration UI ===


[[File:Custom Scenarios Configuration.png|center|thumb|1000px|Figure 1. “Custom Scenarios” functionality UI]]
[[File:Custom Scenarios Configuration.png|center|thumb|1000px|Figure 2. “Custom Scenarios” functionality UI]]


=== Configuration parameters ===
=== Configuration parameters ===
Line 63: Line 63:
| DOUT OFF Duration || 19103 || 19133 || 19163 || 0 || 65000000 || 200 || - || milliseconds || style="text-align:left;" | Duration for which DOUT remains OFF. If Permanent Output Control and DOUT OFF Duration values are set to 0, DOUT will be turned on for the period configured in DOUT ON Duration parameter. || 03.28.06.Rev.260
| DOUT OFF Duration || 19103 || 19133 || 19163 || 0 || 65000000 || 200 || - || milliseconds || style="text-align:left;" | Duration for which DOUT remains OFF. If Permanent Output Control and DOUT OFF Duration values are set to 0, DOUT will be turned on for the period configured in DOUT ON Duration parameter. || 03.28.06.Rev.260
|-
|-
| Source #1 || 19105 || 19135 || 19165 || - || - || Device-specific || - || [[#Custom_Scenarios_source_value_calculation|Calculated ID]] || style="text-align:left;" | Data source for primary trigger for the scenario. This trigger cannot be ignored. || 03.28.06.Rev.260
| Source #1 || 19105 || 19135 || 19165 || - || - || Device-specific || - || [[#Source value calculation|Calculated ID]] || style="text-align:left;" | Data source for primary trigger for the scenario. This trigger cannot be ignored. || 03.28.06.Rev.260
|-
|-
| Source #2 || 19110 || 19140 || 19170 || - || -|| Device-specific || - || [[#Custom_Scenarios_source_value_calculation|Calculated ID]] || style="text-align:left;" | Data source for secondary trigger for the scenario. This trigger can be ignored. || 03.28.06.Rev.260
| Source #2 || 19110 || 19140 || 19170 || - || -|| Device-specific || - || [[#Source value calculation|Calculated ID]] || style="text-align:left;" | Data source for secondary trigger for the scenario. This trigger can be ignored. || 03.28.06.Rev.260
|-
|-
| Source #3 || 19116 || 19146 || 19176 || - || - || Device-specific || - || [[#Custom_Scenarios_source_value_calculation|Calculated ID]] || style="text-align:left;" | Data source for tertiary trigger for the scenario. This trigger can be ignored. || 03.28.06.Rev.260
| Source #3 || 19116 || 19146 || 19176 || - || - || Device-specific || - || [[#Source value calculation|Calculated ID]] || style="text-align:left;" | Data source for tertiary trigger for the scenario. This trigger can be ignored. || 03.28.06.Rev.260
|-
|-
| rowspan="7" | Operand || rowspan="7" | 19106 || rowspan="7" | 19136 || rowspan="7" | 19166 || rowspan="7" | 0 || rowspan="7" | 6 || rowspan="7" | 0 || 0 || On Exit || style="text-align:left;" | Trigger activates on exit of the defined condition. || rowspan="6" | 03.28.06.Rev.260
| rowspan="7" | Operand || rowspan="7" | 19106 || rowspan="7" | 19136 || rowspan="7" | 19166 || rowspan="7" | 0 || rowspan="7" | 6 || rowspan="7" | 0 || 0 || On Exit || style="text-align:left;" | Trigger activates on exit of the defined condition. || rowspan="6" | 03.28.06.Rev.260
Line 98: Line 98:
|}
|}


=== Custom Scenarios source value calculation ===
=== Output control and eventual record logic ===


Source value is the Param ID of the selected source. The possible sources depend on the hardware. The sources are based on the IO, their Param IDs (which are needed when setting sources via commands) can be calculated:
Records are generated when all enabled trigger conditions are met, and the scenario activates, also controlling the configured DOUT state. If the priority is set to "None", no record will be created; however, the scenario will still control the DOUTx if it is configured your configuration. For more details on priority, refer to [[FMB920_I/O_settings|this page]]


Param ID = (IO ID  -  IO Group First Element ID) * 10 + IO Group ID
=== Eventual record AVL ID list===


{| class="wikitable"
{| class="wikitable"
|-
|-
! IO Group Name !! IO Group ID !! IO Group First Element ID
! Custom Scenario !! AVL ID !! DOUTx State !! Record Value
|-
| rowspan="2" | Custom Scenario 1 || rowspan="2" | 1163 || OFF -> ON || 1
|-
| ON -> OFF || 0
|-
| rowspan="2" | Custom Scenario 2 || rowspan="2" | 1164 || OFF -> ON || 1
|-
| ON -> OFF || 0
|-
| rowspan="2" | Custom Scenario 3 || rowspan="2" | 1165 || OFF -> ON || 1
|-
| ON -> OFF || 0
|}
 
=== Output control priority management ===
 
Custom scenarios can be configured to use the same or different digital outputs. When multiple scenarios are assigned to the same digital output, the scenario with the highest priority takes control when active. Custom Scenario 1 has the highest priority, while Custom Scenario 3 has the lowest. The priorities of all device scenarios:
 
{| class="wikitable"
! Priority !! Scenario
|-
| #1 || SECO
|-
| #2 || Towing
|-
| #3 || Immobilizer
|-
| #4 || Private Mode
|-
| #5 || DOUT Control Via Ignition
|-
| #6 || Call
|-
| #7 || Authorized Read Notification
|-
| #8 || Green Driving
|-
| #9 || Jamming
|-
| #10 || Overspeeding
|-
| #11 || Idling
|-
| #12 || DOUT Control via SMS
|-
| #13 || '''Custom Scenario 1'''
|-
|-
| Base || 50000 || 0
| #14 || '''Custom Scenario 2'''
|-
| #15 || '''Custom Scenario 3'''
|-
|-
| LVCAN || 45100 || 478
| #16 || GNSS Jamming
|-
|-
| OBD || 40100 || 398
| #17 || Diagnostic Tool Maintenance
|}
|}


For example:
=== Overide digital output using remote commands ===
IButton IO ID is 39, so param ID will be (39 - 0) * 10 + 50000 = 50390 can be used with [[FMB920_SMS/GPRS_Commands|setparam]] command to set a custom scenarios source to be IButton.
 
To check element AVL ID list refer to [[FMB920_Teltonika_Data_Sending_Parameters_ID|this page]]
''[[FMB setdigout|“setdigout“]]'' can override Digital Output status if controlled by Custom Scenarios and if required ''[[FMB cleardigoutprio|“cleardigoutprio“]]'' can be used for Custom Scenarios be capable of controlling the DOUT again.
 
=== Logic using inverted digital output ===
 
If inverted digital output mode is enabled and the same digital output is configured for a custom scenario, the digital output operates in inverted mode when the custom scenario is inactive. When the custom scenario becomes active and has higher priority, it overrides other controls, and the digital output switches to normal mode. Once the custom scenario is inactive, the digital output reverts to inverted mode.


=== Source value calculation ===


=== Custom Scenarios AVL IDs and record values ===
Source value is the calculated parameter value ID of the selected source. The possible sources depend on the hardware. The sources are based on the I/Os, their parameter value IDs (which are needed when setting sources via commands) can be calculated:


Records are generated when all enabled trigger conditions are met, and the scenario activates, aligning with the configured DOUT state. If the priority is set to 'None,' no record will be created; however, the scenario will still control the DOUT based on your configuration. For more details on priority, refer to [[FMB920_I/O_settings|this page]]
Parameter value ID = (I/O Element AVL ID  -  I/O Group First Element AVL ID) * 10 + I/O Group AVL ID


{| class="wikitable"
{| class="wikitable"
|-
|-
! Custom Scenario !! AVL ID !! DOUTx State !! Record Value
! I/O Group Name !! I/O Group AVL ID !! I/O Group First Element AVL ID
|-
|-
| rowspan="2" | Custom Scenario 1 || rowspan="2" | 1163 || OFF -> ON || 1
| Base || 50000 || 0
|-
|-
| || ON -> OFF || 0
| LVCAN || 45100 || 478
|-
|-
| rowspan="2" | Custom Scenario 2 || rowspan="2" | 1164 || OFF -> ON || 1
| OBD || 40100 || 398
|-
|}
| || ON -> OFF || 0
 
For example:
IButton I/O AVL ID is 39, so parameter value ID will be (39 - 0) * 10 + 50000 = 50390. It can be set using ''[[FMB setparam|"setparam"]] command to remotely change configuration of Custom Scenarios source to be IButton remotely.
To check element AVL ID list refer to [[FMB920_Teltonika_Data_Sending_Parameters_ID|this page]].
 
== Examples of use cases and their configuration ==
 
=== Monitoring vehicle refrigerated compartment temperature and informing driver ===
[[File:CS temperature monitoring.png|right|thumb|400px|Figure 3. “Custom Scenarios” functionality logic]]
 
Configure a Custom Scenario to monitor and notify on abnormal temperature readings in a refrigerated vehicle compartment:
* Select "Low priority" for device to create and eventual records as notification
* Select "Digital Output", which is connected to external peripheral such as LED that will notify driver
* Define "Digital Output" control period
* Choose used sensor data as source, in this case "EYE Temperature #1"
* Choose operand "On exit" to define that trigger is active when reading value exits the configured range
* Define temperature range 1°C to 4°C (e.g., Low Level = 100, High Level = 400), to determine correct Low/High level values consider what type of preset is used for Bluetooth sensor and this element multiplier
* Configure activation delay timer (e.g., 60 seconds) to prevent triggering on small fluctuations or simply to define limits on how temperature can be out of range
 
Optionally enable second condition trigger as "Ignition" to notify driver only when vehicle is used:
* This can be done by entering "Trigger #2" menu by pressing on ▼ and choose "Ignore" parameter option "No"
* "Logic" "AND" option should be further selected to make sure that Custom Scenario respects both conditions
* Define that second trigger source is "Ignition"
* Operand "Is" and "Low level / High Level" values selected as "1" will allow to define that second Trigger is "true" once Ignition element value is "1"
 
This configuration ensures that Digital Output is controlled by turning on and off for 5 seconds only when the vehicle is active, and the temperature exceeds the specified range for 60 seconds.
 
'''Benefits:'''
* Proactive Monitoring: Early detection of temperature anomalies minimizes product spoilage risks
* Cost Efficiency: Reduces losses due to temperature-sensitive cargo damage
* Regulatory Compliance: Ensures adherence to industry standards for refrigerated transport
* Enhanced Decision-Making: Provides actionable insights for operational improvements
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<hr>
=== Driver identification with notification steps ===
[[File:CS driver identification.png|right|thumb|600px|Figure 4. “Custom Scenarios” functionality logic]]
Set up a multi-stage notification system to ensure driver authorization:
 
First Stage:
 
* For Custom Scenario 3, select "Disable" to exlcude device creating eventual records as notification for the first stage
* Select "Digital Output", which is connected to external peripheral such as LED that will notify driver
* Configure the "Digital Output" control period with extended on/off intervals to regulate the LED, ensuring steady signaling during the initial stage of the notification
* Choose used identification data as source, in this case "iButton"
* Operand "Is" and "Low level / High Level" values selected as "0" will allow to define that first Trigger is "true" if "iButton" element value is "0"
* Enable second condition trigger. This can be done by entering "Trigger #2" menu by pressing on ▼ and choose "Ignore" parameter option "No"
* "Logic" "AND" option should be further selected to make sure that Custom Scenario respects both conditions
* Define that second trigger source is "Ignition"
* Operand "On entrance" and "Low level / High Level" values selected as "1" will allow to define that second Trigger is "true" once Ignition element value switches from "0" to "1" at moment of key being turned to ACC position
* Configure activation delay timer (e.g., 60 seconds) to define after what time period at initial stage of identifaction reminder will start
 
Second Stage:
 
* For Custom Scenario 2 same settings can be applied and only few additional steps needed
* Adjust "Digital Output" control period with shorter on/off intervals to regulate the LED, ensuring more frequent signaling during the second stage of the notification
* Adjust activation delay timer (e.g., 120 seconds) to define after what time period at second stage of notification reminder will start
 
Third Stage:
 
* For Custom Scenario 3 same settings can be applied and only few additional steps needed
* Activation delay switched to 180 seconds for maximum allowable time before third notifaction stage starts
* Conditions remain the same, but a different Digital Output can be used, connected to periphela such as buzzer, which acts as an alarm
* In order to active Digital Output permenently until identification using iButton is made configure "Permanent Output Control" as enabled.
 
This configuration ensures a gradual escalation of notifications and triggers an alarm if the driver fails to authorize within 3 minutes, since higher priority Custom Scenario will take over Digital Output control after conditions were met for specific time.
 
'''Benefits:'''
* Ensures that only authorized drivers can operate the vehicle: reducing the risk of unauthorized usage or theft.
* Gradual escalation of alerts provides a clear warning system: deterring unauthorized access without immediate disruption.
 
== Resources and downloads ==
 
=== Firmware and configurator download ===
 
{| class="wikitable" style="width: 100%;"
! style="width: 15%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;" | FIRMWARE RELEASE DATE
! style="width: 20%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;" | FIRMWARE VERSION
! style="width: 20%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;" | DOWNLOAD
|-
|-
| rowspan="2" | Custom Scenario 3 || rowspan="2" | 1165 || OFF -> ON || 1
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | 2024-09
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | 03.29.00.Rev.294
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | [[File:Download_zip.png|x30px|link=Special:Redirect/file/FMB.Ver.03.29.00.Rev.294_and_configurator.zip]]
|-
|-
| || ON -> OFF || 0
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | 2024-12/2025-01
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | 03.30.01.Rev.60
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: center; vertical-align: center; background: white;" | To be added
|}
|}


== Example use cases ==
=== Hardware compability table for Custom Scenarios evaluation firmware branch ===
   
    <table class="nd-othertables" style="width:100%; text-align: center; vertical-align: center;">
<tr>
    <th rowspan="2" style=" text-align:center; vertical-align:middle; color: black; width:10%">Product Name</th>
    <th colspan="3" style=" text-align:center; vertical-align:middle; color: black">FM<i>X</i> firmware version</th>
</tr>
<tr>
    <th style=" text-align:center; vertical-align:middle; color: black; width:10%">03.29.00.Rev.294</th>
</tr>
 
<!-- DEVICES START HERE -->
 
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB010</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB020</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMT100</td>
    <td {{{done|}}}>+</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMP100</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC800</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM800</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM80A</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC880</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM880</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB900</td>
    <td {{{done|}}}>+</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB910</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB920</td>
    <td {{{done|}}}>+</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC920</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM920</td>
    <td {{{done|}}}>+</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB930</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB965</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB110</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB120</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB122</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB130</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
  <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC130</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
  <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC13A</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
  <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM130</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
  <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM13A</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB202</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB204</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB230</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB209</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC230</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC234</td>
    <td {{{done|}}}>Not supported | Planned 2024-Q4</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM230</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB001</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC001</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM001</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB003</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC003</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC00A</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM003</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM00A</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB140</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB240</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB150</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB250</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC150</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC250</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM150</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM250</td>
    <td {{{done|}}}>Not supported | Not planned</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB125</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMB225</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC125</td>
    <td {{{done|}}}>+</td>
</tr>
    <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMC225</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">FMM125</td>
    <td {{{done|}}}>+</td>
</tr>
  <tr>
 
 
<!-- THIS IS AN EXAMPLE OF POSSIBLE ROWs STYLES: [done, na, planed]
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">Unknown device</td>
    <td {{{done|}}}>done</td>
    <td {{{na|}}}>na</td>
    <td {{{planned|}}}>-</td>
</tr>
-->
</table>
 
 
<!-- THIS IS AN EXAMPLE OF POSSIBLE ROWs STYLES: [done, na, planed]
<tr>
    <td style="background:  {{{hide|}}}; text-align:center; vertical-align:middle; color: black">Unknown device</td>
    <td {{{done|}}}>done</td>
    <td {{{na|}}}>na</td>
    <td {{{planned|}}}>-</td>
</tr>
-->
 
*Not supported - there is no hardware support in this evaluation branch or firmware lacks latest updates and changes for specific hardware stability.
*Not planned - currently not in roadmap, but may be added later on.
 
=== Custom Scenarios feature webinar ===
Review presentation on the solution in Teletonika Telematics youtube channel:
<youtube width=640 height=360>-apxiznKUfw</youtube>


- **Scenario 1**: Control a relay when fuel level drops below 10%.
[[Category:Feature preview versions]]
- **Scenario 2**: Trigger a buzzer if RPM exceeds 3000 while ignition is ON.
- **Scenario 3**: Activate an alarm when GSM signal strength drops below 20%.

Latest revision as of 15:54, 12 December 2024

Feature preview versions > Custom Scenarios

Introduction to Custom Scenarios functionality

To meet the diverse and evolving needs of our clients, we have developed the Custom Scenarios feature. This solution allows users to define specific conditions using customizable parameters to generate events or control a device’s digital outputs. By connecting the device to peripherals like alarms, buzzers, or relays, this functionality can notify drivers or perform targeted actions seamlessly.

The feature enables the device to operate autonomously based on predefined conditions, eliminating the need for constant monitoring of device status or complex backend integrations. With Custom Scenarios, any data the device can send becomes a potential input for controlling digital outputs, providing flexibility and efficiency.


Custom Scenarios description

Figure 1. “Custom Scenarios” functionality logic

The Custom Scenarios functionality enables configuration of up to three independent scenarios, each with up to three unique triggers. Triggers are defined using data as source from various I/O elements, such as: Fuel Level, Engine RPM, Seatbelt Status, DTC Faults, Movement Status, Ignition State, GSM Signal Level, 1-Wire or Bluetooth sensor temperature and etc. Each source is configured with specific logic operands, threshold values, and an activation delay timer, which specifies how long a value must remain within the defined range before the trigger is activated.

When all triggers of a scenario are 'true', the scenario becomes active. This can generate a record and/or control the Digital Output by toggling it on or off based on the active conditions. Additionally, if configured for continuous operation, the DOUT remains active as long as the conditions are met.

Key features include:

  • Support for dynamic trigger logic based on selected operands and conditions.
  • Autonomous device operation, even in low-power or deep-sleep modes, provided compatible I/O sources are used.
  • Adjustable ON/OFF durations or permanent output control, enabling versatile device behaviors such as blinking or continuous activation.
  • Custom Scenarios operate independently from the I/O menu, with priority management ensuring that higher-priority scenarios take precedence in controlling the DOUT when multiple scenarios are configured.


Custom Scenarios configuration and parameters

Configuration UI

Figure 2. “Custom Scenarios” functionality UI

Configuration parameters

Parameter Name Parameter ID Value Range Default Value Value Value Definition Description Version Introduced
Custom Scenario 1 ID Custom Scenario 2 ID Custom Scenario 3 ID Min Max
Priority 19101 19131 19161 0 3 0 0 None No priority is set for the scenario, eventual records will not be generated. 03.28.06.Rev.260
1 Low Low priority is set for the scenario.
2 High High priority is set for the scenario.
3 Panic Panic priority is set for the scenario.
Output Control 19100 19130 19160 0 3 0 0 None Specifies that no DOUT is controlled by the scenario. 03.28.06.Rev.260
1 DOUT1 Specifies that DOUT1 is controlled by the scenario.
2 DOUT2 Specifies that DOUT2 is controlled by the scenario.
3 DOUT3 Specifies that DOUT3 is controlled by the scenario.
Permanent Output Control 19124 19154 19184 0 1 0 0 Disabled DOUT will be controlled continuously on and off according to DOUT ON Duration and DOUT OFF Duration parameters. 03.30.01.Rev.60
1 Enabled DOUT will be constantly ON while scenario is active.
DOUT ON Duration 19102 19132 19162 100 65000000 200 - milliseconds Duration for which DOUT remains turned ON 03.28.06.Rev.260
DOUT OFF Duration 19103 19133 19163 0 65000000 200 - milliseconds Duration for which DOUT remains OFF. If Permanent Output Control and DOUT OFF Duration values are set to 0, DOUT will be turned on for the period configured in DOUT ON Duration parameter. 03.28.06.Rev.260
Source #1 19105 19135 19165 - - Device-specific - Calculated ID Data source for primary trigger for the scenario. This trigger cannot be ignored. 03.28.06.Rev.260
Source #2 19110 19140 19170 - - Device-specific - Calculated ID Data source for secondary trigger for the scenario. This trigger can be ignored. 03.28.06.Rev.260
Source #3 19116 19146 19176 - - Device-specific - Calculated ID Data source for tertiary trigger for the scenario. This trigger can be ignored. 03.28.06.Rev.260
Operand 19106 19136 19166 0 6 0 0 On Exit Trigger activates on exit of the defined condition. 03.28.06.Rev.260
1 On Entrance Trigger activates on entrance of the defined condition.
2 On Both Trigger activates on both entrance and exit of the condition.
3 On Hysteresis Trigger activates on hysteresis of the condition.
4 On Change Trigger activates on any change in the condition.
5 On Delta Change Trigger activates on a specified delta change.
6 Is Trigger activates as long as source value is in range between Low and High. 03.29.00.Rev.294
Low Level 19107 19137 19167 Dynamic Dynamic 0 - - Sets the lower threshold value for the trigger. 03.28.06.Rev.260
High Level 19108 19138 19168 Dynamic Dynamic 0 - - Sets the upper threshold value for the trigger. 03.28.06.Rev.260
Activation Delay Timer 19109 19139 19169 0 65535 0 - seconds Time the trigger must remain true for activation of the scenario. 03.28.06.Rev.263
Ignore 19114 19144 19174 0 1 1 0 No The trigger will not be ignored and is actively checked. 03.28.06.Rev.260
1 Yes The trigger will be ignored and will not affect scenario activation.
Logic 19115 19145 19175 0 1 1 0 OR Trigger evaluation logic: any enabled trigger activates the scenario. 03.28.06.Rev.263
1 AND Trigger evaluation logic: all enabled triggers must be true to activate the scenario.

Output control and eventual record logic

Records are generated when all enabled trigger conditions are met, and the scenario activates, also controlling the configured DOUT state. If the priority is set to "None", no record will be created; however, the scenario will still control the DOUTx if it is configured your configuration. For more details on priority, refer to this page

Eventual record AVL ID list

Custom Scenario AVL ID DOUTx State Record Value
Custom Scenario 1 1163 OFF -> ON 1
ON -> OFF 0
Custom Scenario 2 1164 OFF -> ON 1
ON -> OFF 0
Custom Scenario 3 1165 OFF -> ON 1
ON -> OFF 0

Output control priority management

Custom scenarios can be configured to use the same or different digital outputs. When multiple scenarios are assigned to the same digital output, the scenario with the highest priority takes control when active. Custom Scenario 1 has the highest priority, while Custom Scenario 3 has the lowest. The priorities of all device scenarios:

Priority Scenario
#1 SECO
#2 Towing
#3 Immobilizer
#4 Private Mode
#5 DOUT Control Via Ignition
#6 Call
#7 Authorized Read Notification
#8 Green Driving
#9 Jamming
#10 Overspeeding
#11 Idling
#12 DOUT Control via SMS
#13 Custom Scenario 1
#14 Custom Scenario 2
#15 Custom Scenario 3
#16 GNSS Jamming
#17 Diagnostic Tool Maintenance

Overide digital output using remote commands

“setdigout“ can override Digital Output status if controlled by Custom Scenarios and if required “cleardigoutprio“ can be used for Custom Scenarios be capable of controlling the DOUT again.

Logic using inverted digital output

If inverted digital output mode is enabled and the same digital output is configured for a custom scenario, the digital output operates in inverted mode when the custom scenario is inactive. When the custom scenario becomes active and has higher priority, it overrides other controls, and the digital output switches to normal mode. Once the custom scenario is inactive, the digital output reverts to inverted mode.

Source value calculation

Source value is the calculated parameter value ID of the selected source. The possible sources depend on the hardware. The sources are based on the I/Os, their parameter value IDs (which are needed when setting sources via commands) can be calculated:

Parameter value ID = (I/O Element AVL ID - I/O Group First Element AVL ID) * 10 + I/O Group AVL ID

I/O Group Name I/O Group AVL ID I/O Group First Element AVL ID
Base 50000 0
LVCAN 45100 478
OBD 40100 398

For example: IButton I/O AVL ID is 39, so parameter value ID will be (39 - 0) * 10 + 50000 = 50390. It can be set using "setparam" command to remotely change configuration of Custom Scenarios source to be IButton remotely. To check element AVL ID list refer to this page.

Examples of use cases and their configuration

Monitoring vehicle refrigerated compartment temperature and informing driver

Figure 3. “Custom Scenarios” functionality logic

Configure a Custom Scenario to monitor and notify on abnormal temperature readings in a refrigerated vehicle compartment:

  • Select "Low priority" for device to create and eventual records as notification
  • Select "Digital Output", which is connected to external peripheral such as LED that will notify driver
  • Define "Digital Output" control period
  • Choose used sensor data as source, in this case "EYE Temperature #1"
  • Choose operand "On exit" to define that trigger is active when reading value exits the configured range
  • Define temperature range 1°C to 4°C (e.g., Low Level = 100, High Level = 400), to determine correct Low/High level values consider what type of preset is used for Bluetooth sensor and this element multiplier
  • Configure activation delay timer (e.g., 60 seconds) to prevent triggering on small fluctuations or simply to define limits on how temperature can be out of range

Optionally enable second condition trigger as "Ignition" to notify driver only when vehicle is used:

  • This can be done by entering "Trigger #2" menu by pressing on ▼ and choose "Ignore" parameter option "No"
  • "Logic" "AND" option should be further selected to make sure that Custom Scenario respects both conditions
  • Define that second trigger source is "Ignition"
  • Operand "Is" and "Low level / High Level" values selected as "1" will allow to define that second Trigger is "true" once Ignition element value is "1"

This configuration ensures that Digital Output is controlled by turning on and off for 5 seconds only when the vehicle is active, and the temperature exceeds the specified range for 60 seconds.

Benefits:

  • Proactive Monitoring: Early detection of temperature anomalies minimizes product spoilage risks
  • Cost Efficiency: Reduces losses due to temperature-sensitive cargo damage
  • Regulatory Compliance: Ensures adherence to industry standards for refrigerated transport
  • Enhanced Decision-Making: Provides actionable insights for operational improvements













Driver identification with notification steps

Figure 4. “Custom Scenarios” functionality logic

Set up a multi-stage notification system to ensure driver authorization:

First Stage:

  • For Custom Scenario 3, select "Disable" to exlcude device creating eventual records as notification for the first stage
  • Select "Digital Output", which is connected to external peripheral such as LED that will notify driver
  • Configure the "Digital Output" control period with extended on/off intervals to regulate the LED, ensuring steady signaling during the initial stage of the notification
  • Choose used identification data as source, in this case "iButton"
  • Operand "Is" and "Low level / High Level" values selected as "0" will allow to define that first Trigger is "true" if "iButton" element value is "0"
  • Enable second condition trigger. This can be done by entering "Trigger #2" menu by pressing on ▼ and choose "Ignore" parameter option "No"
  • "Logic" "AND" option should be further selected to make sure that Custom Scenario respects both conditions
  • Define that second trigger source is "Ignition"
  • Operand "On entrance" and "Low level / High Level" values selected as "1" will allow to define that second Trigger is "true" once Ignition element value switches from "0" to "1" at moment of key being turned to ACC position
  • Configure activation delay timer (e.g., 60 seconds) to define after what time period at initial stage of identifaction reminder will start

Second Stage:

  • For Custom Scenario 2 same settings can be applied and only few additional steps needed
  • Adjust "Digital Output" control period with shorter on/off intervals to regulate the LED, ensuring more frequent signaling during the second stage of the notification
  • Adjust activation delay timer (e.g., 120 seconds) to define after what time period at second stage of notification reminder will start

Third Stage:

  • For Custom Scenario 3 same settings can be applied and only few additional steps needed
  • Activation delay switched to 180 seconds for maximum allowable time before third notifaction stage starts
  • Conditions remain the same, but a different Digital Output can be used, connected to periphela such as buzzer, which acts as an alarm
  • In order to active Digital Output permenently until identification using iButton is made configure "Permanent Output Control" as enabled.

This configuration ensures a gradual escalation of notifications and triggers an alarm if the driver fails to authorize within 3 minutes, since higher priority Custom Scenario will take over Digital Output control after conditions were met for specific time.

Benefits:

  • Ensures that only authorized drivers can operate the vehicle: reducing the risk of unauthorized usage or theft.
  • Gradual escalation of alerts provides a clear warning system: deterring unauthorized access without immediate disruption.

Resources and downloads

Firmware and configurator download

FIRMWARE RELEASE DATE FIRMWARE VERSION DOWNLOAD
2024-09 03.29.00.Rev.294
2024-12/2025-01 03.30.01.Rev.60 To be added

Hardware compability table for Custom Scenarios evaluation firmware branch

Product Name FMX firmware version
03.29.00.Rev.294
FMB010 +
FMB020 Not supported | Not planned
FMT100 +
FMP100 Not supported | Not planned
FMC800 Not supported | Planned 2024-Q4
FMM800 Not supported | Planned 2024-Q4
FMM80A Not supported | Planned 2024-Q4
FMC880 Not supported | Planned 2024-Q4
FMM880 Not supported | Planned 2024-Q4
FMB900 +
FMB910 +
FMB920 +
FMC920 +
FMM920 +
FMB930 Not supported | Not planned
FMB965 Not supported | Not planned
FMB110 +
FMB120 +
FMB122 +
FMB130 +
FMC130 +
FMC13A +
FMM130 +
FMM13A +
FMB202 +
FMB204 +
FMB230 +
FMB209 Not supported | Not planned
FMC230 +
FMC234 Not supported | Planned 2024-Q4
FMM230 +
FMB001 Not supported | Not planned
FMC001 Not supported | Not planned
FMM001 Not supported | Not planned
FMB003 Not supported | Not planned
FMC003 Not supported | Not planned
FMC00A Not supported | Not planned
FMM003 Not supported | Not planned
FMM00A Not supported | Not planned
FMB140 +
FMB240 +
FMB150 Not supported | Not planned
FMB250 Not supported | Not planned
FMC150 Not supported | Not planned
FMC250 Not supported | Not planned
FMM150 Not supported | Not planned
FMM250 Not supported | Not planned
FMB125 +
FMB225 +
FMC125 +
FMC225 +
FMM125 +


  • Not supported - there is no hardware support in this evaluation branch or firmware lacks latest updates and changes for specific hardware stability.
  • Not planned - currently not in roadmap, but may be added later on.

Custom Scenarios feature webinar

Review presentation on the solution in Teletonika Telematics youtube channel: