diff --git a/examples/analyse_india_data.ipynb b/examples/analyse_india_data.ipynb
new file mode 100644
index 0000000..ac11e24
--- /dev/null
+++ b/examples/analyse_india_data.ipynb
@@ -0,0 +1,2987 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import plotly as py\n",
+ "import plotly.express as px\n",
+ "import plotly.graph_objects as go\n",
+ "\n",
+ "output_filename = \"/Users/dragonflyiterations/Desktop/open-climate-fix/pvoutput/pvoutput/examples/pv_data/PVOutput_India_timeseries_one.hdf5\"\n",
+ "\n",
+ "with pd.HDFStore(output_filename, mode=\"r\", complevel=9) as store:\n",
+ " keys = store.keys()\n",
+ " print(keys)\n",
+ "\n",
+ " df = store.get(key=\"/timeseries/100451\")\n",
+ "print(df.head())\n",
+ "\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "#### Histogram of site capacities"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# get csv file with system metadata from pvoutput\n",
+ "# get plotly to work\n",
+ "# system id and capacity\n",
+ "# plot the data as histogram in plotly\n",
+ "import plotly.express as px\n",
+ "\n",
+ "file = \"../examples/pv_data/PVOutput_India_systems.csv\"\n",
+ "data = pd.read_csv(file)\n",
+ "df = pd.DataFrame(data, columns=[\"system_id\", \"system_size_W\"])\n",
+ "df[\"system_id\"] = df[\"system_id\"].astype(str)\n",
+ "df[\"system_size_W\"] = (df[\"system_size_W\"] / 1000).astype(float)\n",
+ "#rename columns titles\n",
+ "df.rename(\n",
+ " columns={\"system_id\": \"System ID\", \"system_size_W\": \"System Capacity (kW)\"},\n",
+ " inplace=True,\n",
+ ")\n",
+ "fig = px.histogram(\n",
+ " df, x=\"System ID\", y=\"System Capacity (kW)\", title=\"PVOutput India System Capacities\"\n",
+ ")\n",
+ "fig.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Heatmap of data availability"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 126,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['2530', '2553', '2555', '2556', '3035', '3323', '7219', '14351', '30432', '35948', '35987', '45628', '46732', '47522', '49660', '50492', '55087', '56151', '56709', '58780', '59687', '59710', '59838', '60294', '60602', '60673', '62846', '65138', '66634', '66705', '67861', '71120', '72742', '73140', '73347', '74429', '77684', '77710', '78186', '78245', '78571', '79121', '79612', '81408', '82026', '82081', '82574', '85738', '86244', '87345', '87410', '90559', '91554', '97094', '99833', '100451']\n",
+ " system_id\n",
+ "0 2530\n",
+ "1 2553\n",
+ "2 2555\n",
+ "3 2556\n",
+ "4 3035\n",
+ "5 3323\n",
+ "6 7219\n",
+ "7 14351\n",
+ "8 30432\n",
+ "9 35948\n",
+ "10 35987\n",
+ "11 45628\n",
+ "12 46732\n",
+ "13 47522\n",
+ "14 49660\n",
+ "15 50492\n",
+ "16 55087\n",
+ "17 56151\n",
+ "18 56709\n",
+ "19 58780\n",
+ "20 59687\n",
+ "21 59710\n",
+ "22 59838\n",
+ "23 60294\n",
+ "24 60602\n",
+ "25 60673\n",
+ "26 62846\n",
+ "27 65138\n",
+ "28 66634\n",
+ "29 66705\n",
+ "30 67861\n",
+ "31 71120\n",
+ "32 72742\n",
+ "33 73140\n",
+ "34 73347\n",
+ "35 74429\n",
+ "36 77684\n",
+ "37 77710\n",
+ "38 78186\n",
+ "39 78245\n",
+ "40 78571\n",
+ "41 79121\n",
+ "42 79612\n",
+ "43 81408\n",
+ "44 82026\n",
+ "45 82081\n",
+ "46 82574\n",
+ "47 85738\n",
+ "48 86244\n",
+ "49 87345\n",
+ "50 87410\n",
+ "51 90559\n",
+ "52 91554\n",
+ "53 97094\n",
+ "54 99833\n",
+ "55 100451\n",
+ "systesms with no data []\n",
+ "0\n",
+ "systems with data ['14351', '49660', '56151', '56709', '58780', '59687', '59710', '60294', '60602', '60673', '66634', '67861', '71120', '72742', '73347', '77684', '77710', '78186', '79612', '81408', '82081', '85738', '86244', '87410', '90559', '91554', '97094', '99833', '100451']\n"
+ ]
+ }
+ ],
+ "source": [
+ "# plot data availability by year per system as heatmap in plotly\n",
+ "# read hdf file with missing dates and with keys\n",
+ "# create plotly heatmap for one year for one system\n",
+ "# write function to create heatmap for all years for one system\n",
+ "# write function to create heatmap for all years for all systems\n",
+ "# put system ids in a list\n",
+ "# check that id exists as a timeseries key\n",
+ "# loop through list and create heatmap of data availability for each system\n",
+ "frames = []\n",
+ "systems_with_no_data = []\n",
+ "systems_with_data = []\n",
+ "file = \"../examples/pv_data/PVOutput_India_systems.csv\"\n",
+ "data = pd.read_csv(file)\n",
+ "df = pd.DataFrame(data, columns=[\"system_id\"])\n",
+ "if \"system_id\" in df.columns:\n",
+ " system_ids = df[\"system_id\"].values.astype(str).tolist()\n",
+ " print(system_ids)\n",
+ "\n",
+ "with pd.HDFStore(output_filename, mode=\"r\", complevel=9) as store:\n",
+ " for system_id in system_ids:\n",
+ " if \"/timeseries/\" + system_id in store.keys():\n",
+ " systems_with_data.append(system_id)\n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ "\n",
+ "print(df)\n",
+ "print(\"systesms with no data\", systems_with_no_data)\n",
+ "print(len(systems_with_no_data))\n",
+ "print(\"systems with data\", systems_with_data)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Plot production for one site "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 171,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1626970800000000000 7.0 89.0 \n",
+ "1 1626971100000000000 15.0 90.0 \n",
+ "2 1626971400000000000 22.0 89.0 \n",
+ "3 1626971700000000000 29.0 89.0 \n",
+ "4 1626972000000000000 29.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699016973760975 1635811200 \n",
+ "1 NaN NaN 1699016973760975 1635811200 \n",
+ "2 NaN NaN 1699016973760975 1635811200 \n",
+ "3 NaN NaN 1699016973760975 1635811200 \n",
+ "4 NaN NaN 1699016973760975 1635811200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2021-07-22 16:20:00 7.0 89.0 \n",
+ "1 2021-07-22 16:25:00 15.0 90.0 \n",
+ "2 2021-07-22 16:30:00 22.0 89.0 \n",
+ "3 2021-07-22 16:35:00 29.0 89.0 \n",
+ "4 2021-07-22 16:40:00 29.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699016973760975 1635811200 \n",
+ "1 NaN NaN 1699016973760975 1635811200 \n",
+ "2 NaN NaN 1699016973760975 1635811200 \n",
+ "3 NaN NaN 1699016973760975 1635811200 \n",
+ "4 NaN NaN 1699016973760975 1635811200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1509693600000000000 40.0 1452.0 \n",
+ "1 1509693900000000000 40.0 0.0 \n",
+ "2 1509694200000000000 40.0 0.0 \n",
+ "3 1509694500000000000 40.0 0.0 \n",
+ "4 1509694800000000000 40.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017257803836 1541203200 \n",
+ "1 NaN NaN 1699017257803836 1541203200 \n",
+ "2 NaN NaN 1699017257803836 1541203200 \n",
+ "3 NaN NaN 1699017257803836 1541203200 \n",
+ "4 NaN NaN 1699017257803836 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2017-11-03 07:20:00 40.0 1452.0 \n",
+ "1 2017-11-03 07:25:00 40.0 0.0 \n",
+ "2 2017-11-03 07:30:00 40.0 0.0 \n",
+ "3 2017-11-03 07:35:00 40.0 0.0 \n",
+ "4 2017-11-03 07:40:00 40.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017257803836 1541203200 \n",
+ "1 NaN NaN 1699017257803836 1541203200 \n",
+ "2 NaN NaN 1699017257803836 1541203200 \n",
+ "3 NaN NaN 1699017257803836 1541203200 \n",
+ "4 NaN NaN 1699017257803836 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1513945500000000000 42500.0 14500.0 \n",
+ "1 1513945800000000000 43900.0 14200.0 \n",
+ "2 1513946100000000000 44500.0 0.0 \n",
+ "3 1513946400000000000 45000.0 14300.0 \n",
+ "4 1513946700000000000 46200.0 14500.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 526.0 1699017386551423 1541203200 \n",
+ "1 NaN 536.0 1699017386551423 1541203200 \n",
+ "2 NaN 652.0 1699017386551423 1541203200 \n",
+ "3 NaN 522.0 1699017386551423 1541203200 \n",
+ "4 NaN 516.0 1699017386551423 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2017-12-22 12:25:00 42500.0 14500.0 \n",
+ "1 2017-12-22 12:30:00 43900.0 14200.0 \n",
+ "2 2017-12-22 12:35:00 44500.0 0.0 \n",
+ "3 2017-12-22 12:40:00 45000.0 14300.0 \n",
+ "4 2017-12-22 12:45:00 46200.0 14500.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 526.0 1699017386551423 1541203200 \n",
+ "1 NaN 536.0 1699017386551423 1541203200 \n",
+ "2 NaN 652.0 1699017386551423 1541203200 \n",
+ "3 NaN 522.0 1699017386551423 1541203200 \n",
+ "4 NaN 516.0 1699017386551423 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1516728000000000000 7770.0 159.0 \n",
+ "1 1516728300000000000 7780.0 91.0 \n",
+ "2 1516728600000000000 7790.0 124.0 \n",
+ "3 1516729500000000000 7810.0 103.0 \n",
+ "4 1516729800000000000 7820.0 93.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 39.5 247.2 1699017430495614 1541203200 \n",
+ "1 39.1 248.0 1699017430495614 1541203200 \n",
+ "2 38.6 248.8 1699017430495614 1541203200 \n",
+ "3 37.9 247.2 1699017430495614 1541203200 \n",
+ "4 37.6 247.2 1699017430495614 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-01-23 17:20:00 7770.0 159.0 \n",
+ "1 2018-01-23 17:25:00 7780.0 91.0 \n",
+ "2 2018-01-23 17:30:00 7790.0 124.0 \n",
+ "3 2018-01-23 17:45:00 7810.0 103.0 \n",
+ "4 2018-01-23 17:50:00 7820.0 93.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 39.5 247.2 1699017430495614 1541203200 \n",
+ "1 39.1 248.0 1699017430495614 1541203200 \n",
+ "2 38.6 248.8 1699017430495614 1541203200 \n",
+ "3 37.9 247.2 1699017430495614 1541203200 \n",
+ "4 37.6 247.2 1699017430495614 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1525147200000000000 200.0 551.0 \n",
+ "1 1525147500000000000 200.0 626.0 \n",
+ "2 1525147800000000000 300.0 726.0 \n",
+ "3 1525148100000000000 300.0 944.0 \n",
+ "4 1525148400000000000 400.0 998.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 32.1 232.0 1699017472581195 1541203200 \n",
+ "1 32.3 250.8 1699017472581195 1541203200 \n",
+ "2 32.5 249.3 1699017472581195 1541203200 \n",
+ "3 32.9 249.2 1699017472581195 1541203200 \n",
+ "4 33.3 240.6 1699017472581195 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-05-01 04:00:00 200.0 551.0 \n",
+ "1 2018-05-01 04:05:00 200.0 626.0 \n",
+ "2 2018-05-01 04:10:00 300.0 726.0 \n",
+ "3 2018-05-01 04:15:00 300.0 944.0 \n",
+ "4 2018-05-01 04:20:00 400.0 998.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 32.1 232.0 1699017472581195 1541203200 \n",
+ "1 32.3 250.8 1699017472581195 1541203200 \n",
+ "2 32.5 249.3 1699017472581195 1541203200 \n",
+ "3 32.9 249.2 1699017472581195 1541203200 \n",
+ "4 33.3 240.6 1699017472581195 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1528444500000000000 234.0 371.0 \n",
+ "1 1528444800000000000 272.0 370.0 \n",
+ "2 1528445100000000000 294.0 359.0 \n",
+ "3 1528445400000000000 339.0 421.0 \n",
+ "4 1528446000000000000 400.0 456.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017522051653 1541203200 \n",
+ "1 NaN NaN 1699017522051653 1541203200 \n",
+ "2 NaN NaN 1699017522051653 1541203200 \n",
+ "3 NaN NaN 1699017522051653 1541203200 \n",
+ "4 NaN NaN 1699017522051653 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-06-08 07:55:00 234.0 371.0 \n",
+ "1 2018-06-08 08:00:00 272.0 370.0 \n",
+ "2 2018-06-08 08:05:00 294.0 359.0 \n",
+ "3 2018-06-08 08:10:00 339.0 421.0 \n",
+ "4 2018-06-08 08:20:00 400.0 456.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017522051653 1541203200 \n",
+ "1 NaN NaN 1699017522051653 1541203200 \n",
+ "2 NaN NaN 1699017522051653 1541203200 \n",
+ "3 NaN NaN 1699017522051653 1541203200 \n",
+ "4 NaN NaN 1699017522051653 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1529993700000000000 1.0 4.0 \n",
+ "1 1529994600000000000 10.0 36.0 \n",
+ "2 1529995500000000000 29.0 76.0 \n",
+ "3 1529996400000000000 69.0 160.0 \n",
+ "4 1529997300000000000 129.0 238.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017562283885 1541203200 \n",
+ "1 NaN NaN 1699017562283885 1541203200 \n",
+ "2 NaN NaN 1699017562283885 1541203200 \n",
+ "3 NaN NaN 1699017562283885 1541203200 \n",
+ "4 NaN NaN 1699017562283885 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-06-26 06:15:00 1.0 4.0 \n",
+ "1 2018-06-26 06:30:00 10.0 36.0 \n",
+ "2 2018-06-26 06:45:00 29.0 76.0 \n",
+ "3 2018-06-26 07:00:00 69.0 160.0 \n",
+ "4 2018-06-26 07:15:00 129.0 238.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017562283885 1541203200 \n",
+ "1 NaN NaN 1699017562283885 1541203200 \n",
+ "2 NaN NaN 1699017562283885 1541203200 \n",
+ "3 NaN NaN 1699017562283885 1541203200 \n",
+ "4 NaN NaN 1699017562283885 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1570691400000000000 111.0 224.0 \n",
+ "1 1570691700000000000 129.0 238.0 \n",
+ "2 1570692000000000000 155.0 284.0 \n",
+ "3 1570692300000000000 176.0 217.0 \n",
+ "4 1570692600000000000 192.0 182.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017635354609 1572739200 \n",
+ "1 NaN NaN 1699017635354609 1572739200 \n",
+ "2 NaN NaN 1699017635354609 1572739200 \n",
+ "3 NaN NaN 1699017635354609 1572739200 \n",
+ "4 NaN NaN 1699017635354609 1572739200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2019-10-10 07:10:00 111.0 224.0 \n",
+ "1 2019-10-10 07:15:00 129.0 238.0 \n",
+ "2 2019-10-10 07:20:00 155.0 284.0 \n",
+ "3 2019-10-10 07:25:00 176.0 217.0 \n",
+ "4 2019-10-10 07:30:00 192.0 182.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017635354609 1572739200 \n",
+ "1 NaN NaN 1699017635354609 1572739200 \n",
+ "2 NaN NaN 1699017635354609 1572739200 \n",
+ "3 NaN NaN 1699017635354609 1572739200 \n",
+ "4 NaN NaN 1699017635354609 1572739200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1533534600000000000 0.0 5.0 \n",
+ "1 1533534900000000000 1.0 14.0 \n",
+ "2 1533535200000000000 3.0 19.0 \n",
+ "3 1533535500000000000 5.0 19.0 \n",
+ "4 1533535800000000000 8.0 34.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 229.9 1699017692462479 1541203200 \n",
+ "1 NaN 230.3 1699017692462479 1541203200 \n",
+ "2 NaN 229.6 1699017692462479 1541203200 \n",
+ "3 NaN 230.0 1699017692462479 1541203200 \n",
+ "4 NaN 229.2 1699017692462479 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-08-06 05:50:00 0.0 5.0 \n",
+ "1 2018-08-06 05:55:00 1.0 14.0 \n",
+ "2 2018-08-06 06:00:00 3.0 19.0 \n",
+ "3 2018-08-06 06:05:00 5.0 19.0 \n",
+ "4 2018-08-06 06:10:00 8.0 34.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 229.9 1699017692462479 1541203200 \n",
+ "1 NaN 230.3 1699017692462479 1541203200 \n",
+ "2 NaN 229.6 1699017692462479 1541203200 \n",
+ "3 NaN 230.0 1699017692462479 1541203200 \n",
+ "4 NaN 229.2 1699017692462479 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1533665700000000000 10.0 117.0 \n",
+ "1 1533666000000000000 19.0 102.0 \n",
+ "2 1533666300000000000 25.0 73.0 \n",
+ "3 1533666600000000000 30.0 58.0 \n",
+ "4 1533666900000000000 31.0 14.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 231.0 1699017730950238 1541203200 \n",
+ "1 NaN 229.1 1699017730950238 1541203200 \n",
+ "2 NaN 230.3 1699017730950238 1541203200 \n",
+ "3 NaN 230.4 1699017730950238 1541203200 \n",
+ "4 NaN 229.6 1699017730950238 1541203200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2018-08-07 18:15:00 10.0 117.0 \n",
+ "1 2018-08-07 18:20:00 19.0 102.0 \n",
+ "2 2018-08-07 18:25:00 25.0 73.0 \n",
+ "3 2018-08-07 18:30:00 30.0 58.0 \n",
+ "4 2018-08-07 18:35:00 31.0 14.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 231.0 1699017730950238 1541203200 \n",
+ "1 NaN 229.1 1699017730950238 1541203200 \n",
+ "2 NaN 230.3 1699017730950238 1541203200 \n",
+ "3 NaN 230.4 1699017730950238 1541203200 \n",
+ "4 NaN 229.6 1699017730950238 1541203200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1555859100000000000 213.0 2553.0 \n",
+ "1 1555859400000000000 422.0 2509.0 \n",
+ "2 1555859700000000000 628.0 2469.0 \n",
+ "3 1555860000000000000 830.0 2422.0 \n",
+ "4 1555860300000000000 1028.0 2372.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017831870679 1572739200 \n",
+ "1 NaN NaN 1699017831870679 1572739200 \n",
+ "2 NaN NaN 1699017831870679 1572739200 \n",
+ "3 NaN NaN 1699017831870679 1572739200 \n",
+ "4 NaN NaN 1699017831870679 1572739200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2019-04-21 15:05:00 213.0 2553.0 \n",
+ "1 2019-04-21 15:10:00 422.0 2509.0 \n",
+ "2 2019-04-21 15:15:00 628.0 2469.0 \n",
+ "3 2019-04-21 15:20:00 830.0 2422.0 \n",
+ "4 2019-04-21 15:25:00 1028.0 2372.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017831870679 1572739200 \n",
+ "1 NaN NaN 1699017831870679 1572739200 \n",
+ "2 NaN NaN 1699017831870679 1572739200 \n",
+ "3 NaN NaN 1699017831870679 1572739200 \n",
+ "4 NaN NaN 1699017831870679 1572739200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1560059400000000000 0.0 24.0 \n",
+ "1 1560059700000000000 2.0 24.0 \n",
+ "2 1560060000000000000 4.0 24.0 \n",
+ "3 1560060300000000000 6.0 32.0 \n",
+ "4 1560060600000000000 8.0 34.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 227.3 1699017898041555 1572739200 \n",
+ "1 NaN 230.4 1699017898041555 1572739200 \n",
+ "2 NaN 230.5 1699017898041555 1572739200 \n",
+ "3 NaN 229.0 1699017898041555 1572739200 \n",
+ "4 NaN 229.3 1699017898041555 1572739200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2019-06-09 05:50:00 0.0 24.0 \n",
+ "1 2019-06-09 05:55:00 2.0 24.0 \n",
+ "2 2019-06-09 06:00:00 4.0 24.0 \n",
+ "3 2019-06-09 06:05:00 6.0 32.0 \n",
+ "4 2019-06-09 06:10:00 8.0 34.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 227.3 1699017898041555 1572739200 \n",
+ "1 NaN 230.4 1699017898041555 1572739200 \n",
+ "2 NaN 230.5 1699017898041555 1572739200 \n",
+ "3 NaN 229.0 1699017898041555 1572739200 \n",
+ "4 NaN 229.3 1699017898041555 1572739200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1572846300000000000 2.0 24.0 \n",
+ "1 1572846600000000000 2.0 0.0 \n",
+ "2 1572846900000000000 4.0 29.0 \n",
+ "3 1572847200000000000 4.0 0.0 \n",
+ "4 1572847500000000000 4.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 252.6 1699017930827599 1604275200 \n",
+ "1 NaN 252.0 1699017930827599 1604275200 \n",
+ "2 NaN 252.8 1699017930827599 1604275200 \n",
+ "3 NaN 252.4 1699017930827599 1604275200 \n",
+ "4 NaN 251.6 1699017930827599 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2019-11-04 05:45:00 2.0 24.0 \n",
+ "1 2019-11-04 05:50:00 2.0 0.0 \n",
+ "2 2019-11-04 05:55:00 4.0 29.0 \n",
+ "3 2019-11-04 06:00:00 4.0 0.0 \n",
+ "4 2019-11-04 06:05:00 4.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 252.6 1699017930827599 1604275200 \n",
+ "1 NaN 252.0 1699017930827599 1604275200 \n",
+ "2 NaN 252.8 1699017930827599 1604275200 \n",
+ "3 NaN 252.4 1699017930827599 1604275200 \n",
+ "4 NaN 251.6 1699017930827599 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1598627700000000000 0.0 2927.0 \n",
+ "1 1598628000000000000 244.0 2927.0 \n",
+ "2 1598628300000000000 468.0 2684.0 \n",
+ "3 1598628600000000000 684.0 2591.0 \n",
+ "4 1598628900000000000 900.0 2591.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017974223400 1604275200 \n",
+ "1 NaN NaN 1699017974223400 1604275200 \n",
+ "2 NaN NaN 1699017974223400 1604275200 \n",
+ "3 NaN NaN 1699017974223400 1604275200 \n",
+ "4 NaN NaN 1699017974223400 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-08-28 15:15:00 0.0 2927.0 \n",
+ "1 2020-08-28 15:20:00 244.0 2927.0 \n",
+ "2 2020-08-28 15:25:00 468.0 2684.0 \n",
+ "3 2020-08-28 15:30:00 684.0 2591.0 \n",
+ "4 2020-08-28 15:35:00 900.0 2591.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699017974223400 1604275200 \n",
+ "1 NaN NaN 1699017974223400 1604275200 \n",
+ "2 NaN NaN 1699017974223400 1604275200 \n",
+ "3 NaN NaN 1699017974223400 1604275200 \n",
+ "4 NaN NaN 1699017974223400 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1581057600000000000 0.0 374.0 \n",
+ "1 1581057900000000000 15.0 184.0 \n",
+ "2 1581058200000000000 37.0 259.0 \n",
+ "3 1581058500000000000 60.0 277.0 \n",
+ "4 1581058800000000000 74.0 166.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020285773460 1604275200 \n",
+ "1 NaN NaN 1699020285773460 1604275200 \n",
+ "2 NaN NaN 1699020285773460 1604275200 \n",
+ "3 NaN NaN 1699020285773460 1604275200 \n",
+ "4 NaN NaN 1699020285773460 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-02-07 06:40:00 0.0 374.0 \n",
+ "1 2020-02-07 06:45:00 15.0 184.0 \n",
+ "2 2020-02-07 06:50:00 37.0 259.0 \n",
+ "3 2020-02-07 06:55:00 60.0 277.0 \n",
+ "4 2020-02-07 07:00:00 74.0 166.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020285773460 1604275200 \n",
+ "1 NaN NaN 1699020285773460 1604275200 \n",
+ "2 NaN NaN 1699020285773460 1604275200 \n",
+ "3 NaN NaN 1699020285773460 1604275200 \n",
+ "4 NaN NaN 1699020285773460 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1600590600000000000 23.0 10.0 \n",
+ "1 1600936200000000000 23.0 10.0 \n",
+ "2 1601280600000000000 96.0 36.0 \n",
+ "3 1601368200000000000 29.0 49.0 \n",
+ "4 1601454600000000000 23.0 10.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 8.0 3.0 1699020354373588 1604275200 \n",
+ "1 8.0 3.0 1699020354373588 1604275200 \n",
+ "2 10.0 NaN 1699020354373588 1604275200 \n",
+ "3 8.0 3.0 1699020354373588 1604275200 \n",
+ "4 8.0 3.0 1699020354373588 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-09-20 08:30:00 23.0 10.0 \n",
+ "1 2020-09-24 08:30:00 23.0 10.0 \n",
+ "2 2020-09-28 08:10:00 96.0 36.0 \n",
+ "3 2020-09-29 08:30:00 29.0 49.0 \n",
+ "4 2020-09-30 08:30:00 23.0 10.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 8.0 3.0 1699020354373588 1604275200 \n",
+ "1 8.0 3.0 1699020354373588 1604275200 \n",
+ "2 10.0 NaN 1699020354373588 1604275200 \n",
+ "3 8.0 3.0 1699020354373588 1604275200 \n",
+ "4 8.0 3.0 1699020354373588 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1595923500000000000 598.0 3707.0 \n",
+ "1 1595923800000000000 915.0 3428.0 \n",
+ "2 1595924100000000000 1811.0 804.0 \n",
+ "3 1595924400000000000 2177.0 1634.0 \n",
+ "4 1595924700000000000 2279.0 2445.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 4.0 1.0 1699020382895354 1604275200 \n",
+ "1 9.0 8.0 1699020382895354 1604275200 \n",
+ "2 5.0 2.0 1699020382895354 1604275200 \n",
+ "3 3.0 5.0 1699020382895354 1604275200 \n",
+ "4 5.0 4.0 1699020382895354 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-07-28 08:05:00 598.0 3707.0 \n",
+ "1 2020-07-28 08:10:00 915.0 3428.0 \n",
+ "2 2020-07-28 08:15:00 1811.0 804.0 \n",
+ "3 2020-07-28 08:20:00 2177.0 1634.0 \n",
+ "4 2020-07-28 08:25:00 2279.0 2445.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 4.0 1.0 1699020382895354 1604275200 \n",
+ "1 9.0 8.0 1699020382895354 1604275200 \n",
+ "2 5.0 2.0 1699020382895354 1604275200 \n",
+ "3 3.0 5.0 1699020382895354 1604275200 \n",
+ "4 5.0 4.0 1699020382895354 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1598111700000000000 25.0 304.0 \n",
+ "1 1598112300000000000 164.0 835.0 \n",
+ "2 1598112600000000000 186.0 266.0 \n",
+ "3 1598112900000000000 202.0 195.0 \n",
+ "4 1598113800000000000 228.0 103.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 38.0 249.0 1699020416383053 1604275200 \n",
+ "1 38.0 246.0 1699020416383053 1604275200 \n",
+ "2 38.0 250.0 1699020416383053 1604275200 \n",
+ "3 38.0 249.0 1699020416383053 1604275200 \n",
+ "4 38.0 248.0 1699020416383053 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-08-22 15:55:00 25.0 304.0 \n",
+ "1 2020-08-22 16:05:00 164.0 835.0 \n",
+ "2 2020-08-22 16:10:00 186.0 266.0 \n",
+ "3 2020-08-22 16:15:00 202.0 195.0 \n",
+ "4 2020-08-22 16:30:00 228.0 103.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 38.0 249.0 1699020416383053 1604275200 \n",
+ "1 38.0 246.0 1699020416383053 1604275200 \n",
+ "2 38.0 250.0 1699020416383053 1604275200 \n",
+ "3 38.0 249.0 1699020416383053 1604275200 \n",
+ "4 38.0 248.0 1699020416383053 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1603973100000000000 118830.0 53710.0 \n",
+ "1 1603975200000000000 118830.0 0.0 \n",
+ "2 1603983000000000000 132310.0 6222.0 \n",
+ "3 1603987200000000000 152880.0 17631.0 \n",
+ "4 1604051400000000000 11560.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020541056141 1604275200 \n",
+ "1 NaN NaN 1699020541056141 1604275200 \n",
+ "2 NaN NaN 1699020541056141 1604275200 \n",
+ "3 NaN NaN 1699020541056141 1604275200 \n",
+ "4 NaN NaN 1699020541056141 1604275200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2020-10-29 12:05:00 118830.0 53710.0 \n",
+ "1 2020-10-29 12:40:00 118830.0 0.0 \n",
+ "2 2020-10-29 14:50:00 132310.0 6222.0 \n",
+ "3 2020-10-29 16:00:00 152880.0 17631.0 \n",
+ "4 2020-10-30 09:50:00 11560.0 0.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020541056141 1604275200 \n",
+ "1 NaN NaN 1699020541056141 1604275200 \n",
+ "2 NaN NaN 1699020541056141 1604275200 \n",
+ "3 NaN NaN 1699020541056141 1604275200 \n",
+ "4 NaN NaN 1699020541056141 1604275200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1611044700000000000 60.0 239.0 \n",
+ "1 1611045300000000000 106.0 275.0 \n",
+ "2 1611045900000000000 143.0 219.0 \n",
+ "3 1611046200000000000 166.0 276.0 \n",
+ "4 1611046500000000000 191.0 298.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 239.3 1699020562612063 1635811200 \n",
+ "1 NaN 240.6 1699020562612063 1635811200 \n",
+ "2 NaN 241.0 1699020562612063 1635811200 \n",
+ "3 NaN 240.1 1699020562612063 1635811200 \n",
+ "4 NaN 240.0 1699020562612063 1635811200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2021-01-19 08:25:00 60.0 239.0 \n",
+ "1 2021-01-19 08:35:00 106.0 275.0 \n",
+ "2 2021-01-19 08:45:00 143.0 219.0 \n",
+ "3 2021-01-19 08:50:00 166.0 276.0 \n",
+ "4 2021-01-19 08:55:00 191.0 298.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN 239.3 1699020562612063 1635811200 \n",
+ "1 NaN 240.6 1699020562612063 1635811200 \n",
+ "2 NaN 241.0 1699020562612063 1635811200 \n",
+ "3 NaN 240.1 1699020562612063 1635811200 \n",
+ "4 NaN 240.0 1699020562612063 1635811200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1613887200000000000 0.0 4.0 \n",
+ "1 1613887500000000000 1.0 9.0 \n",
+ "2 1613887800000000000 2.0 14.0 \n",
+ "3 1613888100000000000 4.0 23.0 \n",
+ "4 1613888400000000000 7.0 38.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 27.0 244.7 1699020620548072 1635811200 \n",
+ "1 27.0 246.5 1699020620548072 1635811200 \n",
+ "2 27.0 246.1 1699020620548072 1635811200 \n",
+ "3 28.0 245.3 1699020620548072 1635811200 \n",
+ "4 28.0 244.0 1699020620548072 1635811200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2021-02-21 06:00:00 0.0 4.0 \n",
+ "1 2021-02-21 06:05:00 1.0 9.0 \n",
+ "2 2021-02-21 06:10:00 2.0 14.0 \n",
+ "3 2021-02-21 06:15:00 4.0 23.0 \n",
+ "4 2021-02-21 06:20:00 7.0 38.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 27.0 244.7 1699020620548072 1635811200 \n",
+ "1 27.0 246.5 1699020620548072 1635811200 \n",
+ "2 27.0 246.1 1699020620548072 1635811200 \n",
+ "3 28.0 245.3 1699020620548072 1635811200 \n",
+ "4 28.0 244.0 1699020620548072 1635811200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1629829500000000000 51.0 611.0 \n",
+ "1 1629829800000000000 87.0 429.0 \n",
+ "2 1629830100000000000 110.0 273.0 \n",
+ "3 1629830400000000000 132.0 259.0 \n",
+ "4 1629830700000000000 143.0 133.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020680515718 1635811200 \n",
+ "1 NaN NaN 1699020680515718 1635811200 \n",
+ "2 NaN NaN 1699020680515718 1635811200 \n",
+ "3 NaN NaN 1699020680515718 1635811200 \n",
+ "4 NaN NaN 1699020680515718 1635811200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2021-08-24 18:25:00 51.0 611.0 \n",
+ "1 2021-08-24 18:30:00 87.0 429.0 \n",
+ "2 2021-08-24 18:35:00 110.0 273.0 \n",
+ "3 2021-08-24 18:40:00 132.0 259.0 \n",
+ "4 2021-08-24 18:45:00 143.0 133.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020680515718 1635811200 \n",
+ "1 NaN NaN 1699020680515718 1635811200 \n",
+ "2 NaN NaN 1699020680515718 1635811200 \n",
+ "3 NaN NaN 1699020680515718 1635811200 \n",
+ "4 NaN NaN 1699020680515718 1635811200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1632395100000000000 24.0 285.0 \n",
+ "1 1632395400000000000 47.0 280.0 \n",
+ "2 1632395700000000000 66.0 231.0 \n",
+ "3 1632396000000000000 86.0 237.0 \n",
+ "4 1632396300000000000 111.0 297.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 36.0 219.6 1699020705182740 1635811200 \n",
+ "1 36.0 226.0 1699020705182740 1635811200 \n",
+ "2 36.0 227.5 1699020705182740 1635811200 \n",
+ "3 36.0 227.9 1699020705182740 1635811200 \n",
+ "4 36.0 228.7 1699020705182740 1635811200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2021-09-23 11:05:00 24.0 285.0 \n",
+ "1 2021-09-23 11:10:00 47.0 280.0 \n",
+ "2 2021-09-23 11:15:00 66.0 231.0 \n",
+ "3 2021-09-23 11:20:00 86.0 237.0 \n",
+ "4 2021-09-23 11:25:00 111.0 297.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 36.0 219.6 1699020705182740 1635811200 \n",
+ "1 36.0 226.0 1699020705182740 1635811200 \n",
+ "2 36.0 227.5 1699020705182740 1635811200 \n",
+ "3 36.0 227.9 1699020705182740 1635811200 \n",
+ "4 36.0 228.7 1699020705182740 1635811200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1659333600000000000 0.0 105.0 \n",
+ "1 1659333900000000000 10.0 172.0 \n",
+ "2 1659334200000000000 20.0 204.0 \n",
+ "3 1659334500000000000 40.0 258.0 \n",
+ "4 1659334800000000000 60.0 263.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 23.6 NaN 1699020739285657 1667347200 \n",
+ "1 23.6 NaN 1699020739285657 1667347200 \n",
+ "2 24.0 NaN 1699020739285657 1667347200 \n",
+ "3 23.6 NaN 1699020739285657 1667347200 \n",
+ "4 23.6 NaN 1699020739285657 1667347200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2022-08-01 06:00:00 0.0 105.0 \n",
+ "1 2022-08-01 06:05:00 10.0 172.0 \n",
+ "2 2022-08-01 06:10:00 20.0 204.0 \n",
+ "3 2022-08-01 06:15:00 40.0 258.0 \n",
+ "4 2022-08-01 06:20:00 60.0 263.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 23.6 NaN 1699020739285657 1667347200 \n",
+ "1 23.6 NaN 1699020739285657 1667347200 \n",
+ "2 24.0 NaN 1699020739285657 1667347200 \n",
+ "3 23.6 NaN 1699020739285657 1667347200 \n",
+ "4 23.6 NaN 1699020739285657 1667347200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1659335100000000000 1.0 11.0 \n",
+ "1 1659335400000000000 4.0 32.0 \n",
+ "2 1659335700000000000 9.0 63.0 \n",
+ "3 1659336000000000000 16.0 87.0 \n",
+ "4 1659336300000000000 25.0 104.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020761818229 1667347200 \n",
+ "1 NaN NaN 1699020761818229 1667347200 \n",
+ "2 NaN NaN 1699020761818229 1667347200 \n",
+ "3 NaN NaN 1699020761818229 1667347200 \n",
+ "4 NaN NaN 1699020761818229 1667347200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2022-08-01 06:25:00 1.0 11.0 \n",
+ "1 2022-08-01 06:30:00 4.0 32.0 \n",
+ "2 2022-08-01 06:35:00 9.0 63.0 \n",
+ "3 2022-08-01 06:40:00 16.0 87.0 \n",
+ "4 2022-08-01 06:45:00 25.0 104.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020761818229 1667347200 \n",
+ "1 NaN NaN 1699020761818229 1667347200 \n",
+ "2 NaN NaN 1699020761818229 1667347200 \n",
+ "3 NaN NaN 1699020761818229 1667347200 \n",
+ "4 NaN NaN 1699020761818229 1667347200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}, {'System ID': '90559', 'Start': Timestamp('2022-08-01 06:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1659335400000000000 0.0 2.0 \n",
+ "1 1659335700000000000 1.0 10.0 \n",
+ "2 1659336000000000000 3.0 18.0 \n",
+ "3 1659336300000000000 5.0 26.0 \n",
+ "4 1659336600000000000 8.0 33.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020782611243 1667347200 \n",
+ "1 NaN NaN 1699020782611243 1667347200 \n",
+ "2 NaN NaN 1699020782611243 1667347200 \n",
+ "3 NaN NaN 1699020782611243 1667347200 \n",
+ "4 NaN NaN 1699020782611243 1667347200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2022-08-01 06:30:00 0.0 2.0 \n",
+ "1 2022-08-01 06:35:00 1.0 10.0 \n",
+ "2 2022-08-01 06:40:00 3.0 18.0 \n",
+ "3 2022-08-01 06:45:00 5.0 26.0 \n",
+ "4 2022-08-01 06:50:00 8.0 33.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020782611243 1667347200 \n",
+ "1 NaN NaN 1699020782611243 1667347200 \n",
+ "2 NaN NaN 1699020782611243 1667347200 \n",
+ "3 NaN NaN 1699020782611243 1667347200 \n",
+ "4 NaN NaN 1699020782611243 1667347200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}, {'System ID': '90559', 'Start': Timestamp('2022-08-01 06:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '91554', 'Start': Timestamp('2022-08-01 06:30:00'), 'Finish': Timestamp('2023-11-02 18:05:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1677225000000000000 0.0 678.0 \n",
+ "1 1677225300000000000 61.0 735.0 \n",
+ "2 1677225600000000000 127.0 792.0 \n",
+ "3 1677225900000000000 197.0 843.0 \n",
+ "4 1677226200000000000 274.0 922.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020795566684 1698883200 \n",
+ "1 NaN NaN 1699020795566684 1698883200 \n",
+ "2 NaN NaN 1699020795566684 1698883200 \n",
+ "3 NaN NaN 1699020795566684 1698883200 \n",
+ "4 NaN NaN 1699020795566684 1698883200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2023-02-24 07:50:00 0.0 678.0 \n",
+ "1 2023-02-24 07:55:00 61.0 735.0 \n",
+ "2 2023-02-24 08:00:00 127.0 792.0 \n",
+ "3 2023-02-24 08:05:00 197.0 843.0 \n",
+ "4 2023-02-24 08:10:00 274.0 922.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 NaN NaN 1699020795566684 1698883200 \n",
+ "1 NaN NaN 1699020795566684 1698883200 \n",
+ "2 NaN NaN 1699020795566684 1698883200 \n",
+ "3 NaN NaN 1699020795566684 1698883200 \n",
+ "4 NaN NaN 1699020795566684 1698883200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}, {'System ID': '90559', 'Start': Timestamp('2022-08-01 06:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '91554', 'Start': Timestamp('2022-08-01 06:30:00'), 'Finish': Timestamp('2023-11-02 18:05:00')}, {'System ID': '97094', 'Start': Timestamp('2023-02-24 07:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1687594800000000000 57.0 681.0 \n",
+ "1 1687595100000000000 120.0 753.0 \n",
+ "2 1687597500000000000 450.0 1320.0 \n",
+ "3 1687598700000000000 741.0 1163.0 \n",
+ "4 1687599000000000000 838.0 1163.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 46.0 250.0 1699020812093743 1698883200 \n",
+ "1 47.0 239.0 1699020812093743 1698883200 \n",
+ "2 54.0 224.0 1699020812093743 1698883200 \n",
+ "3 56.0 219.0 1699020812093743 1698883200 \n",
+ "4 56.0 219.0 1699020812093743 1698883200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2023-06-24 08:20:00 57.0 681.0 \n",
+ "1 2023-06-24 08:25:00 120.0 753.0 \n",
+ "2 2023-06-24 09:05:00 450.0 1320.0 \n",
+ "3 2023-06-24 09:25:00 741.0 1163.0 \n",
+ "4 2023-06-24 09:30:00 838.0 1163.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 46.0 250.0 1699020812093743 1698883200 \n",
+ "1 47.0 239.0 1699020812093743 1698883200 \n",
+ "2 54.0 224.0 1699020812093743 1698883200 \n",
+ "3 56.0 219.0 1699020812093743 1698883200 \n",
+ "4 56.0 219.0 1699020812093743 1698883200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}, {'System ID': '90559', 'Start': Timestamp('2022-08-01 06:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '91554', 'Start': Timestamp('2022-08-01 06:30:00'), 'Finish': Timestamp('2023-11-02 18:05:00')}, {'System ID': '97094', 'Start': Timestamp('2023-02-24 07:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '99833', 'Start': Timestamp('2023-06-24 08:20:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}]\n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 1690901100000000000 7900.0 1354.0 \n",
+ "1 1690902000000000000 8300.0 1391.0 \n",
+ "2 1690902600000000000 8500.0 1340.0 \n",
+ "3 1690903200000000000 8700.0 1725.0 \n",
+ "4 1690903800000000000 8900.0 671.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 0.0 269.2 1699020827334845 1698883200 \n",
+ "1 0.0 278.2 1699020827334845 1698883200 \n",
+ "2 0.0 275.2 1699020827334845 1698883200 \n",
+ "3 0.0 273.9 1699020827334845 1698883200 \n",
+ "4 0.0 262.3 1699020827334845 1698883200 \n",
+ " index cumulative_energy_gen_Wh instantaneous_power_gen_W \\\n",
+ "0 2023-08-01 14:45:00 7900.0 1354.0 \n",
+ "1 2023-08-01 15:00:00 8300.0 1391.0 \n",
+ "2 2023-08-01 15:10:00 8500.0 1340.0 \n",
+ "3 2023-08-01 15:20:00 8700.0 1725.0 \n",
+ "4 2023-08-01 15:30:00 8900.0 671.0 \n",
+ "\n",
+ " temperature_C voltage datetime_of_API_request query_date \n",
+ "0 0.0 269.2 1699020827334845 1698883200 \n",
+ "1 0.0 278.2 1699020827334845 1698883200 \n",
+ "2 0.0 275.2 1699020827334845 1698883200 \n",
+ "3 0.0 273.9 1699020827334845 1698883200 \n",
+ "4 0.0 262.3 1699020827334845 1698883200 \n",
+ "[{'System ID': '14351', 'Start': Timestamp('2021-07-22 16:20:00'), 'Finish': Timestamp('2021-07-22 17:00:00')}, {'System ID': '49660', 'Start': Timestamp('2017-11-03 07:20:00'), 'Finish': Timestamp('2017-12-07 22:00:00')}, {'System ID': '56151', 'Start': Timestamp('2017-12-22 12:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '56709', 'Start': Timestamp('2018-01-23 17:20:00'), 'Finish': Timestamp('2021-09-10 12:45:00')}, {'System ID': '58780', 'Start': Timestamp('2018-05-01 04:00:00'), 'Finish': Timestamp('2021-11-03 13:30:00')}, {'System ID': '59687', 'Start': Timestamp('2018-06-08 07:55:00'), 'Finish': Timestamp('2023-11-02 20:40:00')}, {'System ID': '59710', 'Start': Timestamp('2018-06-26 06:15:00'), 'Finish': Timestamp('2019-09-21 19:00:00')}, {'System ID': '60294', 'Start': Timestamp('2019-10-10 07:10:00'), 'Finish': Timestamp('2023-11-02 18:20:00')}, {'System ID': '60602', 'Start': Timestamp('2018-08-06 05:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '60673', 'Start': Timestamp('2018-08-07 18:15:00'), 'Finish': Timestamp('2019-02-27 14:00:00')}, {'System ID': '66634', 'Start': Timestamp('2019-04-21 15:05:00'), 'Finish': Timestamp('2023-11-02 18:25:00')}, {'System ID': '67861', 'Start': Timestamp('2019-06-09 05:50:00'), 'Finish': Timestamp('2019-06-15 21:45:00')}, {'System ID': '71120', 'Start': Timestamp('2019-11-04 05:45:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '72742', 'Start': Timestamp('2020-08-28 15:15:00'), 'Finish': Timestamp('2023-11-02 17:55:00')}, {'System ID': '73347', 'Start': Timestamp('2020-02-07 06:40:00'), 'Finish': Timestamp('2023-11-02 17:40:00')}, {'System ID': '77684', 'Start': Timestamp('2020-09-20 08:30:00'), 'Finish': Timestamp('2020-12-11 14:10:00')}, {'System ID': '77710', 'Start': Timestamp('2020-07-28 08:05:00'), 'Finish': Timestamp('2020-11-27 13:05:00')}, {'System ID': '78186', 'Start': Timestamp('2020-08-22 15:55:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '79612', 'Start': Timestamp('2020-10-29 12:05:00'), 'Finish': Timestamp('2020-11-27 13:20:00')}, {'System ID': '81408', 'Start': Timestamp('2021-01-19 08:25:00'), 'Finish': Timestamp('2023-11-02 19:35:00')}, {'System ID': '82081', 'Start': Timestamp('2021-02-21 06:00:00'), 'Finish': Timestamp('2022-09-24 22:00:00')}, {'System ID': '85738', 'Start': Timestamp('2021-08-24 18:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '86244', 'Start': Timestamp('2021-09-23 11:05:00'), 'Finish': Timestamp('2021-10-24 08:40:00')}, {'System ID': '87410', 'Start': Timestamp('2022-08-01 06:00:00'), 'Finish': Timestamp('2023-11-02 19:45:00')}, {'System ID': '90559', 'Start': Timestamp('2022-08-01 06:25:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '91554', 'Start': Timestamp('2022-08-01 06:30:00'), 'Finish': Timestamp('2023-11-02 18:05:00')}, {'System ID': '97094', 'Start': Timestamp('2023-02-24 07:50:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '99833', 'Start': Timestamp('2023-06-24 08:20:00'), 'Finish': Timestamp('2023-11-02 22:00:00')}, {'System ID': '100451', 'Start': Timestamp('2023-08-01 14:45:00'), 'Finish': Timestamp('2023-11-02 18:00:00')}]\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "alignmentgroup": "True",
+ "base": [
+ "2021-07-22T16:20:00",
+ "2017-11-03T07:20:00",
+ "2017-12-22T12:25:00",
+ "2018-01-23T17:20:00",
+ "2018-05-01T04:00:00",
+ "2018-06-08T07:55:00",
+ "2018-06-26T06:15:00",
+ "2019-10-10T07:10:00",
+ "2018-08-06T05:50:00",
+ "2018-08-07T18:15:00",
+ "2019-04-21T15:05:00",
+ "2019-06-09T05:50:00",
+ "2019-11-04T05:45:00",
+ "2020-08-28T15:15:00",
+ "2020-02-07T06:40:00",
+ "2020-09-20T08:30:00",
+ "2020-07-28T08:05:00",
+ "2020-08-22T15:55:00",
+ "2020-10-29T12:05:00",
+ "2021-01-19T08:25:00",
+ "2021-02-21T06:00:00",
+ "2021-08-24T18:25:00",
+ "2021-09-23T11:05:00",
+ "2022-08-01T06:00:00",
+ "2022-08-01T06:25:00",
+ "2022-08-01T06:30:00",
+ "2023-02-24T07:50:00",
+ "2023-06-24T08:20:00",
+ "2023-08-01T14:45:00"
+ ],
+ "hovertemplate": "Start=%{base}
Finish=%{x}
System ID=%{y}",
+ "legendgroup": "",
+ "marker": {
+ "color": "#636efa",
+ "pattern": {
+ "shape": ""
+ }
+ },
+ "name": "",
+ "offsetgroup": "",
+ "orientation": "h",
+ "showlegend": false,
+ "textposition": "auto",
+ "type": "bar",
+ "x": [
+ 2400000,
+ 2990400000,
+ 185016900000,
+ 114549900000,
+ 110799000000,
+ 170513100000,
+ 39098700000,
+ 128257800000,
+ 165427800000,
+ 17610300000,
+ 143090400000,
+ 575700000,
+ 126116100000,
+ 100320000000,
+ 117889200000,
+ 7105200000,
+ 10558800000,
+ 100850700000,
+ 2510100000,
+ 87909000000,
+ 50169600000,
+ 69132900000,
+ 2669700000,
+ 39620700000,
+ 39627300000,
+ 39612900000,
+ 21737400000,
+ 11367600000,
+ 8046900000
+ ],
+ "xaxis": "x",
+ "y": [
+ "14351",
+ "49660",
+ "56151",
+ "56709",
+ "58780",
+ "59687",
+ "59710",
+ "60294",
+ "60602",
+ "60673",
+ "66634",
+ "67861",
+ "71120",
+ "72742",
+ "73347",
+ "77684",
+ "77710",
+ "78186",
+ "79612",
+ "81408",
+ "82081",
+ "85738",
+ "86244",
+ "87410",
+ "90559",
+ "91554",
+ "97094",
+ "99833",
+ "100451"
+ ],
+ "yaxis": "y"
+ }
+ ],
+ "layout": {
+ "barmode": "overlay",
+ "legend": {
+ "tracegroupgap": 0
+ },
+ "margin": {
+ "t": 60
+ },
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "autotypenumbers": "strict",
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 1
+ ],
+ "type": "date"
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "title": {
+ "text": "System ID"
+ }
+ }
+ }
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import h5py\n",
+ "\n",
+ "filename = \"file.hdf5\"\n",
+ "frames = []\n",
+ "systems_with_data = [\n",
+ " \"14351\",\n",
+ " \"49660\",\n",
+ " \"56151\",\n",
+ " \"56709\",\n",
+ " \"58780\",\n",
+ " \"59687\",\n",
+ " \"59710\",\n",
+ " \"60294\",\n",
+ " \"60602\",\n",
+ " \"60673\",\n",
+ " \"66634\",\n",
+ " \"67861\",\n",
+ " \"71120\",\n",
+ " \"72742\",\n",
+ " \"73347\",\n",
+ " \"77684\",\n",
+ " \"77710\",\n",
+ " \"78186\",\n",
+ " \"79612\",\n",
+ " \"81408\",\n",
+ " \"82081\",\n",
+ " \"85738\",\n",
+ " \"86244\",\n",
+ " \"87410\",\n",
+ " \"90559\",\n",
+ " \"91554\",\n",
+ " \"97094\",\n",
+ " \"99833\",\n",
+ " \"100451\",\n",
+ "]\n",
+ "\n",
+ "with h5py.File(output_filename, \"r\") as f:\n",
+ " for system_id in systems_with_data:\n",
+ " df = pd.DataFrame(np.array(f[\"timeseries\"][system_id][\"table\"]))\n",
+ " print(df.head())\n",
+ " df[\"index\"] = pd.to_datetime(df[\"index\"], unit=\"ns\")\n",
+ " dictionary = {} \n",
+ " dictionary[\"System ID\"] = system_id\n",
+ " dictionary[\"Start\"] = df[\"index\"][0]\n",
+ " dictionary[\"Finish\"] = df[\"index\"][len(df[\"index\"])-1]\n",
+ " frames.append(dictionary)\n",
+ " fig = px.timeline(frames, x_start=\"Start\", x_end=\"Finish\", y=\"System ID\")\n",
+ " fig.show()\n",
+ "\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 120,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2023-11-13 15:57:39.582464\n",
+ " datetime instantaneous_power_gen_W z\n",
+ "0 2021-07-22 16:20:00 89.0 1.0\n",
+ "1 2021-07-22 16:25:00 90.0 1.0\n",
+ "2 2021-07-22 16:30:00 89.0 1.0\n",
+ "3 2021-07-22 16:35:00 89.0 1.0\n",
+ "4 2021-07-22 16:40:00 0.0 NaN\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "hovertemplate": "datetime=%{x}
instantaneous_power_gen_W=%{y}",
+ "legendgroup": "",
+ "line": {
+ "color": "#636efa",
+ "dash": "solid"
+ },
+ "marker": {
+ "symbol": "circle"
+ },
+ "mode": "lines",
+ "name": "",
+ "orientation": "v",
+ "showlegend": false,
+ "type": "scatter",
+ "x": [
+ "2021-07-22T16:20:00",
+ "2021-07-22T16:25:00",
+ "2021-07-22T16:30:00",
+ "2021-07-22T16:35:00",
+ "2021-07-22T16:40:00",
+ "2021-07-22T16:45:00",
+ "2021-07-22T16:50:00",
+ "2021-07-22T16:55:00",
+ "2021-07-22T17:00:00"
+ ],
+ "xaxis": "x",
+ "y": [
+ 89,
+ 90,
+ 89,
+ 89,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "yaxis": "y"
+ }
+ ],
+ "layout": {
+ "legend": {
+ "tracegroupgap": 0
+ },
+ "margin": {
+ "t": 60
+ },
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ },
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "pattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "autotypenumbers": "strict",
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "xaxis": {
+ "anchor": "y",
+ "domain": [
+ 0,
+ 1
+ ],
+ "title": {
+ "text": "datetime"
+ }
+ },
+ "yaxis": {
+ "anchor": "x",
+ "domain": [
+ 0,
+ 1
+ ],
+ "title": {
+ "text": "instantaneous_power_gen_W"
+ }
+ }
+ }
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# PLOTLY EXAMPLE OF HEATMAP\n",
+ "import plotly.graph_objects as go\n",
+ "import datetime\n",
+ "import numpy as np\n",
+ "\n",
+ "system_ids = [\n",
+ " \"14351\",\n",
+ "]\n",
+ "\n",
+ "base = datetime.datetime.today()\n",
+ "print(base)\n",
+ "dates = base - np.arange(365) * datetime.timedelta(days=1)\n",
+ "\n",
+ "with h5py.File(output_filename, \"r\") as f:\n",
+ " df = pd.DataFrame(np.array(f[\"timeseries\"][\"14351\"][\"table\"]))\n",
+ " df[\"index\"]= pd.to_datetime(df[\"index\"], unit=\"ns\")\n",
+ " df.rename(columns={\"index\": \"datetime\"}, inplace=True)\n",
+ " df[\"z\"] = (df[\"instantaneous_power_gen_W\"]/df[\"instantaneous_power_gen_W\"]).astype(float)\n",
+ " df = df[[\"datetime\", \"instantaneous_power_gen_W\", \"z\"]]\n",
+ " print(df.head())\n",
+ "\n",
+ " fig = px.line(df, x=\"datetime\", y=\"instantaneous_power_gen_W\")\n",
+ " fig.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "frames = []\n",
+ "systems_with_no_data = []\n",
+ "file = \"../examples/pv_data/PVOutput_India_systems.csv\"\n",
+ "data = pd.read_csv(file)\n",
+ "df = pd.DataFrame(data, columns=[\"system_id\"])\n",
+ "if \"system_id\" in df.columns:\n",
+ " system_ids = df[\"system_id\"].values.astype(str).tolist()\n",
+ " print(system_ids)\n",
+ "\n",
+ "with pd.HDFStore(output_filename, mode=\"r\", complevel=9) as store:\n",
+ " for system_id in system_ids:\n",
+ " if \"/timeseries/\" + system_id in store.keys():\n",
+ " df = store.get(key=\"/timeseries/\" + system_id)\n",
+ " # plot heatmap\n",
+ " frames.append(df)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "pvoutput-venv",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/examples/get_india_data.ipynb b/examples/get_india_data.ipynb
new file mode 100644
index 0000000..fb48d13
--- /dev/null
+++ b/examples/get_india_data.ipynb
@@ -0,0 +1,125 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Get metadata for all systems in a country \n",
+ "\n",
+ "#### (excluding AU, US, NL, UK and DE) \n",
+ "\n",
+ "- Makes a request to the Get Country System Service - World.\n",
+ "- For more information on this route, [see pvoutput.org API documentation](https://pvoutput.org/help/data_services.html#get-country-system-service). \n",
+ "\n",
+ "- The request being run by this notebook looks like this: ```https://pvoutput.org/data/r2/getcountrysystem.jsp?c={country_code}&from={start_id_range}&to={end_id_range}```, where ```country_code``` is the code for the country found in the docs and ```from``` and ```to``` are a range queried for system ids. \n",
+ "\n",
+ "- NB: The maximum range of the \"from\" and \"to\" parameters is 20000.\n",
+ "\n",
+ "**2023-11-06**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Setup"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import sys\n",
+ "import pandas as pd\n",
+ "\n",
+ "sys.path.append(\"..\")\n",
+ "from pvoutput.pvoutput import PVOutput"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set up pvoutput environment variables \n",
+ "# API_KEY is the key provided via the pvoutput.org account used\n",
+ "# SYSTEM_ID is the system_id connected to your account on pvoutput.org\n",
+ "api_key = \"API_KEY\"\n",
+ "system_id = \"SYSTEM_ID\"\n",
+ "data_service_url = \"https://pvoutput.org\"\n",
+ "country_code=\"COUNTRY_CODE\" # get from pvoutput.org, e.g. \"in\" for India\n",
+ "pv = PVOutput(api_key=api_key, system_id=system_id, data_service_url=data_service_url)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set up a directory locally to store data \n",
+ "CACHE_DIR = \"../examples/pv_data\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Create csv file with metadata from country systems. \n",
+ "\n",
+ "Could be useful to check the Get Country System Service [documentation](https://pvoutput.org/help/data_services.html#get-country-system-service) for data specifications."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set up a list of ranges to check for system ids and metadat\n",
+ "start_id_range = list(range(1, 120000, 20000))\n",
+ "end_id_range = list(range(20000, 140000, 20000))\n",
+ "\n",
+ "# get system metadata for a country\n",
+ "def get_system_metadata_by_country(start_id_range=start_id_range, end_id_range=end_id_range):\n",
+ " frames = []\n",
+ " i=0\n",
+ " while i < len(start_id_range) and i < len(end_id_range):\n",
+ " df = pv.get_metadata_for_country(country_code={country_code}, start_id_range=start_id_range[i], end_id_range=end_id_range[i], use_data_service=True)\n",
+ " frames.append(df)\n",
+ " i+=1\n",
+ " df= pd.concat(frames)\n",
+ " df.to_csv(f\"{CACHE_DIR}/example.csv\", index=False)\n",
+ " return df\n",
+ "\n",
+ "get_system_metadata_by_country(start_id_range=start_id_range, end_id_range=end_id_range)\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "pvoutput-venv",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/pvoutput/mapscraper.py b/pvoutput/mapscraper.py
index c64f1f1..9c0c8d1 100644
--- a/pvoutput/mapscraper.py
+++ b/pvoutput/mapscraper.py
@@ -350,6 +350,7 @@ def clean_soup(soup):
"""Function to clean scraped soup object.
Note that the downloaded soup could change over time.
+
Args:
soup: bs4.BeautifulSoup
diff --git a/pvoutput/pvoutput.py b/pvoutput/pvoutput.py
index 0e4ea35..a34c893 100644
--- a/pvoutput/pvoutput.py
+++ b/pvoutput/pvoutput.py
@@ -277,7 +277,7 @@ def get_status(
# add timezone
if timezone is not None:
- pv_system_status = pv_system_status.tz_localize(timezone).tz_convert("UTC")
+ pv_system_status = pv_system_status.tz_convert(timezone).tz_convert("UTC")
return pv_system_status
@@ -340,7 +340,6 @@ def get_system_status(
pv_system_status = []
for pv_system_status_text in pv_systems_status_text:
-
try:
one_pv_system_status = process_system_status(
pv_system_status_text=pv_system_status_text, date=date
@@ -360,7 +359,7 @@ def get_system_status(
if timezone is not None:
pv_system_status["datetime"] = (
pd.DatetimeIndex(pv_system_status["datetime"])
- .tz_localize(timezone)
+ .tz_convert(timezone)
.tz_convert("UTC")
)
@@ -416,10 +415,17 @@ def get_batch_status(
for retry in range(max_retries):
try:
pv_system_status_text = self._api_query(
- service="getbatchstatus", api_params=api_params, use_data_service=True, **kwargs
+ service="getbatchstatus",
+ api_params=api_params,
+ use_data_service=True,
+ **kwargs,
)
except NoStatusFound:
- _LOG.info("system_id %d: No status found for date_to %s", pv_system_id, date_to)
+ _LOG.info(
+ "system_id %d: No status found for date_to %s",
+ pv_system_id,
+ date_to,
+ )
pv_system_status_text = ""
break
@@ -517,6 +523,79 @@ def get_metadata(self, pv_system_id: int, **kwargs) -> pd.Series:
pv_metadata.name = pv_system_id
return pv_metadata
+ def get_metadata_for_country(
+ self, country_code: str, start_id_range: int, end_id_range: int, **kwargs
+ ) -> pd.DataFrame:
+ """Get metadata for a single PV system.
+
+ Args:
+ country_code: str,
+ start_id_range: int,
+ end_id_range: int,
+
+ Returns:
+ pd.Dataframe. Index is:
+ system_id,
+ system_size_W,
+ postcode,
+ num_panels,
+ panel_power_W,
+ num_inverters,
+ inverter_capacity_W,
+ orientation,
+ array_tilt_degrees,
+ shade,
+ install_date,
+ latitude,
+ longitude,
+ status_interval_minutes,
+ secondary_num_panels,
+ secondary_panel_capacity_W_each,
+ secondary_orientation,
+ secondary_array_tilt_degrees
+ """
+ pv_metadata_text = self._api_query(
+ service="getcountrysystem",
+ api_params={
+ "c": country_code, # Provide data about secondary array, if present.
+ "from": start_id_range,
+ "to": end_id_range,
+ },
+ **kwargs,
+ )
+
+ _LOG.debug(f"getting metadata for {country_code} for {start_id_range} to {end_id_range}")
+ print(
+ f"Getting metadata for country code: {country_code} for {start_id_range} to {end_id_range}"
+ )
+
+ pv_metadata_for_country = pd.read_csv(
+ StringIO(pv_metadata_text),
+ lineterminator="\n",
+ names=[
+ "system_id",
+ "system_size_W",
+ "postcode",
+ "num_panels",
+ "panel_power_W",
+ "num_inverters",
+ "inverter_capacity_W",
+ "orientation",
+ "array_tilt_degrees",
+ "shade",
+ "install_date",
+ "latitude",
+ "longitude",
+ "status_interval_minutes",
+ "secondary_num_panels",
+ "secondary_panel_capacity_W_each",
+ "secondary_orientation",
+ "secondary_array_tilt_degrees",
+ ],
+ parse_dates=["install_date"],
+ )
+ return pv_metadata_for_country
+
def get_statistic(
self,
pv_system_id: int,
@@ -720,10 +799,13 @@ def download_multiple_systems_to_disk(
output_filename, pv_system_id, start_date, end_date
)
- # How much data is actually available?
- date_ranges_to_download = self._filter_date_range(
- output_filename, pv_system_id, date_ranges_to_download, min_data_availability
- )
+ # # How much data is actually available?
+ # date_ranges_to_download = self._filter_date_range(
+ # output_filename,
+ # pv_system_id,
+ # date_ranges_to_download,
+ # min_data_availability,
+ # )
if not date_ranges_to_download:
_LOG.info("system_id %d: No data left to download :)", pv_system_id)
@@ -861,7 +943,11 @@ def _filter_date_range(
return new_date_ranges
def _download_multiple_using_get_batch_status(
- self, output_filename, pv_system_id, date_ranges_to_download, timezone: Optional[str] = None
+ self,
+ output_filename,
+ pv_system_id,
+ date_ranges_to_download,
+ timezone: Optional[str] = None,
):
years = merge_date_ranges_to_years(date_ranges_to_download)
dates_to = [year.end_date for year in years]
@@ -875,7 +961,11 @@ def _download_multiple_using_get_batch_status(
sort_and_de_dupe_pv_system(store, pv_system_id)
def _download_multiple_using_get_status(
- self, output_filename, pv_system_id, date_ranges_to_download, timezone: Optional[str] = None
+ self,
+ output_filename,
+ pv_system_id,
+ date_ranges_to_download,
+ timezone: Optional[str] = None,
):
for date_range in date_ranges_to_download:
dates = date_range.date_range()
@@ -904,7 +994,9 @@ def _download_multiple_worker(
timeseries = self.get_batch_status(pv_system_id, date_to=date_to_load)
if timeseries.empty:
_LOG.info(
- "system_id %d: Got empty timeseries back for %s", pv_system_id, date_to_load
+ "system_id %d: Got empty timeseries back for %s",
+ pv_system_id,
+ date_to_load,
)
if use_get_status:
_append_missing_date_range(
@@ -924,8 +1016,8 @@ def _download_multiple_worker(
)
else:
total_rows += len(timeseries)
- _LOG.info(f'Adding timezone {timezone} to {total_rows} rows')
- timeseries = timeseries.tz_localize(timezone)
+ _LOG.info(f"Adding timezone {timezone} to {total_rows} rows")
+ timeseries = timeseries.tz_convert(timezone)
_LOG.info(
"system_id: %d: %d rows retrieved: %s to %s",
pv_system_id,
@@ -946,7 +1038,8 @@ def _download_multiple_worker(
timeseries["datetime_of_API_request"] = datetime_of_api_request
timeseries["query_date"] = pd.Timestamp(date_to_load)
key = system_id_to_hdf_key(pv_system_id)
- with pd.HDFStore(output_filename, mode="a", complevel=9) as store:
+ print(key)
+ with pd.HDFStore(output_filename, mode="a") as store:
with warnings.catch_warnings():
warnings.simplefilter("ignore", tables.NaturalNameWarning)
store.append(key=key, value=timeseries, data_columns=True)
@@ -1049,7 +1142,10 @@ def _set_rate_limit_params(self, headers):
setattr(self, param_name, header_value)
self.rate_limit_reset_time = pd.Timestamp.utcfromtimestamp(self.rate_limit_reset_time)
- self.rate_limit_reset_time = self.rate_limit_reset_time.tz_localize("utc")
+ if self.rate_limit_reset_time.tzinfo is None:
+ self.rate_limit_reset_time = self.rate_limit_reset_time.tz_localize("utc")
+ else:
+ self.rate_limit_reset_time = self.rate_limit_reset_time.tz_convert("utc")
_LOG.debug("%s", self.rate_limit_info())
@@ -1191,9 +1287,12 @@ def check_pv_system_status(pv_system_status: pd.DataFrame, requested_date: date)
def _append_missing_date_range(
- output_filename, pv_system_id, missing_start_date, missing_end_date, datetime_of_api_request
+ output_filename,
+ pv_system_id,
+ missing_start_date,
+ missing_end_date,
+ datetime_of_api_request,
):
-
data = {
"missing_start_date_PV_localtime": pd.Timestamp(missing_start_date),
"missing_end_date_PV_localtime": pd.Timestamp(missing_end_date),
@@ -1258,7 +1357,10 @@ def _convert_consecutive_dates_to_date_ranges(missing_dates):
end_date = missing_dates[-1]
new_missing.append(
- {"missing_start_date_PV_localtime": start_date, "missing_end_date_PV_localtime": end_date}
+ {
+ "missing_start_date_PV_localtime": start_date,
+ "missing_end_date_PV_localtime": end_date,
+ }
)
return pd.DataFrame(new_missing)
diff --git a/scripts/fetch_pv_timeseries.py b/scripts/fetch_pv_timeseries.py
index ac7d4a6..4d15774 100644
--- a/scripts/fetch_pv_timeseries.py
+++ b/scripts/fetch_pv_timeseries.py
@@ -21,14 +21,16 @@
or create and use a ~/.pvoutput.yml file as described in the PVOutput library documentation
"""
-from pvoutput import *
-
-import click as cl
import datetime as dt
+import logging
+import os
+import pathlib
import sys
+
+import click as cl
import pandas as pd
-import pathlib
-import logging
+
+from pvoutput import *
@cl.command()
@@ -36,7 +38,7 @@
"-s",
"--systemfile",
"systemfile_path",
- envvar="SYSTEMFILE",
+ envvar="SYSTEM_FILE",
required=True,
type=cl.Path(exists=True),
)
@@ -45,14 +47,13 @@
"--outdir",
"output_directory",
envvar="OUTDIR",
- default="/mnt/storage_b/data/ocf/solar_pv_nowcasting/nowcasting_dataset_pipeline/PV/PVOutput.org",
type=cl.Path(exists=False, dir_okay=True),
)
@cl.option(
- "--startdate", "start_date", envvar="STARTDATE", default="2019-05-20", type=cl.DateTime()
+ "--startdate", "start_date", envvar="STARTDATE", default="2020-05-20", type=cl.DateTime()
)
-@cl.option("--enddate", "end_date", envvar="ENDDATE", default="2019-08-20", type=cl.DateTime())
-@cl.option("--data_service_url", envvar="DATA_SERVICE_URL")
+@cl.option("--enddate", "end_date", envvar="ENDDATE", default="2023-08-20", type=cl.DateTime())
+@cl.option("--data_service_url", envvar="DATA_SERVICE_URL", default="https://pvoutput.org")
@cl.option("--pvo_systemid", envvar="PVOUTPUT_AUTH_SYSTEMID", required=True, type=str)
@cl.option("--pvo_apikey", envvar="PVOUTPUT_AUTH_APIKEY", required=True, type=str)
def run(