[Windows Mobile Apps and Games] simondadiamond:
temperature not displaying

Hi

I just want to say that this little script is awesome... well apart from the fact its not working for me... but it seems to be working for a lot of people and i really like the practicality of it. (especially the chances of precipitations using weather panel)

Ok, so by doing tests for the past days ive been able to see that the wallpaper seems to work fine, the slide bar as well. Where I am having difficulty is displaying temperature. For some odd reason it always displays

-/57 (maybe it worked once and stopped im not sure)

I am using a touch Diamond with WM6.1 ... I notticed a few pages back someone was having difficulty with 6.1 ... but i never read anything about the problem im having...

here is the script im using

# Get the path to the files needed

# your location (see http://developer.yahoo.com/weather/ on finding your location)
location="CAXX0158"

# folder containing your weather wallpaper
wallpaperfolder = "\My Documents\Weatherpics\"

# wallpaper type jpg or gif
wallpapertype= ".jpg"

# how often to try and get the weather
delayHours = .25

# slideforecast is only if you are running s2u2 v 1.02 and up (otherwise do not change this)
# if you want no change to be made to the slide bar text then set slideforecast = 0 (default)
# if you want the daily forecast to be displayed on the slide bar then set slideforecast = 1
# if you want the current condition to be displayed on the slide bar then set slideforecast = 2
slideforecast = 2

wpPath = RegRead( "HKCU", "\software\MarsWare\WeatherPanel", "ProgramPath" )
script = SystemPath("ScriptPath") & "\" & SystemPath("ScriptName") & SystemPath("ScriptExt")
logfile = SystemPath("ScriptPath") & "\" & "Current Weather Log.TXT"

