Comments (14)
Error resolved:
tz environmental variable is needed for Home Assistant docker installs.
from home-assistant-petkit.
Hi Robert. I am still getting this 'Unknown error occured' even after I set the TZ environment variable in Home Assistant Docker. I have never had this issue in the past but it seems it won't go away after this HA update. Can you help please?
from home-assistant-petkit.
Edit: I thought I was responding to the original poster. Unknown error can mean many things. Please post the related log here so I can get more info about what is going on.
Go to Settings --> System --> General and make sure you have a timezone set.
Also, go to your user profile and make sure timezone is set there.
If that doesn't work, please paste the related log here.
from home-assistant-petkit.
I tried changing it from HA UI and also from Terminal, but still no success. This is the log:
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/petkit/util.py:19
Integration: PetKit (documentation, issues)
First occurred: 6:57:13 PM (3 occurrences)
Last logged: 6:57:15 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 181, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 297, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 393, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/petkit/config_flow.py", line 110, in async_step_user
await async_validate_api(self.hass, email, password, asia_account)
File "/config/custom_components/petkit/util.py", line 19, in async_validate_api
client = PetKitClient(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/petkitaio/petkit_client.py", line 75, in init
self.tz: str = get_localzone_name()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/tzlocal/unix.py", line 208, in get_localzone_name
_cache_tz_name = _get_localzone_name()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/tzlocal/unix.py", line 158, in _get_localzone_name
raise zoneinfo.ZoneInfoNotFoundError(message)
zoneinfo._common.ZoneInfoNotFoundError: 'Multiple conflicting time zone configurations found:\n/etc/timezone: Africa/Lusaka\n/etc/localtime is a symlink to: Europe/Bucharest\nFix the configuration, or set the time zone in a TZ environment variable.\n'
from home-assistant-petkit.
Looks like you have some conflicting timezone issues on the OS that you're running the container on.
-
What did you set the TZ environment variable to for the Home Assistant Docker container?
-
Also, please post the output from running
ls -l /etc/localtime
in your terminal on the machine that is hosting the docker container (not within the Home Assistant container itself). -
What OS & version are you running (Ubuntu, Arch, etc)?
from home-assistant-petkit.
I set it to Europe/Bucharest when I installed HA. I used this command:
docker run -d
--name homeassistant
--privileged
--restart=unless-stopped
-e TZ=Europe/Bucharest
-v /home/petrutghita/Documents:/config
--network=host
ghcr.io/home-assistant/home-assistant:stable
This is what ls -l /etc/localtime gets:
pi@raspberrypi:~ $ ls -l /etc/localtime
lrwxrwxrwx 1 root root 36 Jul 10 18:54 /etc/localtime -> /usr/share/zoneinfo/Europe/Bucharest
Both Profile and System time zones within HA are set to Europe/Bucharest. I even get the correct time when i run 'date' in docker. I have no idea where /Africa/Lusaka comes from or how I can get rid of it.
Edit: for what is worth I reinstalled HA when I switched apartments and once again after I had some problems with the server. Both times this integration worked flawlessly.
from home-assistant-petkit.
Run sudo timedatectl set-timezone Europe/Bucharest
on your raspberry pi.
After that run cat /etc/timezone
. It should now output Europe/Bucharest. Restart your Pi after making that change. Let me know if the integration works after doing all of that.
from home-assistant-petkit.
I ran those commands and it shows correct timezone Europe/Bucharest, however it still won't let me login and I get the same error.
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/petkit/util.py:19
Integration: PetKit (documentation, issues)
First occurred: 10:32:17 PM (1 occurrences)
Last logged: 10:32:17 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 181, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 297, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 393, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/petkit/config_flow.py", line 110, in async_step_user
await async_validate_api(self.hass, email, password, asia_account)
File "/config/custom_components/petkit/util.py", line 19, in async_validate_api
client = PetKitClient(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/petkitaio/petkit_client.py", line 75, in init
self.tz: str = get_localzone_name()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/tzlocal/unix.py", line 208, in get_localzone_name
_cache_tz_name = _get_localzone_name()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/tzlocal/unix.py", line 158, in _get_localzone_name
raise zoneinfo.ZoneInfoNotFoundError(message)
zoneinfo._common.ZoneInfoNotFoundError: 'Multiple conflicting time zone configurations found:\n/etc/timezone: Africa/Lusaka\n/etc/localtime is a symlink to: Europe/Bucharest\nFix the configuration, or set the time zone in a TZ environment variable.\n'
Edit: Isn't there a way to unlink the Africa/Lusaka symlink? I couldn't find any working solution.
from home-assistant-petkit.
In that case it looks to be an issue within the Home Assistant docker container. You'll need to get into the Home Assistant container shell and execute the cat /etc/timezone
command.
from home-assistant-petkit.
To get into your container, run the following command docker exec -it homeassistant /bin/bash
. Once inside of the container run cd ..
to get to the root. After that you can run the cat /etc/timezone
command.
from home-assistant-petkit.
Ok did that and I got Africa/Lusaka. How do I change it? sudo timedatectl set-timezone Europe/Bucharest
doesn't seem to work
from home-assistant-petkit.
You can use an editor to directly edit the /etc/timezone file.
I don't believe HA comes with the nano editor, but vi works. So, you'd run sudo vi /etc/timezone
. Remove Africa/Lusaka
replace it with Europe/Bucharest
, save + close the file. Restart the container.
If you haven't used vi before:
- Once you open the file, type
i
to insert text. Now you can deleteAfrica/Lusaka
and putEurope/Bucharest
. - Once you are done editing, press the escape button to exit out of insertion mode.
- To write the changes and exit vi, press
Shift
+:
(in order to type:
) and typewq
. The final command should be:wq
. Press return to execute the command.
from home-assistant-petkit.
Well that solved it. Thank you very much especially for the quick responses. Your integration is flawless and you're awesome to say the least!
from home-assistant-petkit.
Glad I could help! Appreciate the kind words.
from home-assistant-petkit.
Related Issues (20)
- Failed to login (US region) HOT 2
- Failed to login (EU region) HOT 16
- Devices offline HOT 18
- Cannot Log in "The phone number is not registered" HOT 3
- Automated cleaning state shows up as unknown - Pura Max HOT 2
- Integration doesn't load, possibly from a migration to docker? HOT 1
- No devices found HOT 3
- Add Russian translation HOT 7
- Virtual Machine without TZ variable HOT 30
- TZ issue HOT 3
- A timezone could not be found HOT 6
- [Feature request] PRESS Button for Feeders HOT 2
- Yumshare Compatibility - Upgraded Gemini HOT 6
- Cat weight HOT 3
- PETKIT Stainless Steel Cat Water Fountain HOT 1
- Avatar URLs HOT 4
- Integration not supported in UI? HOT 2
- Support for YumShare Solo HOT 13
- Litter level & weight always zero HOT 7
- Pet weight rounded on pura max HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from home-assistant-petkit.