Custom Logs and Cumulusutils.ini: Difference between pages

(Difference between pages)
m
 
 
|__TOC__
|}
CumulusUtils is a configurable application and its parameters are stored in the file CumulusUtils.ini.
In CMX version 3.22.0 - b3211 the Custom Logs were introduced, providing the possibility for the user to create their own logfiles for any value - also strings - which CMX produces in a [[Webtags|webtag]]. This called for a procedure in CumulusUtils to handle those logs. In version 6.21.0 this was realised. This [[Custom Logs]] procedure is based on the External Sensors.
 
This page will list most parameters and if deemed necessary, a short explanation will be given. Most parameters will be discussed on the page of the module.
=== Goal ===
The CustomLogs module's goal is to chart webtags and display its current realtime value in a table left of the chart.
 
The phrase '''most parameters''' is used, because parameters - if non-existent - are created with their default values when used during a run of CumulusUtils. As not all parameters are needed, those not needed will not be seen by the user. Although through testing I assume my inifile has all parameters, I cannot guarantee that: the complexity has increased quickly and I may have missed some. You are invited to notify me or update this file yourself. (I and me being [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&u=9016 HansR])
=== '''IMPORTANT''' ===
'''1) NOTE: Be aware that for every webtag an entry in the JSON datafile will be created for the period of number of hours you have defined for the charts. This may lead to large datafiles being transferred every interval, data duplication (data already present in the standard datafiles of CMX or CUtils) and high memory use and performance of your server while displaying the charts may be the result. So the user is warned to think about what he really wants to log and view.
'''
 
The order of the parameters can be changed by the user and will be maintained. This can be handy in grouping parameters within sections, especially for the larger sections like ''Website'' and ''Graphs''
'''2) NOTE: Webtag values are the actual momentane values when asked at CMX. Be aware that a webtag value is NEVER an average of the period before it. That is also not the case for the DAILY values where it would maybe be kind of natural to expect such value. A better name for Daily in this case would be the ''Midnight value''.'''
 
Lines starting with a semicolon (';') are treated as comment and ignored.
'''3) NOTE: When you define or modify a CustomLog in CMX, you have to run CUtils with CustomLogs (or Website) as argument because there is no connection between CMX and CUtils: running CUtils will fetch the info from CMX and update the website accordingly. It will reset the JSON and a full dataset will be transferred to the webserver. However: if a new CustomLog did not yet contain any data, you will have to run CUtils again when it has. If you do not, the JSON will not adhere to the new definition and the PHP upload will not be able to do incremental uploads which will produce errors in the logfile. This should not be an issue for FTP uploads which are not incremental.<br/>'''
'''Also note that ''the frequency'' for the CustomLogs has no connection with the ''Internet Interval'' with which the data on the webserver (the JSONs) are updated, this may give unexpected effects for you.'''
 
Each parameter can be reset to its default by simply deleting it from the file. A new entry will be created with its default value on the next run, adding it to the end of the already existing section. A total reset of all parameters is accomplished by deleting this file, the user has to start from scratch.
'''4) NOTE: The definition of a CustomLog can only contain one separator between the webtags. That separator is either the separator defined by the locale or a space. Two or more separators will lead to errors.'''
 
== Listing of the Parameters per section ==
=== Dependency ===
Like the Extra Sensors module the Customs Logs module is dependent on the [[ChartsCompiler]] which means that the file ''CutilsCharts.def'' must be present in the utils directory. This may contain a user made charts definition but for a starting user it will be easiest to just copy the file ''CutilsCharts-default-for-use.def'' from the distribution and rename it to ''CutilsCharts.def''. Make sure that your CMX configured datafiles and the charts definitions agree, if they don't than you won't see data lines or/and get errors in the console.
 
