Connect a Fusion Energy SEM-Meter
BoatKit can receive branch-circuit and mains measurements directly from a Fusion Energy SEM-Meter on the vessel network. The meter publishes to BoatKit's authenticated local MQTT broker, so the live meter-to-BoatKit data path does not require a cloud MQTT service.
BoatKit supports meters that publish the documented 16-circuit, three-phase report described below. This does not guarantee compatibility with every SEM-Meter model or firmware version.
Before you begin
You need:
- An installed and configured SEM-Meter
- Administrator access to BoatKit and the SEM-Meter app
- A trusted local network that allows the meter to reach the BoatKit host
- The circuit names and multipliers configured in the SEM-Meter app
A dedicated, always-on BoatKit host is the appropriate choice for continuous monitoring. An app-hosted vessel can receive reports only while its BoatKit runtime remains active and reachable.
Installing current transformers or working in an AC panel can expose hazardous voltage. Follow the SEM-Meter installation instructions and applicable marine electrical requirements. Use a qualified marine electrician where required.
Add SEMMeter to BoatKit
- Open Settings > Integrations.
- Under Add Integration, select Power/Electrical.
- Find SEMMeter and select Add.
- Turn on SEMMeter integration if it is not already enabled.
- Wait for SEMMeter Connection to show that BoatKit is listening at a local broker address.
Enabling SEMMeter starts and retains BoatKit's shared authenticated MQTT broker. You do not need to add or enable the broker separately.
The broker page is available under Settings > Advanced > MQTT Broker while SEMMeter, Shelly, another MQTT-backed integration, or Keep broker enabled independently requires it. Each integration retains its own reference to the broker. Disabling SEMMeter therefore does not stop the broker while another integration or its independent enablement remains on.
Create a login for each meter
Create a separate SEMMeter login for every physical meter:
- In the SEMMeter integration, open Configure the SEM-Meter.
- Select Create SEMMeter login.
- Copy the generated username and strong password. BoatKit displays the password exactly once.
- Configure one physical meter with that pair before creating the next login.
- Repeat for each additional meter aboard.
Each login has publish-only access to the SEMMETER/# topic tree. It cannot be used as the generic broker credential.
If you lose a password, remove that login, create a replacement, and update the affected meter. The old password cannot be recovered, and removing the login prevents that meter from reconnecting with it.
The common broker address and port, default credential for generic MQTT clients, connection status, and diagnostics remain under Settings > Advanced > MQTT Broker.
Point the SEM-Meter at BoatKit
The vendor app's labels and layout can vary. For each meter:
- Open that device's Home Assistant configuration in the SEM-Meter app.
- Choose the option to use your own or a custom MQTT server.
- Enter the local broker address and port shown on the BoatKit SEMMeter page.
- Enter the unique SEMMeter username and password created for this physical meter.
- Save the configuration.
BoatKit displays the server in the form mqtt://<local-address> and shows the port separately. BoatKit reads the meter's native reports; it does not require Home Assistant entities or MQTT Discovery messages.
For the vendor's current setup flow, see the SEM-Meter Home Assistant walkthrough. The community-maintained SEM-Meter MQTT reference provides additional protocol context.
SEMMeter support does not automatically discover or configure a meter. The device appears in BoatKit only after it connects to the broker and publishes a valid report.
Understand the report BoatKit accepts
A supported report uses this exact topic pattern:
SEMMETER/<12-hex-character serial>/HA
The serial may contain the hexadecimal characters 0–9 and A–F. The JSON payload must contain a sense array with:
- 16 branch-circuit rows, in circuit order
- Three mains rows, for phases A, B, and C
- At least five numeric values in each row, ordered as voltage, current, power, imported energy, and exported energy
BoatKit ignores unrelated topics and malformed or incomplete reports. Publishing an arbitrary MQTT topic or JSON payload to the broker does not create BoatKit signals; an enabled BoatKit integration must understand that topic and payload.
BoatKit exposes:
| Scope | Available measurements |
|---|---|
| Circuits 1–16 | Current, power, imported energy, and nonzero exported energy |
| Mains phases A–C | Voltage, current, power, imported energy, and nonzero exported energy |
| Mains totals | Current, power, imported energy, and nonzero exported energy |
Exported energy is the cumulative reverse-direction energy measured through a circuit or mains current transformer. It is useful for generation or backfeed, such as a solar circuit, but normally remains zero on ordinary load breakers. BoatKit omits an exported-energy measurement while its reported value is zero, so it does not appear in categorized data or consume time-series history. If the meter later reports a nonzero value, BoatKit adds the measurement automatically.
BoatKit does not expose the report's derived voltage for individual circuits. The SEM-Meter does not identify the mains phase feeding each branch circuit, so it cannot attribute a reliable circuit voltage. The explicitly identified phase A, B, and C voltages remain available.
Enabled measurements are available under IoT in gauges, history, alerts, and triggers. IoT sources are grouped by adapter and physical device. Each SEMMeter is further divided into its named circuits and a Mains group containing phases and totals, so measurements from multiple meters do not become one flat list. BoatKit displays values using the applicable configured units.
Connect more than one meter
Multiple SEM-Meters can publish to the same BoatKit broker when you need to monitor more than 16 branch circuits. Use the same broker address and port for every meter, but configure each meter with its own generated SEMMeter login.
BoatKit uses the 12-character serial in each meter's topic to keep its device, measurements, circuit names, and multipliers independent. Under Connected SEMMeters, the full hardware serial distinguishes one meter from another.
Import circuit names and multipliers
The MQTT payload omits the circuit names and per-circuit multipliers saved in the SEM-Meter app. After a meter appears under Connected SEMMeters, use the app's Home Assistant configuration download to copy both settings into BoatKit:
- In the SEM-Meter app, download the Home Assistant configuration text file for that physical meter.
- In BoatKit, identify the same meter by its 12-character hardware serial.
- Select Import Home Assistant file on that meter's card and choose the downloaded file.
- Review the 16 circuit names and multipliers, then select Import circuits.
BoatKit checks that the serial embedded in the file matches the selected meter. It also checks that all 16 circuits contain a complete, internally consistent set of voltage, current, power, and energy formulas before replacing any saved values. This prevents a file from one SEM-Meter from renaming another meter when several are installed.
You do not need to run Home Assistant or import the file into Home Assistant. BoatKit reads only the circuit metadata from the vendor-generated file. If the file is unavailable, expand each circuit in BoatKit and enter the name and multiplier manually.
The multiplier applies to circuit power, imported energy, and exported energy. It does not multiply current. BoatKit also validates the export's voltage coefficient because it carries the same multiplier, but does not expose that unreliable per-circuit voltage as a measurement. Copy the value actually configured for that current transformer and circuit in the SEM-Meter app. Do not enter 2 merely because a circuit is 240 V.
Use each measurement's checkbox to control whether it appears in ordinary BoatKit data views. Use its configuration button to set applicable threshold or availability alerts.
Confirm it is working
A working installation has these observable results:
- SEMMeter Connection says that BoatKit is listening at the local broker address.
- Each meter appears separately under Connected SEMMeters and reports Online.
- Circuit and mains values update when vessel loads change.
- Settings > Advanced > MQTT Broker shows a connected client and an increasing received-message count.
- Circuit names match the SEM-Meter app.
- Phase voltage and circuit power and energy agree with the SEM-Meter app after you import or manually copy each circuit's multiplier.
A valid report marks its meter online. BoatKit marks the meter offline after two minutes without another valid report. This accommodates firmware that reports roughly every two seconds as well as older behavior around 30 seconds without promising an exact reporting interval for every firmware version.
Local operation and backups
After normal BoatKit setup, SEM-Meter reports travel between the meter and BoatKit on the vessel network. Monitoring can continue during an ordinary internet outage while the BoatKit host, local network, and meter remain running. Remote Viewer access through BoatKit Cloud still requires internet access.
Portable configuration backups include circuit names, multipliers, signal visibility, and alert settings. The default generic broker credential and per-meter SEMMeter logins are not restored as usable credentials. After restoring to another BoatKit installation, create replacement SEMMeter logins and update each meter.
The live meter inventory is replaceable rather than portable. It is rebuilt when each meter publishes a valid MQTT report.
Exact model and firmware compatibility, and the effect of selecting a custom MQTT server on other vendor-app or vendor-cloud functions, should be confirmed on the intended hardware before relying on those broader behaviors.
Troubleshooting
BoatKit is not listening
- Confirm that SEMMeter integration is enabled.
- Open Settings > Advanced > MQTT Broker and check its connection status for a listener or address error.
- Confirm that the broker has a saved default password. BoatKit will not start the listener without one.
- If SEMMeter was disabled, check whether another MQTT integration or Keep broker enabled independently should still be retaining the broker.
The meter does not connect
- Compare the broker address and TCP port in BoatKit with the values entered in the SEM-Meter app.
- Confirm that the meter uses its own generated SEMMeter username and password, not the broker's default generic credential.
- Check that the username still appears under Existing SEMMeter logins.
- If its password was lost, remove the login, create a replacement, and update the meter.
- Confirm that the meter and BoatKit host can reach each other on the vessel network.
- Confirm that the own/custom MQTT server option was saved in the SEM-Meter app.
The broker receives messages but no SEMMeter appears
- Confirm that the SEMMeter integration is enabled, not only the generic broker.
- Confirm that the topic is exactly
SEMMETER/<12-hex-character serial>/HA. - Confirm that the
sensearray contains 16 circuit rows followed by three phase rows. - Confirm that every required row contains voltage, current, power, imported energy, and exported energy as numeric values.
- If BoatKit support needs the exact topic and payload, temporarily enable Log raw MQTT traffic under Settings > Advanced > MQTT Broker. Disable it after collecting diagnostics because the logs contain complete MQTT topics and payloads.
A meter changes to Offline
- Confirm that the BoatKit host, meter, and local network remain active.
- Check the broker's connected-client and received-message counts.
- Confirm that the meter's SEMMeter login has not been removed or replaced.
- Treat the state as stale when no valid report has arrived for two minutes; do not depend on an exact device reporting cadence.
A circuit value is too high or too low
- Compare the circuit name and multiplier with the same circuit in the SEM-Meter app.
- Remember that the multiplier changes the exposed circuit power and energy values, but not current.
- Do not infer a multiplier solely from the circuit voltage.
- Have a qualified installer verify the current transformer's circuit assignment and installation against the SEM-Meter instructions before changing electrical hardware.
A Home Assistant configuration file is rejected
- Confirm that you selected the file downloaded for the exact 12-character serial shown on that BoatKit meter card.
- Download a fresh file after saving all 16 circuit names and multipliers in the SEM-Meter app.
- Do not combine or hand-edit exports from multiple meters into one file.
- If the app generated an incomplete file, configure the affected circuit manually and retain the file for support diagnostics.
A value is visible in settings but missing elsewhere
- Expand the circuit or Mains phases and totals under Connected SEMMeters.
- Confirm that the checkbox beside the measurement is enabled.
- Confirm that the meter is Online and that the measurement is available.
SEMMeter, Fusion Energy, MQTT, and related marks belong to their respective owners. BoatKit's independent support does not imply certification or endorsement.