Closed ToddCrimson closed 1 year ago
This is the second report of this issue. First was #245 (Closed). That was resolved by uninstalling/reinstalling hass-opensprinkler
, but I suspect there was more to it than that. You might look at that thread for ideas.
Thanks for supplying the log--very useful. The Config flow is trying to load the pyopensprinkler
dependency and is failing to reach the server. Looks like a network or proxy issue?
I'm reaching here, but have you tried a reboot of the HA server?
And just for fun, can you ping files.pythonhosted.org
from the HA command line?
I was able to upgrade to pyopensprinkler-0.7.7
on a test machine a few minutes ago using:
pip install pyopensprinkler --upgrade
so it was accessible when I tried. (Just a test...I'm not suggesting you do that on HA.)
Ed thanks for the detailed response. Ok so if this integration is dependent on cloud in any way shape or form, it will not work for me then. I have a 100% offline HA setup, not because I want to, but because it is in a remote place. No data whatsoever, and this is why I've setup automation so when I'm not there, it just works.
So while locally everything will work, and I can access my opensprinkler over local browser too. There is no Internet connection.
So just to reconfirm, is this integration in any way dependent on the cloud / internet access?
I'm also going to check on #245 (thanks for the suggestion)
If your HA server has no internet connection, then you don't need to look at #245...you've found the problem.
But, no, hass-opensprinkler
is not cloud based. It just needs to connect to the OpenSprinkler controller during normal operation. However, like pretty much all integrations, it has dependencies, and those dependencies need to be downloaded during installation. So you either need to move the server to a place with a connection while installing or figure out how to manually install the dependencies, something that could be a bit of a nuisance.
The listed dependency in manifest.json
is pyopensprinkler
, which is the generic (non-HA) part that talks to the OpenSprinkler controller, per HA integration development policy. But there are other dependencies as well, and they all have dependencies. Would be best to take it home, get everything installed, and take it back to the remote site. It will be fine until you decide to upgrade.
Thank Ed,
Ok, now I understand. It is the dependency download. Hmmm... Do I need to bring the HA server and the Open Sprinkler down with me or just the HA server?
You should be able to grab only the HA server.
I installed a fresh copy of HA on a test VM and copied hass-opensprinkler
to an empty custom_components
. I then went to Settings\Integrations, ADD INTEGRATION, and let it initialize. This is the point where "requirements" from manifest.json
are downloaded.
When the configuration dialog came up, I pulled the DSL line to my router and restarted HA. I repeated the above to ADD INTEGRATION. This time there was no delay, since the "requirements" were already installed. I entered the local IP address and password for my OpenSprinkler controller, and it succeeded.
Good luck!
Thank you so much. I will drive up north this weekend, bring down the HA server to a local coffee shop. Sit down, update the OS etc and also the OpenSprinkler.
OH one more question. Do you know anything about how to integrate the lovelace JS card? I see the instructions, and I added that into the www/ folder, and then added the resource, but I don't see that card as being available in any of my dashboards
Nevermind, I figured it out. Ok I'll come back here and give an update once I make these changes over the weekend.
I really hope HA team and others figure out a method where installations as mine (albeit edge case), can be updated via USB sticks :)
There will likely be a new version of hass-opensprinkler
end of next week with some new features. No promises, since I'm not the owner. You can view recent pull requests on github
to get an idea of what's coming.
Also, be sure to include http://
with your IP address during config. A port number is not necessary unless you have changed it, as 80
is the default.
Ahh thanks, I looked at the pull requests
I really hope HA team and others figure out a method where installations as mine (albeit edge case), can be updated via USB sticks :)
Here are a couple of links to ponder. Note that installing Python packages on HA is not as simple as the example in the first article.
https://stackoverflow.com/questions/11091623/how-to-install-packages-offline
https://community.home-assistant.io/t/hassio-offline-installation/133885
In any case, if the "requirements" in manifest.json
haven't changed, you should be able to update hass-opensprinkler
without taking the server home. But eventually you'll want to upgrade HA itself, so maybe time it with a pyopensprinkler
upgrade.
Thanks Ed,
Ok reporting back, successful installation and it works :) Just one annoying thing I noticed, that the integration brings up in HA, every 5 to 10 seconds Open Sprinkler updating its time from NTP server. That is a log hog, and just overpowers the logbook. So I just disabled that time update parameter. But otherwise it works great ...
I really hope HA team and others figure out a method where installations as mine (albeit edge case), can be updated via USB sticks :)
Here are a couple of links to ponder. Note that installing Python packages on HA is not as simple as the example in the first article.
https://stackoverflow.com/questions/11091623/how-to-install-packages-offline
https://community.home-assistant.io/t/hassio-offline-installation/133885
In any case, if the "requirements" in
manifest.json
haven't changed, you should be able to updatehass-opensprinkler
without taking the server home. But eventually you'll want to upgrade HA itself, so maybe time it with apyopensprinkler
upgrade.
Thank you, that helps understand the complication.
Ok reporting back, successful installation and it works :)
Excellent! Glad it worked out in the end.
Just one annoying thing I noticed, that the integration brings up in HA, every 5 to 10 seconds Open Sprinkler updating its time from NTP server. That is a log hog, and just overpowers the logbook. So I just disabled that time update parameter. But otherwise it works great ...
Can you post a sample from the log?
I wish I could, I left, but it was the entity called "sensor.opensprinkler_current_time" Constant updates. So I check the firewall, and saw that opensprinkler itself pinged the NTP server every few seconds to keep in sync, that in turn updated the HA entity above.
sensor.opensprinkler_current_time
is something I added since the last release, so you must be using the latest from master
, correct?
I know it gets updated a lot, but didn't realize the controller was pinging NTP constantly.
OK, you did say Logbook, and I read "Logs". Yes, that's a lot of static. I'll look into it.
Just one annoying thing I noticed, that the integration brings up in HA, every 5 to 10 seconds Open Sprinkler updating its time from NTP server. That is a log hog, and just overpowers the logbook.
See #249 for solution.
I think everything here has been resolved
Hi, I just installed your OpenSprinkler integration using the manual method. I go into integration, I see the integration, but when I try to add it, it doesn't load. Gives the error in a dialog box stating:
ERROR - Config flow could not be loaded: <html><body><h1>504 Gateway Time-out</h1> The server didn't respond in time. </body></html>
And then in the Log File, I see the following
Unable to install package pyopensprinkler==0.7.7: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8600c11650>: Failed to establish a new connection: [Errno 101] Network unreachable')': /musllinux/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fe3d8bd0>: Failed to establish a new connection: [Errno 101] Network unreachable')': /musllinux/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fe3d83d0>: Failed to establish a new connection: [Errno 101] Network unreachable')': /musllinux/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdd19b90>: Failed to establish a new connection: [Errno 101] Network unreachable')': /musllinux/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdd0ec10>: Failed to establish a new connection: [Errno 101] Network unreachable')': /musllinux/ WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdcf1790>: Failed to establish a new connection: [Errno 101] Network unreachable')': /simple/pyopensprinkler/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fe3e4350>: Failed to establish a new connection: [Errno 101] Network unreachable')': /simple/pyopensprinkler/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdd69190>: Failed to establish a new connection: [Errno 101] Network unreachable')': /simple/pyopensprinkler/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdd31050>: Failed to establish a new connection: [Errno 101] Network unreachable')': /simple/pyopensprinkler/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85fdd30450>: Failed to establish a new connection: [Errno 101] Network unreachable')': /simple/pyopensprinkler/ ERROR: Could not find a version that satisfies the requirement pyopensprinkler==0.7.7 (from versions: none) ERROR: No matching distribution found for pyopensprinkler==0.7.7
Please help