Tides in Lovelace

Great, glad its working!

Seems like everybody on this thread is using the jshufro fork of NOAA tides because it has more features. But this fork no longer works with the latest version of Home Assistant.

And the author does not appear to be fixing it.

I put in a feature request to add this forks features to the built in NOAA tide component.

Please vote for my feature request and add any other comments that are useful to it.

1 Like

Interesting thread. I did some work on this some time ago and ended up with a canvas gauge card that emulates a standard tide gauge. Itā€™s got a few other features like overlaying wave heights (grey band) and the critical depth (in pink) needed for launching one of our lifeboats.

1 Like

Heads up. There is a pull request for the jshufro/home_assistant_noaa_tides repository that fixes the problems that broke the integration with 2025.1 (Thank You Flight-Lab!)

It does appear that the original developer is not supporting the repository any longer, and no new releases have come out for a while. There are a couple Pull Requests now that have not been reviewed and/or merged into the project. Long term, forking this code into a new supported repository would be great. In the meantime, the basic features that I have been using are working again with Flight-Labā€™s changes.

This is EXACTLY what Iā€™m tring to do!

But having LOTS of trouble doing it. Iā€™m in Australia so canā€™t use NOAA for tide data, however Iā€™m using the stormglass.io tide API which is outputting data to a sensor (call it tide_height_by_hour) as a ā€œstate attributeā€ which comes up as follows:
data:

  • sg: 0.46
    time: ā€œ2025-01-06T00:00:00+00:00ā€
  • sg: 0.33
    time: ā€œ2025-01-06T01:00:00+00:00ā€
  • sg: 0.22
    time: ā€œ2025-01-06T02:00:00+00:00ā€
    etc etc (for every hour for the next few days)

I canā€™t for the life of me work out how to convert this into a sensor that I can put into a graph going forward.

Iā€™ve love any advice or suggestions. Thanks so much!

I also donā€™t have a sensor, and the data is very similar to your format! ApexCharts supports data manipulation, which worked well for this. Hereā€™s what a similar graph card might look like for yours (just replace your_state_attribute_name with the actual list attribute name):

type: custom:apexcharts-card
graph_span: 135h
header:
  show: true
  title: My Title
  show_states: false
span:
  start: minute
series:
  - entity: sensor.tide_height_by_hour
    name: Height (ft)
    extend_to: end
    type: line
    data_generator: >
      return entity.attributes.your_state_attribute_name.map((prediction) => { return[new
      Date(prediction.time), prediction.sg]; });