New Plugin: GhostXML

Posted on
Fri Jan 05, 2018 7:01 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Thanks Deuan. I'm virtually certain that's what's causing the error you're seeing. I think the schedule is calling for the device to be updated before the last request has finished. As a test, please try upping the refresh time by 1 second and try again. Continue to add 1 second to the schedule until the error no longer appears and let me know what that time is. The way the plugin is written, it adds refresh calls to a queue and processes them in turn. So if a condition exists where each refresh cycle takes longer than the requested refresh, the plugin will never be able to catch up.

That said, it should do better at handling this condition--I'll do some more digging and see what I can do for a more graceful solution.

Dave

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Fri Jan 05, 2018 7:09 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Scratch that. Please stand by. I'm able to reproduce the error and need to do some more digging.

Looks like there's a bug.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Fri Jan 05, 2018 7:22 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Yep, there is a bug in the call to manually refresh an individual device. I think I've got it ironed out and will post a fix soon.

Sorry for the troubles and thanks for calling the error to my attention. Cheers!

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Fri Jan 05, 2018 9:28 pm
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

I've just uploaded a fix for this bug. Manual refresh should be working now. Please let me know if that's not the case.

There's a few other things included in the update.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Fri Jan 05, 2018 11:12 pm
deuan offline
Posts: 30
Joined: Jan 03, 2018

Re: New Plugin: GhostXML

Great, So far so good.

Back to refreshing every 5 seconds and no errors. Great Work!

Thanks
Deuan

Posted on
Sat Jan 06, 2018 5:14 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Good deal. Thanks for letting me know.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Mar 18, 2018 9:08 am
hamw offline
Posts: 1212
Joined: Mar 31, 2008

Re: New Plugin: GhostXML

I currently control my Digital Loggers IP power switch with a quick applescript as below, using a variable substitution trigger to execute the commands. However, since it's one way so I don't know actual status. And, since it is an applescript.... :cry:

using terms from application "IndigoServer"
tell application "IndigoServer"

set actionOrdered to the value of variable "Digital_Loggers_Switch"

set actionListAll to {"1=ON", "1=OFF", "1=CCL", "2=ON", "2=OFF", "2=CCL", "3=ON", "3=OFF", "3=CCL", "4=ON", "4=OFF", "4=CCL", "5=ON", "5=OFF", "5=CCL", "6=ON", "6=OFF", "6=CCL", "7=ON", "7=OFF", "7=CCL", "8=ON", "8=OFF", "8=CCL"}

if actionListAll contains actionOrdered is true then
log actionOrdered & " the list works"

set theIP to "http://usesr:pwd@10.0.1.XX:XXXX/outlet?" --change your ip and command string here

set theURL to theIP & actionOrdered
--log theURL --comment this out once it is working
set curlURL to "curl -k" & " " & theURL

set shellscript to curlURL
--log shellscript -- commment this out once it is working
do shell script shellscript
set value of variable "Digital_Loggers_Switch" to "x"
end if
end tell
end using terms from


I'd like to use the GhostXML plugin to generate device states so it is more controllable and I can then also get feedback. I looked at the documentation and found these links. I've tried setting up a GhostXML device, and while it does establish a link, as I can't seem to find the correct http xml URL it's generating a parse error. Any suggestions would be appreciated. If it is not possible, could I ask for a little help in converting this to a python script...

https://www.digital-loggers.com/http.html

https://www.digital-loggers.com/restapi.pdf

Posted on
Sun Mar 18, 2018 11:49 am
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: New Plugin: GhostXML

I reckon the following should get the socket names and states for all sockets:
http://192.168.0.100/restapi/relay/outlets/all/state/=name,physical_state/

