I’m trying to work myself through this - one step at a time. Being new to HA doesn’t help but it looks like the installation is now ok.
Are there any code samples I could adopt to get this data onto my dashboard? Looking at the documentation I believe the template platform is the way to go but given this is the first custom_component I install I’m really tapping in the dark.
Finally got around to try this out. After installing the various cards (with HACS) the card you provided saved but it doesn’t display any cards other than the title.
Even if no data was to come in due to say authentication issues I should still see the various cards, right?
I have used the standard file on GitHub and your config. Had to install a few components such as vertical-stack-in-card and mini-graph-card but after that I could save the integration.
Having examined the log file I found another error: “… integration energyeasy not found”. Thought this error was fixed but apparently not. As advised earlier I have changed the folder structure
from /custom_components/sensor/energyeasy.py
to: /custom_components/energyeasy/sensor.py
Could you please provide the corresponding configuration.yaml extract that relates to this integration to eliminate that I have introduced some errors there. txs
That looks sweet and gives you great insight. Had a quick look at Powercor’s portal which on first sight looks to be similar to United Energy’s portal. Couldn’t you directly get this data from Powercor’s portal rather than directly from the smartmeter which I believe is what you do with the Eagle-200 unless I don’t understand this correctly.
On my end I finally got the integration up. It must have been an issue with the Python script I installed first. Re-installed and it was ok. Didn’t yet make any comparison on the data on Home Assistant vs what I get on the portal but small steps…
I’m not that handy at coding, so I took the easy way out.
It all depends on how detailed you want the data.
Using data from the Powercor website only appears to be in 30 minute increments.
As for accessing my usage via the Eagle, it is real time.
When I turn the kettle on, I see an immediate rise in usage.
Good work with the script - It’s awesome to see people developing smart meter access.
It was that access to data we were promised years ago when they installed them.
It was a while back and I was trying all sorts of things but I think it it started working after I added and modified two more files from the original branch that this forked from. https://github.com/mvandersteen/ha-jemenaoutlook, ‘init.py’ and ‘manifest.json’ and rebooted the host not just home assistant.
I just installed the addon with init.py and manifest.json from the jemena rep. I am getting an error in the log:
Error while setting up energyeasy platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 231, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/energyeasy/sensor.py", line 156, in setup_platform
sensors.append(EnergyEasySensor(energyeasy_data, variable, name))
File "/config/custom_components/energyeasy/sensor.py", line 180, in __init__
self._state = round(self.jemenaoutlook_data.data[self.type], 2)
TypeError: type NoneType doesn't define __round__ method
not sure what to make of it. looking at the code, it clearly passes the check (if statement) that checks for noneType:
if self.type in self.energyeasy_data.data is not None:
if type(self.energyeasy_data.data[self.type]) == type(''):
self._state = self.energyeasy_data.data[self.type]
else:
self._state = round(self.energyeasy_data.data[self.type], 2)
it passes the first condition but fails with noneType on the else statement. I don’t get it, can anyone help?
Got into sensor.py, find this line: " def init (self, energyeasy_data, sensor_type, name): " ensure the line is in line with other functions and not indented.
I’d post the code, but it’ll be pointless if you just need to remove one indent level from a line.