I have been trying to get this to work all night, until I found this thread. Yes, we just got a Gen 2 Echo.
The first problem I thought I had was that when I created two "virtual hubs", I had two listeners on port 1900, which I wasn't sure would work.
- Code: Select all
$ lsof -i :1900
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
IndigoPlu 1280 tshort 10u IPv4 0x42d8f365c1781ae1 0t0 UDP *:ssdp
IndigoPlu 1280 tshort 13u IPv4 0x42d8f365c1782041 0t0 UDP *:ssdp
$
After removing one of the hubs, I only had one listener.
I am noticing that my Echo is attempting to connect to the port configured for the virtual hub:
- Code: Select all
$ netstat -na | grep 8180
tcp4 0 0 192.168.1.2.8180 *.* LISTEN
tcp4 0 0 192.168.1.2.8180 192.168.1.169.43542 TIME_WAIT
tcp4 0 0 192.168.1.2.8180 192.168.1.169.52983 TIME_WAIT
tcp4 0 0 192.168.1.2.8180 192.168.1.184.62481 TIME_WAIT
$
Where 192.168.1.169 is my Amazon Echo. So, the Echo is accepting the uPnP responses from the plugin and attempting to connect to the 8180 port that I specified.
However, a subsequent request to port 80 also occurs, and subsequently fails (see later), this agrees with previous posts about attempting to connect to port 80, which would be a problem for those with web services on our machines.
Here is that request to port 8180:
- Code: Select all
GET /description.xml HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; AEORD Build/LVY48F)
Host: 192.168.1.2:8180
Connection: Keep-Alive
Accept-Encoding: gzip
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-type: application/xml
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://192.168.1.2:8180/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Alexa Hue Bridge</friendlyName>
<manufacturer>Royal Philips Electronics</manufacturer>
<manufacturerURL>http://www.philips.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2012</modelName>
<modelNumber>929000226503</modelNumber>
<modelURL>http://www.meethue.com</modelURL>
<serialNumber>001788101fe2</serialNumber>
<UDN>uuid:8ecc3e54-f8b2-11e7-924f-a820662e4fb4</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<height>120</height>
<width>120</width>
<depth>24</depth>
<url>hue_logo_3.png</url>
</icon>
</iconList>
</device>
</root>
Echo request to port 80:
- Code: Select all
POST /api HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; AEORD Build/LVY48F)
Host: 192.168.1.2
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 22
{"devicetype": "Echo"}
HTTP/1.1 503 Service Unavailable
Date: Sun, 14 Jan 2018 04:39:54 GMT
Server: Apache/2.4.28 (Unix) LibreSSL/2.2.7
Content-Location: websitesoff403.html.en
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Wed, 20 Sep 2017 20:17:40 GMT
ETag: "631-559a4aae20100;561f69eb40400"
Accept-Ranges: bytes
Content-Length: 1585
Cache-Control: no-cache
Connection: close
Content-Type: text/html
Content-Language: en
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
/* HTML follows */