It is currently October 21st, 2021, 6:05 am

JSMorley's Weather.com skin

Help with creating, editing & fixing problems with skins
User avatar
sl23
Posts: 889
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

JSMorley's Weather.com skin

Post by sl23 »

I wasn't sure if this should be posted here or the Weather.com sticky, but as it's about a Rainmeter skin, I thought best here than clog up that thread.

I have to admit, I put this off for a while as I have no clue how this weather stuff works! I sort of get the very basics of it all, but very quickly get lost in the code!!! So, if someone could please help with some issues of my version of it, I would be eternally grateful :D

1. I've added a Meter for the location but on !Refresh, it only shows the variable name of #ContextLocationString#. As this variable is used for the Context menu, I thought it would be ok to use as the text in a meter, but it doesn't work.

The really weird thing though, is that I have added code to highlight the text when hovered, when I hover the variable name above, it then changes to become the actual location name.
:???: Solved this with DynamicVariables=1

Also, how would I go about removing the Country suffix? I think I can remember what country I'm in! :lol:

2. In this...

Code: Select all

; Please note this is the original code for easy reference on your part, I have changed this.
[MeterTodayHighLow]
Meter=String
Group=Meters
MeasureName2=@ForeCastTodayNightTemperature
X=154
Y=16r
W=135
H=17
FontFace=#TextFont#
FontSize=11
FontWeight=400
FontColor=#ValueColor#
StringAlign=Right
AntiAlias=1
InlinePattern=^(.*) \| .*
Text=%1#Degrees# | %2#Degrees#

; This is my version
[TodayHighLow]
Meter=String
MeterStyle=sAllText | sInfo
StringAlign=Right
MeasureName2=@ForeCastTodayNightTemperature
InlinePattern=^(.*) \| .*
Text=%1#Degrees# | %2#Degrees#
X=154
Y=16r
...the %1 text is in a grey colour, NOT white as all the other text in the skin. I can't seem to change it. Why is it grey? But the strange thing is, that I am using a MeterStyle to define ALL text, yet this one meter displays in grey still, bizarre!

3. What are the two ↓↓ for, rain? Is this just for the night? Can I get the chance of rain for the today's daytime?

4. I would like a Roundline Meter to display the current temperature, but have no idea where I would place the Min/MaxValues or what measure I need to use in MeasureName=. I also plan on making this a dynamic colour changing meter, least that's the plan, I may ditch that if it's not good aesthetically.

Thank you for your help. :thumbup:
Last edited by sl23 on September 15th, 2021, 4:48 pm, edited 1 time in total.
User avatar
SilverAzide
Rainmeter Sage
Posts: 1616
Joined: March 23rd, 2015, 5:26 pm

Re: JSMorley's Weather.com skin

Post by SilverAzide »

Probably would be better if this was kept in the main thread, but perhaps another mod can move it...

For your first question, the variable ContextLocationString is configured by the [MeasureFormatLocation] measure. Just change the !SetVariable bang to the value you want to see, but the country is there for a reason. If you point the skin to another state or country instead of just your own, you might find that country code pretty handy. There are LOTS of places with the same name. In addition, the location data appears differently depending on which country you are getting the weather for.

For #2, the gray color is not too bizarre, it's there because it's telling you it is not "today", and it's now "tonight". TWC's current conditions do not show certain attributes once a "today" is over. This skin detects that and changes the forecast high temp to the actual high temp once it is "night". Look for the [MeasureToggleAtNight] to see the trigger than changes the skin appearance based on the current conditions. This is a kind of a tutorial to let you know how to read TWC data and create a related "trigger" measure to switch the skin around.

For #3, yes, that's the chance of precipitation. This is another value that toggles, based on whether it is still today, or if it is now night.

For #4, create your own measure and set it to the value of the appropriate measure in the template (do NOT change the templates). The [MeasureWindCalm] measure is an example of how you would "wrap" a standard template measure with one that is unique to your skin. As far as Max/Min, don't forget you'll need to account for both Celsius and Fahrenheit. And "max" in Death Valley is a whole lot different than "max" in Oslo, Norway.
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22372
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: JSMorley's Weather.com skin

Post by jsmorley »

SilverAzide wrote: September 15th, 2021, 12:48 am Probably would be better if this was kept in the main thread, but perhaps another mod can move it...

