<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bolt Data Connect – Salesforce</title>
    <link>/docs/salesforce/</link>
    <description>Recent content in Salesforce on Bolt Data Connect</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 05 Jan 2017 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/docs/salesforce/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: App Tour</title>
      <link>/docs/salesforce/app-tour/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/app-tour/</guid>
      <description>
        
        
        &lt;h2 id=&#34;launching-the-app&#34;&gt;Launching the App&lt;/h2&gt;
&lt;p&gt;Once you install the Salesforce App, you&amp;quot;ll find the new Bolt Data Connect App in the Salesforce App Launcher.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/app-launcher.png&#34;
         alt=&#34;App Launcher&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;App Launcher&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;If you don&amp;rsquo;t see what you&amp;quot;re looking for, use the &amp;ldquo;Search apps or items..&amp;rdquo; search bar provided in the App Launcher to search for &amp;ldquo;Bolt Data Connect&amp;rdquo;&lt;/p&gt;
&lt;figure class=&#34;doc figure&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/app-launcher-search.png&#34;
         alt=&#34;App Launcher Search&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;App Launcher Search&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;

&lt;h2 id=&#34;iot-dashboard&#34;&gt;IoT Dashboard&lt;/h2&gt;
&lt;p&gt;The IoT Dashboard is a Salesforce Dashboard &amp;amp; Reports giving you a view of all of your &amp;ldquo;Things&amp;rdquo; connected to Bolt Data Connect and the Thing Types, Status, Alert History and Sensor Data available in Salesforce.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/iot-dashboard.png&#34;
         alt=&#34;IoT Dashboard&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Dashboard&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;iot-console&#34;&gt;IoT Console&lt;/h2&gt;
&lt;p&gt;The IoT Console is the centralized dashboard for viewing all IoT Things within an Org.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/iot-console.gif&#34;
         alt=&#34;IoT Console&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Console&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;navigation&#34;&gt;Navigation&lt;/h3&gt;
&lt;p&gt;The Navigation Panel provides multiple ways to slice your Things. Here you can find all Things by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: A completely customizable tree, grouping Things by whichever fields your Admin configures. Check out &lt;a href=&#34;../iot-setup/thing-object#field-definitions&#34;&gt;Thing Object Settings&lt;/a&gt; for more details on how to configure this.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: Things change status based on the rules established for each Thing-Type&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Search&lt;/strong&gt;: If you know the exact asset you&amp;quot;re looking for.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/nav-panels.png&#34;
         alt=&#34;Navigation Panels&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Navigation Panels&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;views&#34;&gt;Views&lt;/h3&gt;
&lt;p&gt;The View Panel shows you Things that match criteria specified in the Navigation Panel. There are currently two Views available: a Map View and a Data View. The Map View shows Things as pins on a global map, while the Data View shows Things in a tabular view.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/iot-console-map.png&#34;
         alt=&#34;View - Map&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;View - Map&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Additionally, in the Data View, you can view the History for any device by selecting the down arrow on any row.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/iot-console-data.png&#34;
         alt=&#34;View - Data Table&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;View - Data Table&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In the Data View you have the ability to view the sensor chart, sensor data-table, filter and save new sensor snapshots.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
Historical data is not stored in Salesforce, but rather in the IoT Cloud, and is only fetched here for troubleshooting and diagnostics. This helps reduce the load on your Salesforce Data Limits.
&lt;/div&gt;

&lt;h2 id=&#34;iot-setup&#34;&gt;IoT Setup&lt;/h2&gt;
&lt;p&gt;For your Salesforce Org Admins, the Bolt Data Connect App provides an &lt;a href=&#34;../iot-setup&#34;&gt;IoT Setup&lt;/a&gt; page to configure how the IoT Cloud integrates with your Salesforce Org. Here you can completely control the behavior of the Cloud and Edge Processing, as well as the Salesforce automation and integrations.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/assets/iot-setup.png&#34;
         alt=&#34;IoT Setup&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Setup&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Gateways</title>
      <link>/docs/salesforce/gateways/</link>
      <pubDate>Fri, 28 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/gateways/</guid>
      <description>
        
        
        &lt;p&gt;Represents an IoT Gateway, the entry-point for IoT messages and a container for &lt;code&gt;Connectors&lt;/code&gt; and &lt;code&gt;Rules-Engine&lt;/code&gt; processing.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateways-sample.png&#34;
         alt=&#34;Sample Gateway&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Sample Gateway&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;gateway-auto-registration&#34;&gt;Gateway Auto-Registration&lt;/h2&gt;
&lt;p&gt;As Gateways are registered with the IoT Cloud, an IoT Gateway Alert will be sent and the Gateway will automatically be created. The following fields will be filled in automatically:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Name&lt;/dt&gt;
&lt;dd&gt;The Gateway Name will be auto-filled with the &lt;code&gt;Gateway Id&lt;/code&gt;, but it can be overriden.&lt;/dd&gt;
&lt;dt&gt;Gateway Id&lt;/dt&gt;
&lt;dd&gt;The Unique Gateway Id. This value should not be edited.&lt;/dd&gt;
&lt;dt&gt;Gateway Type&lt;/dt&gt;
&lt;dd&gt;The &lt;code&gt;ThingType&lt;/code&gt; of the Gateway. This value should not be edited outside of the &lt;code&gt;Registration&lt;/code&gt; Quick Action.&lt;/dd&gt;
&lt;dt&gt;Gateway Status&lt;/dt&gt;
&lt;dd&gt;As IoT Gateway Alerts are received, the Gateway Status is automatically updated to match the latest value.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;gateway-manual-registration&#34;&gt;Gateway Manual-Registration&lt;/h2&gt;
&lt;p&gt;Gateways can also be created in Salesforce, and then registered with the IoT Cloud using the &lt;code&gt;Registration&lt;/code&gt; Quick Action. The Gateway Id and Gateway Type will need to be specified, and the IoT components will be auto created and be ready for downloading &amp;amp; setup of the Edge Gateway.&lt;/p&gt;
&lt;h2 id=&#34;gateways-on-the-iot-console&#34;&gt;Gateways on the IoT Console&lt;/h2&gt;
&lt;p&gt;The IoT Console is the centralized dashboard for viewing all IoT Things within an Org.
Gateways will be displayed on the Map for all Things matching the current filter, if they have the Geo-Location fields filled in.&lt;/p&gt;
&lt;p&gt;The Map now has Clustering in addition to Overlays, allow the user to filter Things, Gateways or both.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateways-map.png&#34;
         alt=&#34;Gateway Maps&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Gateway Maps&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;gateway-chart-and-digital-twin&#34;&gt;Gateway Chart and Digital Twin&lt;/h2&gt;
&lt;p&gt;The IoT Gateway can also display the Thing Chart and Digital Twin components.&lt;/p&gt;
&lt;p&gt;Like any other Thing, the IoT Gateway sends Telemetry (time-series) data at a regular interval and can be configured with Calculated Fields and Alert Conditions in it&amp;rsquo;s corresponding Thing Type. The Sensors are mostly focused on the performance of the device hosting the Gateway &amp;amp; Rules-Engine.&lt;/p&gt;
&lt;h3 id=&#34;alarms-and-metrics&#34;&gt;Alarms and Metrics&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve added more intelligent monitoring of our Gateways, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gateway Alarms:&lt;/strong&gt; Central monitoring of important runtime problems and warnings from Gateways and their connected Things.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway Metrics:&lt;/strong&gt; The Telemetry data sent by the Gateways now includes key metrics for each Thing Type being processed.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateway-metrics.png&#34;
         alt=&#34;Gateway Metrics&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Gateway Metrics&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;gateway-integrations-editor&#34;&gt;Gateway Integrations Editor&lt;/h2&gt;
&lt;p&gt;The Gateway Integrations editor provides easy interface for controlling the flow and transformation of messages from &lt;code&gt;Things&lt;/code&gt; registered to the Gateway. As IoT messages are received into the Gateway, it will lookup an Integration below to determine the appropriate &lt;code&gt;Connector =&amp;gt; Transformer =&amp;gt; Stream&lt;/code&gt;, or &amp;ldquo;Integrtion Path&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;connectors&#34;&gt;Connectors&lt;/h3&gt;
&lt;p&gt;Connectors are components that can be deployed to a Gateway to integrate to custom API, data-store, or other source for ingestion of IoT messages / data. By default, every IoT Gateway will include an &lt;code&gt;mqtts&lt;/code&gt; connector but others can be deployed by &lt;a href=&#34;mailto:bolt-data-connect-support@bolt-data.com&#34;&gt;contacting support&lt;/a&gt;.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateway-integrations-connectors.png&#34;
         alt=&#34;Integration Editor: Connectors&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Integration Editor: Connectors&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;NOTE&lt;/h4&gt;
You can Add Connectors, and configure the parameters of existing Connectors through this editor but they will not be deployed to the Gateway until you&amp;rsquo;ve contacted support (see above).
&lt;/div&gt;

&lt;h3 id=&#34;integration-groups&#34;&gt;Integration Groups&lt;/h3&gt;
&lt;p&gt;Groups allow you to define the &amp;ldquo;Integration Path&amp;rdquo; for all &lt;code&gt;Things&lt;/code&gt; of a certain &lt;code&gt;ThingType&lt;/code&gt; at once.
Start by selecting the &lt;code&gt;ThingType&lt;/code&gt;, or select &amp;ldquo;*&amp;rdquo; to setup the &lt;strong&gt;Default&lt;/strong&gt;, and then the desired &lt;code&gt;Connector&lt;/code&gt;, &lt;code&gt;Transfomer&lt;/code&gt; and &lt;code&gt;Stream&lt;/code&gt;.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateway-integrations-groups.png&#34;
         alt=&#34;Integration Editor: Groups&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Integration Editor: Groups&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;NOTE&lt;/h4&gt;
You&amp;rsquo;ll notice that by default a &lt;strong&gt;Default&lt;/strong&gt; Integration Group is configured. For any standard MQTT Connector setup this does not need to be edited.
&lt;/div&gt;

