Author |
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: June 13 2016 at 16:04 | IP Logged
|
|
|
I haven't had to make any changes or adjustments to my PH system in months. But lately I noticed I wasn't getting my
usual push messages on my phone. Troubleshooting trigger and macros, I have seen that the ph_getitcurl() command that
used to work just fine all of a sudden returns an error:
ph_getitcurl("{URL}",20)
*ERROR* - TIMEOUT WAITING FOR RETURN 1
https://phca-web.appspot.com/send?username=XXX&password=XXXX &gardoorstatus=Closed&verbose=true
I have the url written to the event log, and the URL does just fine when I paste it in firefox and everything happens
like it should.
So, as I dug around, I saw a post about a missing msinet.ocx. I looked in my system32 directory, and whatdayaknow?
Mine was missing. I have no idea how that could have happened, because it has worked perfectly for so long. So I
found a copy of msinet.ocx, copied it in the system32 directory, and ran regsvr32 on it. It came up successful, but
alas, I still get the same error in PH.
__________________ Skip
|
Back to Top |
|
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: June 14 2016 at 08:43 | IP Logged
|
|
|
Skip,
For pulling information off my Radio Thermostat's, I use a command that looks like ph_getitcurl("http://{IP_TSTAT-LIV}/tstat",5).
Because I use this to get room temperatures, I pull this data with a timed event once every 3 minutes (or when I manually ask for it).
I too have seen where this command times out and does not return successfully (even though my network is up, my T-stats are connected to my local network [via a strong Wi-Fi signal] and all should be OK).
I went so far as to quantify how many successful vs. un-successful occurrences happen over time. Since I am doing this once per three minutes, I thought it should be easy to track down.
Well, I haven't been able to track it down to any specific cause. Manually, I can request the data and get a time out one time, and then try again literally moments later and get a hit or get a miss. most of the time for me, my hit percentage is about 90%. When it drops below this, I find that a computer reboot and/or a WAP reboot will bring it back, but only again to 90% or so (even if I extend the wait time to the 20 seconds like you have it).
As I recall, this command was re-worked by Dave not too long ago. I believe the rework was done because I asked for a time out option for the command because of the issues I was seeing at the time. See this
link
Since your request works within your web browser (mine always seen to show OK in my web browser also - although I have not put any statistics to it), this leads me to think that maybe this could be a PH issue/bug...maybe????
Steve
Edited by smarty - June 14 2016 at 08:48
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: June 14 2016 at 18:44 | IP Logged
|
|
|
Well, that's strange. The "20" in the command is the timeout, and the error message indicates that a
timeout has occurred as reported by the OS. But when I look at the log, the error is occurring within
one second of running the command. It definitely is not waiting 20 seconds.
__________________ Skip
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: June 14 2016 at 18:57 | IP Logged
|
|
|
Skip,
Most likely what happened is a change to your Windows
or Internet Explorer environment (an update or patch
most likely). The msinet.ocx is heavily based upon
Microsoft's Internet Explorer framework and dates back
to the days of VB6. It's entirely possible that
Microsoft is phasing out the use of this control. I'll
have to do some research to see what I can find out.
If memory serves, Im pretty sure you're using the
ph_getitcurl function vs the ph_geturl1 function due
to some problem the ph_geturl1 function had with this
particular URL but cant remember the specifics. It
seems like it may have been due to the SSL which a
type of 1,2,or 3 in the ph_geturl1 function will now
handle.
Also, another possibility would be to try and use the
ph_getwburl function as this will (should) actually
use Internet Explorer to perform the query (and
hopefully is still supported in the current versions
of Windows and IE).
Let me know,
Dave.
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: June 14 2016 at 20:19 | IP Logged
|
|
|
By the way, I am using 2.1.5c
I was having trouble with the ph_geturl1() before, and I think you are right that it was related to
the SSL. I tried running your suggestions. ph_geturl1(URL, *, 20) all crashed. I had to ctrl-alt-
delete to shut down PH and restart. 0, 1, 2, and 3 all crashed. ph_getwburl did not crash, but
nothing happened. Those were all pointing to the https site.
Then I tried just pointing to the http site, and using ph_getwburl() is working just fine. I'd like
to keep the SSL working, so I do hope that we can get to the bottom of this.
I am 100% sure it was not any sort of windows update that started all of this because I have the
updates for this machine disabled. I wonder instead if it is something that changed on my site.
It's a google apps site (mysite.appspot.com) so they could have update the SSL or something??? I
don't know... Is there any chance that ph_getiturl could work without msinet.ocx?
__________________ Skip
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: June 14 2016 at 20:44 | IP Logged
|
|
|
Skip,
No way that ph_getitcurl will work without msinet.ocx. That file needs to exist and be properly registered.
One thing to keep in mind though is that on a 64 bit Windows OS, the standard *.ocx such as msinet.ocx will be located in c:\windows\syswow64. I would check there to see if
your copy actually exists there and register the copy there if it does (or copy the file there and then register it).
If memory serves, the Catalyst controls used by the various socket functions were upgraded between version 2.1.5c and 2.1.5d. I would not expect the ph_geturl1 function to
crash so will definitely need to investigate that. It's possible that your Catalyst controls arent properly registered which might account for the crash. The Catalyst *.ocx
should also be located in your syswow64 directory (assuming you're on a 32 bit OS) and all have the format of CS???AX8.OCX. I would definitely make sure they're registered
as well (I like to launch a command prompt by using "Run as administrator" and then execute the regex32.exe command from there).
Let me know,
Dave.
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: June 15 2016 at 20:10 | IP Logged
|
|
|
I reregistered (as administrator) all of the cs*ax8.ocx files, and the msinet.ocx. They were all present in the
syswow64 directory as you suggested. I tried rerunning the ph_getitcurl command and it still returned *ERROR* -
TIMEOUT WAITING FOR RETURN 1 within one second of running the command on a url with SSL. It is not waiting the 20
seconds as one would think. It works fine on non-SSL sites.
I think I do have curl installed on the machine, so I can give that a try.
__________________ Skip
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: June 15 2016 at 20:12 | IP Logged
|
|
|
By the way, this is a Vista machine, if that matters. It's been running perfectly, so I didn't want
to mess with it by upgrading. That's why I disabled the patches and updates.
__________________ Skip
|
Back to Top |
|
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: June 16 2016 at 08:56 | IP Logged
|
|
|
MrGibbage wrote:
I think I do have curl installed on the machine, so I can give that a try.
|
|
|
I use curl to "push" commands to my Tstats...I have not thought of using curl to "pull" information from them...curious to hear how this goes for you.
Steve
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|