Open-Meteo Marine smart home integration, free and open source

Marine weather by Open-Meteo: waves, swell, water temperature, wind and sea state of your spots.
Overview
This integration brings into Gladys the marine weather of Open-Meteo at up to five spots of your choice, anywhere in the world: a surf break, a harbour, a sailing area, a kitesurf beach. For each spot you get the waves (significant height, period, direction), the swell and the wind sea, the water temperature, the ocean current, the sea level with the tides, the wind and its gusts, plus the Beaufort force and the Douglas sea state worked out by the integration. Each spot becomes a device to show on a dashboard and to use in scenes.
Open-Meteo builds these data from the wave, ocean and weather models of national weather services (Météo-France, ECMWF, DWD, NOAA…). No account and no key are needed: the free API is for non-commercial use, fewer than 10,000 calls a day. Weather data by Open-Meteo.com, under CC BY 4.0. This community integration is not affiliated with Open-Meteo.
These are model forecasts, not observations, and they are not fit for the safety of navigation. The accuracy near the coast is limited. Before going to sea, read the official marine forecast of your weather service.
It is a cloud integration: it reads each spot every 15 or 30 minutes with two requests (marine data, then wind) and keeps the 7-day forecasts in /data, so a restart costs no request.
Prerequisites
- Gladys Assistant 5.3.0 or later.
- Access to the internet from Gladys.
- The coordinates of your spots, at sea.
Configuration
| Field | What to type |
|---|---|
| Spot 1 … 5: name | The name shown in the device and the widgets, for example "Quiberon". Optional. |
| Spot 1 … 5: latitude, longitude | Decimal degrees, 47.45, -3.20 (a decimal comma works with a space: 47,45 -3,20). Spot 1 required. |
| Reading interval | 15 or 30 minutes (default 30): the models are updated a few times a day. |
| Wind unit | Knots (default), km/h or m/s, in the widgets and the scene texts. |
| Language of the texts | Device names and scene summaries. Automatic: the language of your dashboard. |
Place the point at sea, a few km off the coast where the waves come in: right-click on the sea in Google Maps (or OpenStreetMap) and copy the coordinates. Open-Meteo takes the nearest sea cell of its wave models, 5 to 25 km wide, so a point on the beach usually works too. A point inland gets no marine data: the integration refuses it and says so at the top of the page.
Save: the status at the top of the page shows each spot, its sea state now and the time of the next reading. Read now reads again at once, a spot refused as inland included (not again within five minutes when the data are fresh). Diagnostic writes the state of the integration to the Logs tab.
Usage
Devices
In the Discover tab, create the "Marine weather …" device of each spot. It holds 15 features:
| Feature | Unit | Note |
|---|---|---|
| Wave height, period, direction | m, s, degrees | significant height; direction the waves come from |
| Swell height, period, direction | m, s, degrees | waves born far away |
| Wind sea height | m | waves raised by the local wind |
| Water temperature | °C | sea surface; kept out of the room temperature |
| Current speed | km/h | not available in every sea |
| Sea level | m | above the global mean sea level, tides included |
| Mean wind, gusts, wind direction | km/h, degrees | at 10 m; Gladys has no knot unit |
| Beaufort force | 0 … 12 | from the mean wind (WMO bounds in knots) |
| Sea state (Douglas) | 0 … 9 | from the significant wave height |
Douglas sea state: 0 calm (glassy), 1 calm (rippled) up to 0.1 m, 2 smooth up to 0.5 m, 3 slight up to 1.25 m, 4 moderate up to 2.5 m, 5 rough up to 4 m, 6 very rough up to 6 m, 7 high up to 9 m, 8 very high up to 14 m, 9 phenomenal.
The values are those of the last reading while it is less than an hour old (15-minute model data), then the hourly forecast of the current hour. A value Open-Meteo does not give is not published. Renaming a spot keeps its device; moving it to other waters (about 1 km or more) makes a new device.
Dashboard widgets

