Owl Intuition pv & Home Assistant

Looks OK here.

I only have heating (2 zones but only one visible in HA) and Hot Water. Electricity was removed when we had solar fitted as I didn’t have the correct unit to allow eparate import/export measurements so couldn’t test that.

I lost the Hotwater status during the day and a restart of HA didn’t seem to help even though it was fine for a few hours

I notice that there’s a difference between the Heating State and Hotwater state lines with a missing None as the second parameter. When I made my local changes I included the None and it worked fine.

There was nothing untoward in the logs.

Before

SENSOR_HOTWATER_STATE: ['Hotwater State', '', 'mdi:information-outline', OWLCLASS_HOTWATER, None, None],

After

SENSOR_HOTWATER_STATE: ['Hotwater State', None, 'mdi:information-outline', OWLCLASS_HOTWATER, None, None],

I’m not sure what this does but I think it needs to be there?

Yep, that also looked like an inconsistency. I’ve fixed it, and a priori the code in Added support for multizone sensors by glpatcern · Pull Request #28 · custom-components/sensor.owlintuition · GitHub allows to support multizone with Hot Water. Would you be able to give it a try? Thanks!

I just updated HA and I’m now getting the error below with the integration. I downloaded the latest sensor.py file for the integration, but it didn’t fix it.

I have rolled back using a backup to version 2023.5.3 and it’s all working again, any ideas?

Logger: homeassistant.loader
Source: custom_components/owlintuition/sensor.py:164
Integration: owlintuition (documentation)
First occurred: 8:35:33 PM (1 occurrences)
Last logged: 8:35:33 PM

Unexpected exception importing platform custom_components.owlintuition.sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 833, in get_platform
    cache[full_name] = self._import_platform(platform_name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 850, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/owlintuition/sensor.py", line 164, in <module>
    @asyncio.coroutine
     ^^^^^^^^^^^^^^^^^
AttributeError: module 'asyncio' has no attribute 'coroutine'

Hi there, this seems exactly what was discussed in Remove coroutine decorator removed in Python 3.11 by shortbloke · Pull Request #31 · custom-components/sensor.owlintuition · GitHub

Did you fetch the latest code from today?

Check out my work here which uses node-red, It’ll show you how to do it:-

Or even here:-

1 Like

Hi Graham,

Great to see that your project is still active, but for the readers of this thread the sensor we discuss here is “native”, in the sense that it does not require any other (Arduino-based or other) system to convert OWL data to MQTT or the like.

There have been a few updates lately, and I will tag a new release soon as the recent issues ought to be all fixed (unless proven wrong of course!).

I started out using an ESP 8266 and “Arduino” code but then I discovered Node-Red which made that obsolete. Check out the Node-Red Flow I posted. It only deals with the Owl Central Heating thermostat and Mains Power sensor.

Ok, but where do you run Node-Red? You still need another “system” independent from HA as far as I understand, right?

Node-Red is an Add-On for Home Assistant. Go to Settings/Add-Ons and you will see it there. If you are not familiar with it then it might take a few days just to get your head round it. Things that you create are referred to as Flows. To test out my Flow you will need to download it (the flow.json) from github and then Import it into Node-Red (3 lines menu, top right/Import). You may also need to add some Node pallettes (3 lines menu/Manage Pallettes). Get back to me if you pursue this and get stuck.

I’m running HA 2023.7.3 and trying to use the owlintuition integration for the first time (so can’t confirm if it would work on older versions) - I’ve followed all instructions and have the necessary files under /custom_components/owlintuition and added the necessary to my configuration.yaml but keep getting ‘Platform error sensor.owlintuition - Integration ‘owlintuition’ not found’ when trying to reload my config.

Any ideas?

I’ve tested on HAOS 10.0 and Core 2023.4.6 and it’s working - would love to keep it working on the latest versions though

Hi Mark,
Could you please share your HA logs on the latest version? Maybe post them in a GitHub issue. Chances are that HA introduced a (yet another) breaking change and the sensor needs adaptations.

Sorry to ask a beginner question but I currently have 2 owl systems in my building both sending info to different accounts. How would I go about adding them both to HA? Would it be a case of duplicating the installation but with a different custom component name or is it more in depth than that? Thanks for any suggestions and keep up the good work. Was surprised how easy it was to get one working (although I still have a few things that aren’t working properly and I need to work out what its actually reporting on but thats a different day!)

Rob

Hi there, I would naively configure the OWL systems to use different ports, and add them as separate integrations in HA with different names indeed. If both use the same port, their updates will overlap and keep overriding each other.

Thank you! Is it enough to put them in different named folders (owlintuition and owlintuition2 for example) under “custom_components” folder then set the different port numbers? I have never made a duplicate integrations before!

Actually you just need the code to be put in custom_components only once, and then in your config file you’d instantiate two times the same integration with two different names.

One thing to note is the integration makes HA log several warnings because it “waits” for data from owl, and two instances will multiply the effect. Yet it should work.

Hope that helps!

1 Like

Thank you! I will give that a go! At the moment I am having some issues with one instance reporting different results on the dashboard and the energy dashboard but I am sure I can work that out!

Thanks again.

Rob

Hello @glopresti
I have Owl Intuition with three phases (triphase) and clamps. I did it according https://github.com/custom-components/sensor.owlintuition/blob/c7c2082580bc46ac818198cc81ed0ecfe53d5ed5/sensor.owlintuition.markdown
My Config is:

sensor:
  - platform: owlintuition
    port: 4334
    host: 10.0.1.200
    mode: triphase
    monitored_conditions:
      - electricity

I get the data, but after a HA restart it takes a long time to have the system ready and I have a lot of errors in the log.

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:929
First occurred: 16:55:16 (545 occurrences)
Last logged: 18:54:16

Update of sensor.owl_intuition_electricity_today is taking over 10 seconds
Update of sensor.owl_intuition_cost_today is taking over 10 seconds
Update of sensor.owl_intuition_electricity_power_p1 is taking over 10 seconds
Update of sensor.owl_intuition_electricity_today_p1 is taking over 10 seconds
Update of sensor.owl_intuition_electricity_power_p2 is taking over 10 seconds

Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:860
Integration: Sensor (documentation, issues)
First occurred: 16:55:30 (191 occurrences)
Last logged: 18:54:00

Updating owlintuition sensor took longer than the scheduled update interval 0:00:30

and

Logger: homeassistant.bootstrap
Source: bootstrap.py:513
First occurred: 16:53:17 (2 occurrences)
Last logged: 16:54:17

Waiting on integrations to complete setup: sensor.owlintuition

What could be wrong? thanks for help (yes I am new :wink:

Hi @tluethi71, I’m afraid you hit HA logs growing quickly with Owl intuition warnings · Issue #32 · custom-components/sensor.owlintuition · GitHub - for which I don’t have a solution. You may try and tune the logging to suppress those messages, as suggested in the GitHub issue.