=== [General] ===
If the user has already run [[Extra Sensors]] module, the file CutilsCharts.def will contain the line
LoggingOn=true<br>
; ExtraSensorCharts
NormalMessageToConsole=true<br>
And everything below these lines will be replaced by generated ExtraSensors charts (up to but not including the following CustomLogs demarcation line).
TraceInfoLevel=info<br>
IgnoreDataErrors=true<br>
GeneratejQueryInclude=false<br>
DoLibraryIncludes=false<br>
<code>;Language=nl-NL<br></code>
Language=en-GB<br>
ChartContainerHeight=650<br>
ChartBackgroundImage=<br>
UseScrollableTables=true &nbsp;&nbsp;&nbsp;''NOTE: Used for Top10, Day Records and pwsFWI. The thin scrollbar does work with FireFox but not with Chrome<br>
RecordsBeganDate=01/01/20 &nbsp;&nbsp;&nbsp;Normally used to trim your start year to 01/01/yy '''(note the 2-digit year)''' but any date within the dataset can be used<br>
MaxErrors=10<br>
CMXport=8998<br>
UseSpecificHighchartsVersion=11.2.0<br>
DoModular=false<br>
ModulePath=<br>
NeedSolarEnergyDailyValuesInCSV=false &nbsp;&nbsp;Used to output the values of the Solar Energy graph into a CSV file<br>
CheckDateOrder=true &nbsp;&nbsp;Checks the date order when reading the Monthly Logs. Set to false when corrections made<br>
LastUploadTime=13/03/24 10:30<br>
 
The parameters ''GeneratejQueryInclude'' and ''DoLibraryIncludes'' require special attention. Please read the chapter on the [[modules]] for modular use of javascript libraries.
A similar section will be created for the Custom Logs charts with the CustomLogs demarcation line:
; CustomLogsCharts
and the parameter
UserModificationCustomLogsCharts=true
will provide the possibility to modify the charts (default is false).
 
=== [pwsFWI] ===
Again: be aware that making the modification of the charts manual will no longer overwrite. If you lose track and want to start over again with automatic chart generation set this parameter to false.
Analyse=90<br>
WarningLevel=5<br>
ResultFormat=beteljuice<br>
FireImage=true<br>
<nowiki>predictionURL=http://api.yourweather.co.uk/index.php?api_lang=en&localidad=xxxxxx&affiliate_id=yyyyyyyyyy&v=2.0</nowiki><br>
PredictionBackground=Moccasin<br>
CurrentIndexFormat=Standard<br>
<nowiki>;CurrentIndexFormat=Betel-Kocher</nowiki><br>
CurrentIndexDay=Today<br>
<nowiki>CurrentPwsFWI=<span id='CurrentPwsFWI' style="border: 1px solid black;text-align:center;background:green;color: white"> &nbsp;26.4&nbsp;pwsFWI</span></nowiki><br>
 
NOTE: ''CurrentPwsFWI'' is not configurable but is set/read by the application. Any value you put here will be modified.
=== Translation/Language ===
The translation of of this module is accommodated via two sections in the ''CUstringsXX.ini'' file: ''Compiler'' and ''CustomLogs'' analogue to the Extra Sensors.
 
=== [Top10] ===
You will find all translation tags for the plottable parameters in the section ''Compiler''. This is analogue to all standard plot variables. Normal terms to translate and the fixed chart title section you will find in the ''CustomLogs'' section.
BackgroundColorHeader=#d0d0d0<br>
BackgroundColorTable=#f0f0f0<br>
TextColorAccentTable=DarkOrange<br>
TextColorHeader=Green<br>
NumberOfColumns=3<br>
 
=== Operation[NOAA] ===
FTPDirectory=./reports/<br>
#CumulusUtils must be run once with the command ''CustomLogs'' (fastest) or ''Website'' to create the required parameters in the section ''[CustomLogs]'' in the inifile.
ColorNOAAText=Black<br>
#The module requires that the user has ''Custom Logs'' logging enabled in CumulusMX (Define and ectivate Custom Logs) AND the user must set the parameter ''CustomLogs'' in the cumulusutils.ini file to ''true''. This last parameter makes it possible to have ''CustomLogs'' operational in CMX but not display them on the web (if you are generating the website).
ColorNOAABackground=#f9f8EB<br>
#When configuring the CustomLogs make sure you use meaningful names for the individual logs. This makes it easy to interpret the output as the names are used for the menu and the datapresentation.
StartInCurrentMonth=true<br>
 
NOTE: the report directory MUST be the directory you configure in ''Cumulus.ini''
For the [[Website_Generator|Website Generator]] this means everything is now automatically available in the menu of the website.
 
=== [Graphs] ===
The ''customlogsrealtime.txt'' file needs to be processed in the CMX ''Extra Webfiles'' utility and send to the webroot on the realtime frequency.
UseHighchartsBoostModule=true<br>
UseNormalTempReference=both<br>
UseNormalRainReference=both<br>
MaxNrOfSeriesVisibileInGraph=3<br>
PeriodMovingAverage=365<br>
WindRoseNrOfWindforceClasses=6<br>
WindRoseMaxWindSpeed=60<br>
WindRoseInversed=false<br>
WindrunClassWidth=75<br>
DailyRain=true<br>
MonthlyRain=true<br>
YearRainstats=true<br>
YearMonthRainstats=true<br>
RAINvsEVT=true<br>
MonthlyTemp=true<br>
YearTempstats=true<br>
YearMonthTempstats=true<br>
WarmerDays=true<br>
HeatMap=true<br>
WindRose=true<br>
Windrun=true<br>
SolarHours=true<br>
SolarEnergy=true<br>
SolarHoursYearMonth=true<br>
SolarEnergyYearMonth=true<br>
TempSum=true<br>
GrowingDegreeDays=true<br>
Seasons=true<br>
DailyEVT=true<br>
MonthlyEVT=true<br>
AverageClash=true<br>
GraphColors=<br>
<nowiki>;GraphColors=['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4']</nowiki><br>
WindRoseColors=<br>
<nowiki>;WindRoseColors=['lightgrey', 'green', 'blue', 'yellow', 'orange', 'red', 'deeppink', 'purple', 'black']</nowiki><br>
HeatmapNumberOfYearsPerPage=10<br>
GrowingDegreeDaysReferenceTemp=5<br>
WinterToSpringTemperatureLimit=5<br>
SpringToSummerTemperatureLimit=15<br>
 
