Skip to content
Snippets Groups Projects
Commit 111b3b7d authored by Hugo's avatar Hugo
Browse files

small fixes Ecolyo doc - functionalities

parent a7a88812
Branches
No related tags found
No related merge requests found
Pipeline #12002 passed
......@@ -11,7 +11,7 @@ All basics Questions are created in the quizEntity.json. We have to add :
- questionLabel => Label of the question
- Answers => An array of three answers (answerLabel, isTrue)
- description => Explain the question
- source => Source of the explanaition
- source => Source of the explanation
This questions and answers are in random order.
......@@ -35,11 +35,11 @@ Here are the fields used to create a custom question
Calculation of custom question is done by conbinaison of all parameters:
- Type DATA
#### Type DATA
- If *period* is empty.
Retrieve the *max load* of day/month/year (define by *timeStep*) from the last week, month, year (define by *interval*).
Retrieve the **max load** of day/month/year (define by *timeStep*) from the last week, month, year (define by *interval*).
=> example: What day did I consumme the most on the last week ?
type = CustomQuestionType.DATA
timeStep = TimeStep.DAY
......@@ -55,7 +55,7 @@ Calculation of custom question is done by conbinaison of all parameters:
interval = TimeStep.YEAR
period = {year: 2020}
- Type CALCULATION
#### Type CALCULATION
- If *period* is empty
......@@ -68,7 +68,7 @@ Calculation of custom question is done by conbinaison of all parameters:
- If *period* is not empty
Retrieve the *average* of day/month/year (define by *timeStep*) from week, month, year (define by *interval*) of *period*
Retrieve the **average** of day/month/year (define by *timeStep*) from week, month, year (define by *interval*) of *period*
=> example: Which is your daily average consumption on january ?
type = CustomQuestionType.DATA
timeStep = TimeStep.DAY
......@@ -84,17 +84,17 @@ Once the custom question is answered, the quiz state is set to done. Then, the u
## Exploration
Exploration is a feature which in the user got to do an action in order to help him to discover all features of this app.
They are 4 types of action :
Exploration is a feature where the user has to do an action in order to help him discover all features from ecolyo.
They are 4 types of actions:
- DECLARATIVE : The user has to do something outside of the app => No way for the app to know if the user did it so we trust him.
- ACTION : Action whitin the app. When the user finish he got a notification.
- CONSUMPTION : He got to do something in his consumption view.
- ECOGESTURE : He need to have a look to a specific Ecogesture.
- ACTION : Action whitin the app. When the user finishes he gets a notification.
- CONSUMPTION : He has to do something in his consumption view.
- ECOGESTURE : He needs to look at a specific Ecogesture.
In order to check if an exploration (which is not declarative) is done, a hook called useExploration is used.It is called on component that has to check if an exploration is done.
This hook called exploration service to check exploration by passing two parameter(the current challenge and the user exploration id associated with the exploration id of the current challenge). This check is done only if:
This hook called exploration service to check exploration by passing two parameters (the current challenge and the user exploration id associated with the exploration id of the current challenge). This check is done only if:
- There is a current challenge
- exploration.id of the current challenge is equal to the user exploration id
......@@ -102,23 +102,26 @@ This hook called exploration service to check exploration by passing two paramet
Depends on the type of an exploration, either the exploration remains in progress until it is fully done or it ends.
When the user finish the exploration, he got a success message and five more stars on his challenge progression.
When the user finish the exploration, he gets a success message and five more stars are added to his challenge progression.
## Duel
### On launch
In order to find a valid reference period we search for a period which is defined by the duel duration.
We check the most recent period first if it's complete and then we go farther and farther in the time if the ones before got missing values.
We also define a threshold for a maximum old period (6 months for the moment determined in the code ==> hardcoding).
We check the most recent period first if it's complete and then we go farther and farther in time if the ones before got missing values.
We also define a threshold for a maximum old period
!!! note "6 months for the moment - hardcoded."
If the thresold is reached and no valid period was found, we alert the user that he can't launch the duel and have to wait before he can retry this process.
### On going
Every time the user go into the duel mode, we are checking if the duel is finished.
if we have retrieve all data to calculate the user consumption on the duel duration, the duel is done
Every time the user goes into the duel mode, we are checking if the duel is finished.
if we have retrieved all data to calculate the user consumption on the duel duration, the duel is done.
!!! info "In order to not block the user is a value is mising, we are also set the duel as done when we reach the startDate + delay in day to retrieve the data (based on the fluid) + 1 day. In this case the user consumption is done on known values."
!!! info "In order to not block the user if a value is mising, we are also setting the duel as done when we reach the startDate + delay in day to retrieve the data (based on the fluid) + 1 day. In this case the user consumption is done on known values."
### On finish
......
# Description
## Description
Ecolyo allow user to see its consumption in two way:
- with an aggregated view aka HomeView
- with a specific view for a fluid aka SingleFluidView
# Modal old fluid data
## Modal old fluid data
In order to avertise user that the data is too old for a fluid, a modal is displayed when the last date of a fluid is greater than 5 days.
In order to warn a user that its data is too old regarding a fluid, a modal is displayed when the last date of a fluid is greater than 5 days.
Depending of the konnector status the user will receive 2 differents messages:
In function of the connector status the user will receive 2 differents message:
- if the konnector is in error, the user will be invited to check the konnector
- if the konnector has ran successfully, the user will be invited to contact the supplier
- if the konnector has run successfully but hasn't retrieved data from the last 5 days, the user will be invited to contact the supplier
## Comparison
# Comparison
The user can compare its data with a previous period using a switch which will display the previous period on the same chart.
This feature is only available on single fluid charts and is not available at the year time step
User can compare its data with a previous period using a switch which will display the previous period on the same chart.
This features is only available on single fluid chart and if not available at the year time step
## Time step
# Time step
Different time steps can be selected by the user which will display different period on the graph according to the time step.
Different time steps can be selected by the user which will display different period on the graph in function of this time step.
- Day: display data at half-an-hour step on a period of one day
- Week: display data at daily step on a period of a week
- Month: display data at daily step on a period of a month
......
......@@ -14,12 +14,15 @@ Following rules are used to filter the ecogesture:
### Case ecogesture usage is heating
We will display the ecogesture if:
- the ecogesture has electricity fluid and profile type has an individual heating which use electricity fluid.
OR
- the ecogesture has gas fluid and profile type has an individual heating which use gas fluid.
### Case ecogesture usage is ECS
>`ECS = Eau chaude sanitaire`
We will display the ecogesture if:
- the ecogesture has electricity fluid and profile type has an individual hot water which use electricity fluid.
......@@ -30,14 +33,16 @@ OR
### Case ecogesture usage is ECS
We will display the ecogesture if:
- the ecogesture has electricity fluid and profile type has an electricity fluid for cooking.
OR
- the ecogesture has gas fluid and profile type has an gas fluid for cooking.
### Case ecogesture usage is cold water
We will display the ecogesture if the profile type has a individual cold water.
We will display the ecogesture if the profile type has individual cold water.
### Case ecogesture usage is specific electricity
......
......@@ -2,7 +2,7 @@ This section explains how to handle data storage.
We handle data storage according to the following process :
The folder /db contains all the JSON entities that are directly stored in the couchDB during the initialization process that is executed in the splash screen. They are stored under their related doctype.
The folder ```/src/db``` contains all the JSON entities that are directly stored in the couchDB during the initialization process that is executed in the splash screen. They are stored under their related doctype.
## Initialization and Updating
......
This section explains the profileType creation process in order to make different comparisons between the actual user's consumtion and its profile type.
# Profile type data
## Profile type data
The profileType data are stored in the profile doctype and includes the following informations :
......@@ -26,14 +26,14 @@ The profileType data are stored in the profile doctype and includes the followin
Each profileType value is an enum that you can find in the application. The values are set by default to a default profileType and needs to be completed by the user in order to become accurate.
# Profile type form
## Profile type form
User should answer a form to be able to set its profile type.
Here is the flow of questions:
![ProfileTypeForm](/img/profile_type/profile_type_form.png)
# Profile type methods
## Profile type methods
Here you can see the different methods provided by the profileType service. These methods allows to calculate the average consumption depending on the information gathered in user's profileType.
......@@ -54,7 +54,7 @@ Here you can see the different methods provided by the profileType service. Thes
| calculateWarmingCorrectedConsumption(estimatedConsumption: number): number | Apply the different corrections to the estimated heating consumption |
| calculateWarmingMonthConsumption(correctedConsumption: number, month: number): number | Apply dju ratio to the corrected heating consumption |
Here is an example of a MonthlyForecast, which is the only function directly called by the analizis component :
Here is an example of a MonthlyForecast, which is the only function directly called by the analyzis component :
```jsx
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment