> For the complete documentation index, see [llms.txt](https://vc-docs.gitbook.io/engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vc-docs.gitbook.io/engine/home/doxygen_synced/classes/class_live_data.md).

# LiveData

**Usage:** `api.LiveData.Fetch_NEA_AirTemp((ok, rec) => {})`

Fetch live and historical weather and solar-inverter data. Results come back through a callback.

## Public Classes

|        | Name                                                                                                                                                                                                                                                |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| struct | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data_1_1_n_e_a__air_temp.md"><strong>NEA\_AirTemp</strong></a><br>A cached NEA air-temperature record.</p>                                   |
| struct | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data_1_1_p_v_inverter_row.md"><strong>PVInverterRow</strong></a><br>A single PV-inverter reading: a timestamp and a set of named values.</p> |
| struct | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data_1_1_open_meteo_data.md"><strong>OpenMeteoData</strong></a><br>Open-Meteo archive API response.</p>                                      |

## Public Functions

|      | Name                                                                                                                                                                                                                                                                                                                                                                                        |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_nea_airtemp"><strong>Fetch\_NEA\_AirTemp</strong></a>(Action< bool, NEA\_AirTemp > onCompleted)<br>Gets the latest air-temperature reading.</p>                                                                                                               |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_openmeteo_data"><strong>Fetch\_OpenMeteo\_Data</strong></a>(Action< bool, OpenMeteoData > onCompleted)<br>Gets historical hourly weather and solar-irradiance data (Singapore) up to today.</p>                                                               |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_campuscourt_pv_inverter_data"><strong>Fetch\_CampusCourt\_PV\_Inverter\_Data</strong></a>(int year, int month, int day, Action< bool, List< PVInverterRow > > onCompleted)<br>Gets a full day of Campus Court solar-inverter readings.</p>                    |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_campusheart_pv_inverter_data"><strong>Fetch\_CampusHeart\_PV\_Inverter\_Data</strong></a>(int year, int month, int day, Action< bool, List< PVInverterRow > > onCompleted)<br>Gets a full day of Campus Heart solar-inverter readings.</p>                    |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_campuscourt_pv_inverter_day"><strong>Fetch\_CampusCourt\_PV\_Inverter\_Day</strong></a>(int year, int month, int day, Action< bool, List< PVInverterRow > > onCompleted)<br>Same as Fetch\_CampusCourt\_PV\_Inverter\_Data; callable on a LiveData value.</p> |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_live_data.md#function-fetch_campusheart_pv_inverter_day"><strong>Fetch\_CampusHeart\_PV\_Inverter\_Day</strong></a>(int year, int month, int day, Action< bool, List< PVInverterRow > > onCompleted)<br>Same as Fetch\_CampusHeart\_PV\_Inverter\_Data; callable on a LiveData value.</p> |

## Public Functions Documentation

### function Fetch\_NEA\_AirTemp

```csharp
static void Fetch_NEA_AirTemp(
    Action< bool, NEA_AirTemp > onCompleted
)
```

Gets the latest air-temperature reading.

**Parameters**:

* **onCompleted** Receives (true, record) on success or (false, empty) on failure.

### function Fetch\_OpenMeteo\_Data

```csharp
static void Fetch_OpenMeteo_Data(
    Action< bool, OpenMeteoData > onCompleted
)
```

Gets historical hourly weather and solar-irradiance data (Singapore) up to today.

**Parameters**:

* **onCompleted** Receives (true, data) on success or (false, empty) on failure.

### function Fetch\_CampusCourt\_PV\_Inverter\_Data

```csharp
static void Fetch_CampusCourt_PV_Inverter_Data(
    int year,
    int month,
    int day,
    Action< bool, List< PVInverterRow > > onCompleted
)
```

Gets a full day of Campus Court solar-inverter readings.

**Parameters**:

* **year** Year.
* **month** Month.
* **day** Day.
* **onCompleted** Receives (true, rows) on success or (false, empty) on failure.

### function Fetch\_CampusHeart\_PV\_Inverter\_Data

```csharp
static void Fetch_CampusHeart_PV_Inverter_Data(
    int year,
    int month,
    int day,
    Action< bool, List< PVInverterRow > > onCompleted
)
```

Gets a full day of Campus Heart solar-inverter readings.

**Parameters**:

* **year** Year.
* **month** Month.
* **day** Day.
* **onCompleted** Receives (true, rows) on success or (false, empty) on failure.

### function Fetch\_CampusCourt\_PV\_Inverter\_Day

```csharp
void Fetch_CampusCourt_PV_Inverter_Day(
    int year,
    int month,
    int day,
    Action< bool, List< PVInverterRow > > onCompleted
)
```

Same as Fetch\_CampusCourt\_PV\_Inverter\_Data; callable on a LiveData value.

**Parameters**:

* **year** Year.
* **month** Month.
* **day** Day.
* **onCompleted** Receives (true, rows) on success or (false, empty) on failure.

### function Fetch\_CampusHeart\_PV\_Inverter\_Day

```csharp
void Fetch_CampusHeart_PV_Inverter_Day(
    int year,
    int month,
    int day,
    Action< bool, List< PVInverterRow > > onCompleted
)
```

Same as Fetch\_CampusHeart\_PV\_Inverter\_Data; callable on a LiveData value.

**Parameters**:

* **year** Year.
* **month** Month.
* **day** Day.
* **onCompleted** Receives (true, rows) on success or (false, empty) on failure.

***

Updated on 2026-07-22 at 12:00:00 +0800