&lt;h3 id=&#34;thing-integrations&#34;&gt;Thing Integrations&lt;/h3&gt;
&lt;p&gt;Thing Integrations allow you to override a portion, or all, of the Integration Path for each registered &lt;code&gt;Thing&lt;/code&gt;. For example, you may choose to select a specific &lt;code&gt;Transformer&lt;/code&gt; for a &lt;code&gt;Thing&lt;/code&gt; that needs debugging. Or you may need to specify unique parameters to the &lt;code&gt;Connector&lt;/code&gt; for each &lt;code&gt;Thing&lt;/code&gt; as seen below.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateway-integrations-things.png&#34;
         alt=&#34;Integration Editor: Things&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Integration Editor: Things&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;BEST PRACTICE&lt;/h4&gt;
As Things are Registered to the Gateway they will automatically show up in this list, and do not need to be added manually.
&lt;/div&gt;

&lt;h2 id=&#34;gateway-management-console&#34;&gt;Gateway Management Console&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;Console&lt;/code&gt; tab on a Gateway allows you to send/receive messages (IoT Commands) to the Gateway. The following catalog of out-of-the-box Command Templates is currently available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clear Registration Cache&lt;/li&gt;
&lt;li&gt;Get Connector Status&lt;/li&gt;
&lt;li&gt;Get Device Cache (Thing)&lt;/li&gt;
&lt;li&gt;Get I/O Status&lt;/li&gt;
&lt;li&gt;Get Registration Cache (All)&lt;/li&gt;
&lt;li&gt;Get Registration Cache (Thing)&lt;/li&gt;
&lt;li&gt;Get ThingType Cache&lt;/li&gt;
&lt;li&gt;Restart Virtual Gateway&lt;/li&gt;
&lt;li&gt;Test Thing Data&lt;/li&gt;
&lt;li&gt;Reset ThingType Cache: Forces the Gateway Rules Engine to reload the ThingType&lt;/li&gt;
&lt;li&gt;Reset Registration Cache: Forces the Gateway Rules Engine to reload the Gateway&amp;rsquo;s &amp;amp; Thing&amp;rsquo;s Registration and Integrations&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/gateways/assets/gateway-mgmt-console.png&#34;
         alt=&#34;Gateway Management Console&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Gateway Management Console&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;custom-commands&#34;&gt;Custom Commands&lt;/h3&gt;
&lt;p&gt;Select the &lt;code&gt;CUSTOM&lt;/code&gt; command to use a freeform editor to send any custom command message to the Gateway.&lt;/p&gt;
&lt;h4 id=&#34;restart-gateway&#34;&gt;Restart Gateway&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It restarts a gateway. It does not apply to an asset.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/restart&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690571776080&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-registeration-cache-all&#34;&gt;Get Registeration Cache (All)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It retrieves registeration caches of all assets and gateways&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-thing-cache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690571863558&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-registeration-cache-thing&#34;&gt;Get Registeration Cache (Thing)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It retrieves registeration cache of a specific thing. A thing could be gateway or asset.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-cache-thingid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;thing_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{thing_id}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// e.g., 10P-KEG01, VirtualGateway-PLAATO-USEAST1-DEV-01
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690572125580&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;clear-registeration-cache&#34;&gt;Clear Registeration Cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It clears registeration cache of a thing. A thing could be gateway or asset.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/clear-cache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;thing_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{thing_id}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//e.g., VirtualGateway-PLAATO-USEAST1-DEV-01, 10P-KEG01
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690572498198&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-thingtype-cache&#34;&gt;Get ThingType Cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It retrieves specification cache of a thing type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-spec-cache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;thing_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{thing_type}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//e.g., Brewing_Keg, Virtual_Gateway_PLAATO
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690572761850&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-io-status&#34;&gt;Get IO Status&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Description: It retrieves status of various IOs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type: Request-Reply&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Topic:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-io-status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Body&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690573052355&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-connector-status&#34;&gt;Get Connector Status&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Description: It retrieves status of all connectors attached to a gateway.&lt;/li&gt;
&lt;li&gt;Type: Request-Reply&lt;/li&gt;
&lt;li&gt;Topic:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-connector-status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690573316704&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;get-device-cache&#34;&gt;Get Device Cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Description: It retrieves cache of a device data&lt;/li&gt;
&lt;li&gt;Type : Request-Reply&lt;/li&gt;
&lt;li&gt;Topic:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/command/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;gateway_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;command_name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/get-device-cache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;thing_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;thing_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690580697957&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;test-thing-data&#34;&gt;Test thing data&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Description: It lets your test your data. It inputs sample data of an asset/gateway and outputs processed data from rules-engine.&lt;/li&gt;
&lt;li&gt;Type: Request-Reply&lt;/li&gt;
&lt;li&gt;Topic:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/+/status/+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateway/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;asset_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/status/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;request_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//  example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/gateways/VirtualGateway-PLAATO-USEAST&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-DEV&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;-01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/command/test-thing-data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;externalKey&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{asset_id}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// e.g., 10P-KEG01
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;request_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ppate1690573756372&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;...&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// add sensor data
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;reset-registration-cache&#34;&gt;Reset Registration Cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Description: It resets cache of an asset or an gateway.&lt;/li&gt;
&lt;li&gt;Type: Broadcast&lt;/li&gt;
&lt;li&gt;Topic:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/cache/registration/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;asset_id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/invalidate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/cache/registration/&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;P-KEG&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;01&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/invalidate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;externalKey&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{asset_id}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//e.g., 10P-KEG01
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Manual Registry cache reset.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;reset-thingtype-cache&#34;&gt;Reset ThingType Cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Description: It resets cache of thingtype. A thingType could be a gateway or thing&lt;/li&gt;
&lt;li&gt;Type: Broadcast&lt;/li&gt;
&lt;li&gt;Topic:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// topic pattern
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/cache/specification/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;thing_type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/invalidate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;iot/cache/specification/Brewing_Keg/invalidate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;thingType&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;{thing_type}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//e.g., Brewing_Keg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Manual Registry cache reset.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;mqtt-template&#34;&gt;MQTT Template&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Type&lt;/dt&gt;
&lt;dd&gt;The type of message (Broadcast, Request-Reply). NOTE: In the initial release only &lt;code&gt;Broadcast&lt;/code&gt; is supported.&lt;/dd&gt;
&lt;dt&gt;Topic&lt;/dt&gt;
&lt;dd&gt;The MQTT Topic to publish the command to&lt;/dd&gt;
&lt;dt&gt;Body&lt;/dt&gt;
&lt;dd&gt;The JSON payload of the command&lt;/dd&gt;
&lt;/dl&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;NOTE&lt;/h4&gt;
This is especially useful if you are using a custom connector. This will allow you to publish a message to the Gateway, which will in-turn publish it to the connector itself. Use the following topic format for Connector commands:
&lt;code&gt;iot/gateways/{GATEWAY_ID}/connector/xxx&lt;/code&gt;
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: Things</title>
      <link>/docs/salesforce/things/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/things/</guid>
      <description>
        
        
        &lt;p&gt;All of the below components are implemented as Salesforce Lightning Web Components. They can be included on the thing object&amp;rsquo;s Lightning Record Page, and can be shown / hidden from users using the filters available.&lt;/p&gt;
&lt;h2 id=&#34;thing-details&#34;&gt;Thing Details&lt;/h2&gt;
&lt;p&gt;The Thing Details component shows the current status of a connected &lt;code&gt;Thing&lt;/code&gt;. It shows:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;External Key&lt;/dt&gt;
&lt;dd&gt;The unique Id assigned to this thing / device.&lt;/dd&gt;
&lt;dt&gt;Gateway&lt;/dt&gt;
&lt;dd&gt;The Gateway this Thing is connected to.&lt;/dd&gt;
&lt;dt&gt;Thing Status&lt;/dt&gt;
&lt;dd&gt;The current IoT Status reported by this thing.&lt;/dd&gt;
&lt;dt&gt;Thing Type&lt;/dt&gt;
&lt;dd&gt;The &lt;code&gt;ThingType&lt;/code&gt; (from IoT Setup) that this thing will use. This value should not be edited outside of the &lt;code&gt;Register&lt;/code&gt; Action.&lt;/dd&gt;
&lt;dt&gt;Context&lt;/dt&gt;
&lt;dd&gt;The latest status on the synchronization of Salesforce &amp;ldquo;Context Data&amp;rdquo; that has been sent to the IoT Cloud for this thing.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure small&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-details.png&#34;
         alt=&#34;Thing Details&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Details&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;thing-registration-thing-details&#34;&gt;Thing Registration (Thing Details)&lt;/h3&gt;
&lt;p&gt;The Thing Details component allows you to Register a new thing by selecting the following:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;External ID&lt;/dt&gt;
&lt;dd&gt;The unique Id assigned to this thing / device.&lt;/dd&gt;
&lt;dt&gt;Gateway Assignment&lt;/dt&gt;
&lt;dd&gt;The Gateway this Thing will be connected to.&lt;/dd&gt;
&lt;dt&gt;IoT Type&lt;/dt&gt;
&lt;dd&gt;The &lt;code&gt;ThingType&lt;/code&gt; (from IoT Setup) that this thing will use. This value should not be edited outside of the &lt;code&gt;Register&lt;/code&gt; Action.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure normal&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-details-register-certs.png&#34;
         alt=&#34;Thing Registration Certificates&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Registration Certificates&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The Thing Registration action returns the generated security certificates needed for connecting to the IoT Cloud. The Administrator can now download these certificates to handle the edge connectivity without leaving Salesforce.&lt;/p&gt;
