From 752aff775d83250993df35845231826f6ec3535f Mon Sep 17 00:00:00 2001 From: basbruss <68892092+basbruss@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:19:42 +0200 Subject: [PATCH] Update diagram --- README.md | 76 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 8ac3bae..c850ae0 100644 --- a/README.md +++ b/README.md @@ -90,34 +90,54 @@ Each type has its own specific parameters to setup a sensor. To setup the sensor This component supports two strategy modes: A `basic` mode and a `climate comfort/energy saving` mode that works with presence and temperature detection. ```mermaid - flowchart LR - A[Sundata] --> B{Normal} - A --> C{Climate} - - subgraph Sun_Position - B --> |Sun not in front| D{Default} - B --> |Sun in front| E(Calculated Position) - - D --> H[Default Position] - D --> |Between sunset and sunrise| I[Sunset Default Position] - end - - subgraph Climate_Conditions - C --> F[No Presence] - C --> G[Presence] - - F --> M{Check Weather} - M --> |Conditions False| D - M --> |Conditions True| P{Temperature Check} - - P --> |Below Minimal Comfort Temperature| K[Fully Open] - P --> |Above Maximal Comfort Temperature| L[Fully Closed] - P --> |In between\nComfort Temperature Thresholds| D - - G --> Q{Check Weather\nand Temperature} - Q --> |Weather Conditions True or Above Maximal Comfort Temperature|B - Q --> |Else|D - end + graph TD + + A[("fa:fa-sun Sundata")] + A --> B["Basic Mode"] + A --> C["Climate Mode"] + + subgraph "Basic Mode" + B --> BA("Sun within field of view") + + BA --> |No| BC{{Default}} + BC --> BE("Time between sunset and sunrise?") + BE --> |Yes| BF["Return default"] + BE --> |No| BG["Return Sunset default"] + + BA --> |Yes| BD("Elevation above 0?") + BD --> |Yes| BH{{"Calculated Position"}} + BD --> |No| BC + end + + subgraph "Climate Mode" + C --> CA("Check Presence") + end + + subgraph "Occupants" + CA --> |True| CB("Temperature above maximum comfort (summer)?") + + CB --> |Yes| CD("Transparent blind?") + CB --> |No| CE("Lux/Irradiance below threshold or Weather is not sunny?") + + CD --> |Yes| CF["Return fully closed (0%)"] + CD --> |No| B + + CE --> |Yes| CG("Temperature below minimum comfort (winter) and sun infront of window and elevation > 0?") + CE --> |No| B + + CG --> |Yes| CH["Return fully open (100%)"] + CG --> |No| BC + end + + subgraph "No Occupants" + CA --> |False| CC("Sun infront of window and elevation > 0?") + CC --> |No| BC + CC --> |Yes| CI("Temperature above maximum comfort (summer)?") + CI --> |Yes| CH + CI --> |No| CJ("Temperature below minimum comfort (winter)") + CJ --> |Yes| CF + CJ --> |No| BC + end ``` ### Basic mode