For your first question, the variable ContextLocationString is configured by the [MeasureFormatLocation] measure. Just change the !SetVariable bang to the value you want to see, but the country is there for a reason. If you point the skin to another state or country instead of just your own, you might find that country code pretty handy. There are LOTS of places with the same name. In addition, the location data appears differently depending on which country you are getting the weather for.

For #2, the gray color is not too bizarre, it's there because it's telling you it is not "today", and it's now "tonight". TWC's current conditions do not show certain attributes once a "today" is over. This skin detects that and changes the forecast high temp to the actual high temp once it is "night". Look for the [MeasureToggleAtNight] to see the trigger than changes the skin appearance based on the current conditions. This is a kind of a tutorial to let you know how to read TWC data and create a related "trigger" measure to switch the skin around.

For #3, yes, that's the chance of precipitation. This is another value that toggles, based on whether it is still today, or if it is now night.

For #4, create your own measure and set it to the value of the appropriate measure in the template (do NOT change the templates). The [MeasureWindCalm] measure is an example of how you would "wrap" a standard template measure with one that is unique to your skin. As far as Max/Min, don't forget you'll need to account for both Celsius and Fahrenheit. And "max" in Death Valley is a whole lot different than "max" in Oslo, Norway.
Excellent. I think you have it down how this is all organized better than I do.
User avatar
sl23
Posts: 889
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: JSMorley's Weather.com skin

Post by sl23 »

1. I tried removing the country part of the code which had no effect. But I see your point, it may be needed. Is there a regex way of reducing this so just the town/city shows?

2. Ok gotcha. :D

3. Again, got that.

4. Wrt min/max temps, I was thinking of covering a wide range, say -15 to 60 as a guess to start with. Is the -15 possible as a min value though?

Thanks for the detailed description :thumbup:
User avatar
SilverAzide
Rainmeter Sage
Posts: 1616
Joined: March 23rd, 2015, 5:26 pm

Re: JSMorley's Weather.com skin

Post by SilverAzide »

sl23 wrote: September 15th, 2021, 7:10 am 1. I tried removing the country part of the code which had no effect. But I see your point, it may be needed. Is there a regex way of reducing this so just the town/city shows?
I'm not quite sure what you are referring to. Why would you need a regex? Unless you are referring to something else, all you need to do is edit the two lines of code:

Code: Select all

IfMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationCountry]"]
IfNotMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationAdminDistrict], [@LocationCountryCode]"]
Change them to whatever you want, like this for example:

Code: Select all

IfMatchAction=[!SetVariable ContextLocationString "[@LocationName]"]
IfNotMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationAdminDistrict]"]
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22372
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: JSMorley's Weather.com skin

Post by jsmorley »

Keep in mind there is a reference "MeasureNamesReference.txt" for all the measures that are created by the template available in @Resources.

The template pretty much creates measures for every useful bit of data from the feed. You just need to use the ones you want in your skin...

Code: Select all

======================
Units of measure
======================
[@UnitsType] : This will be "m" or "e" or "h"
 Note that "h" is for the hybrid units used in the UK.
[@UnitsTemperature] : This will be "C" or "F"
[@UnitsSpeed] : This will be "km/h" or "mph"
[@UnitsDistance] : This will be "km" or "mi"
[@UnitsAccumulation] : This will be "cm" or "in"
[@UnitsPrecipitation] : This will be "mm" or "in"
[@UnitsPressure] This will be "mb" or "in"

======================
Location information
======================
[@LocationLatitude] : i.e. 38.805
[@LocationLongitude] : i.e -77.047
[@LocationAdminDistrict]
[@LocationAdminDistrictCode]
 These AdminDistrict values will vary in meaning depending on where you live.
 In the US, this will be the "state". Other places it may be "region", or just empty.
[@LocationCountry] : i.e. United States of America
[@LocationCountryCode] : i.e. US
[@LocationName] : Location Display Name - Generally the "city"
[@LocationLanguageCode] : i.e. en-US
[@LocationTimeZoneAbbreviation] : i.e. EST

======================
Current weather information
======================
[@CurrentPressure] : Use @UnitsPressure
[@CurrentPressureChangeTrend] : Text "Steady", "Rising", "Falling"
[@CurrentPressureCode] : 0 - "Steady" 1 - "Rising" 2 - "Falling"
[@CurrentPressureChangeAmount] : Use @UnitsPressure
[@CurrentDewPoint]
[@CurrentFeelsLike]
[@CurrentWindGust] : Use @UnitsSpeed
[@CurrentHumidity] : Percentage
[@CurrentIcon]
[@CurrentObservationTimeStamp]
[@CurrentObservationDate] 
 Automatically uses defined #Lanaguage# (i.e. en-US) to translate Month/Day names.
[@CurrentObservationTime]
[@CurrentConditions] : This is the "long" version
[@CurrentConditionsMedium] 
[@CurrentConditionsShort]
[@CurrentCloudCoverPhrase]
[@CurrentPrecipitationLast24Hours] : Use @UnitsPrecipitation
[@CurrentSnowDepth] : Use @UnitsAccumulation
[@CurrentTemperature]
[@CurrentTemperatureMaxSince7AM]
[@CurrentUVIndex] : A range of 1-10
[@CurrentUVDescription]
[@CurrentVisibilityDistance] : Use @UnitsDistance 
[@CurrentWindSpeed] : Use @UnitsSpeed
[@CurrentWindDirectionCompass] : i.e. "NNW"
[@CurrentWindDirectionDegrees] : i.e. 220
[@CurrentSunriseTimeStamp]
[@CurrentSunriseTime]
[@CurrentSunSetTimeStamp]
[@CurrentSunsetTime]

======================
Today - Forecast for the entire day
======================
[@ForecastTodayDateString] : Full date string for Today - i.e. "2020-01-21T07:00:00-0400"
[@ForecastTodayDayLong] : Full day of the week i.e. Saturday
[@ForecastTodayDayShort] : i.e. Sat
[@ForecastTodayMonthLong] : i.e. "January"
[@ForecastTodayMonthShort] : i.e. "Jan"
[@ForecastTodayDayOfMonth] : 1-31
[@ForecastTodayNarative]
[@ForecastTodayHighTemperature]
[@ForecastTodayLowTemperature]
[@ForecastTodaySunriseTimeStamp]
[@ForecastTodaySunriseTime]
[@ForecastTodaySunsetTimeStamp]
[@ForecastTodaySunsetTime]
[@ForecastTodayQPFRain] : Quantitative Precipitation Forecasts -  Use @UnitsPrecipitation
[@ForecastTodayQPFSnow] : Quantitative Precipitation Forecasts - Use @UnitsAccumulation

======================
Today - Forecast for "Day"
======================
[@ForecastTodayDayPart] : "Today"
[@ForecastTodayDayLetter] : "D"
[@ForecastTodayDayIcon]
[@ForecastTodayDayConditions]
[@ForecastTodayDayConditionsShort]
[@ForecastTodayDayTemperature]
[@ForecastTodayDayHeatIndex]
[@ForecastTodayDayWindChill]
[@ForecastTodayDayNarrative]
[@ForecastTodayDayHumidity]
[@ForecastTodayDayWindSpeed]
[@ForecastTodayDayWindDirectionDegrees] : i.e. 120
[@ForecastTodayDayWindDirectionCompass] : i.e. NNW
[@ForecastTodayDayWindPhrase] : i.e. "Winds SE at 5 to 10 mph."
[@ForecastTodayDayPrecipitationPercent] : Percent likely
[@ForecastTodayDayPrecipitationType] : "rain", "snow" or the generic "precip"
[@ForecastTodayDayPrecipitationAmount] : Use @UnitsPrecipitation
[@ForecastTodayDayThunderCategory]
[@ForecastTodayDayThunderIndex]
[@ForecastTodayDaySnowAmount] : Use @UnitsAccumulation
[@ForecastTodayDaySnowRange] : Text range, i.e. "2-5" - Use @UnitsAccumulation
[@ForecastTodayDayCloudPercent]
[@ForecastTodayDayUVIndex] : A range of 1-10
[@ForecastTodayDayUVIndexDescription]

Note: At some point in the afternoon, all "TodayDay" measures except
[@ForecastTodayDayLong] will return an empty string. If [@ForecastTodayDayTemperature]
is an empty string, then it is "Tonight". There can't be a "forecast" for a part of day
that has already gone by. You must react to that, and perhaps use "TodayNight"
measures in their place. 