Add a GhostXML device, set it to JSON, tick the "Would you like to use Digest Auth in this URL?" then enter your username and password in the boxes which appear (scroll the dialog box - they aren't visible to start with).

Peter

Posted on
Sun Mar 18, 2018 1:49 pm
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Thanks Peter, for responding and hamw, please let us knowhow you get on.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Mar 25, 2018 9:22 am
hamw offline
Posts: 1212
Joined: Mar 31, 2008

Re: New Plugin: GhostXML

Thanks for the suggestions. I did enter the string but while it will hook up to the device, it now generates a "no data to return." Any thoughts?

Posted on
Sun Mar 25, 2018 11:54 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

hamw wrote:
Thanks for the suggestions. I did enter the string but while it will hook up to the device, it now generates a "no data to return." Any thoughts?

Can you please turn on debugging and post the log data? Be sure to delete any usernames, passwords or API keys.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Mar 25, 2018 9:11 pm
hamw offline
Posts: 1212
Joined: Mar 31, 2008

Re: New Plugin: GhostXML

Here you go:

Code: Select all
   GhostXML Debug                  Time since update (17) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 409167487 sent to thread 409167487 - Digital Loggers Switch
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Digital Loggers Switch
   GhostXML Debug                  Refreshing device: Digital Loggers Switch
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 10.0.1.xx...
* TCP_NODELAY set
* Connected to 10.0.1.xx (10.0.1.xx) port xxxx (#0)
* Server auth using Digest with user 'xxxxx'
> GET /restapi/relay/outlets/all/state/=name,physical_state/ HTTP/1.1
> Host: 10.0.1.xx:xxxx
> User-Agent: curl/7.51.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Connection: close
< Content-Type: text/html
< Cache-Control: No-cache, no-store, must-revalidate, max-age=0
< Expires: Mon, 01 Jan 1990 00:00:01 GMT
< Pragma: no-cache
< Set-Cookie: DLILPC=""; Version=1; Max-Age=0; Path=/
<
{ [90 bytes data]
* Curl_http_done: called premature == 0
* Closing connection 0

   GhostXML Debug                  Source file type: XML
   GhostXML Debug                  stripNamespace() method called.
   GhostXML Debug                  <HTML><HEAD>

<META HTTP-EQUIV="refresh" content="0; URL=/">

</HEAD><BODY></BODY>
</HTML>
   GhostXML                        There was an parse error. Check XML source.
   GhostXML Debug                  Device needs updating set to: True
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Pulling down existing state list.
   GhostXML Debug                    Writing dynamic states to device.
   GhostXML Debug                  No new states found.
   GhostXML Debug                  Device needs updating set to: False
   GhostXML Debug                  parseStateValues() method called.
   GhostXML Debug                  Writing device states:
   GhostXML Debug                     Response = Parse error. Check XML source.
   GhostXML Debug                  Digital Loggers Switch updated.

Mar 25, 2018, 11:04:31 PM
   GhostXML Debug                  Time since update (17) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 409167487 sent to thread 409167487 - Digital Loggers Switch
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Digital Loggers Switch
   GhostXML Debug                  Refreshing device: Digital Loggers Switch
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 10.0.1.xx...
* TCP_NODELAY set
* Connected to 10.0.1.xx (10.0.1.xx) port xxxx (#0)
* Server auth using Digest with user 'xxxxx'
> GET /restapi/relay/outlets/all/state/=name,physical_state/ HTTP/1.1
> Host: 10.0.1.xx:xxxx
> User-Agent: curl/7.51.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Connection: close
< Content-Type: text/html
< Cache-Control: No-cache, no-store, must-revalidate, max-age=0
< Expires: Mon, 01 Jan 1990 00:00:01 GMT
< Pragma: no-cache
< Set-Cookie: DLILPC=""; Version=1; Max-Age=0; Path=/
<
{ [90 bytes data]
* Curl_http_done: called premature == 0
* Closing connection 0

   GhostXML Debug                  Source file type: XML
   GhostXML Debug                  stripNamespace() method called.
   GhostXML Debug                  <HTML><HEAD>

<META HTTP-EQUIV="refresh" content="0; URL=/">


Would appreciate any advice on this.

Posted on
Mon Mar 26, 2018 5:48 am
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Hmmm. This line from your AppleScript makes me think that you should set the authentication method to 'Basic':
Code: Select all
set theIP to "http://usesr:pwd@10.0.1.XX:XXXX/outlet?" --change your ip and command string here

Please try Basic Auth and see if that doesn't work for you.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Mon Mar 26, 2018 5:05 pm
hamw offline
Posts: 1212
Joined: Mar 31, 2008

Re: New Plugin: GhostXML

This is basic, but in the log it says it is using "digest"?

Code: Select all
   GhostXML Debug                  User prefs saved.
   GhostXML                        Debugging on (Level: 3)
   GhostXML Debug                  valuesDict: UiValuesDict : (dict)
     configMenuServerTimeout : 15 (string)
     infoLabel0 :  (string)
     sep2 :  (string)
     sep3 :  (string)
     sep4 :  (string)
     showDebugInfo : true (bool)
     showDebugLevel : 3 (integer)
     space0 :  (string)
     space10 :  (string)
     space11 :  (string)
     space4 :  (string)
     space5 :  (string)
     space6 :  (string)
     space7 :  (string)
     space8 :  (string)
     space9 :  (string)
     updaterEmail : XXX@comcast.net (string)
     updaterEmailsEnabled : false (bool)
     updaterLastCheck : 1522066432 (real)
   GhostXML Debug                  Time since update (17) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 409167487 sent to thread 409167487 - Digital Loggers Switch
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Digital Loggers Switch
   GhostXML Debug                  Refreshing device: Digital Loggers Switch
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 10.0.1.XX...
* TCP_NODELAY set
* Connected to 10.0.1.XX (10.0.1.XX) port XXX (#0)
* Server auth using Digest with user 'xxx'                                                         <<<<<<<<<<<<<<<<<<< Digest??
> GET /restapi/relay/outlets/all/state/=name,physical_state/ HTTP/1.1
> Host: 10.0.1.XX:XXX
> User-Agent: curl/7.51.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Connection: close
< Content-Type: text/html
< Cache-Control: No-cache, no-store, must-revalidate, max-age=0
< Expires: Mon, 01 Jan 1990 00:00:01 GMT
< Pragma: no-cache
< Set-Cookie: DLILPC=""; Version=1; Max-Age=0; Path=/
<
{ [90 bytes data]
* Curl_http_done: called premature == 0
* Closing connection 0

   GhostXML Debug                  Source file type: XML
   GhostXML Debug                  stripNamespace() method called.
   GhostXML Debug                  <HTML><HEAD>

<META HTTP-EQUIV="refresh" content="0; URL=/">

</HEAD><BODY></BODY>
</HTML>
   GhostXML                        There was an parse error. Check XML source.
   GhostXML Debug                  Device needs updating set to: True
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Pulling down existing state list.
   GhostXML Debug                    Writing dynamic states to device.
   GhostXML Debug                  No new states found.
   GhostXML Debug                  Device needs updating set to: False
   GhostXML Debug                  parseStateValues() method called.
   GhostXML Debug                  Writing device states:
   GhostXML Debug                     Response = Parse error. Check XML source.
   GhostXML Debug                  Digital Loggers Switch updated.
   GhostXML Debug                  validatePrefsConfigUi() method called.
   GhostXML Debug                  closedPrefsConfigUi() method called.
   GhostXML                        There was an parse error. Check XML source.



This is set to "Digest."


Code: Select all
   GhostXML Debug                  User prefs saved.
   GhostXML                        Debugging on (Level: 3)
   GhostXML Debug                  valuesDict: UiValuesDict : (dict)
     configMenuServerTimeout : 15 (string)
     infoLabel0 :  (string)
     sep2 :  (string)
     sep3 :  (string)
     sep4 :  (string)
     showDebugInfo : true (bool)
     showDebugLevel : 3 (integer)
     space0 :  (string)
     space10 :  (string)
     space11 :  (string)
     space4 :  (string)
     space5 :  (string)
     space6 :  (string)
     space7 :  (string)
     space8 :  (string)
     space9 :  (string)
     updaterEmail : xxxx@comcast.net (string)
     updaterEmailsEnabled : false (bool)
     updaterLastCheck : 1522066432 (real)
   GhostXML Debug                  Time since update (17) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 409167487 sent to thread 409167487 - Digital Loggers Switch
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Digital Loggers Switch
   GhostXML Debug                  Refreshing device: Digital Loggers Switch
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 10.0.1.xx...
* TCP_NODELAY set
* Connected to 10.0.1.XX (10.0.1.XX) port XXXX (#0)
* Server auth using Digest with user 'admin'
> GET /restapi/relay/outlets/all/state/=name,physical_state/ HTTP/1.1
> Host: 10.0.1.XX:XXX
> User-Agent: curl/7.51.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Connection: close
< Content-Type: text/html
< Cache-Control: No-cache, no-store, must-revalidate, max-age=0
< Expires: Mon, 01 Jan 1990 00:00:01 GMT
< Pragma: no-cache
< Set-Cookie: DLILPC=""; Version=1; Max-Age=0; Path=/
<
{ [90 bytes data]
* Curl_http_done: called premature == 0
* Closing connection 0

   GhostXML Debug                  Source file type: XML
   GhostXML Debug                  stripNamespace() method called.
   GhostXML Debug                  <HTML><HEAD>

<META HTTP-EQUIV="refresh" content="0; URL=/">

</HEAD><BODY></BODY>
</HTML>
   GhostXML                        There was an parse error. Check XML source.
   GhostXML Debug                  Device needs updating set to: True
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Pulling down existing state list.
   GhostXML Debug                    Writing dynamic states to device.
   GhostXML Debug                  No new states found.
   GhostXML Debug                  Device needs updating set to: False
   GhostXML Debug                  parseStateValues() method called.
   GhostXML Debug                  Writing device states:
   GhostXML Debug                     Response = Parse error. Check XML source.
   GhostXML Debug                  Digital Loggers Switch updated.
   GhostXML Debug                  validatePrefsConfigUi() method called.
   GhostXML Debug                  closedPrefsConfigUi() method called.


Is basic working as intended? I stopped the plugin and reloaded to see if that would enable basic, but there was no change in the log.

Posted on
Mon Mar 26, 2018 6:22 pm
DaveL17 offline
User avatar
Posts: 6744
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: New Plugin: GhostXML

Okay, that's strange. Here's mine:
Code: Select all
   GhostXML Debug                  deviceStartComm() method called.
   GhostXML Debug                  Starting GhostXML device: Test (HTTP Bin Basic)
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Device has been updated. Blow state list up to Trigger and Control Page labels.
   GhostXML Debug                  Time since update (44321) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 586752937 sent to thread 586752937 - Test (HTTP Bin Basic)
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Test (HTTP Bin Basic)
   GhostXML Debug                  Refreshing device: Test (HTTP Bin Basic)
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 50.17.198.171...
* TCP_NODELAY set
* Connected to httpbin.org (50.17.198.171) port 80 (#0)
* Server auth using Basic with user 'dave'
> GET /basic-auth/dave/test123 HTTP/1.1
> Host: httpbin.org
> Authorization: Basic ZGF2ZTp0ZXN0MTIz
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: keep-alive
< Server: meinheld/0.6.1
< Date: Tue, 27 Mar 2018 00:07:16 GMT
< Content-Type: application/json
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< X-Powered-By: Flask
< X-Processed-Time: 0
< Content-Length: 47
< Via: 1.1 vegur
<
{ [47 bytes data]
* Connection #0 to host httpbin.org left intact

   GhostXML Debug                  Source file type: JSON
   GhostXML Debug                  parseTheJSON() method called.
   GhostXML Debug                  Prior to FlatDict Running JSON
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  After List Check, Before FlatDict Running JSON
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  cleanTheKeys() method called.
   GhostXML Debug                  cleanTheKeys result:
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  Device needs updating set to: True
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Pulling down existing state list.
   GhostXML Debug                    Writing dynamic states to device.
   GhostXML Debug                  No new states found.
   GhostXML Debug                  Device needs updating set to: False
   GhostXML Debug                  parseStateValues() method called.
   GhostXML Debug                  Writing device states:
   GhostXML Debug                     authenticated = True
   GhostXML Debug                     user = dave
   GhostXML Debug                  Test (HTTP Bin Basic) updated.
   GhostXML Debug                  deviceStopComm() method called.
   GhostXML Debug                  Stopping GhostXML device: Test (HTTP Bin Basic)

And with Digest:
Code: Select all
   GhostXML Debug                  deviceStartComm() method called.
   GhostXML Debug                  Starting GhostXML device: Test (HTTP Bin Digest)
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Device has been updated. Blow state list up to Trigger and Control Page labels.
   GhostXML Debug                  Time since update (6852422) is greater than configured frequency (15)
   GhostXML Debug                  Queue task 1499219718 sent to thread 586752937 - Test (HTTP Bin Basic)
   GhostXML Debug                  refreshDataForDev() method called.
   GhostXML Debug                  Found configured device: Test (HTTP Bin Digest)
   GhostXML Debug                  Refreshing device: Test (HTTP Bin Digest)
   GhostXML Debug                  getTheData() method called.
   GhostXML Debug                  *   Trying 174.129.203.239...
* TCP_NODELAY set
* Connected to httpbin.org (174.129.203.239) port 80 (#0)
* Server auth using Digest with user 'dave'
> GET /digest-auth/auth/dave/test123/MD5/never HTTP/1.1
> Host: httpbin.org
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 401 UNAUTHORIZED
< Connection: keep-alive
< Server: meinheld/0.6.1
< Date: Tue, 27 Mar 2018 00:09:14 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Www-Authenticate: Digest realm="me@kennethreitz.com", algorithm=MD5, qop="auth", opaque="bd235384a66d8dba06405f6ee058669a", nonce="eeffa67a420df0a77aac7596af097ab6", stale=FALSE
< Set-Cookie: stale_after=never; Path=/
< Set-Cookie: fake=fake_value; Path=/
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< X-Powered-By: Flask
< X-Processed-Time: 0
< Via: 1.1 vegur
<
* Connection #0 to host httpbin.org left intact
* Issue another request to this URL: 'http://httpbin.org/digest-auth/auth/dave/test123/MD5/never'
* Found bundle for host httpbin.org: 0x7fc8b2501060 [can pipeline]
* Re-using existing connection! (#0) with host httpbin.org
* Connected to httpbin.org (174.129.203.239) port 80 (#0)
* Server auth using Digest with user 'dave'
> GET /digest-auth/auth/dave/test123/MD5/never HTTP/1.1
> Host: httpbin.org
> Authorization: Digest username="dave", realm="me@kennethreitz.com", nonce="eeffa67a420df0a77aac7596af097ab6", uri="/digest-auth/auth/dave/test123/MD5/never", cnonce="MmIzZDdlNzBjNDY4YjYyZjg0MGIxMTZlYzMzYjg0ODQ=", nc=00000001, qop=auth, response="16d96d90a25968d3d58240e614d46820", opaque="bd235384a66d8dba06405f6ee058669a", algorithm="MD5"
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: keep-alive
< Server: meinheld/0.6.1
< Date: Tue, 27 Mar 2018 00:09:14 GMT
< Content-Type: application/json
< Set-Cookie: fake=fake_value; Path=/
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< X-Powered-By: Flask
< X-Processed-Time: 0
< Content-Length: 47
< Via: 1.1 vegur
<
{ [47 bytes data]
* Connection #0 to host httpbin.org left intact

   GhostXML Debug                  Source file type: JSON
   GhostXML Debug                  parseTheJSON() method called.
   GhostXML Debug                  Prior to FlatDict Running JSON
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  After List Check, Before FlatDict Running JSON
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  cleanTheKeys() method called.
   GhostXML Debug                  cleanTheKeys result:
   GhostXML Debug                  {u'authenticated': True, u'user': u'dave'}
   GhostXML Debug                  Device needs updating set to: True
   GhostXML Debug                  getDeviceStateList() method called.
   GhostXML Debug                  Pulling down existing state list.
   GhostXML Debug                    Writing dynamic states to device.
   GhostXML Debug                  No new states found.
   GhostXML Debug                  Device needs updating set to: False
   GhostXML Debug                  parseStateValues() method called.
   GhostXML Debug                  Writing device states:
   GhostXML Debug                     authenticated = True
   GhostXML Debug                     user = dave
   GhostXML Debug                  Test (HTTP Bin Digest) updated.
   GhostXML Debug                  deviceStopComm() method called.
   GhostXML Debug                  Stopping GhostXML device: Test (HTTP Bin Digest)

Please do me a favor and create a new device with Basic auth from the start. There could be a bug that doesn't show up until a user tries to change auth types.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Page 14 of 20 1 ... 11, 12, 13, 14, 15, 16, 17 ... 20

Who is online

Users browsing this forum: No registered users and 1 guest