Climacell integration -- Several "unknown" sensors

Migrated to Climacell (aka tomorrow.io) given Ambee’s switch to pay-only, and am pleased to have some pollen data back.

Thought I’d also integrate some of their nice AQI and weather data as well, but a number of the integration’s sensors are coming back “unknown.” Since that very same data is available if I check the website, it’s unlikely there is a paywall issue at play.

Anyone run into something similar? Anyone able to get a full complement of data from the currently available Climacell integration?

Yes, I’ve got it running nicely for pollen, weather and moon phases.

Rest sensors:

# Tomorrow.io weather/pollen
  - resource: !secret tomorrowio
    scan_interval: 1800
    sensor:
      - name: "Tomorrowio Day 0"
        value_template: "{{ value_json.data.timelines[0].intervals[0]['values']['temperature'] }}"
        json_attributes_path: "$.data.timelines[0].intervals[0].values"
        json_attributes:
          - temperature
          - temperatureApparent
          - humidity
          - windSpeed
          - windGust
          - pressureSurfaceLevel
          - precipitationIntensity
          - precipitationProbability
          - precipitationType
          - sunriseTime
          - sunsetTime
          - visibility
          - cloudCover
          - cloudBase
          - cloudCeiling
          - moonPhase
          - weatherCode
          - grassIndex
          - treeIndex
          - weedIndex

      - name: "Tomorrowio Day 1"
        value_template: "{{ value_json.data.timelines[0].intervals[1]['values']['temperature'] }}"
        json_attributes_path: "$.data.timelines[0].intervals[1].values"
        json_attributes:
          - temperature
          - temperatureApparent
          - humidity
          - windSpeed
          - windGust
          - pressureSurfaceLevel
          - precipitationIntensity
          - precipitationProbability
          - precipitationType
          - sunriseTime
          - sunsetTime
          - visibility
          - cloudCover
          - cloudBase
          - cloudCeiling
          - moonPhase
          - weatherCode
          - grassIndex
          - treeIndex
          - weedIndex

      - name: "Tomorrowio Day 2"
        value_template: "{{ value_json.data.timelines[0].intervals[2]['values']['temperature'] }}"
        json_attributes_path: "$.data.timelines[0].intervals[2].values"
        json_attributes:
          - temperature
          - temperatureApparent
          - humidity
          - windSpeed
          - windGust
          - pressureSurfaceLevel
          - precipitationIntensity
          - precipitationProbability
          - precipitationType
          - sunriseTime
          - sunsetTime
          - visibility
          - cloudCover
          - cloudBase
          - cloudCeiling
          - moonPhase
          - weatherCode
          - grassIndex
          - treeIndex
          - weedIndex

      - name: "Tomorrowio Day 3"
        value_template: "{{ value_json.data.timelines[0].intervals[3]['values']['temperature'] }}"
        json_attributes_path: "$.data.timelines[0].intervals[3].values"
        json_attributes:
          - temperature
          - temperatureApparent
          - humidity
          - windSpeed
          - windGust
          - pressureSurfaceLevel
          - precipitationIntensity
          - precipitationProbability
          - precipitationType
          - sunriseTime
          - sunsetTime
          - visibility
          - cloudCover
          - cloudBase
          - cloudCeiling
          - moonPhase
          - weatherCode
          - grassIndex
          - treeIndex
          - weedIndex

Template sensors:

# Tomorrow.io sensors
  - sensor:
      - name: Temperature - Actual
        unique_id: tomorrowio_temperature_actual
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'temperature') }}"
        icon: 'mdi:thermometer'
        unit_of_measurement: "°C"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'temperature') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'temperature') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'temperature') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'temperature') }}"

      - name: Temperature - Apparent
        unique_id: tomorrowio_temperature_apparent
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'temperatureApparent') }}"
        icon: 'mdi:thermometer-lines'
        unit_of_measurement: "°C"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'temperatureApparent') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'temperatureApparent') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'temperatureApparent') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'temperatureApparent') }}"

      - name: Humidity
        unique_id: tomorrowio_humidity
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'humidity') }}"
        icon: 'mdi:water-percent'
        unit_of_measurement: "%"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'humidity') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'humidity') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'humidity') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'humidity') }}"

      - name: Wind Speed
        unique_id: tomorrowio_wind_speed
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'windSpeed') }}"
        icon: 'mdi:windsock'
        unit_of_measurement: "m/s"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'windSpeed') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'windSpeed') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'windSpeed') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'windSpeed') }}"

      - name: Wind Gust
        unique_id: tomorrowio_wind_gust
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'windGust') }}"
        icon: 'mdi:weather-windy'
        unit_of_measurement: "m/s"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'windGust') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'windGust') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'windGust') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'windGust') }}"

      - name: Pressure
        unique_id: tomorrowio_pressure
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'pressureSurfaceLevel') }}"
        icon: 'mdi:gauge'
        unit_of_measurement: "hPa"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'pressureSurfaceLevel') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'pressureSurfaceLevel') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'pressureSurfaceLevel') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'pressureSurfaceLevel') }}"

      - name: Precipitation Intensity
        unique_id: tomorrowio_precipitation_ intensity
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'precipitationIntensity') }}"
        icon: 'mdi:weather-pouring'
        unit_of_measurement: "mm/hr"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'precipitationIntensity') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'precipitationIntensity') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'precipitationIntensity') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'precipitationIntensity') }}"

      - name: Precipitation Probability
        unique_id: tomorrowio_precipitation_probability
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'precipitationProbability') }}"
        icon: 'mdi:weather-partly-rainy'
        unit_of_measurement: "%"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'precipitationProbability') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'precipitationProbability') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'precipitationProbability') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'precipitationProbability') }}"

      - name: Precipitation Type
        unique_id: tomorrowio_precipitation_type
        state: >
          {% set pvar = {
              0: "Nothing",
              1: "Rain",
              2: "Snow",
              3: "Freezing Rain",
              4: "Ice Pellets"
          } %}
          {{ pvar.get(state_attr('sensor.tomorrowio_day_0', 'precipitationType')) }}
        icon: 'mdi:weather-snowy-rainy'
        attributes:
          Today: >
            {% set pvar = {
                0: "Nothing",
                1: "Rain",
                2: "Snow",
                3: "Freezing Rain",
                4: "Ice Pellets"
            } %}
            {{ pvar.get(state_attr('sensor.tomorrowio_day_0', 'precipitationType')) }}
          Tomorrow: >
            {% set pvar = {
                0: "Nothing",
                1: "Rain",
                2: "Snow",
                3: "Freezing Rain",
                4: "Ice Pellets"
            } %}
            {{ pvar.get(state_attr('sensor.tomorrowio_day_1', 'precipitationType')) }}
          Today + 2: >
            {% set pvar = {
                0: "Nothing",
                1: "Rain",
                2: "Snow",
                3: "Freezing Rain",
                4: "Ice Pellets"
            } %}
            {{ pvar.get(state_attr('sensor.tomorrowio_day_2', 'precipitationType')) }}
          Today + 3: >
            {% set pvar = {
                0: "Nothing",
                1: "Rain",
                2: "Snow",
                3: "Freezing Rain",
                4: "Ice Pellets"
            } %}
            {{ pvar.get(state_attr('sensor.tomorrowio_day_3', 'precipitationType')) }}

      - name: Sunrise Time
        unique_id: tomorrowio_sunrise_time
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'sunriseTime').partition('T')[-1].rpartition('Z')[0] }}"
        icon: 'mdi:weather-sunset-up'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'sunriseTime').partition('T')[-1].rpartition('Z')[0] }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'sunriseTime').partition('T')[-1].rpartition('Z')[0] }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'sunriseTime').partition('T')[-1].rpartition('Z')[0] }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'sunriseTime').partition('T')[-1].rpartition('Z')[0] }}"

      - name: Sunset Time
        unique_id: tomorrowio_sunset_time
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'sunsetTime').partition('T')[-1].rpartition('Z')[0] }}"
        icon: 'mdi:weather-sunset'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'sunsetTime').partition('T')[-1].rpartition('Z')[0] }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'sunsetTime').partition('T')[-1].rpartition('Z')[0] }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'sunsetTime').partition('T')[-1].rpartition('Z')[0] }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'sunsetTime').partition('T')[-1].rpartition('Z')[0] }}"

      - name: Visibility
        unique_id: tomorrowio_visibility
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'visibility') }}"
        icon: 'mdi:weather-fog'
        unit_of_measurement: "km"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'visibility') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'visibility') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'visibility') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'visibility') }}"

      - name: Cloud Cover
        unique_id: tomorrowio_cloud_cover
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudCover') }}"
        icon: 'mdi:cloud-outline'
        unit_of_measurement: "%"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudCover') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'cloudCover') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'cloudCover') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'cloudCover') }}"

      - name: Cloud Base
        unique_id: tomorrowio_cloud_base
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudBase') }}"
        icon: 'mdi:cloud-download-outline'
        unit_of_measurement: "km"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudBase') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'cloudBase') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'cloudBase') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'cloudBase') }}"
  
    - name: Cloud Ceiling
        unique_id: tomorrowio_cloud_ceiling
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudCeiling') }}"
        icon: 'mdi:cloud-upload-outline'
        unit_of_measurement: "km"
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'cloudCeiling') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'cloudCeiling') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'cloudCeiling') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'cloudCeiling') }}"

      - name: Moon Phase
        unique_id: tomorrowio_moon_phase
        state: >
          {% set mvar = {
              0: "New",
              1: "Waxing Crescent",
              2: "First Quarter",
              3: "Waxing Gibbous",
              4: "Full",
              5: "Waning Gibbous",
              6: "Third Quarter",
              7: "Waning Crescent"
          } %}
          {{ mvar.get(state_attr('sensor.tomorrowio_day_0', 'moonPhase')) }}
        icon: 'mdi:moon-waning-crescent'
        attributes:
          Today: >
            {% set mvar = {
                0: "New",
                1: "Waxing Crescent",
                2: "First Quarter",
                3: "Waxing Gibbous",
                4: "Full",
                5: "Waning Gibbous",
                6: "Third Quarter",
                7: "Waning Crescent"
            } %}
            {{ mvar.get(state_attr('sensor.tomorrowio_day_0', 'moonPhase')) }}
          Tomorrow: >
            {% set mvar = {
                0: "New",
                1: "Waxing Crescent",
                2: "First Quarter",
                3: "Waxing Gibbous",
                4: "Full",
                5: "Waning Gibbous",
                6: "Third Quarter",
                7: "Waning Crescent"
            } %}
            {{ mvar.get(state_attr('sensor.tomorrowio_day_1', 'moonPhase')) }}
          Today + 2: >
            {% set mvar = {
                0: "New",
                1: "Waxing Crescent",
                2: "First Quarter",
                3: "Waxing Gibbous",
                4: "Full",
                5: "Waning Gibbous",
                6: "Third Quarter",
                7: "Waning Crescent"
            } %}
            {{ mvar.get(state_attr('sensor.tomorrowio_day_2', 'moonPhase')) }}
          Today + 3: >
            {% set mvar = {
                0: "New",
                1: "Waxing Crescent",
                2: "First Quarter",
                3: "Waxing Gibbous",
                4: "Full",
                5: "Waning Gibbous",
                6: "Third Quarter",
                7: "Waning Crescent"
            } %}
            {{ mvar.get(state_attr('sensor.tomorrowio_day_3', 'moonPhase')) }}

      - name: Weather Code
        unique_id: tomorrowio_weather_code
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'weatherCode') }}"
        icon: 'mdi:weather-sunny'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'weatherCode') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'weatherCode') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'weatherCode') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'weatherCode') }}"

      - name: Weather Code Text
        unique_id: tomorrowio_weather_code_text
        state: >
          {% set wvar = {
              0: "Unknown",
              1000: "Clear",
              1001: "Cloudy",
              1100: "Mostly Clear",
              1101: "Partly Cloudy",
              1102: "Mostly Cloudy",
              2000: "Fog",
              2100: "Light Fog",
              3000: "Breezy",
              3001: "Windy",
              3002: "Strong Wind",
              4000: "Drizzle",
              4001: "Rain",
              4200: "Light Rain",
              4201: "Heavy Rain",
              5000: "Snow",
              5001: "Snow Flurries",
              5100: "Light Snow",
              5101: "Heavy Snow",
              6000: "Freezing Drizzle",
              6001: "Freezing Rain",
              6200: "Light Freezing Rain",
              6201: "Heavy Freezing Rain",
              7000: "Ice Pellets",
              7101: "Heavy Ice Pellets",
              7102: "Light Ice Pellets",
              8000: "Thunderstorm"
          } %}
          {{ wvar.get(state_attr('sensor.tomorrowio_day_0', 'weatherCode')) }}
        icon: 'mdi:weather-sunny'
        attributes:
          Today: >
            {% set wvar = {
                0: "Unknown",
                1000: "Clear",
                1001: "Cloudy",
                1100: "Mostly Clear",
                1101: "Partly Cloudy",
                1102: "Mostly Cloudy",
                2000: "Fog",
                2100: "Light Fog",
                3000: "Breezy",
                3001: "Windy",
                3002: "Strong Wind",
                4000: "Drizzle",
                4001: "Rain",
                4200: "Light Rain",
                4201: "Heavy Rain",
                5000: "Snow",
                5001: "Snow Flurries",
                5100: "Light Snow",
                5101: "Heavy Snow",
                6000: "Freezing Drizzle",
                6001: "Freezing Rain",
                6200: "Light Freezing Rain",
                6201: "Heavy Freezing Rain",
                7000: "Ice Pellets",
                7101: "Heavy Ice Pellets",
                7102: "Light Ice Pellets",
                8000: "Thunderstorm"
            } %}
            {{ wvar.get(state_attr('sensor.tomorrowio_day_0', 'weatherCode')) }}
          Tomorrow: >
            {% set wvar = {
                0: "Unknown",
                1000: "Clear",
                1001: "Cloudy",
                1100: "Mostly Clear",
                1101: "Partly Cloudy",
                1102: "Mostly Cloudy",
                2000: "Fog",
                2100: "Light Fog",
                3000: "Breezy",
                3001: "Windy",
                3002: "Strong Wind",
                4000: "Drizzle",
                4001: "Rain",
                4200: "Light Rain",
                4201: "Heavy Rain",
                5000: "Snow",
                5001: "Snow Flurries",
                5100: "Light Snow",
                5101: "Heavy Snow",
                6000: "Freezing Drizzle",
                6001: "Freezing Rain",
                6200: "Light Freezing Rain",
                6201: "Heavy Freezing Rain",
                7000: "Ice Pellets",
                7101: "Heavy Ice Pellets",
                7102: "Light Ice Pellets",
                8000: "Thunderstorm"
            } %}
            {{ wvar.get(state_attr('sensor.tomorrowio_day_1', 'weatherCode')) }}
          Today + 2: >
            {% set wvar = {
                0: "Unknown",
                1000: "Clear",
                1001: "Cloudy",
                1100: "Mostly Clear",
                1101: "Partly Cloudy",
                1102: "Mostly Cloudy",
                2000: "Fog",
                2100: "Light Fog",
                3000: "Breezy",
                3001: "Windy",
                3002: "Strong Wind",
                4000: "Drizzle",
                4001: "Rain",
                4200: "Light Rain",
                4201: "Heavy Rain",
                5000: "Snow",
                5001: "Snow Flurries",
                5100: "Light Snow",
                5101: "Heavy Snow",
                6000: "Freezing Drizzle",
                6001: "Freezing Rain",
                6200: "Light Freezing Rain",
                6201: "Heavy Freezing Rain",
                7000: "Ice Pellets",
                7101: "Heavy Ice Pellets",
                7102: "Light Ice Pellets",
                8000: "Thunderstorm"
            } %}
            {{ wvar.get(state_attr('sensor.tomorrowio_day_2', 'weatherCode')) }}
          Today + 3: >
            {% set wvar = {
                0: "Unknown",
                1000: "Clear",
                1001: "Cloudy",
                1100: "Mostly Clear",
                1101: "Partly Cloudy",
                1102: "Mostly Cloudy",
                2000: "Fog",
                2100: "Light Fog",
                3000: "Breezy",
                3001: "Windy",
                3002: "Strong Wind",
                4000: "Drizzle",
                4001: "Rain",
                4200: "Light Rain",
                4201: "Heavy Rain",
                5000: "Snow",
                5001: "Snow Flurries",
                5100: "Light Snow",
                5101: "Heavy Snow",
                6000: "Freezing Drizzle",
                6001: "Freezing Rain",
                6200: "Light Freezing Rain",
                6201: "Heavy Freezing Rain",
                7000: "Ice Pellets",
                7101: "Heavy Ice Pellets",
                7102: "Light Ice Pellets",
                8000: "Thunderstorm"
            } %}
            {{ wvar.get(state_attr('sensor.tomorrowio_day_3', 'weatherCode')) }}

      - name: Pollen - Grass
        unique_id: tomorrowio_pollen_grass
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'grassIndex') }}"
        icon: 'mdi:grass'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'grassIndex') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'grassIndex') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'grassIndex') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'grassIndex') }}"

      - name: Pollen - Tree
        unique_id: tomorrowio_pollen_tree
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'treeIndex') }}"
        icon: 'mdi:tree'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'treeIndex') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'treeIndex') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'treeIndex') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'treeIndex') }}"

      - name: Pollen - Weed
        unique_id: tomorrowio_pollen_weed
        state: "{{ state_attr('sensor.tomorrowio_day_0', 'weedIndex') }}"
        icon: 'mdi:spa'
        attributes:
          Today: "{{ state_attr('sensor.tomorrowio_day_0', 'weedIndex') }}"
          Tomorrow: "{{ state_attr('sensor.tomorrowio_day_1', 'weedIndex') }}"
          Today + 2: "{{ state_attr('sensor.tomorrowio_day_2', 'weedIndex') }}"
          Today + 3: "{{ state_attr('sensor.tomorrowio_day_3', 'weedIndex') }}"

The code’s a bit messy and repetitive, but it works.

It needs the API url added into your secrets.yaml file (the long one with your location co-ords, time steps and API key and list of fields in it). You can add or remove from the code above based on the fields you want to scrape and use.

The fields mine uses are:

temperature,temperatureApparent,humidity,windSpeed,windGust,pressureSurfaceLevel,precipitationIntensity,precipitationProbability,precipitationType,sunriseTime,sunsetTime,visibility,cloudCover,cloudBase,cloudCeiling,moonPhase,weatherCode,grassIndex,treeIndex,weedIndex

You’re a champ – will definitely have to massage your code to get it integrated (ugh – I find API work exhausting, probably because I’m terrible at it), but this is a great head start.

To be 100% clear for others reading however, I meant the currently available home assistant integration for Climacell (ie: Configuration → Integrations), not a rest sensor accessing the API directly.

I tried reinstalling it again this morning, and it gave me a completely different set of data compared to my first attempt. (Lots of daily forecasts instead of a smattering of pollen, AQI, etc).

I believe I am having the same issue. Configuration installation went OK and accepted my key.
The integration shows 28 entities, but only weather.climacell_daily is reporting. Every single other entity is unavailable. I am on the latest version of HA.

So I’m not mad!

Not a solution sadly, but I think it’s fair to say the ClimaCell integration is boinked right now. I’m quite certain we could build our own with the RESTful API and sensors, but I’m quietly hoping someone else does the work of fixing the built in one .

Thanks!

1 Like