======================
Today - Forecast for "Night"
======================
[@ForecastTodayNightPart] : "Tonight"
[@ForecastTodayNightLetter] : "N"
[@ForecastTodayNightIcon]
[@ForecastTodayNightConditions]
[@ForecastTodayNightConditionsShort]
[@ForecastTodayNightTemperature]
[@ForecastTodayNightHeatIndex]
[@ForecastTodayNightWindChill]
[@ForecastTodayNightNarrative]
[@ForecastTodayNightHumidity]
[@ForecastTodayNightWindSpeed]
[@ForecastTodayNightWindDirectionDegrees] : i.e. 120
[@ForecastTodayNightWindDirectionCompass] : i.e. "NNW"
[@ForecastTodayNightWindPhrase] : i.e. "Winds SE at 5 to 10 mph."
[@ForecastTodayNightPrecipitationPercent] : Percent likely
[@ForecastTodayNightPrecipitationType] : "rain", "snow" or the generic "precip"
[@ForecastTodayNightPrecipitationAmount] : Use @UnitsPrecipitation
[@ForecastTodayNightThunderCategory]
[@ForecastTodayNightThunderIndex]
[@ForecastTodayNightSnowAmount] : Use @UnitsAccumulation
[@ForecastTodayNightSnowRange] : Text range, i.e. "2-5" - Use @UnitsAccumulation
[@ForecastTodayNightCloudPercent]
[@ForecastTodayNightUVIndex] : A range of 1-10
[@ForecastTodayNightUVIndexDescription]

======================
Day2 - Forecast for the entire day
======================
[@ForecastDay2DateString] : Full date string for Tomorrow - i.e. "2020-01-22T07:00:00-0400"
[@ForecastDay2DayLong] : Full day of the week i.e. Sunday
[@ForecastDay2DayShort] : i.e. Sun
[@ForecastDay2MonthLong] : i.e. "January"
[@ForecastDay2MonthShort] : i.e. "Jan"
[@ForecastDay2DayOfMonth] : 1-31
[@ForecastDay2Narative]
[@ForecastDay2HighTemperature]
[@ForecastDay2LowTemperature]
[@ForecastDay2SunriseTimeStamp]
[@ForecastDay2SunriseTime]
[@ForecastDay2SunsetTimeStamp]
[@ForecastDay2SunsetTime]
[@ForecastDay2QPFRain]
[@ForecastDay2QPFSnow]

======================
Day2 - Forecast for "Day"
======================
[@ForecastDay2DayPart] : "Tomorrow"
[@ForecastDay2DayLetter] : "D"
[@ForecastDay2DayIcon]
[@ForecastDay2DayConditions]
[@ForecastDay2DayConditionsShort]
[@ForecastDay2DayTemperature]
[@ForecastDay2DayHeatIndex]
[@ForecastDay2DayWindChill]
[@ForecastDay2DayNarrative]
[@ForecastDay2DayHumidity]
[@ForecastDay2DayWindSpeed]
[@ForecastDay2DayWindDirectionDegrees]
[@ForecastDay2DayWindDirectionCompass]
[@ForecastDay2DayWindPhrase]
[@ForecastDay2DayPrecipitationPercent]
[@ForecastDay2DayPrecipitationType]
[@ForecastDay2DayPrecipitationAmount]
[@ForecastDay2DayThunderCategory]
[@ForecastDay2DayThunderIndex]
[@ForecastDay2DaySnowAmount]
[@ForecastDay2DaySnowRange]
[@ForecastDay2DayCloudPercent]
[@ForecastDay2DayUVIndex]
[@ForecastDay2DayUVIndexDescription]

======================
Day2 - Forecast for "Night"
======================
[@ForecastDay2NightPart] : "Tomorrow night"
[@ForecastDay2NightLetter] : "N"
[@ForecastDay2NightIcon]
[@ForecastDay2NightConditions]
[@ForecastDay2NightConditionsShort]
[@ForecastDay2NightTemperature]
[@ForecastDay2NightHeatIndex]
[@ForecastDay2NightWindChill]
[@ForecastDay2NightNarrative]
[@ForecastDay2NightHumidity]
[@ForecastDay2NightWindSpeed]
[@ForecastDay2NightWindDirectionDegrees]
[@ForecastDay2NightWindDirectionCompass]
[@ForecastDay2NightWindPhrase]
[@ForecastDay2NightPrecipitationPercent]
[@ForecastDay2NightPrecipitationType]
[@ForecastDay2NightPrecipitationAmount]
[@ForecastDay2NightThunderCategory]
[@ForecastDay2NightThunderIndex]
[@ForecastDay2NightSnowAmount]
[@ForecastDay2NightSnowRange]
[@ForecastDay2NightCloudPercent]
[@ForecastDay2NightUVIndex]
[@ForecastDay2NightUVIndexDescription]

This pattern will repeat for Day3 - Day15
User avatar
sl23
Posts: 889
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: JSMorley's Weather.com skin

Post by sl23 »

SilverAzide wrote: September 15th, 2021, 1:02 pm I'm not quite sure what you are referring to. Why would you need a regex? Unless you are referring to something else, all you need to do is edit the two lines of code:

Code: Select all

IfMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationCountry]"]
IfNotMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationAdminDistrict], [@LocationCountryCode]"]
Change them to whatever you want, like this for example:

Code: Select all

IfMatchAction=[!SetVariable ContextLocationString "[@LocationName]"]
IfNotMatchAction=[!SetVariable ContextLocationString "[@LocationName], [@LocationAdminDistrict]"]
That's the part I tried removing, but it had no effect. But after your comment about needing it, I thought maybe I could use a RegEx to remove any text after the town/city. Is that possible? I think it's a better solution?
User avatar
sl23
Posts: 889
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: JSMorley's Weather.com skin

Post by sl23 »

jsmorley wrote: September 15th, 2021, 1:09 pm Keep in mind there is a reference "MeasureNamesReference.txt" for all the measures that are created by the template available in @Resources.

The template pretty much creates measures for every useful bit of data from the feed. You just need to use the ones you want in your skin...

Code: Select all

======================
Units of measure
======================
[@UnitsType] : This will be "m" or "e" or "h"
 Note that "h" is for the hybrid units used in the UK.
[@UnitsTemperature] : This will be "C" or "F"
[@UnitsSpeed] : This will be "km/h" or "mph"
[@UnitsDistance] : This will be "km" or "mi"
[@UnitsAccumulation] : This will be "cm" or "in"
[@UnitsPrecipitation] : This will be "mm" or "in"
[@UnitsPressure] This will be "mb" or "in"

======================
Location information
======================
[@LocationLatitude] : i.e. 38.805
[@LocationLongitude] : i.e -77.047
[@LocationAdminDistrict]
[@LocationAdminDistrictCode]
 These AdminDistrict values will vary in meaning depending on where you live.
 In the US, this will be the "state". Other places it may be "region", or just empty.
[@LocationCountry] : i.e. United States of America
[@LocationCountryCode] : i.e. US
[@LocationName] : Location Display Name - Generally the "city"
[@LocationLanguageCode] : i.e. en-US
[@LocationTimeZoneAbbreviation] : i.e. EST

======================
Current weather information
======================
[@CurrentPressure] : Use @UnitsPressure
[@CurrentPressureChangeTrend] : Text "Steady", "Rising", "Falling"
[@CurrentPressureCode] : 0 - "Steady" 1 - "Rising" 2 - "Falling"
[@CurrentPressureChangeAmount] : Use @UnitsPressure
[@CurrentDewPoint]
[@CurrentFeelsLike]
[@CurrentWindGust] : Use @UnitsSpeed
[@CurrentHumidity] : Percentage
[@CurrentIcon]
[@CurrentObservationTimeStamp]
[@CurrentObservationDate] 
 Automatically uses defined #Lanaguage# (i.e. en-US) to translate Month/Day names.
[@CurrentObservationTime]
[@CurrentConditions] : This is the "long" version
[@CurrentConditionsMedium] 
[@CurrentConditionsShort]
[@CurrentCloudCoverPhrase]
[@CurrentPrecipitationLast24Hours] : Use @UnitsPrecipitation
[@CurrentSnowDepth] : Use @UnitsAccumulation
[@CurrentTemperature]
[@CurrentTemperatureMaxSince7AM]
[@CurrentUVIndex] : A range of 1-10
[@CurrentUVDescription]
[@CurrentVisibilityDistance] : Use @UnitsDistance 
[@CurrentWindSpeed] : Use @UnitsSpeed
[@CurrentWindDirectionCompass] : i.e. "NNW"
[@CurrentWindDirectionDegrees] : i.e. 220
[@CurrentSunriseTimeStamp]
[@CurrentSunriseTime]
[@CurrentSunSetTimeStamp]
[@CurrentSunsetTime]

