Skip to content

tomer-w/ha-nmea2000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚢 Home Assistant NMEA 2000 Integration

hacs_badge License: Apache 2.0 Validate

Transform your boat's NMEA 2000 network into powerful Home Assistant sensors instantly!

A Home Assistant integration that brings marine data to your smart home. Automatically detect and convert NMEA 2000 messages into Home Assistant sensors with zero configuration. Works with both USB and TCP CAN bus gateways. Based on pure Python NMEA 2000 package built over canboat database.

✨ Features

  • Plug & Play - Automatic sensor creation from detected messages
  • USB gateways: CANBUS USB devices like Waveshare USB-CAN-A
  • TCP gateways: CANBUS TCP devices like:
  • Real-time Data - Instant marine metrics in your Home Assistant dashboard
  • Low Resource Usage - Optimized performance with minimal overhead
  • Marine-focused - Specially designed for boating enthusiasts

🔧 Installation

Prerequisites

  • A working Home Assistant installation
  • NMEA 2000 network with compatible gateway (USB or TCP)

🛠 Option 1: Installation via HACS

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Restart Home Assistant when prompted.

🛠 Option 2: Manual Installation

  1. Download the latest release ZIP file:
    📦 ha-nmea2000.zip

  2. Extract the contents into your Home Assistant custom_components directory:

    mkdir -p /config/custom_components/nmea2000
    unzip ha-nmea2000.zip -d /config/custom_components/nmea2000
  3. Restart Home Assistant.

🛠 Add the integration

  1. Go to Settings → Devices & Services → + Add Integration and search for NMEA 2000. Or, press the link below:
    Open your Home Assistant instance and show an integration.
  2. Click the ADD HUB button
  3. Choose a name and if the gateway is USB or TCP one.
  4. Based on the gateway type choose how to connect to it (USB port or TCP IP and port)
  5. Customize: Choose what PGNs to monitor and in what cadance you want the updates

🛠 Script-Based Update (For Limited Bandwidth Environments)

If you prefer not to use HACS due to bandwidth constraints, especially in marine environments, you can use the provided update script to manually update the integration after it was installed for the first time.

  1. Open the HA Terminal window.

  2. For the first time only, you need to give the script execution permissions:

    chmod +x /config/custom_components/nmea2000/update_integration.sh
  3. Run the script using a terminal:

    /config/custom_components/nmea2000/update_integration.sh
  4. Optionally, use the --restart flag to restart Home Assistant after the update:

    /config/custom_components/nmea2000/update_integration.sh --restart

    This will validate the Home Assistant configuration and issue a restart command if the configuration is valid.

  5. Restart Home Assistant manually if you did not use the --restart flag.

This script will fetch the latest version of the integration directly from the repository and replace the existing files.

Acknowledgements

  • This library leverages the canboat via nmea2000 as the source for all PGN data.
  • Special thanks to Rob from Smart Boat Innovations. His code was the initial inspiration for this project. Some the code here might still be based on his latest OSS version.
  • To all the incredible contributors to the canboat project — your relentless innovation keeps the lights on. Without your continuous hacking, we'd be adrift in the dark. Thank you!

About

NMEA 2000 Home Assistant Integration

Topics

Resources

License

Stars

Watchers

Forks

Contributors