Skip to content

Conversation

@jcisio
Copy link

@jcisio jcisio commented Dec 19, 2025

Proposed change

Add an integration to support Hypontech micro inverters via Hyponcloud. It's a new company (established in 2018) growing fast and it's top 10 world wide.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

Copy link

@home-assistant home-assistant bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jcisio

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@home-assistant home-assistant bot marked this pull request as draft December 19, 2025 13:41
@jcisio jcisio changed the title Hypontech Hypontech micro invertors support via Hyponcloud Dec 19, 2025
@jcisio
Copy link
Author

jcisio commented Dec 26, 2025

It has been running in "production" (my real HA instance) for a week without problem.

image

@jcisio jcisio marked this pull request as ready for review December 29, 2025 16:32
@home-assistant home-assistant bot requested a review from joostlek December 29, 2025 16:32
@jcisio
Copy link
Author

jcisio commented Dec 30, 2025

@pantherale0 thank you for your review, it simplified greatly the error catching.

@pantherale0
Copy link
Contributor

No worries, the PR looks pretty good to be honest, there is a little bit around the device_registry handling that you could simplify. I assume the overview device is a sum of all the devices that a user may have in their account?

Comment on lines 17 to 22
@dataclass
class HypontechSensorData:
"""Representing different Hypontech sensor data."""

# plant_data: PlantData
overview_data: OverviewData
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But if we currently don't then we currently don't have to wrap it

Comment on lines +17 to +21
def __init__(self, coordinator: HypontechDataCoordinator) -> None:
"""Initialize the entity."""
super().__init__(coordinator)
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, coordinator.config_entry.entry_id)},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do devices work in hypontech? What if I have 2 devices?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Hypontech, you have one account where you have access to devices in different locations ("Plant"). In each location you can have multiple devices (a batterie, a few micro inverters etc.). To have an idea of what are the informations available you can look at this example script https://github.com/jcisio/hyponcloud/blob/main/example.py.

So, if you have 2 micro inverters, usually they are in the same location. You might put them in different locations like balcony, garden but they are basically the same location. Location is used for weather forecast, so if all devices are at your house normally you want to put them in a single location.

Then "Overview" is aggregation of all locations.

For the simplicity, in this first PR I want just a virtual "overview" device.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would kinda opt to say that we should implement the plants first, as that will provide better data than the complete overview. As in

  1. If someone has 2 locations (let's say office and home), then the overview is useless
  2. If you only have a single location, then the overview is useless compared to the location total, as they are the same

So I would say entities that have the exact sum aren't really useful by default

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, I'd like to support the simplest and the most popular use case first to keep the PR small. Very few HA users have Hypontech inverters, amongst them very few have multiple locations.

This is also my first integration so I avoided to make it complicated, and I can test only one location in my setup. I can guess for multiple location, but I haven't checked the API for multiple devices per location. Dongles are not useful I think, but Inverters could replace locations.
image

That said, if you think this change helps it getting merged then I'd be happy to implement it. Location seems to be a good intermediate solution, and I think we will keep it anyway even if we implement inverters.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done! I've added the Plant sensors.

@home-assistant home-assistant bot marked this pull request as draft January 2, 2026 15:21
@jcisio jcisio marked this pull request as ready for review January 2, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants