Docs

Edge Devices

<p>The Essembi pulse app is responsible for facilitating the collection of data from edge devices such as sensors and scales on the manufacturing floor.</p>

<h2>Local Server</h2>
<p>The Essembi pulse app will run on a local server at the production facility. The purpose of this is to be able to collect data from edge devices even when no connectivity to the internet exists. The data collected will be stored locally on the server until a network connection is available to push the data to the Essembi cloud app.</p>

<h3>Hardware Specifications</h3>
<p>Hardware specifications for the Essembi local server vary based on production volume and desired sync times into Essembi. Connect with an Essembi team member to get assistance with the right specifications for your manufacturing business.</p>

<h3>Setup Requirements</h3>
<h4>Static IP Address</h4>
<p>The local server needs to be assigned a static IP address. The PLC software requires this to communicate real-time data from the PLC to the local server.</p>

<h4>Mosquitto MQTT Broker</h4>
<p>Essembi will deploy the Mosquitto MQTT broker on your server during the implementation process. After setup, you can validate the connection between your local computer and the server using the steps below.</p>
<p>MQTT connectivity is critical. If pulse data is not reaching the Essembi server, sensors and scales may appear idle and can incorrectly open downtime incidents even while the line is running. See the Scales troubleshooting section for common USB and network causes.</p>

<h2>Validating the Mosquitto Connection</h2>
<p>Use these steps to confirm the broker, network, and firewall are configured correctly. You will need the Mosquitto client tools installed on your local computer (<a href="https://mosquitto.org/download/">download here</a>).</p>
<p><strong>Step 1: Start a subscriber on the server.</strong> Open a terminal on the server and run from the mosquitto folder:</p>
<pre><code>mosquitto_sub -h localhost -t essembi/test</code></pre>
<p>Leave this window open. It will display any messages it receives.</p>
<p><strong>Step 2: Publish a message from your local computer.</strong> Open a terminal on your local machine and run from the mosquitto folder, replacing <code>SERVER_IP</code> with your server's IP address:</p>
<pre><code>mosquitto_pub -h SERVER_IP -p 1883 -t essembi/test -m "Hello from local machine"</code></pre>
<p><strong>Step 3: Confirm receipt.</strong> The subscriber terminal on the server should display:</p>
<pre><code>essembi/test Hello from local machine</code></pre>
<p>If the message appears, the broker, network, and firewall are configured correctly. If the connection is refused or times out, confirm port 1883 is open in the server firewall and check if the mosquitto service is running in Windows Services (Start menu &gt; type "Services" &gt; hit "Enter").</p>

<h2>Edge Devices</h2>
<p>The pulse app will read data from the local PLC for devices such as sensors, or directly from devices connected to the pulse app such as scales. Edge devices that are supported by Essembi are outlined below:</p>
<ul>
<li>
<a href="https://essembi.com/blogs/help/sensors"><strong>Sensors</strong></a>: Photoelectric sensors that can be deployed along the production line to read real-time units produced and automatically log downtime incidents for hardware components along the line.</li>
<li>
<a href="https://essembi.com/blogs/help/scales"><strong>Scales</strong></a>: Scales that can be deployed in bulk production areas to automatically finish containers of units by weight and detect when no finishes are occurring to trigger downtime incidents to be logged.</li>
</ul>

<h2>Production Automation Settings</h2>
<p>App-level <strong>Production Automation</strong> options control how pulse-logged count finishes are grouped and timestamped in Essembi:</p>
<ul>
<li>
<strong>Round Finishes To</strong> — The time interval used when grouping count-sensor finishes: 1 Minute, 5 Minutes, 15 Minutes, 30 Minutes, or 1 Hour.</li>
<li>
<strong>Finish Rounding Type</strong> — How each finish timestamp is aligned to that interval:
<ul>
<li><strong>Round to Start</strong> — Floor to the start of the interval (default)</li>
<li><strong>Round to End</strong> — Ceiling to the end of the interval</li>
<li><strong>Round to Closest</strong> — Nearest interval boundary</li>
</ul>
</li>
</ul>
<p>Example: with <strong>Round to Start</strong> and <strong>15 Minutes</strong>, finishes from 8:00:00–8:14:59 are grouped under the 8:00 timestamp.</p>
<p>Count sensors have finishes aggregated by the rounded timestamp. Weight (scale) finishes are posted individually by timestamp and are not interval-grouped the same way.</p>

<h2>Line Configurations and Sensor Behavior</h2>
<p>Which sensors are active for finishes, incident tracking, and count multipliers can vary by product or job:</p>
<ul>
<li>
<strong>Line Configuration</strong> on the <strong>Formula</strong> — Default packaging-line sensor rules for that part</li>
<li>
<strong>Line Configuration</strong> on the <strong>Work Order</strong> — Job-level override when sensor behavior should differ from the formula default</li>
<li>
<strong>Sensor Configuration Overrides</strong> — Per-sensor overrides tied to a Line Configuration (for finishes, incident tracking, thresholds, and count multiplier)</li>
</ul>
<p>Details are covered on the <a href="https://essembi.com/blogs/help/sensors">Sensors</a> help page.</p>

<h2>Throughput Summary Report</h2>
<p>Use the <a href="https://essembi.com/blogs/help/available-reports#throughput-summary"><strong>Throughput Summary</strong></a> report to review pulse readouts from individual sensors over time. It is especially useful for validating sensor sort order, count multipliers, and where units are gained or lost between line components.</p>

Back to help
On this page