&lt;h3 id=&#34;push-context-data-thing-details&#34;&gt;Push Context Data (Thing Details)&lt;/h3&gt;
&lt;p&gt;The Thing Details component allows you to manually push the Context Data for this specific Thing to the IoT Cloud.&lt;/p&gt;
&lt;p&gt;This could be useful if the Context Values have changed for this Thing, and you don&amp;rsquo;t want to wait for the next scheduled Context Sync job to run.&lt;/p&gt;
&lt;p&gt;After clicking the button, wait about 30-60 seconds and refresh the page to verify the updated Context Sync status.&lt;/p&gt;
&lt;h3 id=&#34;sync-sensors-thing-details&#34;&gt;Sync Sensors (Thing Details)&lt;/h3&gt;
&lt;p&gt;The Thing Details component allows you to manually pull the latest Sensor Data for this specific Thing from the IoT Cloud.&lt;/p&gt;
&lt;p&gt;This could be useful if the Sensor Data have changed for this Thing, and you don&amp;rsquo;t want to wait for the next scheduled Sensor Sync job to run.&lt;/p&gt;
&lt;p&gt;After clicking the button, wait about 30-60 seconds and refresh the page to verify the updated Sensor Data records.&lt;/p&gt;
&lt;figure class=&#34;doc figure small&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-details-actions.png&#34;
         alt=&#34;Thing Details&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Details&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;manual-sensor-entry-thing-details&#34;&gt;Manual Sensor Entry (Thing Details)&lt;/h3&gt;
&lt;p&gt;The Thing Details component allows you to manually submit Sensor Values for this specific Thing to the IoT Cloud.&lt;/p&gt;
&lt;figure class=&#34;doc figure small&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/manual-sensor-entry-button.png&#34;
         alt=&#34;Manual Sensor Entry Button&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Manual Sensor Entry Button&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This could be useful if this Thing is not able to communicate due to security/firewalls or is temporarily disabled. The manually entered sensor values are uploaded and processed by the Rules Engine and stored in the IoT Cloud Data-Lake just like they would if they were received as a real IoT message.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/manual-sensor-entry.png&#34;
         alt=&#34;Manual Sensor Entry&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Manual Sensor Entry&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
It&amp;rsquo;s important to add to this Manual Sensor Entry form is dynamic, based on the Sensors defined in the Thing Type. The Data Type and Storage Data Type influence the type / validation of each field on the form.
&lt;/div&gt;

&lt;h3 id=&#34;deregister-thing-details&#34;&gt;Deregister (Thing Details)&lt;/h3&gt;
&lt;p&gt;The Thing Details component allows you to De-Register a thing. This will remove the thing from the registry and stop the flow of data and reduce device licensing.&lt;/p&gt;
&lt;h2 id=&#34;thing-data--snapshots&#34;&gt;Thing Data &amp;amp; Snapshots&lt;/h2&gt;
&lt;p&gt;By default, the 25 most recent messages will be displayed in the chart tab. This chart is fully interactive: zoom in/out, select/deselect sensors to hide/show them, scroll left/right, etc.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-data-chart.png&#34;
         alt=&#34;Thing Data Chart&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Data Chart&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The data tab allows you to see the same messages displayed in the chart tab, but in tabular/spreadsheet format, and download as a CSV file.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-data-table.png&#34;
         alt=&#34;Thing Data Table&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Data Table&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The snapshots tab allows you to view saved Snapshots and apply custom filters. Instead of the most recent 25 messages, the user can apply a dynamic filter for more messages and/or for a specific date/time range. Once a filter has been applied, you can also save the filtered data into a &amp;ldquo;Snapshot&amp;rdquo; in Salesforce attached to this thing record.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-data-filter.png&#34;
         alt=&#34;Thing Data Filter&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Data Filter&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;live-stream&#34;&gt;Live Stream&lt;/h3&gt;
&lt;p&gt;The Thing Chart now has the ability to Live Stream IoT data. After clicking on the &amp;ldquo;Play&amp;rdquo; Stream button, you&amp;rsquo;ll see the chart re-draw with each new message as it is received from the IoT Gateway.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-live-stream.gif&#34;
         alt=&#34;Thing Chart Live Stream&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Chart Live Stream&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
It is possible to stream data for a period of time, and then save it to a Data Snapshot. Simply click the Save icon.
&lt;/div&gt;

&lt;h3 id=&#34;alerts&#34;&gt;Alerts&lt;/h3&gt;
&lt;p&gt;By clicking the Alerts button the Alert History for the current Thing will be overlaid on the Chart as vertical annotations, color coded with text descriptions of the Alert Type received.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-data-chart-alerts.png&#34;
         alt=&#34;Thing Data Chart: Alerts&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Data Chart: Alerts&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;legend&#34;&gt;Legend&lt;/h3&gt;
&lt;p&gt;The Thing Chart Legend can be configured in the Lightning Record Page setup as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Salesforce: The legend will be rendered as Lightning Web Component &amp;ldquo;widgets&amp;rdquo;, separate from the Graph itself. (Default)&lt;/li&gt;
&lt;li&gt;Built-In: The legend will be rendered as part of the Chart widget itself.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
The Salesforce view is more robust, adapts to Split axes, and does not affect the rendering of the Chart itself.
However, the Built-In view is useful when capturing an Image of the Chart as an Attachment, so the legend is included.
&lt;/div&gt;

&lt;h3 id=&#34;split-axes&#34;&gt;Split Axes&lt;/h3&gt;
&lt;p&gt;The Thing Chart can now split the plotted values across 3 Axes by separating them by their maximum absolute values.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-data-chart-split.png&#34;
         alt=&#34;Thing Data Chart: Split&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Data Chart: Split&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
By default these splits are defined as 0-10, 10-100 and 100+ but these ranges can be customized in the Lightning Record Page editor.
&lt;/div&gt;

&lt;h2 id=&#34;thing-commands&#34;&gt;Thing Commands&lt;/h2&gt;
&lt;p&gt;This component allows the user to send a Command to a thing. Bolt Data Connect will route your command to the IoT Cloud, then the Edge Gateway, and ultimately to the device itself. Keep in mind that the device must know how to interpret this command for it to respond accordingly.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-command.png&#34;
         alt=&#34;Thing Command&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Command&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;digital-twins&#34;&gt;Digital Twins&lt;/h2&gt;
&lt;p&gt;See the &lt;a href=&#34;../iot-setup/digital-twins/#digital-twin-diagram--editor&#34;&gt;Digital Twin Diagram / Editor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On the Thing Record Page, add the &lt;code&gt;IoT Digital Twin&lt;/code&gt; and easily view/edit the Digital Twin from any Thing in the configured Hierarchy.&lt;/p&gt;
&lt;p&gt;The Diagram shows all of the most recent sensors and calculated fields from all Things in the same Digital Twin.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/digital-twin-timeline.png&#34;
         alt=&#34;Digital Twin Viewer&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Digital Twin Viewer&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The Legend shows the notation of the diagram including Sensors, Calculated Fields and Alert Conditions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the Digital Twin Toolbar to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Refresh&lt;/strong&gt; the latest values&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stream&lt;/strong&gt; to subscribe to IoT Cloud messages as they are received&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clear&lt;/strong&gt; to reset and clear history values not already saved as IoT Snapshots&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt; to create an IoT Snapshot from the currently selected Digital Twin point-in-time&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a different point-in-time to view the Digital Twin values from that time&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;visual-twins&#34;&gt;Visual Twins&lt;/h2&gt;
&lt;p&gt;See the &lt;a href=&#34;../iot-setup/visual-twins/&#34;&gt;Visual Twin Editor&lt;/a&gt; for configuring the Visual Twins in IoT Setup.&lt;/p&gt;
&lt;p&gt;On the Thing Record Page, add the &lt;code&gt;IoT Visual Twin&lt;/code&gt; and easily view the configured Visual Twin from any Thing. The component shows the uploaded Image, as well as real-time IoT data in to the configured Annotations. Simply hover over any annotation area to see the IoT Values.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/visual-twin-timeline.png&#34;
         alt=&#34;Visual Twin Viewer&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Visual Twin Viewer&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Hover over an Annotation to view the IoT Field values&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the Visual Twin Toolbar to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Refresh&lt;/strong&gt; the latest values&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stream&lt;/strong&gt; to subscribe to IoT Cloud messages as they are received&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clear&lt;/strong&gt; to reset and clear history values not already saved as IoT Snapshots&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt; to create an IoT Snapshot from the currently selected Visual Twin point-in-time&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a different point-in-time to view the IoT Field values from that time&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;thing-timeline&#34;&gt;Thing Timeline&lt;/h2&gt;
&lt;p&gt;On the Thing Record Page, add the &lt;code&gt;IoT Thing Timeline&lt;/code&gt; and easily view the configured Timeline events for any Thing. The component shows the events of each configured type related to the Thing.&lt;/p&gt;
&lt;p&gt;Included in the initial release, the following IoT Timeline Configuration (Custom Metadata) have been included:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IoT Registrations&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Alert History&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asset Downtime Periods&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Servitization Coverage&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cases&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work Orders&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-timeline-v2.png&#34;
         alt=&#34;Thing Timeline&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Timeline&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;Any other Timeline object/event can be configured in:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Custom Metadata Types&lt;/strong&gt; &amp;gt; &lt;strong&gt;IoT Timeline Configurations&lt;/strong&gt;.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/thing-timeline-mdt.png&#34;
         alt=&#34;IoT Timeline Configuration&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Timeline Configuration&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;

&lt;h2 id=&#34;iot-copilot&#34;&gt;IoT Copilot&lt;/h2&gt;
&lt;p&gt;Add the IoT Copilot to the Asset Lightning Record page to give your users the ability to ask natural language questions in a chat window. They can ask questions about an asset’s performance based on IoT telemetry data and alert history, unlocking instant insights.&lt;/p&gt;
&lt;figure class=&#34;doc figure narrow&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/iot-copilot-panel.png&#34;
         alt=&#34;IoT Copilot&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Copilot&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;Salesforce AgentForce licensing is not needed to take advantage of the IoT Copilot. We are using Generative AI models behind our IoT Cloud API layer, utilizing a world-class Trust Layer to protect the data and privacy.&lt;/p&gt;
