1,954
edits
| (15 intermediate revisions by the same user not shown) | |||
|
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS
##On Linux (and probably MacOS too)
##NOTE: no experience by the author on MacOS exists so be prepared to communicate
#<s>At least 32 days of data</s> This requirement has been dropped.
#For the ''[[Charts_-_Misc_charts|Miscellaneous Charts]]'' more data - a year starting on jan 1 - is required
#For the logfiles:
##<s>A consistent date format, mixed date formats in logfiles are not accepted by CumulusUtils</s> From CMX v4 onwards this is enforced by CMX
##<s>Consistent data and separator use</s> See above
##<s>If a legal date format in a logfile is used which is not implemented, just request it</s> See above
#For longer data series check your locale creates consistent logfile entries and it will be
== Goals ==
# Then, on the domain for the website, the user needs to make two directories in the webroot: 'lib' and 'css'. In addition the distribution directory CUicons must be copied as a whole - with contents - to the webroot.
# Updating ''CumulusUtils'' is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory.
# <s>NOTE a seemingly important issue: the datafiles (the naming and the contents) are dependent for their format on the locale / country setting of your machine. If you install and run from scratch and do not bother CMX will take the country setting from the settings of the computer. You may also give the country setting on the commandline when starting CMX. However, it is important to know that CumulusUtils does not handle datafiles with mixed languages and produces lots of errors. When starting with a new install this is not a big deal. But if you have years of old data which you wish to analyse as well you must consider carefully which country setting of CMX is required. Note that the language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name. If you use a different locale than the one you use for CMX, the please fill in the parameter ''MonthsOfMiracleAndWonder'' (section [General]) with the abbreviated filenames of the locale you use for CMX.</s>
# From version 4, the logfiles are written as invariant and the above striked through note has become invalid
# From version 4.7 (.NET 10) there are changes in the database which require CMX to run before CUtils 8.2.0 can run.
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].
Beside the libraries the distribution contains:
#CUserAbout-example.txt : as an example of the user about file - when used rename to ''CUserAbout.txt''
#
#CutilsCharts-default-for-use.def : when used rename to ''CutilsCharts.def''
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.
When creating website the file ''CutilsHead.def'' may have importance to you. See [[Website Generator|Website]]
=== Manually installing without FTP ===
| index.html || <webroot>
|-
|
|-
|
|-
| HighchartsDefaults.js || <webroot>/lib
| suncalc.js || <webroot>/lib
|-
|
|-
|
|-
|
|-
|
|-
|
|-
! Generated File !! Destination !! Remark
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ ''mono''] executable.
From v7.0.0 and up it runs under [https://dotnet.microsoft.com/en-us/ ''dotnet (.NET 8)''].▼
▲From v7.0.0 and up it runs under .NET 8 [https://
Both environments are very different and not interchangeable. However running CumulusUtils is pretty similar on both environment and mono and dotnet can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.▼
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install ''Follow this link when on Linux''] (and this has changes to the database which require CMX to run before CUtils can successfully run).
▲
Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.
[ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]
[ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]
[ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ]
[ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]
| [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ]
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in ''Settings=>Web/
In ''Settings=>
In ''Settings=>
In ''Settings=>
''availabledata.json'', ''dailyrain.json'', ''dailytemp.json'', ''sunhours.json'', ''airquality.json'', ''extra*.json'', ''soil*.json'', ''user*.json'',''co2*.json'' and ''leaf*.json''
In ''Settings=>
In ''Settings=>
In ''Settings=>Internet Settings=>Interval Configuration=>Real time Interval Settings'': Tick both ''realtime.txt'' and ''realtimegauges.txt'' for Upload, use ''Create Local'' only when needed.
In ''Settings=>Web/Upload Site=>General Settings'': Tick ''UTF-8 encoding''
And if you use the ''[[ChartsCompiler]]'' (or plan to use, you may be more selective later when understanding what and how):▼
▲
After selecting the required tables you need to select the variables they may contain:
'''NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.'''
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|''CumulusRealTimeLocation'']]
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html ''crontab'']. Below is the crontab of the author of CumulusUtils to be used as an '''example'''!
===== For dotnet =====
05 1 * * * cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website
1-51/10 * * * * cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports
===== For mono =====
15 1 * * * cd /home/CumulusMX; utils/bin/cumulusutils.exe thrifty website
==== Windows: Using the scheduler ====
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)
====== Batch file code of cumulusutils.bat ======
'''''For v6 and below (running under mono):'''''<br/><br/>
REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the "cumulusutils.exe", otherwise exit</br>
REM Set the current working session to the folder C:\CumulusMX</br>
NOTE: The command shown here is ''Website''. The user can put any command he likes in here (with or without ''Thrifty'') depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.
'''''For v7 and up (running under dotnet):'''''<br/><br/>
REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the "cumulusutils.exe", otherwise exit<br/>
REM Set the current working session to the folder C:\CumulusMX<br/>
cd\<br/>
cd C:\CumulusMX<br/>
REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end<br/>
tasklist /FI "IMAGENAME eq CumulusMX.exe" 2>NUL | find /I /N "CumulusMX.exe">NUL<br/>
if "%ERRORLEVEL%"=="0" GOTO runutils<br/>
GOTO end<br/>
REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki<br/>
:runutils<br/>
START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website<br/>
:end<br/>
exit<br/>
===== Task creation process =====
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].
#Development of CumulusUtils started in 9<sup>th</sup> of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version 0.7.0. The rest of the history can be read in the [[Release Notes|release notes]].
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.
#In case of problems there exists [[Errorlogging]].
'''NOTE''': comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.
| |||