http://stackoverflow.com/questions/2407 ... th-problem
For those that want to fix it locally until a proper update to the plugin is published, I made the following modifications to plugin.py in the RooWIFI plugin.
- Code: Select all
...
import urllib2
import base64
...
class Plugin(indigo.PluginBase):
- Code: Select all
#### Mike (start)
username = "none"
password = "none"
def getUrlRequest(self,theUrl,device):
# construct the URL request
request = theUrl
if device.pluginProps.has_key("useAuthentication") and device.pluginProps["useAuthentication"]:
request = urllib2.Request(theUrl)
base64string = base64.encodestring('%s:%s' % (self.username, self.password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
return request
#### Mike (end)
def deviceStartComm(self, device):
....
if device.pluginProps.has_key("useAuthentication") and device.pluginProps["useAuthentication"]:
#### Mike (start)
self.username = device.pluginProps["username"]
self.password = device.pluginProps["password"]
self.debugLog("username=" + self.username + ", password=<pwd>")
#self.passman.add_password(None, u"http://" + device.pluginProps["address"], device.pluginProps["username"], device.pluginProps["password"])
self.passman.add_password(None, u"http://" + device.pluginProps["address"], self.username, self.password)
#### Mike (end)
self.sensorUpdateFromRequest(device)
- Code: Select all
def sendRequest(self, device, urlAction):
....
try:
#### Mike (start)
#f = urllib2.urlopen(theUrl)
f = urllib2.urlopen(self.getUrlRequest(theUrl,device))
#### Mike (end)
requestOK = True
....
- Code: Select all
def sensorUpdate(self,device,fromRequest):
...
## Mike (start)
#f = urllib2.urlopen(theUrl)
f = urllib2.urlopen(self.getUrlRequest(theUrl,device))
## Mike (end)
...