=== [FTP site] ===
Using as a module requires some additional editing to make use of the table with the current values (Note [[Modules#Javascript_libraries|the libraries]] as well). The charts are always available (see outputs). It is advised not to use this module outside the context of the [[Website_Generator|Website Generator]] but skilled users can use the module as the basis for their own website (as has been done with AirLink and other modules). If you only want the charts then life is more easy and the [[ChartsCompiler]] makes it possible to combine virtually every plotparameter with another plotparameter (of RECENT or EXTRA type)
DoUploadFTP=true<br>
UploadDir=<br>
FtpLog=on<br>
 
=== [Maps] ===
To receive the data for the CustomLogs you have to run ''CumulusUtils [[UserAskedData]]''. It would be logical to do this on the normal interval frequency on which all other chart data are generated by CMX and by the requirements of the [[ChartsCompiler]] and the [[AirLink]] module.
Website=[fill in your website URL for the CUtils site or the specifc page of your own website]<br/>
Participant=true<br/>
DoneToday=15-05-21<br/>
 
=== [Website] ===
The commands for the above named steps are:
// The statistics parameters are currently either for Google or Matomo, Google is default </br>
''utils/bin/cumulusutils.exe CustomLogs'' => this command creates the outputfiles.
// If the corresponding ID's and or Url are not filled in, invalid code is generated. If you do not want </br>
or:
// statistics than set ''StatisticsType'' without value </br> </br>
''utils/bin/cumulusutils.exe website''
 
StatisticsType= [Google || Matomo] default is empty </br>
and:
GoogleStatsId= </br>
''utils/bin/cumulusutils.exe [[UserAskedData]]'' => this command produces the CustomLogs datafiles with only those data required for the present and activated CustomLogs.
MatomoTrackerUrl= </br>
MatomoSiteId= </br>
PermitGoogleOptout=false (default)<br>
 
CumulusRealTimeLocation=<br>
NOTE: [[UserAskedData]] is typically used in an interval through the scheduler. See also the [[AirLink]] and the [[ChartsCompiler]]<br/>
ShowInsideMeasurements=true<br>
NOTE: CUtils creates its own JSON data files for the CustomLogs based on the CustomLogs defined by you.
CumulusRealTimeInterval=30<br>
ShowUV=true<br>
ShowSolar=true<br>
HeaderLeftText=<br>
HeaderRightText=<br>
SiteTitleAddition=<br>
PwsfwiButtonInHeader=true (default) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; => When true the direct access pwsFWI button will show in the header, when false it shows in the menu bar <br />
 
ColorMenuBackground=Lightgrey<br>
== Output ==
ColorMenuText=Black<br>
The CustomLogs module has multiple outputs:
ColorDropdownMenuBackground=Lightgrey<br>
ColorDropdownMenuText=Black<br>
ColorDropdownMenuHoverBackground=Silver<br>
ColorDropdownMenuHoverText=Black<br>
ColorTitleBar=#E87510<br>
ColorTitleText=White<br>
ColorDashboardCellTitleBarBackground=#C5C55B<br>
ColorDashboardCellTitleBarText=White<br>
ColorDashboardCellText=Black<br>
ColorDashboardCellBackground=White<br>
ColorReportviewText=black<br>
ColorReportviewBackground=white<br>
ColorReportviewTableData=Black<br>
ColorFooterLink=#E87510<br>
ColorFooterLinkHover=OrangeRed<br>
ColorFooterBackground=lightgrey<br>
ColorFooterText=Black<br>
ColorBodyBackground=white<br>
ColorDashboardTextAccent=Chartreuse<br>
ColorTitleBackGroundImage=<br>
ColorToggler=Black<br>
ColorDashboardUpIndicator=Chartreuse<br>
ColorDashboardDownIndicator=Red<br>
SteelseriesFramedesign=SHINY_METAL<br>
SteelseriesBackgroundColor=BROWN<br>
SteelseriesPointerColour=RED<br>
SteelseriesPointerType=type3<br>
SteelseriesDirAvgPointertype=TYPE3<br>
SteelseriesDirAvgPointerColour=BLUE<br>
SteelseriesLcdColour=ORANGE<br>
SteelseriesForegroundType=type1<br>
SteelseriesKnobType=STANDARD_KNOB<br>
SteelseriesKnobStyle=SILVER<br>
SteelseriesRainUseSectionColours=true<br>
SteelseriesRainUseGradientColours=true<br>
SteelseriesTempThresholdValue=30<br>
SteelseriesLedVisible=false<br>
ThresholdTempVisible=true<br>
ThresholdTempValue=30<br>
ThresholdHumidityVisible=true<br>
ThresholdHumidityValue=80<br>
ThresholdWindVisible=true<br>
ThresholdWindValue=30<br>
ThresholdRainVisible=true<br>
ThresholdRainValue=20<br>
ThresholdRRateVisible=true<br>
ThresholdRRateValue=10<br>
ThresholdUVVisible=true<br>
ThresholdUVValue=8<br>
HomeGraphTempColor=#058DC7<br>
HomeGraphDewPointColor=#50B432<br>
HomeGraphApparentTempColor=#ED561B<br>
HomeGraphFeelsLikeColor=#DDDF00<br>
HomeGraphWindChillColor=#24CBE5<br>
HomeGraphHeatIndexColor=#64E572<br>
HomeGraphHumidexColor=#FF9655<br>
HomeGraphInsideTempColor=#6AF9C4<br>
HomeGraphPressureColor=#058DC7<br>
HomeGraphBearingColor=#058DC7<br>
HomeGraphAverageBearingColor=#ED561B<br>
HomeGraphWindSpeedColor=#058DC7<br>
HomeGraphWindGustColor=#ED561B<br>
HomeGraphRainfallColor1=#50B432<br>
HomeGraphRainfallColor2=<br>
HomeGraphRainfallColor3=<br>
HomeGraphRainRateColor=#058DC7<br>
HomeGraphHumidityColor=#058DC7<br>
HomeGraphInsideHumidityColor=#50B432<br>
HomeGraphSolarTheoreticalMaxColor1=#DDDF00<br>
HomeGraphSolarTheoreticalMaxColor2=<br>
HomeGraphSolarTheoreticalMaxColor3=<br>
HomeGraphSolarRadiationColor1=#FF9655<br>
HomeGraphSolarRadiationColor2=<br>
HomeGraphSolarRadiationColor3=<br>
HomeGraphUVindexColor=#058DC7<br>
HomeGraphSunHoursColor=gold<br>
HomeGraphDailyRainColor=#058DC7<br>
HomeGraphLineWidth=2<br>
HomeGraphDailyTempAverageColor=#50B432<br>
HomeGraphDailyTempMinColor=#058DC7<br>
HomeGraphDailyTempMaxColor=#ED561B<br>
Panel-1=TemperatureText<br>
Panel-2=PressureText<br>
Panel-3=RainText<br>
Panel-4=Clocks<br>
Panel-8=WindText<br>
Panel-9=SolarDisc<br>
Panel-10=LunarDisc<br>
Panel-11=HumidityText<br>
Panel-12=SolarText<br>
Panel-13=TemperatureGauge<br>
Panel-14=OtherTempsGauge<br>
Panel-15=PressureGauge<br>
Panel-16=HumidityGauge<br>
Panel-20=CloudBaseGauge<br>
Panel-21=RainGauge<br>
Panel-22=RainSpeedGauge<br>
Panel-23=SolarGauge<br>
Panel-24=UVGauge<br>
UseCMXMoonImage=false<br>
MoonImageLocation=<br>
ColorTitleBackGroundImage=HPIM3899_day.JPG<br>
ColorTitleBackGroundImageCivil=HPIM3899_civil.JPG<br>
ColorTitleBackGroundImageNautical=HPIM3899_nautical.JPG<br>
ColorTitleBackGroundImageAstronomical=HPIM3899_astronomical.JPG<br>
ColorTitleBackGroundImageNight=HPIM3899_night.JPG<br>
 
=== [Forecasts] ===
#customlogs.txt => contains the activation code for the module, activated by the menu choice
<nowiki>SevenDayPredictionURL=http://api.yourweather.co.uk/index.php?[registration specifics]</nowiki><br>
#customlogscharts.txt => contains the charts which go with the extra sensors (analogue to the trend charts produced by CMX with the same periodic generation and the same period shown)
ForecastSystem=SpotWx<br>
#customlogsrealtime.txt => contains the webtags for the current value of the Extra Sensors used. Has to be entered in Extra Webfiles as source to be processed and FTP'd to the webroot at realtime.
NorwegianURL=https://retro.yr.no/place/Netherlands/Groningen/Wagenborgen/<br>
#customlogsdata.json => contains all data for the extra sensors specified (by the command ''utils/cumulusutils.exe [[UserAskedData]]'').
WXsimURL=<br>
 
NOTE: the Norwegian site is in process of transition, it will be reworked sometime. At some point it may cease to function.
The user can optionally create or modify the charts himself by setting the parameter ''UserModificationCustomLogsCharts'' to true and subsequently edit ''CutilsCharts.def''. <br>
 
The outputfile for the charts MUST always be ''customlogscharts.txt'' so the first chart in the CustomLogs section ends with: <code>EndChart Output customlogscharts.txt</code> but the user may change this with manual modification.
=== [SysInfo] ===
ReportWidth=700<br>
SystemInfoLinesToSkip=<br>
ExtraStationInfo=<br>
Tx=<br>
 
=== [Thrifty] ===
Top10RecordsPeriod=1<br>
RainGraphsPeriod=1<br>
TempGraphsPeriod=1<br>
WindGraphsPeriod=3<br>
MiscGraphsPeriod=1<br>
MapsPeriod=1<br>
SolarGraphsPeriod=3<br>
 
=== [StationMap] ===
StationMapMenu=true<br>
ArrowLatitude=53.2948<br>
ArrowLongitude=7.0673<br>
Zoomlevel=13<br>
CompassRosePosition=bottomright<br>
CompassRoseType=2<br>
WindArrowType=1<br>
 
=== [Compiler] ===
SmaPeriod=5<br>
DoneToday=04-09-21<br>
 
=== [MeteoCam] ===
MeteoCamMenu=true<br/>
MeteoCamDir=./MeteoCam<br/>
TimelapseExtension=mp4<br/>
MeteoCamName=meteocam.jpg<br/>
CamType=[manual | EcowittHP10]<br>
 
=== [AirLink] ===
(before version 6.1 this section was '''[AirQuality]'''
 
CountrySelected=EU<br/>
WantToSeeNow=true<br/>
WantToSeeNowCast=true<br/>
WantToSee1hr=true<br/>
WantToSee3hr=true<br/>
WantToSee24hr=true<br/>
WantToSeeWind=true<br/>
CleanupAirlinkLogs=false<br/>
ReferenceLineThickness=4<br/>
 
=== [ExtraSensors] ===
ExtraSensors=false<br/>
ParticipatesSensorCommunity=false<br/>
CleanupExtraSensorslog=false<br/>
UserModificationExtraSensorCharts=false<br/>
LightningSensor=[ false | true ]<br/>
ExternalExtraSensors=[ fill with comma separated liste of sensor names ]<br/>
 
The list of parameters below defines which extra sensors are used in your system (combine with strings.txt for the descriptions (Captions) used). Fill with comma separated integer list representing the extra sensor(s):
 
ExtraTemp=<br/>
ExtraHum=<br/>
ExtraDP=<br/>
SoilTemperature=<br/>
SoilMoisture=<br/>
AirQuality=<br/>
UserTemp=<br/>
LeafTemp=<br/>
 
=== [CustomLogs] ===
CustomLogs=false<br/>
UserModificationCustomLogsCharts=false<br/>
DoneToday=2023-10-16T12:41:00<br/>
ExcludedCustomLogs=<br/><br/>
 
'''NOTE:''' <br/>
#''DoneToday'' is not configurable but is set/read by the application. Any value you put here will be modified. If the date is today then the corresponding action will not be carried out. You can force the action by removing this parameter.
#the Ecowitt CO2 sensor is not parameterised but its presence is detected by the presence of a value in the database.
#the Ecowitt AirQuality sensors have an implicit accompanying AirQualityAvg giving the 24 hr average
 
== Inifile Parameters ==
The ''CustomLogs'' module has the following inifile parameters (see [[cumulusutils.ini]]):
 
[ExtraSensors]
CustomLogs=false => If false (default) the module is skipped, no menu entry will be made
UserModificationCustomLogsCharts=false => If true the ''CustomLogs'' charts will not be overwritten in ''CutilsCharts.def'' and give the user the possibility to create his own charts
DoneToday=2023-10-16T12:41:00 => Exists and has a value when the JSON datafile(s) have been uploaded at least once. In case of PHP upload, removing this parameter makes sure next
upload will non-incremental.
ExcludedCustomLogs= => Is empty or contains a comma separated list of CustomLog names. Named logs are excluded from processing by CUtils.
As CustomLogs is a CMX feature, it must be possible to have CustomLogs being used for purposes outside CUtils. If that is the case, exclude them here.
 
[[Category:CumulusUtils]]