# avoid registry writes if no change
curweather = RegRead("HKCU", "\Software\A_C\S2U2\", "UserWeather")
currlweather = RegRead("HKCU", "\Software\emerym\", "Weather")
curpic= RegRead("HKCU", "\Software\A_C\S2U2\", "wallpaper")
curforecast = SubStr(curpic,-6,2)
oldmax =SubStr(curweather,-8,2)
oldmin =SubStr(curweather,-3,2)
oldS2Utext= RegRead("HKCU", "\Software\A_C\S2U2\", "S2Utext")
weather = ""
rlweather = ""

##

GetTime(hour,min,sec,day,month,year)
##
today = ( day & "/" & month & "/" & year )
##
Runtime = "Updated: " & day & "/" & month & "/" & year & " - " & hour & ":" & min & "^NL^"

##
#message( runtime , "" )
##

#WriteFile (logfile, %runtime% , TRUE)

# set up for next notification
utime = TimeStamp() + (delayHours*60)*60

mort = SystemPath("ScriptExe") & "\MortScript.exe"
script = SystemPath("ScriptPath") & "\" & SystemPath("ScriptName") & SystemPath("ScriptExt")

# kill any lingering notification
RemoveNotifications(mort, script)
# set notify for myself at next time
RunAt( utime, mort, script)

# Quietly ignore all errors
ErrorLevel("off")

hourlyfile= wpPath\"data\"&location&"-hourly"
currentfile= wpPath\"data\"&location&"-current"
##
forecastfile = wpPath\"data\"&location&"-forecast"

#Find High / Low temps & forecast icon
forecastdata = ReadFile(forecastfile)

for line = 1 to 170
segment[line] = Part( forecastdata, "^NL^", line )
Next

for count=0 to 9

If (count=0)
ind=1

Else

ind=((count*17)+1)
EndIf

day_no=((segment[ind]-25569)*86400)
daystring = Format( day_no, 6)

Day_no=FormatTime( "d/m/Y", daystring)
if (day_no eq today)
forecast_code_day = segment[ ind + 5 ]
forecast_code_night = segment[ ind + 11 ]
maxtempf = segment[ ind + 1 ]
mintempf = segment[ ind + 2 ]
forecastsummary = segment[ ind + 6]
maxtemp=((maxtempf-32)*5)/9
mintemp=((mintempf-32)*5)/9
#
If ( maxtempf = -9999)
maxtempf = oldmax
maxtemp = oldmax
EndIf
#
If ( mintempf = -9999)
mintempf = oldmin
mintemp = oldmin
EndIf
#
If ( hour > 6 AND hour < 18 )
forecast_code = forecast_code_day
Else
forecast_code = forecast_code_night
EndIf

#Message (forecast_code , hour )
# message( day_no , count)
# message( maxtemp, mintemp )

EndIf

next

##
#Find current location

find_location = ReadFile( currentfile )
location_length = find( find_location , "," )
location_name = substr( find_location , 1 , ( location_length - 1 ) )

endofcurrenthour = FormatTime( "d/m/Y H", (timestamp() + 3600))

##Check last update time

currentdata = ReadFile( currentfile )
Updatetime = ((SubStr( currentdata, 27, 12 )-25569)*86400)

updatetimestring = Format( updatetime, 0)

onehourago = ( timestamp() - 3600 )
#If ( onehourago Lt updatetimestring )
If ( onehourago eq onehourago )

filedata = ReadFile( currentfile )

for line = 1 to 17
segment[line] = Part( filedata, "^NL^", line )
Next
tempf = segment [ 3 ]
feeltempf = segment[ 4 ]
ccode = segment[ 7 ]
summary = segment[ 8 ]

temp=((tempf-32)*5)/9
feeltemp=((feeltempf-32)*5)/9

display1 = " Feels: "& feeltemp&"°"
display2 = " " & summary & " -Feels: "& feeltemp & "°"
display3 = " " & location_name & ": " & summary & " -Feels:" & feeltemp & "°"
display4 = " " & location_name & ": " & summary & " -High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"
display5 = " " & location_name & ": " & "High:" & maxtemp & "°" & " -Feels:" & feeltemp & "°"
display6 = " " & summary & " -High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"
display7 = " High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"

Else

filedata = ReadFile( hourlyfile )

for line = 1 to 239
segment[line] = Part( filedata, "^NL^", line )
Next

for count=0 to 22

If (count=0)
ind=1

Else

ind=((count*10)+1)
EndIf

convertdate=((segment[ind]-25569)*86400)
datestring = Format( convertdate, 6)

Day=FormatTime( "d/m/Y", datestring)
Hour=FormatTime( "H", datestring)
Min=FormatTime( "i", datestring)

if (Min <> 00)
Min = "00"
Hour = (Hour + 1)
If (Length(Hour)<>2
Hour = ("0" & Hour)
EndIf
EndIf

periodtime =(Day & " " & Hour )

If (endofcurrenthour eq periodtime)

tempf = segment[ind + 1 ]
feeltempf = segment[ind + 2 ]
ccode = segment[ind + 3 ]
summary = segment[ind + 4 ]

temp=((tempf-32)*5)/9
feeltemp=((feeltempf-32)*5)/9

display1 = " Feels: "& feeltemp&"°"
display2 = " " & summary & " -Feels: "& feeltemp & "°"
display3 = " " & location_name & ": " & summary & " -Feels:" & feeltemp & "°"
display4 = " " & location_name & ": " & summary & " -High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"
display5 = " " & location_name & ": " & "High:" & maxtemp & "°" & " -Feels:" & feeltemp & "°"
display6 = " " & summary & " -High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"
display7 = " High:" & maxtemp & "°" & " -Feels:"& feeltemp & "°"

EndIf

next

EndIf

#Choose what to display:
#display1 = " Feels: 21°"
#display2 = " Sunny - Feels: 21°"
#display3 = " London: Sunny - Feels: 21°"
#display4 = " London: Sunny - High: 26° - Feels: 21°"
#display5 = " London: - High: 26° - Feels: 21°"
#display6 = " Sunny - High: 26° - Feels: 21°"
#display7 = " High: 26° - Feels: 21°"
#
#change to display1 through 7 as required

weather="C|"&forecast_code&"| "&tempf&"º H"&maxtempf&"º\L"&mintempf&"º"
if (slideforecast ne 0)
if (slideforecast eq 1)
S2Utext = forecastsummary
endif
if (slideforecast eq 2)
S2Utext = summary
endif
if (S2Utext eq -9999)
S2Utext = oldS2Utext
endif
endif

if (curweather ne weather)
RegWriteString("HKCU", "\Software\A_C\S2U2\", "UserWeather", weather)
if (ccode ne curforecast)
wallpaper=wallpaperfolder&ccode&wallpapertype
RegWriteString("HKCU", "\Software\A_C\S2U2\", "Wallpaper", wallpaper)
endif
if (slideforecast ne 0)
if (S2Utext ne oldS2Utext)
RegWriteString("HKCU", "\Software\A_C\S2U2\", "S2Utext", S2Utext)
endif
endif
endif

if (ccode ne curforecast)
Run("\Program Files\S2U2\iLock2.exe","-refresh")
if (WndActive("S2U2") = True)
Run("\Program Files\S2U2\s2u2.exe")
endif
else
if (slideforecast ne 0)
if (s2utext ne olds2utext)
Run("\Program Files\S2U2\iLock2.exe","-refresh")
if (WndActive("S2U2") = True)
Run("\Program Files\S2U2\s2u2.exe")
endif
endif
endif
endif

Btw, can anyone confirm if Weather Panel 2009's "WPHourlyDataFix.exe" is a weather update tool ?

Thanks in advance