- Sea conditions: tiles for the waves, their period, the swell (and where it comes from), the water and the wind; the sea state, the Beaufort force, the gusts, the swell and the current; the navigation warning.
- Marine forecast chart: the next 48 or 72 hours of the waves, the swell and the wind sea (in metres), or of the mean wind and the gusts; the highest waves and the strongest wind with their time.
- Sea, next 7 days: day by day, the highest waves, the swell and its period, the strongest wind and its Beaufort force, and the sea state as a colored badge.
Choose the spot in the settings of the widget (empty: the first one). Each widget names its source, Open-Meteo.com (CC BY 4.0).
Scenes
Three triggers, one event per transition. The first reading of a spot is a reference and fires nothing. A value within 5 % of a bound keeps its level, so the small moves of the model fire nothing.
- Open-Meteo Marine: sea state changed: the Douglas sea state of a spot changes. Filter by spot and by new sea state ("rough" and above, for example).
- Open-Meteo Marine: Beaufort force changed: the force of the mean wind changes. Filter by spot and by new force.
- Open-Meteo Marine: strong wind forecast: within the next 24 hours, the forecast reaches force 7 (near gale) or more, the threshold of coastal gale warnings, or a higher force than already announced. It is announced again only after the forecast went back below force 7.
Each one gives a ready-made sentence, {{triggerEvent.data.summary}}, and its values (heights, periods, wind in km/h and knots…).
The Open-Meteo Marine: read the marine forecast action returns the sea and the wind of a spot now, or in 1 to 168 hours: waves, swell, wind sea, water, wind, gusts, Beaufort force, sea state and a summary. It reads the kept forecast and makes no request.
Examples:
- When the sea state becomes "rough" or more at the harbour → send
{{triggerEvent.data.summary}}to the skipper. - When a strong wind is forecast → notify, and bring the garden furniture in.
- Every Saturday at 7:00 → read the marine forecast in 3 hours; if the swell is above 1 m and its period above 10 s, send "Surf's up".
Transport
Cloud only: the data come from marine-api.open-meteo.com and api.open-meteo.com. Only the coordinates of the spots leave your network, with a user agent naming the integration.
Troubleshooting
- "no marine data at this point": the point is on land, or in a lake or a narrow estuary the wave models do not cover. Move it a few km out to sea, save, then press Read now.
- "unreadable coordinates": type
latitude, longitudein decimal degrees, latitude first:47.45, -3.20. Degrees-minutes (47°27'N) are not read. - The current or the sea level stays empty: Open-Meteo has no value for this sea. This is normal.
- The values differ from the buoy or the official forecast: these are model data on a grid of 5 to 25 km; near the coast they are less accurate.
- "Open-Meteo limits the requests (HTTP 429)": the free quota is counted per IP address. The integration waits at least an hour. Choose 30 minutes and check that no other software on the same network calls Open-Meteo a lot.
- "Open-Meteo is unavailable" or "unreachable": the integration tries again after 5, 10, 20 and 40 minutes; meanwhile the devices follow the hourly forecast already kept.
- To report a problem: press Diagnostic, then copy the lines starting with "Marine diagnostic" from the Logs tab into a GitHub issue or a reply on the forum. Include the versions of Gladys and of the integration.
Configuration settings
These are the settings Open-Meteo Marine asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Open-Meteo Marine | section | No | Marine weather of Open-Meteo for your spots: waves, swell, wind sea, water temperature, current, sea level with the tides, wind, Beaufort force and Douglas sea state, now and for 7 days. No account and no key: the free API of Open-Meteo is for non-commercial use, and the integration reads each spot every 15 or 30 minutes. The coordinates of the spots are sent to Open-Meteo. Weather data by Open-Meteo.com, under CC BY 4.0. These are model forecasts, not fit for the safety of navigation: before going to sea, read the official marine forecast of your weather service. |
| Spots | section | No | Type up to five spots: a name and its coordinates as “latitude, longitude” in decimal degrees (47.45, -3.20). Place the point AT SEA, a few km off the coast where the waves come in: on land Open-Meteo has no marine data and the spot is refused. Find the coordinates with a right-click on the sea in Google Maps, or on OpenStreetMap. Each spot becomes a device in the Discover tab; renaming a spot keeps its device, moving it to other waters makes a new one. |
| Spot 1: name | string | No | |
| Spot 1: latitude, longitude | string | Yes | At sea, a few km off the coast. |
| Spot 2: name | string | No | |
| Spot 2: latitude, longitude | string | No | |
| Spot 3: name | string | No | |
| Spot 3: latitude, longitude | string | No | |
| Spot 4: name | string | No | |
| Spot 4: latitude, longitude | string | No | |
| Spot 5: name | string | No | |
| Spot 5: latitude, longitude | string | No | |
| Options | section | No | |
| Reading interval | select | No | Two requests per spot at each reading. The models are updated a few times a day: 30 minutes is plenty. |
| Wind unit | select | No | In the widgets and the scene texts. The devices stay in km/h, the wind unit of Gladys. |
| Language of the texts | select | No | Language of the device names and of the scene texts. Automatic: the language of your dashboard. |
How to install Open-Meteo Marine in Gladys
- In Gladys, open Integrations: Open-Meteo Marine appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/william-de71/gladys-open-meteo-marine:0.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/William-De71/gladys-open-meteo-marine.
Open-Meteo Marine requires Gladys >=5.3.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Open-Meteo Marine is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by William-De71, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation