Closed whulshof closed 1 year ago
See #69
I'm having the same issue. It's caused by entsoe returning E-notation pricing for the netherlands. Thereby causing python to treat the api returned value as an str that is passed to the rounding function (that strips up to the last 5 digits of a price). By instructing (casting) the value to float explicitly it's working again on my instance. @JaccoR Could you merge my PR and make an emergency release? Since all dutch users will have a broken integration until this fix is released or until there are no more prices E notation in them
For anybody reading this you could clone this branch/repo and copy it's contents to your custom_components directory. Then do a restart and then everything will work until jaccor releases an new version with my fix (or the upcoming days don't contain E notation pricing)
When the new release is made you can just update via hacs again to overwrite the changes made by the copying action
@sfstar I added 'float" in the coordinator.py file and restarted but without success. I changed the file by using file editor
below my changed coordinator.py, did I do something wrong?
template_value = self.modifyer.async_render(now=faker(), current_price=price)
else:
template_value = self.modifyer.async_render()
price = round(float(template_value * (1 + self.vat)), 5)
return price
Just to check:
custom_components/entsoe
?Hi,
answer on both your questions are yes, below the error message:
Logger: custom_components.entsoe.coordinator Source: custom_components/entsoe/coordinator.py:74 Integration: ENTSO-e Transparency Platform (documentation, issues) First occurred: 5:17:30 PM (4 occurrences) Last logged: 5:18:16 PM
Unexpected error fetching ENTSO-e coordinator data: can't multiply sequence by non-int of type 'float' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 205, in _async_refresh self.data = await self._async_update_data() File "/config/custom_components/entsoe/coordinator.py", line 96, in _async_update_data parsed_data = self.parse_hourprices(data) File "/config/custom_components/entsoe/coordinator.py", line 80, in parse_hourprices hourprices[hour] = self.calc_price(value=price, fake_dt=hour) File "/config/custom_components/entsoe/coordinator.py", line 74, in calc_price price = round(float(template_value * (1 + self.vat)), 5) TypeError: can't multiply sequence by non-int of type 'float'
Just got another idea what it might be: are you using a custom template for calculating the costs? If so it might be that for the vat multiplication it is also getting an str multiplication error
ow gg, yeah that is it
try changing:
price = round(float(template_value * (1 + self.vat)), 5)
to
price = round(float(template_value) * (1 + self.vat), 5)
If that works for your case I'll be updating my pr so that it's also working for custom template users
many thanks! price = round(float(template_value) * (1 + self.vat), 5) did the trick!
Had little time today, so i just merged an did a new release. Just saw your message @sfstar . So i think your update was not included..
You were just 2 minutes to early @JaccoR
I can re-open a PR or you could change it on main (if you like)
You can reopen a pr, ill approve right away, am on my phone atm
This is the PR https://github.com/JaccoR/hass-entso-e/pull/70 should have done PR 70 originally, but I though hey to be sure that vat is also correctly interpreted include it in the cast. So in short should have gone with my first instinct :)
Great thank you :)
Thanks for merging, are you capable (on mobile) of making a release? (never had to do that myself - on mobile)
Edit: nvm, see that the release was made. Thanks for logging in on mobile :)
@JaccoR are you going to re-tag the 0.1.3 release or create an 0.1.4 release so that the PR 70 is also included?
works like a charm again! Thanks, guys.
I'm getting "can't multiply sequence by non-int of type 'float'" in the integration tile. No data for today or tomorrow
< 2022-11-06 14:14:38.950 ERROR (MainThread) [custom_components.entsoe.coordinator] Unexpected error fetching ENTSO-e coordinator data: can't multiply sequence by non-int of type 'float' File "/config/custom_components/entsoe/coordinator.py", line 100, in _async_update_data File "/config/custom_components/entsoe/coordinator.py", line 85, in parse_hourprices File "/config/custom_components/entsoe/coordinator.py", line 79, in calc_price 2022-11-06 14:14:38.962 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Day Ahead Prices' for entsoe integration not ready yet: can't multiply sequence by non-int of type 'float'; Retrying in background 2022-11-06 14:14:45.878 ERROR (MainThread) [custom_components.entsoe.coordinator] Unexpected error fetching ENTSO-e coordinator data: can't multiply sequence by non-int of type 'float' File "/config/custom_components/entsoe/coordinator.py", line 100, in _async_update_data File "/config/custom_components/entsoe/coordinator.py", line 85, in parse_hourprices File "/config/custom_components/entsoe/coordinator.py", line 79, in calc_price >