&lt;p&gt;If you are using &lt;strong&gt;Agentforce&lt;/strong&gt;, the IoT Copilot integrates easily via Agentforce Actions. This integration enables users to access real-time insights on asset performance directly within Agentforce, providing a richer user experience. Please reach out to our support team for more information.&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;When adding the IoT Copilot to a Lightning Record Page, you can configure the following options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default Model:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ai21.com/jamba&#34;&gt;AI21 Jamba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://aws.amazon.com/ai/generative-ai/nova&#34;&gt;Amazon Nova&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cohere.com/command&#34;&gt;Cohere Command&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://mistral.ai/&#34;&gt;Mistral AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bot Name (IoT Copilot is the default)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the IoT Copilot component, you can also click the setup icon to try a different model:&lt;/p&gt;
&lt;figure class=&#34;doc figure narrow&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/iot-copilot-models.png&#34;
         alt=&#34;IoT Copilot Models&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Copilot Models&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Advanced&lt;/h4&gt;
&lt;p&gt;The Generative AI Prompts can be also be customized by modifying these Custom Labels:&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/iot-copilot-prompts.png&#34;
         alt=&#34;IoT Copilot Prompts&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Copilot Prompts&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;

&lt;h2 id=&#34;sensor-gauges&#34;&gt;Sensor Gauges&lt;/h2&gt;
&lt;p&gt;The &amp;ldquo;IoT Sensor Gauge&amp;rdquo; Lightning Web Component (LWC) can be added to a Screen Flow to render sensor values as Gauges or Progress Bars/Rings. In addition, we&amp;rsquo;ve provided a Custom Action and Screen Flow template to ease the setup.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a New Screen Flow, using the IoT Gauges Template&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/sensor-gauges-flow-template.png&#34;
         alt=&#34;IoT Gauges Flow Template&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Gauges Flow Template&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the Flow editor, feel free to add/remove/edit the IoT Sensor Gauge components as you’d like. Make sure to fill in the “IoT Values (JSON)” with the value returned from the provided Action.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/sensor-gauges-flow-screen.png&#34;
         alt=&#34;Sensor Gauges Flow Editor&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Sensor Gauges Flow Editor&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the Screen Flow to the Lightning Record Page to view Sensor Gauges:&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/things/assets/sensor-gauges.png&#34;
         alt=&#34;Sensor Gauges&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Sensor Gauges&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Alert Response</title>
      <link>/docs/salesforce/alert-response/</link>
      <pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/alert-response/</guid>
      <description>
        
        
        &lt;p&gt;In the Thing Types you define the Digital Twins, Sensors, Calculated Fields and Alert Conditions for every type of &amp;ldquo;Thing&amp;rdquo; you need to connect. When those Alert Conditions fire the IoT Cloud sends an IoT Alert to Salesforce. Alert Response handling is a clicks-not-code solution to handling these IoT Alerts.&lt;/p&gt;
&lt;p&gt;You can auto-create any response Object (Case, Work Order, Lead, etc.) in response to an IoT Alert, and customize how different Thing Types and/or Alert Types are handled. In addition, you can configure Thing (Asset) updates, auto-created related child records, auto-create IoT Data Snapshots and exit condition updates (e.g. Cancel Work Order, Close Case, etc).&lt;/p&gt;
&lt;h2 id=&#34;alert-response-setup&#34;&gt;Alert Response Setup&lt;/h2&gt;
&lt;p&gt;Each Alert Response definition can be broken into two sections:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Conditions - What conditions cause this Alert Response to be executed?&lt;/li&gt;
&lt;li&gt;Actions - What actions need to be taken when entering / exiting this response?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When an IoT Alert is received, the system will find the first Alert Response with matching &amp;ldquo;Conditions&amp;rdquo; (sorted ascending by Priority) and execute it. It will also first execute the &amp;ldquo;Exit&amp;rdquo; condition of the previous Alert Response, if applicable.&lt;/p&gt;
&lt;h3 id=&#34;alert-response-conditions&#34;&gt;Alert Response Conditions&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Priority&lt;/dt&gt;
&lt;dd&gt;Numeric sort order for Alert Responses, the first one which evaluates to true is selected&lt;/dd&gt;
&lt;dt&gt;Thing Types&lt;/dt&gt;
&lt;dd&gt;Which Thing Types are included in this Alert Response? Select * for all.&lt;/dd&gt;
&lt;dt&gt;Alert Types&lt;/dt&gt;
&lt;dd&gt;Which Alert Types are included in this Alert Response? Select * for all.&lt;/dd&gt;
&lt;/dl&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This is different than the Alert Condition Name. Alert Type values can be reused if desired.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/alert-response-conditions.png&#34;
         alt=&#34;Alert Response Conditions&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alert Response Conditions&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;alert-response-actions&#34;&gt;Alert Response Actions&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Before assigning the below mappings to an Alert Response, you have to create them using the Object Mappings tab first.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/alert-response-actions.png&#34;
         alt=&#34;Alert Response Actions&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alert Response Actions&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;Thing Update Mapping&lt;/dt&gt;
&lt;dd&gt;Update the Thing record with data from the IoT Alert (e.g. Thing Status, Sensor Values, etc.) Use the &amp;ldquo;New Thing Update&amp;rdquo; button on the Object Mappings tab&lt;/dd&gt;
&lt;dt&gt;Alert Response Mapping&lt;/dt&gt;
&lt;dd&gt;Create a new record in response to the IoT Alert (e.g. Case, Work Order, Opportunity, etc.) Use the &amp;ldquo;New Response&amp;rdquo; button on the Object Mappings tab&lt;/dd&gt;
&lt;dt&gt;Alert Response Exit Mapping&lt;/dt&gt;
&lt;dd&gt;Update the previously created response record, when a different Alert Response is executed in response to the IoT Alert (e.g. Case, Work Order, Opportunity, etc.) Use the &amp;ldquo;New Response Exit&amp;rdquo; button on the Object Mappings tab&lt;/dd&gt;
&lt;/dl&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; The Target Object of the Alert Response Mapping and Alert Response Exit Mapping MUST match.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;dl&gt;
&lt;dt&gt;Data Snapshot (minutes)&lt;/dt&gt;
&lt;dd&gt;Specify a start &amp;amp; end offset in minutes to create an IoT Data Snapshot attached to the response record.&lt;/dd&gt;
&lt;/dl&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; It&amp;rsquo;s typical to use a negative value in the start, indicating X minutes BEFORE the IoT Alert. If the end value is less than or equal to zero the Data Snapshot will be populated immediately. If it is positive, indicating X minutes AFTER the IoT Alert, the data will be populated using a scheduled background job after that time limit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;dl&gt;
&lt;dt&gt;Send Response Alert&lt;/dt&gt;
&lt;dd&gt;Should a separate &amp;ldquo;IoT Response Alert&amp;rdquo; be sent after processing the initial IoT Alert? This secondary alert will include all of the original values, plus the result values from the Alert Response. This is typically only needed if further automation will be triggered which needs the IoT data as well. See &lt;a href=&#34;./#iot-response-alert&#34;&gt;IoT Response Alert&lt;/a&gt; below.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;object-mappings&#34;&gt;Object Mappings&lt;/h3&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/alert-response-objmappings.png&#34;
         alt=&#34;Alert Response Object Mappings&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alert Response Object Mappings&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;New Thing Update&lt;/dt&gt;
&lt;dd&gt;Creates a new Object Mapping with Source Object of &amp;ldquo;IoT Alert&amp;rdquo; and Target Object of the configured &amp;ldquo;Thing&amp;rdquo; (e.g. Asset). This mapping will update the Thing record when executed.&lt;/dd&gt;
&lt;dt&gt;New Response&lt;/dt&gt;
&lt;dd&gt;Creates a new Object Mapping with Source Objects of &amp;ldquo;IoT Alert&amp;rdquo; &amp;amp; configured &amp;ldquo;Thing&amp;rdquo; Object (e.g. Asset) and Target Object of any Standard or Custom SObject available in the system. This mapping will create a new record when executed.&lt;/dd&gt;
&lt;dt&gt;New Response Exit&lt;/dt&gt;
&lt;dd&gt;Creates a new Object Mapping with Source Objects of &amp;ldquo;IoT Alert&amp;rdquo; &amp;amp; configured &amp;ldquo;Thing&amp;rdquo; Object (e.g. Asset) and Target Object of any Standard or Custom SObject available in the system. This mapping will update an existing record when executed, so it&amp;rsquo;s important that the Target Object should match the corresponding Alert Response Mapping.&lt;/dd&gt;
&lt;dt&gt;New Response Child&lt;/dt&gt;
&lt;dd&gt;Creates a new Object Mapping to create Child records (e.g. WOLI, Case Line, etc.) related to a Response Mapping. This mapping will have Source Objects of the &amp;ldquo;IoT Alert&amp;rdquo; &amp;amp; configured &amp;ldquo;Thing&amp;rdquo; Object, plus a Parent Object (e.g. Work Order, Case, etc) and a joined Child Object. (See the Alert Response Children section below)&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/response-mapping.png&#34;
         alt=&#34;Object Mappings&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Object Mappings&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;Source Object(s)&lt;/dt&gt;
&lt;dd&gt;All of the available Objects to map data from. All fields of these Objects will be available in the &amp;ldquo;Source / Value&amp;rdquo; columns with the &amp;ldquo;Mapping Type&amp;rdquo; of &amp;ldquo;Field&amp;rdquo;. These Source Objects are determined by the &amp;ldquo;Mapping Type&amp;rdquo; (see above)&lt;/dd&gt;
&lt;dt&gt;Target Object&lt;/dt&gt;
&lt;dd&gt;The Standard or Custom SObject to create/update with this Object Mapping&lt;/dd&gt;
&lt;/dl&gt;
&lt;h4 id=&#34;field-mappings&#34;&gt;Field Mappings&lt;/h4&gt;
&lt;dl&gt;
&lt;dt&gt;Show All / Hide Unmapped&lt;/dt&gt;
&lt;dd&gt;Toggle button to show / hide unmapped fields of the Target Object&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Mapping Type&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt; This field will not be mapped&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Field&lt;/strong&gt; The source field will be copied into the target field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Field&lt;/strong&gt; Select the IoT Data field (typically the &amp;ldquo;Thing Data&amp;rdquo; field) and specify a Sensor or Calculated Field name to copy into the target field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Value&lt;/strong&gt; The input value will be copied into the target field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Formula&lt;/strong&gt; Simple formula syntax allowing for concatenation of Fields and Text Values into the target field&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;alert-response-children&#34;&gt;Alert Response Children&lt;/h3&gt;
&lt;p&gt;In addition, you can also auto-create related child records (Work Order Lines, Service Appointments, Case Lines, etc) by joining data from the IoT Alert &amp;amp; &amp;ldquo;Thing&amp;rdquo; to related data using a Filter Expression, then applying a Response Child Mapping to create the child records.&lt;/p&gt;
&lt;figure class=&#34;doc figure&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/alert-response-children-flow.png&#34;
         alt=&#34;Alert Response Children Flow&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alert Response Children Flow&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For each Alert Response Child configured, the Filter Expression is applied first, finding 0 or more records. These records are then fed into the Child Mapping along with the previously created Response Object, creating new child records as seen above.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/alert-response-children.png&#34;
         alt=&#34;Alert Response Children&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alert Response Children&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;Filter Expression&lt;/dt&gt;
&lt;dd&gt;Use data from the IoT Alert and &amp;ldquo;Thing&amp;rdquo; to filter records to &amp;ldquo;join&amp;rdquo; to. For example, you
can find &amp;ldquo;Recommended Parts&amp;rdquo; records based on the Product &amp;amp; Problem Code combination as seen below.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/filter-expression.png&#34;
         alt=&#34;Expression (Filter Children)&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Expression (Filter Children)&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;Child Mapping&lt;/dt&gt;
&lt;dd&gt;Map values from the IoT Alert &amp;amp; &amp;ldquo;Thing&amp;rdquo;, as well as the &amp;ldquo;Parent Object&amp;rdquo; (e.g. Work Order, Case) and the &amp;ldquo;Child Object&amp;rdquo; which was filtered above, into the Target Object.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/response-child-mapping.png&#34;
         alt=&#34;Object Mapping (Response Children)&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Object Mapping (Response Children)&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Make sure to map the &amp;ldquo;Parent Object&amp;rdquo; Id into the Target Object so that they are related&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;iot-response-alert&#34;&gt;IoT Response Alert&lt;/h2&gt;
&lt;p&gt;When an Alert Response is executed, it can optionally send a new Platform Event with all of the original IoT Alert values, PLUS values indicating what Alert Response was executed as well as the resulting values and status of that Alert Response.&lt;/p&gt;
&lt;p&gt;The resulting Platform Event will be of the type &lt;strong&gt;&lt;code&gt;SPKI__IoT_Response_Alert__e&lt;/code&gt;&lt;/strong&gt; and you can configure a Platform-Event Triggered Flow or Apex Trigger from this event.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/alert-response/assets/iot-response-alert-fields.png&#34;
         alt=&#34;IoT Response Alert (Fields)&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;IoT Response Alert (Fields)&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Servitization</title>
      <link>/docs/salesforce/servitization/</link>
      <pubDate>Sat, 15 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/servitization/</guid>
      <description>
        
        
        &lt;p&gt;Servitization is the ability to use IoT data to drive &amp;ldquo;outcome as a service&amp;rdquo; for your customers. By setting up a Servitization Plan, with both Usage and Uptime based items, you can automatically generate invoices / quotes for customers based on their use of your IoT connected assets.&lt;/p&gt;
&lt;h2 id=&#34;servitization-setup&#34;&gt;Servitization Setup&lt;/h2&gt;
&lt;p&gt;Visit the &lt;a href=&#34;../iot-setup/servitization&#34;&gt;Servitization Setup&lt;/a&gt; help document to understand the settings which control how the Servitization job will generate Servitization Details and also control which output Objects will be created from the details.&lt;/p&gt;
&lt;h2 id=&#34;servitization-templates&#34;&gt;Servitization Templates&lt;/h2&gt;
&lt;p&gt;Templates are a special kind of Servitization Plan created to specify a reusable configuration of Servitization settings and Items.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/new-template.png&#34;
         alt=&#34;New Servitization Template&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;New Servitization Template&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
See below for details on specifying Servitization Items. They are the same for Plans or Templates.
&lt;/div&gt;

&lt;p&gt;Once a Servitization Template Plan is created, use the &lt;strong&gt;Create Plan&lt;/strong&gt; action to create a copy of the plan / items for a specific Account, Dates &amp;amp; Covered Things.&lt;/p&gt;
&lt;h2 id=&#34;servitization-plans&#34;&gt;Servitization Plans&lt;/h2&gt;
&lt;p&gt;Servitization Plans specify the items &amp;amp; coverage for tracking the IoT driven &amp;ldquo;outcome as a service&amp;rdquo; for your customers. In other words, it defines the items you are intending to charge your customer for, as well as which of your connected assets are covered or included. Each Servitization Plan is specific to an Account &amp;amp; Pricebook, and in addition to the items &amp;amp; coverage it also specifies the frequency &amp;amp; granularity of the output details. This output typically correlates to an &amp;ldquo;Invoice&amp;rdquo; that will ultimately be sent to your customer on a regular interval. This output is dynamically mapped to any Salesforce Objects in the IoT Setup screens.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/plan-details.png&#34;
         alt=&#34;Servitization Plan&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Servitization Plan&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;Price Book&lt;/dt&gt;
&lt;dd&gt;Select the Pricebook that has includes the Servitization Products.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;NOTE: These Products are not the same as the Asset&amp;rsquo;s product. They will be &amp;ldquo;usage&amp;rdquo; or &amp;ldquo;time&amp;rdquo; based.&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Default Business Hours&lt;/dt&gt;
&lt;dd&gt;Important for Uptime items, this lookup specifies the default Business Hours to use for calculating billable time.&lt;/dd&gt;
&lt;dt&gt;Output Frequency / Type&lt;/dt&gt;
&lt;dd&gt;These fields work together to specify how often an output object will be generated by the Servitization job.&lt;/dd&gt;
&lt;dt&gt;Output Line Granularity&lt;/dt&gt;
&lt;dd&gt;Affects how many output lines will be created, to control the granularity of detail provided to your customers in the output.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;Product: Each Item / Product is a single line, with all details + things combined&lt;/li&gt;
&lt;li&gt;Thing: Each Item / Product + Thing is a single line, with all details combined&lt;/li&gt;
&lt;li&gt;Detail: Each Item / Product + Thing + Detail is a single line&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Negative Usage Policy&lt;/dt&gt;
&lt;dd&gt;For Usage Based Items, if a negative change in value is detected this controls which of the following actions the system will automatically take:&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;Require Approval: The Detail will be flagged as &amp;ldquo;Needs Approval&amp;rdquo; and a User will need to approve or change Quantity to a positive value.&lt;/li&gt;
&lt;li&gt;Require Positive Value: The Detail will be flagged as &amp;ldquo;Needs Approval&amp;rdquo; and a User will need to change Quantity to a positive value.&lt;/li&gt;
&lt;li&gt;Allow Negative Value: Negative Values will be allowed.&lt;/li&gt;
&lt;li&gt;Error: The Detail will not be processed, and an Error will be logged (either to Chatter or IoT Admin Logs). The Sensor Data should be corrected before re-running the job.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/plan-negative-usage.png&#34;
         alt=&#34;Servitization Plan&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Servitization Plan&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;embedded-pricing&#34;&gt;Embedded Pricing&lt;/h3&gt;
&lt;p&gt;Servitization Plans can be configured with all of the pricing embedded, without the need for a Pricebook.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Price Book&lt;/dt&gt;
&lt;dd&gt;Leave the Price Book blank on the Servitization Plan&lt;/dd&gt;
&lt;dt&gt;Item Base Price&lt;/dt&gt;
&lt;dd&gt;Fill in the Base Price on each Servitization Item&lt;/dd&gt;
&lt;dt&gt;Tiered Price Book Entries&lt;/dt&gt;
&lt;dd&gt;(OPTIONAL) Add Tiered Price Book Entries to the Servitization Plan related list&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/tiered-pricing.png&#34;
         alt=&#34;Tiered Pricing&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Tiered Pricing&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;These Embbeded Tiered Pricing records can also be specific to Coverage (Thing/Asset) by filling in the Coverage lookup field. This allows the Administrator to set prices specific to individual Coverage which override the default pricing.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/tiered-pricing-coverage.png&#34;
         alt=&#34;Tiered Pricing with Coverage&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Tiered Pricing with Coverage&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;servitization-items&#34;&gt;Servitization Items&lt;/h2&gt;
