👉 🇫🇷 Read this documentation in French
Display French tides from SHOM directly in Home Assistant, with a simple integration and a custom Lovelace card.
Author: @KipK
Search for and install the "Marees France" integration in HACS.
Once the integration is installed and configured, refresh your browser so that Home Assistant displays the card in the card selector.
- Add the repository
KipK/marees_franceto HACS. - Search for Tides France in HACS and install the integration.
- Go to Devices & Services → Add Integration, search for Tides France.
- Select the nearest port from the list.
- (Optional) Define the minimum depth needed to navigate — this value will be used to adapt graphs to display if your boat can safely navigate at the current water level. Leave at 0 if not needed.
Once configured, the entities will appear as:
sensor.marees_france_[PORT_NAME]— Tide sensor datanumber.[PORT_NAME]_minimum_depth— Adjustable minimum depth
A custom Lovelace card is provided with the integration! Simply add the Tides France card to your dashboard.
| Attribute | Description |
|---|---|
coefficient |
Tide coefficient |
tide_trend |
raising / falling |
current_height |
Current height |
starting_height |
Height at the beginning of the cycle |
finished_height |
Height at the end of the cycle |
starting_time |
Cycle start time |
finished_time |
Cycle end time |
State: Rising or Falling until the specified time.
Same attributes as above, for the next tide event.
Same attributes as above, for the last tide event.
- State: Date/Time of the next spring tide (coefficient ≥ 100)
- Attribute:
coefficient
- State: Date/Time of the next neap tide (coefficient ≤ 40)
- Attribute:
coefficient
- State: The current water temperature in degrees Celsius.
- Attributes:
current_height,tide_trend
- État: Current water height in meters.
- Attributs: ``
- Caractéristiques : Defined using API SHOM data and linear interpolation to compute values between two API points.
- Type: Number entity
- Description: Configurable minimum water depth required for your boat to safely enter/leave the harbor.
- Default: 0 meters
- Features:
- Setting this value will adapt graphics layouts by adding an hatched zone that indicates a danger depth bellow which you should not enter/leave the port. (or at you own risks)
- The value should be determined based on your experience in the harbor, taking into account the draft of your boat and keel clearance.
- Adjustable from 0 meters with 0.1 meter increments
- Value persists across Home Assistant restarts
- Real-time update of coordinator data when changed
- Optional : when set to defaut value, no influence on graphs.
Six services are available:
action: marees_france.get_tides_data
data:
device_id: xxxxxxxxxxaction: marees_france.get_water_levels
data:
device_id: xxxxxxxxxx
date: "2025-04-26"action: marees_france.get_coefficients_data
data:
device_id: xxxxxxxxxx
date: "2025-04-26"
days: 10action: marees_france.reinitialize_harbor_data
data:
device_id: xxxxxxxxxxaction: marees_france.get_water_temp
data:
device_id: xxxxxxxxxx
date: "2025-04-26"action: marees_france.get_harbor_min_depth
data:
device_id: xxxxxxxxxxAfter updating the integration, refresh your browser to load the new custom card. If you've not installed it with HACS, you will perhaps have to clear your browser cache first.
Water temperature requests use an Android client User-Agent for Météoconsult's Android API endpoint. SHOM requests retain their existing browser headers.
The integration loads valid cached data during setup, then fetches missing data from SHOM and Meteoconsult in background tasks. An unavailable service does not delay Home Assistant startup or prevent updates from the other service. Sensors without usable data remain unavailable until fetching succeeds.
Caches are checked every five minutes. Failed requests are retried automatically with increasing delays, starting around 30 seconds and capped at five minutes. One persistent notification per provider lists the affected harbors and data, and is dismissed when those requests recover. Reloading or unloading a harbor cancels its pending requests and retries.
The reinitialize_harbor_data action clears that harbor's downloaded data and restarts background fetching; it returns without waiting for the APIs.
Delete all harbors from Settings/Devices/Marées France Then remove the integration from HACS or delete the custom_components/marees_france folder
Use setup.sh or setup.ps1 to install required dependencies
To compile the Lovelace card:
cd frontend
npm run buildThe build will be output to:
custom_components/marees_info/frontend
To generate documentation:
npm run docsTests target Home Assistant 2026.10.2 and require Python 3.14.2 or newer.
The Home Assistant and pytest plugin versions are pinned together in
requirements-test.txt and used by GitHub Actions.
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-test.txt
python -m pytest -q --timeout=30- Data source: SHOM (Service Hydrographique et Océanographique de la Marine).
- Fully compatible with Home Assistant via HACS.
If this integration is useful to you, you can support its development here:


