New version of the plant integration

I’ve only been trying it in the UI. When I search for Flower, nothing shows. Hmmm. I just re installed it for fun and now I see it in HACS. At least it stays there but there is not Flower Card folder in the community folder. So that’s weird.
I’ll try adding the card manually.

I’m guessing you did refresh your browser cache as HA reminds you to

Yes I did.
Strangely enough. Adding it manually worked.
I still don’t see it in my HACS or in the card selection when in UI mode.
Still no Flower-Card folder in the community folder.
But it works so I’m happy.
Thanks for pushing me to try it manually.

Well theres definitely something strange going on with your config because it should show up in the UI.

Notice that it is called “lovelace-flower-card” in the community-folder.

Well this morning it’s everywhere to be seen! In the community folder and in the search UI section. All is good. Thanks Olen for putting this nice little card together.

Seems that @goatboynz has created a low cost DLI/Sunlight scanner. More details here: Spectrum Card
If this could be structured a bit better, would be a nice all-in-one device for our gardens. I’d love to see how much I torture my plants in South Florida over the summer…

Hi all!

New version of HASS - OpenPlantbook integration 1.4.0 available at:

:new_button: What’s New in version 1.4

  • Sensor monitoring warnings — Stale or missing sensor updates are flagged during upload runs.
  • International common names — OpenPlantbook can return common names in your Home Assistant language.

Currently as beta so please consider to test and feedback if any issues.

I’m quite disappointed by this.

You have submitted several PRs to the integration, and I have provided concrete, constructive feedback on each of them:

Rather than addressing the issues I raised, you’ve chosen to post here announcing your fork as the “new version.”

This is open source, and you are of course free to fork the repo — that’s your right. But the spirit of open source is that we collaborate and build things together, not that we splinter off and position a fork as a replacement the moment a code review doesn’t go our way.

Hey mate. Sorry, I did not mean to disappoint you. I positioned it as beta version but not release. I also did publish the same via other channels/forums much earlier. The intent was that people can get early access to new features while there are back and forth to fix PR stuff. The new features I believe were long requested and waited and since your PR review found no significant but rather superficial issues I see no problems here. Having said that the early testing can also potentially reveal something else so it can be fixed along in the next beta.

I invest almost all my time in Open Plantbook development and unfortunately I don’t have much spare for the integration development hence fixing all the superficial findings from AI agents takes toll on me and is less priority. Because of that I want the testing going sooner than later.

Hi All,

For the benefit of the integration users and just to avoid to confusion, since mine and Olen's views on HASS Open Plantbook Integration are quite different (please excuse me @Olen and don't be offended, I respect your foundational work), I've decided to create my own version (fork) of the integration (OPB integration) which is available at:

I called that "Founder Edition" and it includes a couple of extra features. The goal of this fork is to stay aligned with Open Plantbook features, keep things simple and user-friendly, and remain compatible with Home Assistant, including this custom plant integration.

At this stage, my version has one feature which I believe can be useful for not very experienced HASS users:

Sensor monitoring warnings — Stale or missing sensor updates are flagged during upload runs; details and optional notifications in :bell: Sensors Monitoring.

The latest updates in details can be found here.

I am not offended. I really appreciate your work on OPB, which is why I created the integration in the first place.

I just find it weird that this sensor monitoring is SO important for you to add to the openplantbook-integrations that you feel it requires a complete fork. As explained on multiple occations - monitoring of stale sensor data is already supported by various other HA integrations and lovelace-cards, and is easy to set up, and much more flexible than adding everything to a (imho. completely unrelated) integration. But you are of course free to do as you want with your time.

I looked at your fork, and did not see any other significant differences than this sensor monitoring.

I have - btw. - just added the "plant care" data to the original integraiton, and is currently about to release a new version of both the plant integration and the flower-card that will incorporate that data as well as quite a few other nice fixes.

So expect a 2026.6-release of the plant integration and the flower-card shortly.

I'm glad to hear that. Let's me explain, what I gathered so far is your approach to this integration is a kind of a Unix Philosophy: " "Do One Thing And Do It Well." which is not a wrong one, however my approach is different. It is to make the integration easy to use for a non seasoned user and make it a kind of "One stop shop" (to reasonable degree of course). I don't want users to wire up a few HASS components to do one thing but rather I prefer them to just check a box in the integration. And you are right, it is one outstanding feature at the moment, but having in mind the above-mentioned I foresee more future. I hope it makes sense.

Thank you for adopting "plant care" feature so quickly!
I have already implemented that in my fork here which is in beta for now. You may like to change cache logic as I did there if you have not done it already but I'll leave it to you. I will be back porting new features to your upstream repo as best efforts but feel free to do so on your own too.

BTW, it is a great improvement to the "release notes"/"what's new" in your latest release of this integration. Kudos!

@olen Here is my latest automation utilizing the new problems: attribute list. Sharing in case others find it useful.

'Plant Notifications' (click to expand automation YAML)
alias: Plant Notifications
description: ""
triggers:
  - trigger: state
    entity_id:
      - plant.madagascar_dragon_tree
      - plant.philodendron_imperial_green
      - plant.bombay_orchid
      - plant.flamingo_lily
      - plant.golden_barrel_cactus
      - plant.moon_cactus
      - plant.peruvian_old_man_cactus
      - plant.san_pedro_cactus
      - plant.zebra_haworthia_attenuata
      - plant.zebra_haworthia_fasciata
    attribute: problems
conditions: []
actions:
  - variables:
      labels:
        moisture: Moisture
        temperature: Temperature
        conductivity: Soil conductivity
        illuminance: Illuminance
        humidity: Humidity
        co2: CO₂
        soil_temperature: Soil temperature
        dli: Daily light integral
        vpd: Vapor pressure deficit
      old_problems: "{{ trigger.from_state.attributes.get('problems', []) }}"
      new_problems: "{{ trigger.to_state.attributes.get('problems', []) }}"
      old_problem_keys: |
        {{ old_problems
          | map(attribute='sensor_type')
          | list }}
      new_problem_keys: |
        {{ new_problems
          | map(attribute='sensor_type')
          | list }}
      cleared_types: |
        {{ old_problem_keys | reject('in', new_problem_keys) | list }}
  - repeat:
      for_each: "{{ new_problems }}"
      sequence:
        - variables:
            problem: "{{ repeat.item }}"
            sensor_type: "{{ problem.sensor_type }}"
            label: "{{ labels.get(sensor_type, sensor_type) }}"
            notification_id: "{{ trigger.to_state.entity_id ~ '_' ~ sensor_type }}"
            problem_key: "{{ sensor_type ~ ':' ~ problem.status }}"
            old_matching_problem: |
              {{ old_problems
                | selectattr('sensor_type', 'eq', sensor_type)
                | list
                | first
                | default(none) }}
            old_problem_key: |
              {% if old_matching_problem is not none %}
                {{ old_matching_problem.sensor_type ~ ':' ~ old_matching_problem.status }}
              {% else %}
                {{ none }}
              {% endif %}
        - action: persistent_notification.create
          data:
            notification_id: "{{ notification_id }}"
            title: >-
              {{ trigger.to_state.attributes.friendly_name }}: {{ label }} {{ problem.status }}
              ({{ problem.current }})
            message: >
              {{ label }} is {{ problem.status }}.

              Current: {{ problem.current }} Minimum: {{ problem.min }} Maximum:
              {{ problem.max }}
        - if:
            - condition: template
              value_template: "{{ problem_key != old_problem_key }}"
          then:
            - action: notify.mobile_app_my_phone
              data:
                title: >-
                  {{ trigger.to_state.attributes.friendly_name }}: {{ label }} {{
                  problem.status }} ({{ problem.current }})
                message: >
                  Current: {{ problem.current }} Range: {{ problem.min }} – {{
                  problem.max }}
  - repeat:
      for_each: "{{ cleared_types }}"
      sequence:
        - action: persistent_notification.dismiss
          data:
            notification_id: "{{ trigger.to_state.entity_id ~ '_' ~ repeat.item }}"
mode: queued
species: Anthurium andraeanum
moisture_status: High
temperature_status: ok
conductivity_status: ok
illuminance_status: null
humidity_status: ok
co2_status: null
soil_temperature_status: null
dli_status: ok
vpd_status: null
species_original: anthurium andraeanum
problems:
  - sensor_type: moisture
    status: High
    current: "97.0"
    min: "30.0"
    max: "65.0"
device_class: plant
entity_picture: https://opb-img.plantbook.io/anthurium%20andraeanum.jpg
icon: mdi:flower
friendly_name: Flamingo Lily