Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[%key:common::config_flow::error::cannot_connect%] #92

Open
jjanderson opened this issue May 31, 2020 · 85 comments
Open

[%key:common::config_flow::error::cannot_connect%] #92

jjanderson opened this issue May 31, 2020 · 85 comments

Comments

@jjanderson
Copy link

Hi,

I have now deleted all the trace elements of the pre 1.0 version.

I have uninstalled from HACS.

I rebooted

I then re-installed in HACS.

When I try and configure in the integrations, I get [%key:common::config_flow::error::cannot_connect%]

Further info:

I am running OSPI.
My url I have tried is:

  • IP address - Failed with same error
  • http://IP address - Failed with same error
  • IP address:8080 - Failed with same error
  • http://IP address:8080 - Failed with same error

Password is the password, but I also tried with the old Hashed password and I got a different error around authentication

Mac address --> I used the mac address of the raspberry pi

Controller name --> Left as is...

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

What was the host and port you were using with the old version? I am assuming you used: http://[host]:[port]

Its weird you are getting auth error with the hased password so it means its actually connecting.

Are there any other logs in the HA logs? (Developer -> Logs)

@travisghansen
Copy link
Collaborator

I did notice the string was off a while back and forgot to create an issue :(

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

Yea the string works for core integration but not for custom, I hope they will support it in the future. I left it cause it still mostly provided the relevant error

@travisghansen
Copy link
Collaborator

Ah ok

@jdohnstad
Copy link

jdohnstad commented Jun 1, 2020

I have had much the same experience as jjanderson. I was updating from the previous version, followed the instructions on removal and ran into this same error. Tried all the different combinations of port and ip address similar to jjanderson and have been unable to connect. Additionally I have DNS name setup for my controller -- that also doesn't connect.

http://IP address:port
http://ip address
ip address
ip address:port
http://dns name
http://dns name:port
dns name
dns name:port

Nothing works. I have tried the old md5 hashed password, unhashed. For mac address I was using the MAC address of the controller. I looked the code and it looks like this is just used to establish a unique id and not for connectivity? So I also tried just putting some text in there as well.

I am running on docker.

This was all I could find in my HA logs:

Log Details (ERROR)
Logger: backoff
Source: util/thread.py:20
First occurred: 8:15:05 PM (1 occurrences)
Last logged: 8:15:05 PM

Giving up request_http(...) after 3 tries (pyopensprinkler.OpenSprinklerConnectionError: Cannot connect to controller)

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

Its basically supposed to the same URL you use to open the OpenSprinkler UI. I assume that loads in the browser?

I find OS quite finicky when you try to access it using different IP/Hosts. Try rebooting the OS controller and loading the OS UI and then use the same url for the integration.

You are right about the mac address, its not used for connectivity so should not be relevant here

@travisghansen
Copy link
Collaborator

What firmware version are you each on?

@jdohnstad
Copy link

I updated to hass-opensprinkler 1.0.1, restarted HAS, rebooted OpenSprinkler controller. I verified the IP address, can access it directly. I attached to the docker container and verified it can ping the ip as well (this was working pre-1.0.0, so seems unlikely to be connectivity). OpenSprinkler firmware is 2.1.7.

@travisghansen
Copy link
Collaborator

Pre 1.0.0 the requests library was used...now we use httplib2 and I’m wondering if there’s something more stringent with the request with older firmware (like a missing header or something that was sent by requests perhaps but not httplib2).

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

That could be a possibility, but its hard to test without it failing for us. Maybe we can switch to request and test.

@hellfire51 @jjanderson are you guys comfortable with python to be able to run the pyopensprinkler module by itself with we created a git branch with some changes to help us test?

@travisghansen
Copy link
Collaborator

Or maybe reach out privately and give us a temporary password to run some tests..

@jjanderson
Copy link
Author

I am not really comfortable with giving access sorry...

If you could send me steps, i am happy to help with testing in python...

I am running firmware 2.1.8(4) on ospi..

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

Is there an particular reason why you guys have not upgraded to 2.1.9?

@jjanderson
Copy link
Author

Will try that...

@travisghansen
Copy link
Collaborator

Could be hardware related as well. I also don’t know when /ja was added.

@jjanderson
Copy link
Author

I used to get an update notification when new firmware was available.

I have now tried updaing the firmware but it does not seem to work... Have logged a ticket here: https://openthings.freshdesk.com/support/tickets/9207

@dvbit
Copy link

dvbit commented Jun 1, 2020

Same error
Firmware 2.1.5(1)
Hardware 2.1AC
Was working before :-(

@dvbit
Copy link

dvbit commented Jun 1, 2020

Is there an particular reason why you guys have not upgraded to 2.1.9?

Upgrading past 2.1.5 Requires modifying (soldering some pins) and having a HW programmer .
Joys of opensource

@jjanderson
Copy link
Author

funny, got mine (ospi) to 2.1.8(4)... will wait to hear from Ray as it is not clear to me on the best way forward with the firmware...

@travisghansen
Copy link
Collaborator

Ok, I think it’s pretty clear there’s some minor difference that’s required in the request for the older firmware. When I get back to my desk I’ll send over some basic curl commands to have you try and we’ll see what happens.

@rgroce
Copy link

rgroce commented Jun 1, 2020

I too am basically stuck at firmware 2.1.5 due to having version 2.1 hardware. I have the same issue connecting with the new integration. Below are the two errors that are logged in HA while attempting to setup the integration. Hopefully this information is helpful to someone.

Logger: backoff
Source: util/thread.py:20
First occurred: 8:49:06 AM (2 occurrences)
Last logged: 9:12:20 AM

Giving up request_http(...) after 3 tries (pyopensprinkler.OpenSprinklerConnectionError: Cannot connect to controller)

Logger: custom_components.opensprinkler.config_flow
Source: custom_components/opensprinkler/config_flow.py:49
Integration: OpenSprinkler (documentation)
First occurred: 9:13:31 AM (1 occurrences)
Last logged: 9:13:31 AM

Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/opensprinkler/config_flow.py", line 49, in async_step_user
await self.hass.async_add_executor_job(controller.refresh)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.7/site-packages/pyopensprinkler/init.py", line 107, in refresh
for i, _ in enumerate(self._state["programs"]["pd"]):
KeyError: 'programs'

@travisghansen
Copy link
Collaborator

Ok cool. I’ll send send over some curl commands to have everyone to send over the results which should help.

@travisghansen
Copy link
Collaborator

OK, if everyone could run this it would be helpful:

curl -v 'http://ip:port/ja?pw=<md5hashed password>'

And subsequently for those that want to attempt hacking the code:

diff --git a/pyopensprinkler/__init__.py b/pyopensprinkler/__init__.py
index 5a84f5d..e4a2791 100644
--- a/pyopensprinkler/__init__.py
+++ b/pyopensprinkler/__init__.py
@@ -60,7 +60,10 @@ class Controller(object):
             qs = qs + "&" + raw_qs
         url = f"{self._baseUrl}{path}?{qs}"
 
+        print("url: " + str(url))
         (resp, content) = self.request_http(url)
+        print("resp: " + str(resp))
+        print("content: " + str(content))
 
         refresh = self._opts["auto_refresh_on_update"]["enabled"]
         if self.refresh_on_update is not None:
@@ -83,8 +86,12 @@ class Controller(object):
 
     @on_exception(expo, Exception, max_tries=3)
     def request_http(self, url):
+        headers = {"Accept": "*/*"}
         try:
-            (resp, content) = self._http_client.request(url, "GET")
+            (resp, content) = self._http_client.request(
+                url, "GET", headers=headers
+            )
+
             content = json.loads(content.decode("UTF-8"))
 
             if len(content) == 1 and not content["result"] and content["fwv"]:

From what I can tell the most simple difference between requests and httplib2 with these basic requests is that requests include the Accept header and httplib2 does not.

@sdwilsh
Copy link
Contributor

sdwilsh commented Jun 1, 2020

+ print("url: " + str(url))

Will this log a password?

@travisghansen
Copy link
Collaborator

Yes as well as the headers (since the pw is in the path)...cleanse the output before sending it over and/or clean logs as necessary.

@vinteo
Copy link
Owner

vinteo commented Jun 1, 2020

Maybe change it to:

print("url: " + str(f"{self._baseUrl}{path}"))

In this case we probably don't need to know the full url. this will not log the password

@travisghansen
Copy link
Collaborator

I can send a variant that will print it with params before the pw is added in a bit...afk at the moment.

@jdohnstad
Copy link

I pretty-printed the JSON and redacted a few things:

$ curl -v 'http://10.0.0.56:80/ja?pw=<REDACTED>'
* STATE: INIT => CONNECT handle 0x600057a80; line 1404 (connection #-5000)
* Added connection 0. The cache now contains 1 members
*   Trying 10.0.0.56...
* TCP_NODELAY set
* STATE: CONNECT => WAITCONNECT handle 0x600057a80; line 1456 (connection #0)
* Connected to 10.0.0.56 (10.0.0.56) port 80 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x600057a80; line 1573 (connection #0)
* Marked for [keep alive]: HTTP default
* STATE: SENDPROTOCONNECT => DO handle 0x600057a80; line 1591 (connection #0)
> GET /ja?pw=<REDACTED> HTTP/1.1
> Host: 10.0.0.56
> User-Agent: curl/7.59.0
> Accept: */*
>
* STATE: DO => DO_DONE handle 0x600057a80; line 1670 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x600057a80; line 1795 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x600057a80; line 1811 (connection #0)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 200 OK
< Content-Type: application/json
* Marked for [closure]: Connection: close used
< Connection: close
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate
<
* nread <= 0, server closed connection, bailing
* STATE: PERFORM => DONE handle 0x600057a80; line 1980 (connection #0)
* multi_done
* Closing connection 0
* The cache now contains 0 members
* Expire cleared
{
	"settings": {
		"devt": 1591044395,
		"nbrd": 1,
		"en": 1,
		"rd": 0,
		"rs": 0,
		"rdst": 0,
		"loc": "<REDACTED>",
		"wtkey": "<REDACTED>",
		"sunrise": 317,
		"sunset": 1237,
		"eip": <REDACTED>,
		"lwc": 1591042952,
		"lswc": 1591042952,
		"lrun": [
			2,
			1,
			189,
			1590991588
		],
		"sbits": [
			0,
			0
		],
		"ps": [
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			],
			[
				0,
				0,
				0
			]
		],
		"wto": {},
		"ifkey": ""
	},
	"programs": {
		"nprogs": 2,
		"nboards": 1,
		"mnp": 17,
		"mnst": 4,
		"pnsize": 20,
		"pd": [
			[
				3,
				127,
				0,
				[
					16424,
					0,
					0,
					0
				],
				[
					2700,
					2700,
					2700,
					0,
					0,
					0,
					0,
					0
				],
				"Morning"
			],
			[
				2,
				127,
				0,
				[
					12393,
					0,
					0,
					0
				],
				[
					1500,
					1200,
					1200,
					0,
					0,
					0,
					0,
					0
				],
				"Evening"
			]
		]
	},
	"options": {
		"fwv": 217,
		"tz": 28,
		"ntp": 1,
		"dhcp": 1,
		"ip1": 10,
		"ip2": 0,
		"ip3": 0,
		"ip4": 56,
		"gw1": 10,
		"gw2": 0,
		"gw3": 0,
		"gw4": 1,
		"hp0": 80,
		"hp1": 0,
		"hwv": 23,
		"ext": 0,
		"sdt": 0,
		"mas": 8,
		"mton": 0,
		"mtof": 0,
		"urs": 0,
		"rso": 1,
		"wl": 7,
		"den": 1,
		"ipas": 0,
		"con": 150,
		"lit": 100,
		"dim": 15,
		"uwt": 1,
		"ntp1": 10,
		"ntp2": 0,
		"ntp3": 0,
		"ntp4": 1,
		"lg": 1,
		"mas2": 0,
		"mton2": 0,
		"mtof2": 0,
		"fwm": 0,
		"fpr0": 100,
		"fpr1": 0,
		"re": 0,
		"dns1": 10,
		"dns2": 0,
		"dns3": 0,
		"dns4": 1,
		"sar": 0,
		"ife": 63,
		"reset": 0,
		"dexp": 0,
		"mexp": 6,
		"hwt": 172
	},
	"status": {
		"sn": [
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0
		],
		"nstations": 8
	},
	"stations": {
		"masop": [
			127
		],
		"ignore_rain": [
			0
		],
		"masop2": [
			0
		],
		"stn_dis": [
			120
		],
		"stn_seq": [
			127
		],
		"stn_spe": [
			0
		],
		"snames": [
			"Front Yard",
			"Side Yard",
			"Back Yard",
			"S04",
			"S05",
			"S06",
			"S07",
			"Pump"
		],
		"maxlen": 24
	}
}

@travisghansen
Copy link
Collaborator

@hellfire51 can you try to apply the header portion of the patch above by chance and see what happens? You’ll need to hack the files and the restart hass.

@vinteo
Copy link
Owner

vinteo commented Jun 2, 2020

An update, I have dusted off my old raspberrypi and compiled a few versions of the firmware to test:

But I have included the header change and some better error handling/msgs to the PR above, we will see if that helps.

@osteospurnum
Copy link

osteospurnum commented Jun 3, 2020

I don't understand what it means but I am getting:

_* Trying 192.168.1.8:894...

  • TCP_NODELAY set
  • Connected to 192.168.1.8 (192.168.1.8) port 894 (#0)

GET /ja?pw=*********************** HTTP/1.1
Host: 192.168.1.8:894
User-Agent: curl/7.68.0
Accept: /

  • Mark bundle as not supporting multiuse
    < HTTP/1.1 200 OK
    < Content-Type: application/json
    < Connection: close
    < Access-Control-Allow-Origin: *
    < Cache-Control: max-age=0, no-cache, no-store, must-revalidate
    <
  • Closing connection 0
    _

@travisghansen
Copy link
Collaborator

@osteospurnum might want to change your password now FYI, make sure you cleanse any output you send over :(

I'm mostly after hacking the code below the curl example...need to see what's going on with the response from the integration perspective.

@osteospurnum
Copy link

osteospurnum commented Jun 3, 2020

I think that maybe beyond my pay grade

@jdohnstad
Copy link

I wanted to report back that I upgraded to the latest version of hass-opensprinkler and was able to complete the integration installation now. It discovered my programs and stations. I haven't tried any services yet.

@travisghansen
Copy link
Collaborator

Nice! Glad we’re getting more coverage.

@osteospurnum
Copy link

Thanks for all your assistance with this yesterday Travis. It was greatly appreciated, still unable to set up the integration but I reckon at the moment I am out of options. I will keep looking and let you know if I find the cause.

@travisghansen
Copy link
Collaborator

Yeah we need to get some better logging in place for failure scenarios..

@AlBrough
Copy link

Why does the MAC address need to be included? Surely a URL or IP address is sufficient?

@vinteo
Copy link
Owner

vinteo commented Jun 15, 2020

Why does the MAC address need to be included? Surely a URL or IP address is sufficient?

The short answer is we need a unique identifier for the device and the HA people don't like url/hostname/ip as that.

However we are hoping in the next OpenSprinkler firmware release this will become optional/not required (only required for non-latest firmware)

@geejayem99
Copy link

Had the same problem on OSPi 2.19
Got it working eventually by putting http:// at front of the url, in the old hass_opensprinkler I didn't need this included in the config. Also, I take it that now the actual password is used, not the hashed version, as that's what worked for me. Just leaving this here in case anyone else has similar issues.
Looking forward to using the new version. Thanks for the work you've put into this.

@passi16
Copy link

passi16 commented Dec 7, 2020

Have the same problem.
I use integration version 1.1.3
My open sprinkler pi is running APP-Version 2.2.1 and Fimware Version 2.1.9(4)

On HAAS I added the integration Opensprinkler via Configuration-Integration-Add and filled in the fields:
URL: http://:8080
Password: "password in clear text" or "hashed" (neither works)
MAC-Address: xx:xx:xx:xx:xx:xx

What am I doing wrong?

the capture shows a successfull tcp handshake betwenn HAAS and OSPI, I also get HTTP1.1 200 OK

@passi16
Copy link

passi16 commented Jan 5, 2021

I've still got the same problem.
Any idea folks?

@passi16
Copy link

passi16 commented Mar 3, 2021

just wanted to follow up.
Tried with new versions of haas and moved ospi to the same subnet as haas.
Unfortunately I've still the same issue.
Any idea?

@michaelbashara
Copy link

I ran into this same problem today installing opensprinkler on a new HASS instance. In the configuration pop-up I used an EXTERNAL IP:8080 with port forwarding on my router, rather than internal 192.168.xxx.xxx and was able to connect.

@nanosonde
Copy link

Hi!
Has this issue been fixed?
Is anybody working on fixing this issue?

@passi16
Copy link

passi16 commented Nov 20, 2021 via email

@travisghansen
Copy link
Collaborator

Have you tried any of the curl commands mentioned in previous comments?

@nanosonde
Copy link

nanosonde commented Nov 22, 2021

Have you tried any of the curl commands mentioned in previous comments?

user@ubuntuvm:~$ curl -v 'http://10.10.10.30:8080/ja?pw=md5hash'
*   Trying 10.10.10.30:8080...
* TCP_NODELAY set
* Connected to 10.10.10.30 (10.10.10.30) port 8080 (#0)
> GET /ja?pw=md5hash HTTP/1.1
> Host: 10.10.10.30:8080
> User-Agent: curl/7.68.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: application/json
< Connection: close
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate
< 
{"settings":{"devt":1637604758,"nbrd":1,"en":1,"sn1":0,"sn2":0,"rd":0,"rdst":0,"sunrise":482,"sunset":997,"eip":2965811495,"lwc":1637591208,"lswc":1637591208,"lupt":0,"lrbtc":5,"lrun":[0,99,154,1637597144],"mac":"B8:27:EB:9A:80:29","loc":"51.16786,6.93523","jsp":"https://ui.opensprinkler.com/js","wsp":"weather.opensprinkler.com","wto":{"key":""},"ifkey":"","mqtt":{"en":1,"host":"10.10.10.15","port":1883,"user":"opensprinkler","pass":"mypass"},"wtdata":{"wp":"Manual"},"wterr":0,"sbits":[0,0],"ps":[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]},"programs":{"nprogs":2,"nboards":1,"mnp":40,"mnst":4,"pnsize":32,"pd":[[64,127,0,[420,720,900,1200],[0,0,900,0,0,0,0,0],"Rasenbewässerung"],[1,36,0,[660,0,0,0],[600,0,0,0,0,0,0,0],"Neu ansaugen Pumpe"]]},"options":{"fwv":219,"tz":52,"hp0":144,"hp1":31,"hwv":64,"ext":0,"sdt":0,"mas":8,"mton":0,"mtof":0,"wl":100,"den":1,"ipas":0,"devid":0,"uwt":0,"ntp1":0,"ntp2":0,"ntp3":0,"ntp4":0,"lg":1,"mas2":0,"mton2":0,"mtof2":0,"fwm":9,"fpr0":100,"fpr1":0,"re":0* Closing connection 0
,"sar":0,"ife":0,"sn1t":0,"sn1o":1,"sn2t":0,"sn2o":0,"sn1on":0,"sn1of":0,"sn2on":0,"sn2of":0,"wimod":169,"reset":0,"dexp":-1,"mexp":24,"hwt":255},"status":{"sn":[0,0,0,0,0,0,0,0],"nstations":8},"stations":{"masop":[127],"masop2":[0],"ignore_rain":[0],"ignore_sn1":[0],"ignore_sn2":[0],"stn_dis":[0],"stn_seq":[116],"stn_spe":[0],"snames":["Tropfleitung Hecke","Beet Küche","Rasen Küche","Beet Wohnzimmer","Rasen Wohnzimmer","Rasen Büro","Tropfleitung Hecke P","Pumpe"],"maxlen":32}}
user@ubuntuvm:~$ 

I have copied the output as is except for md5 hash of password and the MQTT password.
Is it ok that the message "Closing connection 0" is in the middle of the JSON response?

@travisghansen
Copy link
Collaborator

If someone is willing I can hop onto the integration slack channel or hass discord and do an interactive debug session. It seems pretty odd the behavior observed :(

@nanosonde
Copy link

Good news.
I was able to solve my issue.

While analysing the OpenSprinkler UI again, I realized that one of the German Umlaut ("ä") was not correctly shown.
This seems to be a result of exporting and importing the config file again after upgrading the OSPi firmware to 2.1.9.

I replaced the German Umlaut by its ASCII variant ("ae"). After this change the integration was able to connect and successfully configure itself.

BTW: Only now I have realized that this topic is about [%key:common::config_flow::error::cannot_connect%], but I got this one:
[%key:common::config_flow::error::unknown%]

The questions is how to solve this. How can we make it more robust when it comes to "broken" names/string in Opensprinkler FW?

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.opensprinkler.config_flow
Source: custom_components/opensprinkler/config_flow.py:47
Integration: OpenSprinkler (documentation, issues)
First occurred: 07:41:34 (2 occurrences)
Last logged: 07:42:08

Unexpected exception
Traceback (most recent call last):
  File "/config/custom_components/opensprinkler/config_flow.py", line 47, in async_step_user
    await controller.refresh()
  File "/usr/local/lib/python3.9/site-packages/pyopensprinkler/__init__.py", line 218, in refresh
    await self._refresh_state()
  File "/usr/local/lib/python3.9/site-packages/pyopensprinkler/__init__.py", line 237, in _refresh_state
    content = await self.request("/ja")
  File "/usr/local/lib/python3.9/site-packages/pyopensprinkler/__init__.py", line 145, in request
    content = await self._request_http(url)
  File "/usr/local/lib/python3.9/site-packages/backoff/_async.py", line 133, in retry
    ret = await target(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/pyopensprinkler/__init__.py", line 191, in _request_http
    content = await resp.json(
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1113, in json
    return loads(stripped.decode(encoding))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 700: invalid continuation byte

@Sleepy81
Copy link

I had the same issue. Running 2.1.9. I tried everything in the IP feild, and could not make it work. But suddenly, it configured, like on the 15th try. I just wrote HTTP://OS LOCAL IP with no port number, my OS pasword, and left eh MAC adress field blank.

@passi16
Copy link

passi16 commented Nov 28, 2021 via email

@travisghansen
Copy link
Collaborator

Which switches exactly?

@passi16
Copy link

passi16 commented Nov 28, 2021 via email

@travisghansen
Copy link
Collaborator

You toggle the switch and after a few moments it goes back to the original state?

What are your expectations when it is toggled?

@passi16
Copy link

passi16 commented Nov 29, 2021 via email

@travisghansen
Copy link
Collaborator

The built-in switches do not run the valves/programs, they only enable/disable them. To run a valve/program you must use the services and create your own switches/ui to handle that.

Was that the issue is just a problem with expectations? Or did you create custom switches to invoke the services and those are not working?

@helgard999
Copy link

I had the same issue. Running 2.1.9. I tried everything in the IP feild, and could not make it work. But suddenly, it configured, like on the 15th try. I just wrote HTTP://OS LOCAL IP with no port number, my OS pasword, and left eh MAC adress field blank.

Also worked for me. HTTP://xxx.xxx.xxx.xxx

@shampeon
Copy link

shampeon commented Aug 5, 2022

Just hit this bug, too. Adding a default protocol prefix should be the fix here, but at the very least it should return a more actionable and obvious error message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests