Your logic appears to assume that the night temperature is never going to be higher than the day or "max since 7AM" temperature. This is not always true; there are plenty of times when the night can be warmer than the day (like when a warm front moves through during evening hours).
It is currently September 1st, 2024, 12:38 am
⭐ Weather.com - Parsing the V3 JSON
-
- Rainmeter Sage
- Posts: 2731
- Joined: March 23rd, 2015, 5:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
-
- Posts: 38
- Joined: October 16th, 2019, 2:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
I'm using this skin to make a "Roundline" of the temperature not about logical or not
Something like this
![Image](https://bgr.com/wp-content/uploads/2022/06/ios-16-homekit-widget.png?w=1440&h=810&crop=1)
My question was here because when I use the variable it disappears, wondering why it's disappearing
because the high temp of the day doesn't stay so I have to use @CurrentTemperatureMaxSince7AM
![Smiler :)](./images/smilies/ab.gif)
Something like this
![Image](https://bgr.com/wp-content/uploads/2022/06/ios-16-homekit-widget.png?w=1440&h=810&crop=1)
My question was here because when I use the variable it disappears, wondering why it's disappearing
because the high temp of the day doesn't stay so I have to use @CurrentTemperatureMaxSince7AM
Code: Select all
MaxValue=#MaxValue#
IfMatchAction=[!SetOption MeterTodayHighLow MeasureName2 "@CurrentTemperatureMaxSince7AM"][!WriteKeyValue Variables MaxValue "[@CurrentTemperatureMaxSince7AM]"]
IfNotMatchAction=[!SetOption MeterTodayHighLow MeasureName2 "@ForecastTodayDayTemperature"][!WriteKeyValue Variables MaxValue "[@ForecastTodayHighTemperature]"]
-
- Posts: 38
- Joined: October 16th, 2019, 2:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
I figure it out
Max Value has to be like this MaxValue=[#MaxValue#]
Max Value has to be like this MaxValue=[#MaxValue#]
-
- Rainmeter Sage
- Posts: 16485
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: ⭐ Weather.com - Parsing the V3 JSON
I doubt this could work. #MaxValue# is the value of the MaxValue variable, which is the value returned either by the [@CurrentTemperatureMaxSince7AM] or the [@ForecastTodayHighTemperature] measure (as written by the !WriteKeyValue bangs of the IfMatchAction or IfNotMatchAction options). These probably are numbers. By including something into brackets, you tell Rainmeter that thing is a measure. Accordingly [#MaxValue#] is treated by Rainmeter as the measure which name is the value of the #MaxValue# variable (for instance [30], but this is just an example). Are you sure there are measures for each value which can be get with the #MaxValue# variable (or in fact with the [@CurrentTemperatureMaxSince7AM] and [@ForecastTodayHighTemperature] measures)? Doesn't really make sense...
-
- Posts: 38
- Joined: October 16th, 2019, 2:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
I'm not sure, but it worked
Here's the full skin code, if you can check if it's right.
There are 3 measures from jsmorley for the day temp
[@ForecastTodayDayTemperature]
[@ForecastTodayHighTemperature]
[@CurrentTemperatureMaxSince7AM]
Here's the full skin code, if you can check if it's right.
There are 3 measures from jsmorley for the day temp
[@ForecastTodayDayTemperature]
[@ForecastTodayHighTemperature]
[@CurrentTemperatureMaxSince7AM]
Code: Select all
[Rainmeter]
Update=1000
AccurateText=1
BackgroundMode=2
SolidColor=0,0,0,1
DynamicWindowSize=1
MouseScrollUpAction=[!SetVariable Scale "([#Scale]+0.05)"][!WriteKeyValue Variables Scale "([#Scale]+0.05)"][!UpdateMeter *][!Redraw]
MouseScrollDownAction=[!SetVariable Scale "([#Scale]-0.05 < 0.2 ? 0.2 : [#Scale]-0.05)"][!WriteKeyValue Variables Scale "([#Scale]-0.05 < 0.2 ? 0.2 : [#Scale]-0.05)"][!UpdateMeter *][!Redraw]
[Metadata]
Name=
Author=
Version=
License=
[Variables]
@Include=#@#WeatherComJSONVariables.inc
@Include2=#@#WeatherComJSONMeasures.inc
Scale=1.55
FStyle=Normal
FStyle2=Normal
Color=255,255,255
NormalColor=0,0,0,25
White=255,255,255
LightBlue=0,255,255
Blue=0,125,225
Orange=255,135,0
LightRed=200,35,0
Red=255,0,0
MaxValue=@CurrentTemperatureMaxSince7AM
[@CurrentTemperature]
Measure=WebParser
URL=[@CurrentConditionsParent]
StringIndex=11
RegExpSubstitute=1
Substitute=#CommonSubstitute#
IfCondition=([@CurrentTemperature] < 0)
IfTrueAction=[!SetOption MeterTempRound LineColor "#White#"]
IfCondition2=([@CurrentTemperature] >= 0) && ([@CurrentTemperature] <= 11)
IfTrueAction2=[!SetOption MeterTempRound LineColor "#LightBlue#"]
IfCondition3=([@CurrentTemperature] >= 12) && ([@CurrentTemperature] <= 20)
IfTrueAction3=[!SetOption MeterTempRound LineColor "#Blue#"]
IfCondition4=([@CurrentTemperature] >= 21) && ([@CurrentTemperature] <= 28)
IfTrueAction4=[!SetOption MeterTempRound LineColor "#Orange#"]
IfCondition5=([@CurrentTemperature] >= 29) && ([@CurrentTemperature] <= 35)
IfTrueAction5=[!SetOption MeterTempRound LineColor "#LightRed#"]
IfCondition6=([@CurrentTemperature] >= 36)
IfTrueAction6=[!SetOption MeterTempRound LineColor "#Red#"]
DynamicVariables=1
;--------------------------------------------------- Low Tonight
[MeasureNewForecastTodayDayTemperature]
Measure=String
Group=Weather
String=[@ForecastTodayDayTemperature]
IfMatch=^$
IfMatchAction=[!SetOption MeterTodayHighLow Text "Low Tonight %1°"]
IfNotMatchAction=[!SetOption MeterTodayHighLow Text "%1° | %2°"]
DynamicVariables=1
Disabled=0
;---------------------------------------------------
[MeasureToggleAtNight]
Measure=String
Group=Weather
String=[@ForecastTodayDayTemperature]
DynamicVariables=1
IfMatch=^$
IfMatchAction=[!SetOption MeterTodayHighLow MeasureName2 "@CurrentTemperatureMaxSince7AM"][!WriteKeyValue Variables MaxValue "@CurrentTemperatureMaxSince7AM"][!!UpdateMeasure "MeasureTempCircle"][!UpdateMeter *][!Redraw]
IfNotMatchAction=[!SetOption MeterTodayHighLow MeasureName2 "@ForecastTodayDayTemperature"][!WriteKeyValue Variables MaxValue "@ForecastTodayHighTemperature"][!!UpdateMeasure "MeasureTempCircle"][!UpdateMeter *][!Redraw]
[MeasureTempCircle]
Measure=Calc
Formula=@CurrentTemperature
MinValue=[@ForecastTodayLowTemperature]
;[@ForecastTodayNightTemperature]
;[@ForecastTodayLowTemperature]
MaxValue=[#MaxValue#]
;#MaxValue#
;[@ForecastTodayDayTemperature]
;[@ForecastTodayHighTemperature]
;[@CurrentTemperatureMaxSince7AM]
DynamicVariables=1
;---------------------------------------------------
[Background]
Meter=Image
SolidColor=0,0,0,1
X=0
Y=0
W=(140*#Scale#)
H=(140*#Scale#)
DynamicVariables=1
[MeterBG]
Meter=Roundline
MeasureName=MeasureBG
X=(70*#Scale#)
Y=(70*#Scale#)
;LineWidth=(17*#Scale#)
LineLength=0
LineStart=(70*#Scale#)
LineColor=#NormalColor#
Solid=1
AntiAlias=1
DynamicVariables=1
[MeterRound]
Meter=Roundline
X=(70*#Scale#)
Y=(70*#Scale#)
Autoscale=1
StartAngle=(Rad(90))
;LineWidth=(17*#Scale#)
LineLength=(70*#Scale#)
LineStart=(69*#Scale#)
LineColor=#Color#,100
Solid=1
AntiAlias=1
DynamicVariables=1
[MeterTempRound]
Meter=Roundline
MeasureName=MeasureTempCircle
X=(70*#Scale#)
Y=(70*#Scale#)
Autoscale=1
StartAngle=(Rad(90))
;LineWidth=(17*#Scale#)
LineLength=(70*#Scale#)
LineStart=(69*#Scale#)
LineColor=#Color#
Solid=1
AntiAlias=1
DynamicVariables=1
[MeterCondition]
Meter=String
Measurename=@CurrentConditions
FontFace=San Francisco Text
FontSize=(8*#Scale#)
FontColor=#ColorCond#
Antialias=1
Stringcase=Upper
StringAlign=Center
Clipstring=1
W=(90*#Scale#)
H=(32*#Scale#)
X=(70*#Scale#)
Y=(25*#Scale#)r
DynamicVariables=1
[MeterTemperature]
MeasureName=@CurrentTemperature
Meter=String
FontFace=NimbusSanPULtLig
FontSize=(44*#Scale#)
FontColor=#Color#
Antialias=1
StringAlign=Center
Text="%1°"
;°˚
X=(70*#Scale#)
Y=(35*#Scale#)
DynamicVariables=1
[MeterTodayHighLow]
MeasureName=@ForecastTodayLowTemperature
MeasureName2=@ForecastTodayHighTemperature
Meter=String
FontFace=San Francisco Text
FontSize=(5*#Scale#)
FontColor=#Color#
Antialias=1
Stringcase=Upper
StringAlign=Center
Text="%1° | %2°"
;°˚
X=(70*#Scale#)
Y=(115*#Scale#)
DynamicVariables=1
-
- Rainmeter Sage
- Posts: 2731
- Joined: March 23rd, 2015, 5:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
Well... yes, it worked, but perhaps not for the reason you think. balala is correct to have his doubts.
Your variable MaxValue is not the value of the measure, it is the name of the measure. That is why you need both the square brackets and the # signs. MaxValue is literally the string "@CurrentTemperatureMaxSince7AM", it is not the temperature value.
Your method does work, obviously, but there is a better way to do this if you care. You can "escape" the measure. Balala might be able to tell you how if you (and he) are interested.
-
- Rainmeter Sage
- Posts: 16485
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: ⭐ Weather.com - Parsing the V3 JSON
Right, however note that there is a difference between how the code have been posted by zivallh in his two posts. He used brackets in his first post, but didn't when posted the whole code.SilverAzide wrote: ↑October 10th, 2022, 4:58 pm Your variable MaxValue is not the value of the measure, it is the name of the measure. That is why you need both the square brackets and the # signs. MaxValue is literally the string "@CurrentTemperatureMaxSince7AM", it is not the temperature value.
The MaxValue is the value of the appropriate measure in first case, but is the name of measure in second case. Important difference...
See above my reply to SilverAzide. I suppose the second code is the one which works. If this is right, the first code can't work.
-
- Posts: 38
- Joined: October 16th, 2019, 2:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
Yeah I know without brackets it won’t work, I figured that later, then I changed the code and posted, do you guys have better option we can do?
-
- Rainmeter Sage
- Posts: 2731
- Joined: March 23rd, 2015, 5:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
You could escape the measure names, like so:
Code: Select all
MaxValue="[*@CurrentTemperatureMaxSince7AM*]"
; etc.
[MeasureToggleAtNight]
;...
IfMatchAction=...[!SetVariable MaxValue "[*@CurrentTemperatureMaxSince7AM*]"]...
IfNotMatchAction=...[!SetVariable MaxValue "[*@ForecastTodayHighTemperature*]"]...
; etc.
-
- Posts: 38
- Joined: October 16th, 2019, 2:26 pm
Re: ⭐ Weather.com - Parsing the V3 JSON
Thank you guys SilverAzide and balala!! ![Thumbs Up :thumbup:](./images/smilies/ay.gif)
![Thumbs Up :thumbup:](./images/smilies/ay.gif)