======================
Today - Forecast for the entire day
======================
[@ForecastTodayDateString] : Full date string for Today - i.e. "2020-01-21T07:00:00-0400"
[@ForecastTodayDayLong] : Full day of the week i.e. Saturday
[@ForecastTodayDayShort] : i.e. Sat
[@ForecastTodayMonthLong] : i.e. "January"
[@ForecastTodayMonthShort] : i.e. "Jan"
[@ForecastTodayDayOfMonth] : 1-31
[@ForecastTodayNarative]
[@ForecastTodayHighTemperature]
[@ForecastTodayLowTemperature]
[@ForecastTodaySunriseTimeStamp]
[@ForecastTodaySunriseTime]
[@ForecastTodaySunsetTimeStamp]
[@ForecastTodaySunsetTime]
[@ForecastTodayQPFRain] : Quantitative Precipitation Forecasts -  Use @UnitsPrecipitation
[@ForecastTodayQPFSnow] : Quantitative Precipitation Forecasts - Use @UnitsAccumulation

======================
Today - Forecast for "Day"
======================
[@ForecastTodayDayPart] : "Today"
[@ForecastTodayDayLetter] : "D"
[@ForecastTodayDayIcon]
[@ForecastTodayDayConditions]
[@ForecastTodayDayConditionsShort]
[@ForecastTodayDayTemperature]
[@ForecastTodayDayHeatIndex]
[@ForecastTodayDayWindChill]
[@ForecastTodayDayNarrative]
[@ForecastTodayDayHumidity]
[@ForecastTodayDayWindSpeed]
[@ForecastTodayDayWindDirectionDegrees] : i.e. 120
[@ForecastTodayDayWindDirectionCompass] : i.e. NNW
[@ForecastTodayDayWindPhrase] : i.e. "Winds SE at 5 to 10 mph."
[@ForecastTodayDayPrecipitationPercent] : Percent likely
[@ForecastTodayDayPrecipitationType] : "rain", "snow" or the generic "precip"
[@ForecastTodayDayPrecipitationAmount] : Use @UnitsPrecipitation
[@ForecastTodayDayThunderCategory]
[@ForecastTodayDayThunderIndex]
[@ForecastTodayDaySnowAmount] : Use @UnitsAccumulation
[@ForecastTodayDaySnowRange] : Text range, i.e. "2-5" - Use @UnitsAccumulation
[@ForecastTodayDayCloudPercent]
[@ForecastTodayDayUVIndex] : A range of 1-10
[@ForecastTodayDayUVIndexDescription]

Note: At some point in the afternoon, all "TodayDay" measures except
[@ForecastTodayDayLong] will return an empty string. If [@ForecastTodayDayTemperature]
is an empty string, then it is "Tonight". There can't be a "forecast" for a part of day
that has already gone by. You must react to that, and perhaps use "TodayNight"
measures in their place. 

======================
Today - Forecast for "Night"
======================
[@ForecastTodayNightPart] : "Tonight"
[@ForecastTodayNightLetter] : "N"
[@ForecastTodayNightIcon]
[@ForecastTodayNightConditions]
[@ForecastTodayNightConditionsShort]
[@ForecastTodayNightTemperature]
[@ForecastTodayNightHeatIndex]
[@ForecastTodayNightWindChill]
[@ForecastTodayNightNarrative]
[@ForecastTodayNightHumidity]
[@ForecastTodayNightWindSpeed]
[@ForecastTodayNightWindDirectionDegrees] : i.e. 120
[@ForecastTodayNightWindDirectionCompass] : i.e. "NNW"
[@ForecastTodayNightWindPhrase] : i.e. "Winds SE at 5 to 10 mph."
[@ForecastTodayNightPrecipitationPercent] : Percent likely
[@ForecastTodayNightPrecipitationType] : "rain", "snow" or the generic "precip"
[@ForecastTodayNightPrecipitationAmount] : Use @UnitsPrecipitation
[@ForecastTodayNightThunderCategory]
[@ForecastTodayNightThunderIndex]
[@ForecastTodayNightSnowAmount] : Use @UnitsAccumulation
[@ForecastTodayNightSnowRange] : Text range, i.e. "2-5" - Use @UnitsAccumulation
[@ForecastTodayNightCloudPercent]
[@ForecastTodayNightUVIndex] : A range of 1-10
[@ForecastTodayNightUVIndexDescription]

======================
Day2 - Forecast for the entire day
======================
[@ForecastDay2DateString] : Full date string for Tomorrow - i.e. "2020-01-22T07:00:00-0400"
[@ForecastDay2DayLong] : Full day of the week i.e. Sunday
[@ForecastDay2DayShort] : i.e. Sun
[@ForecastDay2MonthLong] : i.e. "January"
[@ForecastDay2MonthShort] : i.e. "Jan"
[@ForecastDay2DayOfMonth] : 1-31
[@ForecastDay2Narative]
[@ForecastDay2HighTemperature]
[@ForecastDay2LowTemperature]
[@ForecastDay2SunriseTimeStamp]
[@ForecastDay2SunriseTime]
[@ForecastDay2SunsetTimeStamp]
[@ForecastDay2SunsetTime]
[@ForecastDay2QPFRain]
[@ForecastDay2QPFSnow]

======================
Day2 - Forecast for "Day"
======================
[@ForecastDay2DayPart] : "Tomorrow"
[@ForecastDay2DayLetter] : "D"
[@ForecastDay2DayIcon]
[@ForecastDay2DayConditions]
[@ForecastDay2DayConditionsShort]
[@ForecastDay2DayTemperature]
[@ForecastDay2DayHeatIndex]
[@ForecastDay2DayWindChill]
[@ForecastDay2DayNarrative]
[@ForecastDay2DayHumidity]
[@ForecastDay2DayWindSpeed]
[@ForecastDay2DayWindDirectionDegrees]
[@ForecastDay2DayWindDirectionCompass]
[@ForecastDay2DayWindPhrase]
[@ForecastDay2DayPrecipitationPercent]
[@ForecastDay2DayPrecipitationType]
[@ForecastDay2DayPrecipitationAmount]
[@ForecastDay2DayThunderCategory]
[@ForecastDay2DayThunderIndex]
[@ForecastDay2DaySnowAmount]
[@ForecastDay2DaySnowRange]
[@ForecastDay2DayCloudPercent]
[@ForecastDay2DayUVIndex]
[@ForecastDay2DayUVIndexDescription]

======================
Day2 - Forecast for "Night"
======================
[@ForecastDay2NightPart] : "Tomorrow night"
[@ForecastDay2NightLetter] : "N"
[@ForecastDay2NightIcon]
[@ForecastDay2NightConditions]
[@ForecastDay2NightConditionsShort]
[@ForecastDay2NightTemperature]
[@ForecastDay2NightHeatIndex]
[@ForecastDay2NightWindChill]
[@ForecastDay2NightNarrative]
[@ForecastDay2NightHumidity]
[@ForecastDay2NightWindSpeed]
[@ForecastDay2NightWindDirectionDegrees]
[@ForecastDay2NightWindDirectionCompass]
[@ForecastDay2NightWindPhrase]
[@ForecastDay2NightPrecipitationPercent]
[@ForecastDay2NightPrecipitationType]
[@ForecastDay2NightPrecipitationAmount]
[@ForecastDay2NightThunderCategory]
[@ForecastDay2NightThunderIndex]
[@ForecastDay2NightSnowAmount]
[@ForecastDay2NightSnowRange]
[@ForecastDay2NightCloudPercent]
[@ForecastDay2NightUVIndex]
[@ForecastDay2NightUVIndexDescription]

This pattern will repeat for Day3 - Day15
Do I use these in a similar way as you would refer to a Variable? Or do I use them with MeasureName=?
User avatar
jsmorley
Developer
Posts: 22372
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: JSMorley's Weather.com skin

Post by jsmorley »

sl23 wrote: September 15th, 2021, 4:53 pm Do I use these in a similar way as you would refer to a Variable?
You use them exactly as you would use any other measure that is in your skin.

Might be MeasureName=MyMeasure on any meter, might be used as a section variable with [MyMeasure] and DynamicVariables=1. It's no different than if all those measures in that reference were just directly hard-coded into your skin's .ini file. In a sense, they are. They are only in a separate @Include .inc file so 1) You don't have to wade through all of them, and there are boatloads, while you edit your skin, and 2) You are not tempted to change them in any way, which would be disastrous.
User avatar
sl23
Posts: 889
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: JSMorley's Weather.com skin

Post by sl23 »

Ok thanks.So, where would I put the min/max values for the Roundline meter? I have this so far...

Code: Select all

[sRoundBar]
LineStart=22
LineLength=29
LineWidth=2
LineColor=#TempColour#
StartAngle=(Rad(270))
Antialias=1
Solid=0
DynamicVariables=1

[CurrentTempRound]
Meter=Roundline
MeterStyle=sRoundBar
MeasureName=@CurrentTemperature
Group=
X=245
Y=37