&lt;p&gt;We currently support both &lt;strong&gt;Usage&lt;/strong&gt; and &lt;strong&gt;Uptime&lt;/strong&gt; based items. The following fields are common on both types of items:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Servitization Product&lt;/dt&gt;
&lt;dd&gt;The product that defines the &amp;ldquo;outcome as a service&amp;rdquo; you are charging to your customers. This product must have a Price in the Price Book linked to the Servitization Plan.&lt;/dd&gt;
&lt;dt&gt;Base Price&lt;/dt&gt;
&lt;dd&gt;This field will be auto-populated from the Servitization Product / Price Book Entry if a Pricebook is assigned to the Plan. If no Pricebook is assigned, this field must be manually populated.&lt;/dd&gt;
&lt;dt&gt;Qty Calculation&lt;/dt&gt;
&lt;dd&gt;Used in conjuntion with the &lt;strong&gt;Per Qty&lt;/strong&gt; field to calculate the Qty for Servitization Details.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;EXACT: No rounding. The Qty will be the exact fraction as calculated by the actual measurement and &lt;strong&gt;Per Qty&lt;/strong&gt; values.&lt;/li&gt;
&lt;li&gt;ROUND-UP: Round the value up to the nearest whole &lt;strong&gt;Per Qty&lt;/strong&gt; value.&lt;/li&gt;
&lt;li&gt;ROUND-DOWN: Round the value down to the nearest whole &lt;strong&gt;Per Qty&lt;/strong&gt; value.&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Per Qty&lt;/dt&gt;
&lt;dd&gt;The Quantity that each priced Servitization Product represents. (e.g. Uptime might be sold in 4 hour blocks, Usage might be sold in 100 count chunks)&lt;/dd&gt;
&lt;dt&gt;IoT Thing Type&lt;/dt&gt;
&lt;dd&gt;Which Thing Type does this Servitization Item apply to?&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;NOTE: Use the Editor on the Servitization Item page to set this value after creation.&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Servitization Frequency / Type&lt;/dt&gt;
&lt;dd&gt;How often will Servitization Details be created for each Item for each Covered Thing.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;advanced-pricing&#34;&gt;Advanced Pricing&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Skip $0 Output&lt;/dt&gt;
&lt;dd&gt;Skips the Output line if the calculated line price is $0&lt;/dd&gt;
&lt;dt&gt;Pricing Policy&lt;/dt&gt;
&lt;dd&gt;Used to determine the calculated price for each Servitization Detail / Output line.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;Base Price: Simply uses the &amp;ldquo;Base Price&amp;rdquo; field on the Servitization Item&lt;/li&gt;
&lt;li&gt;Base Price with Overage: Uses the Item &amp;ldquo;Base Price&amp;rdquo; with a single Tiered Price Entry for Overage with a Min Qty (and blank Max Qty) and Price&lt;/li&gt;
&lt;li&gt;Average Tier Pricing: Priced by Tier based on Averages of Total per Servitization Item&lt;/li&gt;
&lt;li&gt;Per Tier Pricing: Individually Priced Lines for each Tiered Price (outputs lines for each Tier)&lt;/li&gt;
&lt;li&gt;Single Tier Pricing: Single Output Line for Total Qty Tier Price&lt;/li&gt;
&lt;li&gt;Total Tier Pricing: Priced by Tier based on Total per Servitization Item&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Reconciliation Count&lt;/dt&gt;
&lt;dd&gt;Number of Outputs to Reconcile together, before calculating a Tiered Price. (Default is 1)&lt;/dd&gt;
&lt;dt&gt;Skip Delta Calculation&lt;/dt&gt;
&lt;dd&gt;When checked, indicates that the IoT Value will be a delta (difference since last reading) and that the system should not calculate the difference but instead use this value in the Usage details.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/item-advanced-pricing.png&#34;
         alt=&#34;Advanced Pricing&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Advanced Pricing&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;uptime-items&#34;&gt;Uptime Items&lt;/h3&gt;
&lt;p&gt;Uptime items measure the time in which the IoT device was in good working order for the customer. We measure this by the amount of time the device was in &amp;ldquo;Normal&amp;rdquo; IoT Status (not &amp;ldquo;Offline&amp;rdquo; or &amp;ldquo;Alert&amp;rdquo;).&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;BUSINESS-HOURS&lt;/h4&gt;
The default Business Hours on the Servitization Plan, or the specific Business Hours on the &amp;ldquo;Thing&amp;rdquo;, influence this greatly. Every Business Hours record is specific to a timezone so it is important to ensure this aligns to the device. In addition, if it is only 8 or 10 hours a day, that is the maximum billable hours in a day (as opposed to a 24 hour period). Keep this in mind and consider creating IoT specific Business Hours, instead of reusing your Field Service &amp;ldquo;Working Hours&amp;rdquo; possibly.
&lt;/div&gt;

&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/new-uptime-item.png&#34;
         alt=&#34;New Servitization Item: Uptime&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;New Servitization Item: Uptime&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In addition the fields above, Uptime Items must specify:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Uptime UOM&lt;/dt&gt;
&lt;dd&gt;The Unit of Measure (UOM) to measure the Uptime.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;Seconds&lt;/li&gt;
&lt;li&gt;Minutes&lt;/li&gt;
&lt;li&gt;Hours&lt;/li&gt;
&lt;li&gt;Days&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/editor-uptime-item.png&#34;
         alt=&#34;Edit Servitization Item: Uptime&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Edit Servitization Item: Uptime&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Use the Servitization Item Editor to set the &lt;strong&gt;IoT Thing Type&lt;/strong&gt; easily.&lt;/p&gt;
&lt;h3 id=&#34;usage-items&#34;&gt;Usage Items&lt;/h3&gt;
&lt;p&gt;Usage items track &amp;amp; measure the value of a sensor on a specific kind of IoT device. These are typically a &amp;ldquo;counter&amp;rdquo; of some sort that tracks how many uses the customer has consumed.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/new-usage-item.png&#34;
         alt=&#34;New Servitization Item: Usage&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;New Servitization Item: Usage&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In addition the fields above, Uptime Items must specify:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;IoT Sensor Name&lt;/dt&gt;
&lt;dd&gt;The name of the configured sensor (from the Thing Type specification) to track/measure&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;NOTE: Use the Editor on the Servitization Item page to set this value after creation.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/editor-usage-item.gif&#34;
         alt=&#34;Edit Servitization Item: Usage&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Edit Servitization Item: Usage&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;dl&gt;
&lt;dt&gt;IoT Tier Sensor Name&lt;/dt&gt;
&lt;dd&gt;(OPTIONAL) The name of the configured sensor (from the Thing Type specification) to determine which Tiered Pricing band to use. This is useful when a calculation or combination of fields determines the &amp;ldquo;tier&amp;rdquo;, but the individual values need to be billed at the tiered price.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;NOTE: Use the Editor on the Servitization Item page to set this value after creation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the Servitization Item Editor to set the &lt;strong&gt;IoT Thing Type&lt;/strong&gt;, &lt;strong&gt;IoT Sensor Name&lt;/strong&gt; and &lt;strong&gt;IoT Tier Sensor Name&lt;/strong&gt; easily.&lt;/p&gt;
&lt;h2 id=&#34;servitization-coverage&#34;&gt;Servitization Coverage&lt;/h2&gt;
&lt;p&gt;The coverage records denote which connected &amp;ldquo;Things&amp;rdquo; will be included in this Servitization Plan.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/coverage-list.png&#34;
         alt=&#34;Servitization Coverage&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Servitization Coverage&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
It&amp;rsquo;s important to add to this Coverage list as new IoT Things are Registered to ensure they&amp;rsquo;re included. Some customers have decided to automate this. In addition, the &amp;ldquo;Is Active&amp;rdquo; flag can be used to add Assets before activating them, and automating the activation on a specific date or event.
&lt;/div&gt;

&lt;h2 id=&#34;servitization-details&#34;&gt;Servitization Details&lt;/h2&gt;
&lt;p&gt;The details records are auto-created by the scheduled Servitization Job. Each Servitization Item denotes the frequency and calculations used in creating these records.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/servitization/assets/details-list.png&#34;
         alt=&#34;Servitization Details&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Servitization Details&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;servitization-execute--output&#34;&gt;Servitization &amp;ldquo;Execute&amp;rdquo; / Output&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;../iot-setup/servitization&#34;&gt;Servitization Setup&lt;/a&gt; screens specify what Output objects will be created. In addition, the Servitization Plan specifies the frequency that Output Objects are generated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;REMEMBER:&lt;/strong&gt; This output typically correlates to an &amp;ldquo;Invoice&amp;rdquo; that will ultimately be sent to your customer on a regular interval.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
It&amp;rsquo;s recommended to add a Related List to the Servitization Plan of the Output Objects (e.g. Orders, Quotes, Proforma Invoices, etc.) for visibility and clarity.
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: Simulators</title>
      <link>/docs/salesforce/simulators/</link>
      <pubDate>Sat, 15 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/simulators/</guid>
      <description>
        
        
        &lt;p&gt;This section provides details on how to use and configure the &lt;strong&gt;IoT Simulator Console&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Simulators are runtime engines for testing IoT Gateways and Things.
When you open the IoT Simulator Console, it connects to the IoT Cloud and detects all of the Simulators corresponding to this Salesforce org. These Simulators can &amp;ldquo;impersonate&amp;rdquo; devices by generating the messages typically sent from the actual devices.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-console.png&#34;
         alt=&#34;Simulator Console&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
The Simulator Console is available as a &amp;ldquo;Utility&amp;rdquo; item anywhere inside the &lt;strong&gt;Bolt Data Connect&lt;/strong&gt; App in Salesforce. The utility items appear at the bottom left corner of the browser. It can be minimized/restored or you can use the &amp;ldquo;pop-out&amp;rdquo; feature.
&lt;/div&gt;

&lt;h2 id=&#34;local-simulators&#34;&gt;Local Simulators&lt;/h2&gt;
&lt;p&gt;As of the Winter &amp;lsquo;24 Release, we&amp;rsquo;ve added a new &amp;ldquo;Local&amp;rdquo; Simulator. This new kind of Simulator runs &lt;strong&gt;in the browser&lt;/strong&gt; and comes with a few new features, as well as a few differences in behavior.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They support all the same Simulator Configurations, Start/Stop/Reset functions and Edit Mode capabilities&lt;/li&gt;
&lt;li&gt;Local simulators &lt;strong&gt;cannot&lt;/strong&gt; host Gateways. Things added to this Simulator still need to be registered to a Gateway, but that Gateway cannot run in this Local Simulator. It should be either a Virtual or IoT Cloud Simulated Gateway&lt;/li&gt;
&lt;li&gt;Because Local Simulators do not run in the IoT Cloud, they can be used in BDC-Lite and the BDC Demo-Kit (without an IoT Cloud)&lt;/li&gt;
&lt;li&gt;When the browser window is closed (or refreshed), the Simulator stops sending messages. If you need a Simulator to run in the background for long periods of time we recommend using the IoT Cloud Simulators&lt;/li&gt;
&lt;li&gt;Only Local Simulators support the new &lt;a href=&#34;./#replay-files&#34;&gt;Replay File&lt;/a&gt; mode&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-console-local.png&#34;
         alt=&#34;Local Simulator&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Local Simulator&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;controlling-simulators&#34;&gt;Controlling Simulators&lt;/h2&gt;
&lt;p&gt;There are different types of devices that show in the grid below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simulators &lt;strong&gt;(#1)&lt;/strong&gt;: Runtime Engine for simulated devices&lt;/li&gt;
&lt;li&gt;Gateways &lt;strong&gt;(#2)&lt;/strong&gt;: Simulated IoT Gateways, complete with Rules Engine and all other features&lt;/li&gt;
&lt;li&gt;Things &lt;strong&gt;(#3)&lt;/strong&gt;: Simulated IoT Things, connected to a Gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can use the command actions &lt;strong&gt;(#4)&lt;/strong&gt; to control the status &lt;strong&gt;(#5)&lt;/strong&gt; of the simulated devices. First select the checkbox on the left of the devices, then click the following buttons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start&lt;/strong&gt;: Changes the device to &amp;ldquo;running&amp;rdquo; status. It will begin to send messages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stop&lt;/strong&gt;: Changes the device to &amp;ldquo;idle&amp;rdquo; status. It will stop sending messages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reset&lt;/strong&gt;: Changes the device to &amp;ldquo;startup&amp;rdquo; status, and resets the in-memory values back to defaults. It will not send messages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add&lt;/strong&gt;: You must first select a simulator you which to add a new simualted device to. Then, enter the &amp;ldquo;External Key&amp;rdquo; of either a Thing or Gateway into the Add dialog.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remove&lt;/strong&gt;: Removes the selected simulated device. (Does NOT remove it from Salesforce, only from the Simulator)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Modes &lt;strong&gt;(#6)&lt;/strong&gt; are configured below, and define the different combinations of values being sent from the simulated devices. You can see which Mode every device is in, as well as change the mode using the edit button. This will cause the device to send different values, possibly resulting in an Alert Condition, to aid in testing and validation of the configured automation.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-console-controls.png&#34;
         alt=&#34;Simulator Console Controls&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Controls&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
If your simulated Thing shows &amp;ldquo;running&amp;rdquo;, but is not connected or sending data, it is possible there is a problem with the Simulator Config (next section). Double check all parameter values and types (Numbers, etc). It&amp;rsquo;s also possible that the Gateway might need to be re-registered.
&lt;/div&gt;

&lt;h3 id=&#34;replay-files&#34;&gt;Replay Files&lt;/h3&gt;
&lt;p&gt;An alternative to using the Simulator Config and Modes is to instead upload a &amp;ldquo;Replay File&amp;rdquo; of time-series data for the Simulator to echo back.&lt;/p&gt;
&lt;p&gt;Admins can now download Thing Chart data, representing an interesting use-case or problematic scenario, (optionally) modify the data, and upload to a Local Simulator to replay the same data. This enables them to test very specific scenarios and have complete control over simulated values.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-console-replay.png&#34;
         alt=&#34;Simulator Replay Files&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Replay Files&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;Select the Simulated Thing to replay&lt;/li&gt;
&lt;li&gt;Click the Replay Upload button&lt;/li&gt;
&lt;li&gt;Drag-and-Drop the time-series CSV file&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You will notice that the Simulator Mode will indicate which message it has processed as it moves through the messages.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
This feature is only supported in Local Simulators currently.
&lt;/div&gt;

&lt;h2 id=&#34;configuring-simulators&#34;&gt;Configuring Simulators&lt;/h2&gt;
&lt;p&gt;In the &lt;strong&gt;Configure Types&lt;/strong&gt; tab, you can select any active Thing Type, and edit or create Simulator configurations to control how Simulated Things of that type will behave.&lt;/p&gt;
&lt;p&gt;Each Thing Type &lt;strong&gt;(#1)&lt;/strong&gt; can be setup with multiple &amp;ldquo;modes&amp;rdquo; &lt;strong&gt;(#2)&lt;/strong&gt;. You should always start with the default &amp;ldquo;Normal&amp;rdquo; mode, then configure alternate modes.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;BEST PRACTICE&lt;/h4&gt;
It&amp;rsquo;s a best practice to configure a mode to correspond to each Alert Condition to enable easy testing.
&lt;/div&gt;

&lt;p&gt;Each mode can define what simulated value will be returned for each Sensor.
Click the Add Parameter button &lt;strong&gt;(#3)&lt;/strong&gt; to add a new sensor value simulation, or click the Edit icon &lt;strong&gt;(#4)&lt;/strong&gt; to edit an existing one.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config.png&#34;
         alt=&#34;Simulator Console Config&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Config&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The following types of Sensor Parameters are currently supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Constant&lt;/strong&gt; Constants will send the same &amp;ldquo;Constant Value&amp;rdquo; consistently.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config-constant.png&#34;
         alt=&#34;Simulator Console Parameter - Constant&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Parameter - Constant&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Counter&lt;/strong&gt; The Counter is a numeric value. It will default to the &amp;ldquo;Start&amp;rdquo; value, and will change by the &amp;ldquo;Step&amp;rdquo; amount at each &amp;ldquo;Interval&amp;rdquo;. When it reaches the &amp;ldquo;End&amp;rdquo;, it will start over again.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config-counter.png&#34;
         alt=&#34;Simulator Console Parameter - Counter&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Parameter - Counter&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Random-Uniform&lt;/strong&gt; The Random / Uniform is a numeric value. It will be a random number between the &amp;ldquo;Lower&amp;rdquo; and &amp;ldquo;Upper&amp;rdquo; values, and will change at every &amp;ldquo;Interval&amp;rdquo;.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config-random.png&#34;
         alt=&#34;Simulator Console Parameter - Random&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Parameter - Random&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Random-Choice&lt;/strong&gt; The Random / Choice can be numeric, boolean, text, etc. It will randomly choose between the provided &amp;ldquo;Choice Values&amp;rdquo;, and will change at every &amp;ldquo;Interval&amp;rdquo;.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config-choice.png&#34;
         alt=&#34;Simulator Console Parameter - Choice&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Parameter - Choice&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Datetime&lt;/strong&gt; The Datetime can be numeric or text. It will be recalculated on every message, relative to the current date/time. The Offset can be either positive (future) or negative (past), or 0 for current date/time. The format can either be &lt;em&gt;epoch&lt;/em&gt; (to return the epoch in milliseconds) or a valid Python datetime format (e.g. %Y-%m-%d_%H:%M:%S) to return any textual date or time format.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-config-datetime.png&#34;
         alt=&#34;Simulator Console Parameter - Choice&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Console Parameter - Choice&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;SAVE&lt;/h4&gt;
After adding or editing the modes, don&amp;rsquo;t forget to &lt;strong&gt;Save Mode&lt;/strong&gt; and then &lt;strong&gt;Save &amp;amp; Sync&lt;/strong&gt;.
&lt;/div&gt;

&lt;h3 id=&#34;simulator-configuration-co-pilot&#34;&gt;Simulator Configuration Co-Pilot&lt;/h3&gt;
&lt;p&gt;In the Simulator Configuration Editor, use the Co-Pilot &amp;ldquo;Generate&amp;rdquo; button to automatically create/update Simulator Definitions using analytics and introspection of the rules, based on the Thing Type setup. Multiple simulator modes are generated, saving the admin time and ensuring all alert conditions are covered.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/simulators/assets/simulator-console-generate.png&#34;
         alt=&#34;Simulator Configuration Co-Pilot&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Simulator Configuration Co-Pilot&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
The Generate is safe to use as it doesn&amp;rsquo;t save anything, only makes changes in memory. If you&amp;rsquo;re not happy with the results, either Cancel or Edit them before Saving.
&lt;/div&gt;

&lt;h2 id=&#34;simulator-console-permissions&#34;&gt;Simulator Console Permissions&lt;/h2&gt;
&lt;p&gt;The Simulator Console is only available to Licensed &lt;strong&gt;Bolt Data Connect&lt;/strong&gt; Users, and only if they have been given one or both of the following Custom Permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IoT Simulators&lt;/strong&gt;: This Permission gives the user the ability to view and control Simulators (the &amp;ldquo;Monitor and Control&amp;rdquo; tab)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Simulators Configure&lt;/strong&gt;: This Permission gives the user the ability to create or edit the Simulator Configurations (the &amp;ldquo;Configure Types&amp;rdquo; tab)&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Data Cloud</title>
      <link>/docs/salesforce/data-cloud/</link>
      <pubDate>Fri, 28 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/data-cloud/</guid>
      <description>
        
        
        &lt;p&gt;This section provides details on how to use the &lt;strong&gt;Data Cloud Integration&lt;/strong&gt;, which provides Salesforce Data Cloud Users with visibility into the Bolt Data Connect IoT Data Stream.&lt;/p&gt;
&lt;h2 id=&#34;initial-setup&#34;&gt;Initial Setup&lt;/h2&gt;
&lt;p&gt;Start by creating a Case with Bolt Data Connect Support, requesting the setup of the Data Cloud Integration:
&lt;a href=&#34;mailto:bolt-data-connect-support@bolt-data.com&#34;&gt;Create DataCloud Support Case&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our support team will work with you by either setting up the Data Cloud components or sending you easy to follow instructions.&lt;/p&gt;
&lt;p&gt;Once the integration is setup, you&amp;rsquo;ll have the following Bolt Data Connect Data Cloud components, automatically created from your custom IoT Thing Types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ingestion API&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Stream&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Lake Object&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Model&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;data-explorer&#34;&gt;Data Explorer&lt;/h2&gt;
&lt;p&gt;Once you have imported the components above you can now utilize the power of Data Cloud on your IoT Data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create Calculated Insights:&lt;/strong&gt; Compute metrics across dimensions from mapped objects and fields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create Streaming Insights:&lt;/strong&gt; Compute streaming metrics across dimensions from your real-time data sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create Data Actions:&lt;/strong&gt; Publish Events or Webhooks when data or insights conditions occur&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Explorer:&lt;/strong&gt; View / Report on the IoT data and insights&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/data-cloud/assets/data-cloud-explorer.png&#34;
         alt=&#34;Log Search&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Log Search&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Cloud Logs &amp; Alarms</title>
      <link>/docs/salesforce/observability/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/observability/</guid>
      <description>
        
        
        &lt;p&gt;This section provides details on how to use the &lt;strong&gt;IoT Cloud Logs &amp;amp; Alarms&lt;/strong&gt;, which provides Salesforce Users with visibility into the IoT Cloud Logs to help in troubleshooting calculations, alerts &amp;amp; connectivity issues.&lt;/p&gt;
&lt;h2 id=&#34;log-search&#34;&gt;Log Search&lt;/h2&gt;
&lt;p&gt;The &amp;ldquo;All Logs&amp;rdquo; search option allows you to search the IoT Cloud Logs for the APIs, Rules-Engine, and Connectors all from Salesforce. Enter a datetime range, (optional) keyword, select which Log Groups you are interested in searching.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/observability/assets/cloud-logs-search.png&#34;
         alt=&#34;Log Search&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Log Search&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;SIZE LIMIT&lt;/h4&gt;
The results are limited to 1000 messages. Simply refine or narrow down your search if necessary.
&lt;/div&gt;



&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;TIP&lt;/h4&gt;
You can also download the search results as a text file, simply scroll to the bottom and click Download.
&lt;/div&gt;

&lt;h2 id=&#34;alarm-search&#34;&gt;Alarm Search&lt;/h2&gt;
&lt;p&gt;The &amp;ldquo;Alarms&amp;rdquo; search option allows you to search the IoT Cloud Alarms, which are preconfigured alarms configured by our IoT Cloud Support Team. These Alarms indicate that a threshold has been exceeded or resolved for an error condition. Enter a datetime range, (optional) keyword, select which Log Groups (Alarms) you are interested in searching.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/observability/assets/cloud-alarms-search.png&#34;
         alt=&#34;Alarm Search&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Alarm Search&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;NOTE&lt;/h4&gt;
Emails or other automated communications can be configured for these Alarms by &lt;a href=&#34;mailto:bolt-data-connect-support@bolt-data.com&#34;&gt;contacting support&lt;/a&gt;.
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: IoT Setup</title>
      <link>/docs/salesforce/iot-setup/</link>
      <pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/iot-setup/</guid>
      <description>
        
        
        
      </description>
    </item>
    
    <item>
      <title>Docs: User Setup</title>
      <link>/docs/salesforce/user-setup/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/user-setup/</guid>
      <description>
        
        
        &lt;p&gt;This section provides details on how to setup Salesforce Users for Bolt Data Connect, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Permission Sets&lt;/li&gt;
&lt;li&gt;Custom Permissions&lt;/li&gt;
&lt;li&gt;Installed Package Licenses&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;permission-sets&#34;&gt;Permission Sets&lt;/h2&gt;
&lt;p&gt;Included with the app are two Permission Sets which can be used as-is if your org uses &lt;strong&gt;Assets&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IoT Admins&lt;/strong&gt;: Full Admin access to all Bolt Data Connect features including the &lt;strong&gt;IoT Setup&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Users&lt;/strong&gt;: Access to Bolt Data Connect data, visualizations, and interactions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each Bolt Data Connect User should be assigned to one of the above Permission Sets (or a Clone).&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
If your org &lt;strong&gt;does not&lt;/strong&gt; use &lt;strong&gt;Assets&lt;/strong&gt;, we recommend that you Clone the above Permission Sets and add corresponding permissions on the appropriate Object(s).
&lt;/div&gt;

&lt;h2 id=&#34;custom-permissions&#34;&gt;Custom Permissions&lt;/h2&gt;
&lt;p&gt;The following Custom Permissions are included with the app:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IoT Setup&lt;/strong&gt;: Access to the IoT Setup tab&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Simulators&lt;/strong&gt;: Access to the IoT Simulators component (by default in the Utility Bar)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Observability&lt;/strong&gt;: Access to the IoT Cloud Logs &amp;amp; Alarms component (by default in the Utility Bar)&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;BEST PRACTICE&lt;/h4&gt;
By default, all of these Permissions are included in the &lt;strong&gt;IoT Admins&lt;/strong&gt; Permission Set only. You can choose to separate and give these Permissions as approriate for your Org.
&lt;/div&gt;

&lt;h2 id=&#34;installed-package-licenses&#34;&gt;Installed Package Licenses&lt;/h2&gt;
&lt;p&gt;To Add/Remove Licenses from Users:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go to Salesforce Setup&lt;/li&gt;
&lt;li&gt;Search for &amp;ldquo;Installed Packages&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Manage Licenses&amp;rdquo; next to Bolt Data Connect&lt;/li&gt;
&lt;li&gt;Add/Remove Users&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/user-setup/assets/sf-user-licenses.png&#34;
         alt=&#34;User Licenses&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;User Licenses&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;NOTE&lt;/h4&gt;
See all of the Licensing for your Bolt Data Connect Orgs including both Salesforce &amp;amp; Devices using the &lt;a href=&#34;../iot-setup/global-settings/licensing/&#34;&gt;IoT Setup Licensing&lt;/a&gt;
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: Translations</title>
      <link>/docs/salesforce/translations/</link>
      <pubDate>Sun, 08 Sep 2024 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/translations/</guid>
      <description>
        
        
        &lt;p&gt;This section provides details on the out-of-the-box included Language Translations and how to override and configure translations.&lt;/p&gt;
&lt;h2 id=&#34;included-components&#34;&gt;Included Components:&lt;/h2&gt;
&lt;p&gt;The following Lightning Web Components have been refactored to utilize Custom Labels. These Custom Labels have included Translations for the languages listed below. In addition, you can override the included Translations or add your own for any other Languages.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Utility Components:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;iotAlertSubscriber&lt;/li&gt;
&lt;li&gt;simulatorConsole&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Console Components:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;iotThingFilter&lt;/li&gt;
&lt;li&gt;iotFilteredThings&lt;/li&gt;
&lt;li&gt;iotMap&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Thing Components:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;iotThingDetails&lt;/li&gt;
&lt;li&gt;iotThingChart&lt;/li&gt;
&lt;li&gt;iotThingCommand&lt;/li&gt;
&lt;li&gt;iotDigitalTwin&lt;/li&gt;
&lt;li&gt;iotVisualTwin&lt;/li&gt;
&lt;li&gt;iotThingSensorEntryModal&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These Custom Labels control the titles, tabs, buttons and other output labels in the Lightning Web Components (LWC) as seen in the below example:&lt;/p&gt;
&lt;figure class=&#34;doc figure normal&#34;&gt;&lt;img src=&#34;/docs/salesforce/translations/assets/digital-twin-translations.gif&#34;
         alt=&#34;Component Translations&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Component Translations&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;included-objects&#34;&gt;Included Objects:&lt;/h2&gt;
&lt;p&gt;The following Objects have included Translations for the languages listed below, for their Fields, Picklist Values, Record Types and Custom Actions. In addition, you can override the included Translations or add your own for any other Languages.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IoT Alert History&lt;/li&gt;
&lt;li&gt;IoT Data Snapshot&lt;/li&gt;
&lt;li&gt;IoT Gateway&lt;/li&gt;
&lt;li&gt;IoT Registration&lt;/li&gt;
&lt;li&gt;IoT Sensor Data&lt;/li&gt;
&lt;li&gt;IoT Servitization Coverage&lt;/li&gt;
&lt;li&gt;IoT Servitization Detail&lt;/li&gt;
&lt;li&gt;IoT Servitization Item&lt;/li&gt;
&lt;li&gt;IoT Servitization Plan&lt;/li&gt;
&lt;li&gt;IoT Tiered Pricebook Entry&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;included-languages&#34;&gt;Included Languages:&lt;/h2&gt;
&lt;p&gt;The following Languages have been included for all of the above Components and Objects in the Summer &amp;lsquo;24 Release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Danish: da&lt;/li&gt;
&lt;li&gt;Dutch: nl_NL&lt;/li&gt;
&lt;li&gt;Finnish: fi&lt;/li&gt;
&lt;li&gt;French: fr&lt;/li&gt;
&lt;li&gt;German: de&lt;/li&gt;
&lt;li&gt;Italian: it&lt;/li&gt;
&lt;li&gt;Norwegian: no&lt;/li&gt;
&lt;li&gt;Portuguese (Brazil): pt_BR&lt;/li&gt;
&lt;li&gt;Spanish: es&lt;/li&gt;
&lt;li&gt;Swedish: sv&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;overriding-or-adding-translations&#34;&gt;Overriding or Adding Translations&lt;/h2&gt;
&lt;p&gt;Use standard Salesforce translations to either override the included Translations or add additional Languages as described below:&lt;/p&gt;
&lt;h3 id=&#34;custom-object-metadata&#34;&gt;Custom Object Metadata&lt;/h3&gt;
&lt;p&gt;Use the &lt;strong&gt;Setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Translation Workbench&lt;/strong&gt; &amp;gt; &lt;strong&gt;Override&lt;/strong&gt; section to override or add Language Translations for any of our provided Custom Objects.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/translations/assets/Translations-OverrideObjects.png&#34;
         alt=&#34;Override Object Translations&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Override Object Translations&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;custom-labels&#34;&gt;Custom Labels&lt;/h3&gt;
&lt;p&gt;Use the &lt;strong&gt;Setup&lt;/strong&gt; &amp;gt; &lt;strong&gt;Custom Labels&lt;/strong&gt; section to override or add Language Translations for any of our included Custom Labels.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/translations/assets/Translations-OverrideLabels.png&#34;
         alt=&#34;Override Label Translations&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Override Label Translations&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Release Notes</title>
      <link>/docs/salesforce/release/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/salesforce/release/</guid>
      <description>
        
        
        
      </description>
    </item>
    
  </channel>
</rss>
