.gitattributes CHANGED
@@ -1,35 +1,36 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Finalist.mp4 filter=lfs diff=lfs merge=lfs -text
.gitignore DELETED
@@ -1,2 +0,0 @@
1
- .venv/
2
- __pychache__/
 
 
 
CedarvilleCursive-Regular.ttf ADDED
Binary file (63.8 kB). View file
 
Finalist.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8aba840777e54c53a3486b5fb65d6fe3a8afee27103482b6fcdaa2d2f91d2a3d
3
+ size 9179650
README.md CHANGED
@@ -1,13 +1,12 @@
1
  ---
2
- title: Energy Time Series Analysis
3
- emoji:
4
- colorFrom: pink
5
  colorTo: red
6
  sdk: streamlit
7
- sdk_version: 1.42.2
8
  app_file: app.py
9
  pinned: false
10
- short_description: Time series energy models for the DATA CELLAR Project
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Smbhav
3
+ emoji: 🐠
4
+ colorFrom: blue
5
  colorTo: red
6
  sdk: streamlit
7
+ sdk_version: 1.38.0
8
  app_file: app.py
9
  pinned: false
 
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
aman.jpg ADDED
anandimg.jpg ADDED
app.py CHANGED
@@ -1,102 +1,417 @@
1
  import streamlit as st
2
- import json
 
 
 
3
  import pandas as pd
4
- import plotly.express as px
5
- import requests
6
- from datetime import datetime
7
- import plotly.graph_objects as go
8
  import os
9
- import logging
10
 
 
 
 
 
 
 
11
 
 
 
 
 
 
 
 
12
 
13
 
14
- # Configure the main page
15
- st.set_page_config(
16
- page_title="Energy Data Analysis Dashboard",
17
- page_icon="⚡",
18
- layout="wide",
19
- initial_sidebar_state="expanded"
20
- )
21
 
22
- DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
23
- #DEFAULT_TOKEN = 'p2s8X9qL4zF7vN3mK6tR1bY5cA0wE3hJ'
24
- print(DEFAULT_TOKEN)
25
- logger = logging.getLogger("Data cellar demo")
 
 
 
26
 
27
- logger.info(f"token : {DEFAULT_TOKEN}")
 
 
28
 
29
- # Initialize session state variables
30
- if 'api_token' not in st.session_state:
31
- st.session_state.api_token = DEFAULT_TOKEN
32
- if 'current_file' not in st.session_state:
33
- st.session_state.current_file = None
34
- if 'json_data' not in st.session_state:
35
- st.session_state.json_data = None
36
- if 'api_response' not in st.session_state:
37
- st.session_state.api_response = None
38
 
39
- # Sidebar configuration
40
- with st.sidebar:
41
- st.markdown("## API Configuration")
42
- api_token = st.text_input("API Token", value=st.session_state.api_token, type="password")
43
- if api_token:
44
- st.session_state.api_token = api_token
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
- st.markdown("""
47
- ## About
48
- This dashboard provides analysis of energy data through various services
49
- including NILM analysis, consumption and production forecasting.
50
- """)
 
51
 
52
- # Main page content
53
- st.title("Energy Data Analysis Dashboard")
 
 
 
 
 
 
 
 
54
 
55
- # Welcome message and service descriptions
56
- st.markdown("""
57
- Welcome to the Energy Data Analysis Dashboard! This platform provides comprehensive tools for analyzing energy consumption and production data.
 
58
 
59
- ### Available Services
 
 
 
 
60
 
61
- You can access the following services through the navigation menu on the left:
 
 
 
62
 
63
- #### 1. Energy Consumption Forecasting
64
- - **Short Term**: Predict energy consumption patterns in the near future
65
- - **Long Term**: Generate long-range consumption forecasts
 
 
 
 
 
66
 
67
- #### 2. Energy Production Analysis
68
- - **Short Term Production**: Forecast PV panel energy production
69
- - **NILM Analysis**: Non-intrusive load monitoring for detailed consumption breakdown
 
 
70
 
71
- #### 3. Advanced Analytics
72
- - **Anomaly Detection**: Identify unusual patterns in energy consumption
 
 
73
 
74
- ### Getting Started
75
 
76
- 1. Select a service from the navigation menu on the left
77
- 2. Upload your energy data file in JSON format
78
- 3. Configure your API token if needed
79
- 4. Run the analysis and explore the results
80
 
81
- Each service page provides specific visualizations and analytics tailored to your needs.
82
- """)
 
 
 
83
 
84
- # Add version info and additional resources in an expander
85
- with st.expander("Additional Information"):
 
 
 
86
  st.markdown("""
87
- ### Usage Tips
88
- - Ensure your data is in the correct JSON format
89
- - Keep your API token secure
90
- - Use the visualization tools to explore your data
91
- - Export results for further analysis
92
-
93
- ### Support
94
- For technical support or questions about the services, please contact your system administrator.
95
  """)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
97
- # Footer
98
- st.markdown("""
99
- ---
100
- Made with ❤️ by LINKS Foundation
101
- """)
 
 
 
 
 
 
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ from ultralytics import YOLO
3
+ import tensorflow as tf # Change this to import TensorFlow
4
+ import numpy as np
5
+ from PIL import Image, ImageOps, ImageDraw, ImageFont
6
  import pandas as pd
7
+ import time
8
+ from paddleocr import PaddleOCR, draw_ocr
9
+ import re
10
+ import dateparser
11
  import os
12
+ import matplotlib.pyplot as plt
13
 
14
+ # Function to get Instagram post details
15
+ import instaloader
16
+ def get_instagram_post_details(post_url):
17
+ try:
18
+ shortcode = post_url.split('/')[-2]
19
+ post = instaloader.Post.from_shortcode(L.context, shortcode)
20
 
21
+ # Retrieve caption and image URL
22
+ caption = post.caption
23
+ image_url = post.url
24
+
25
+ return caption, image_url
26
+ except Exception as e:
27
+ return str(e), None
28
 
29
 
30
+ # Initialize PaddleOCR model
31
+ ocr = PaddleOCR(use_angle_cls=True, lang='en')
 
 
 
 
 
32
 
33
+ # Team details
34
+ team_members = [
35
+ {"name": "Aman Deep", "image": "aman.jpg"}, # Replace with actual paths to images
36
+ {"name": "Nandini", "image": "myimage.jpg"},
37
+ {"name": "Abhay Sharma", "image": "gaurav.jpg"},
38
+ {"name": "Ratan Prakash Mishra", "image": "anandimg.jpg"}
39
+ ]
40
 
41
+ # Function to preprocess the images for the model
42
+ from PIL import Image
43
+ import numpy as np
44
 
45
+ def preprocess_image(image):
46
+ """
47
+ Preprocess the input image for model prediction.
 
 
 
 
 
 
48
 
49
+ Args:
50
+ image (PIL.Image): Input image in PIL format.
51
+
52
+ Returns:
53
+ np.ndarray: Preprocessed image array ready for prediction.
54
+ """
55
+ try:
56
+ # Resize image to match model input size
57
+ img = image.resize((128, 128), Image.LANCZOS) # Using LANCZOS filter for high-quality resizing
58
+
59
+ # Convert image to NumPy array
60
+ img_array = np.array(img)
61
+
62
+ # Check if the image is grayscale and convert to RGB if needed
63
+ if img_array.ndim == 2: # Grayscale image
64
+ img_array = np.stack([img_array] * 3, axis=-1) # Convert to 3-channel RGB
65
+ elif img_array.shape[2] == 1: # Single-channel image
66
+ img_array = np.concatenate([img_array, img_array, img_array], axis=-1) # Convert to RGB
67
+
68
+ # Normalize pixel values to [0, 1] range
69
+ img_array = img_array / 255.0
70
+
71
+ # Add batch dimension
72
+ img_array = np.expand_dims(img_array, axis=0) # Shape: (1, 128, 128, 3)
73
+
74
+ return img_array
75
+
76
+ except Exception as e:
77
+ print(f"Error processing image: {e}")
78
+ return None # Return None if there's an error
79
+
80
+
81
+ # Function to create a high-quality circular mask for an image
82
+ def make_image_circular1(img, size=(256, 256)):
83
+ img = img.resize(size, Image.LANCZOS)
84
+ mask = Image.new("L", size, 0)
85
+ draw = ImageDraw.Draw(mask)
86
+ draw.ellipse((0, 0) + size, fill=255)
87
+ output = ImageOps.fit(img, mask.size, centering=(0.5, 0.5))
88
+ output.putalpha(mask) # Apply the mask as transparency
89
+ return output
90
+
91
+
92
+ # Function to check if a file exists
93
+ def file_exists(file_path):
94
+ return os.path.isfile(file_path)
95
+
96
+ def make_image_circular(image):
97
+ # Create a circular mask
98
+ mask = Image.new("L", image.size, 0)
99
+ draw = ImageDraw.Draw(mask)
100
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
101
+
102
+ # Apply the mask to the image
103
+ circular_image = Image.new("RGB", image.size)
104
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
105
+
106
+ return circular_image
107
+
108
+ # Function to extract dates from recognized text using regex
109
+ def extract_dates_with_dateparser(texts, result):
110
+ date_texts = []
111
+ date_boxes = []
112
+ date_scores = []
113
 
114
+ def is_potential_date(text):
115
+ valid_date_pattern = r'^(0[1-9]|[12][0-9]|3[01])[-/.]?(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
116
+ r'^(0[1-9]|[12][0-9]|3[01])[-/.]?[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$|' \
117
+ r'^(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
118
+ r'^[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$'
119
+ return bool(re.match(valid_date_pattern, text))
120
 
121
+ dates_found = []
122
+ for i, text in enumerate(texts):
123
+ if is_potential_date(text): # Only process texts that are potential dates
124
+ parsed_date = dateparser.parse(text, settings={'DATE_ORDER': 'DMY'})
125
+ if parsed_date:
126
+ dates_found.append(parsed_date.strftime('%Y-%m-%d')) # Store as 'YYYY-MM-DD'
127
+ date_texts.append(text) # Store the original text
128
+ date_boxes.append(result[0][i][0]) # Store the bounding box
129
+ date_scores.append(result[0][i][1][1]) # Store confidence score
130
+ return dates_found, date_texts, date_boxes, date_scores
131
 
132
+ # Function to display circular images in a matrix format
133
+ def display_images_in_grid(images, max_images_per_row=4):
134
+ num_images = len(images)
135
+ num_rows = (num_images + max_images_per_row - 1) // max_images_per_row # Calculate number of rows
136
 
137
+ for i in range(num_rows):
138
+ cols = st.columns(min(max_images_per_row, num_images - i * max_images_per_row))
139
+ for j, img in enumerate(images[i * max_images_per_row:(i + 1) * max_images_per_row]):
140
+ with cols[j]:
141
+ st.image(img, use_column_width=True)
142
 
143
+ # Function to display team members in circular format
144
+ def display_team_members(members, max_members_per_row=4):
145
+ num_members = len(members)
146
+ num_rows = (num_members + max_members_per_row - 1) // max_members_per_row # Calculate number of rows
147
 
148
+ for i in range(num_rows):
149
+ cols = st.columns(min(max_members_per_row, num_members - i * max_members_per_row))
150
+ for j, member in enumerate(members[i * max_members_per_row:(i + 1) * max_members_per_row]):
151
+ with cols[j]:
152
+ img = Image.open(member["image"]) # Load the image
153
+ circular_img = make_image_circular(img) # Convert to circular format
154
+ st.image(circular_img, use_column_width=True) # Display the circular image
155
+ st.write(member["name"]) # Display the name below the image
156
 
157
+ # Title and description
158
+ st.title("Amazon Smbhav")
159
+ # Team Details with links
160
+ st.sidebar.title("Amazon Smbhav")
161
+ st.sidebar.write("DELHI TECHNOLOGICAL UNIVERSITY")
162
 
163
+ # Navbar with task tabs
164
+ st.sidebar.title("Navigation")
165
+ st.sidebar.write("Team Name: sadhya")
166
+ app_mode = st.sidebar.selectbox("Choose the task", ["Welcome","Project Details", "Task 1","Team Details"])
167
 
 
168
 
169
+ if app_mode == "Welcome":
170
+ # Navigation Menu
171
+ st.write("# Welcome to Amazon Smbhav! 🎉")
 
172
 
173
+ # Example for adding a local video
174
+ video_file = open('Finalist.mp4', 'rb') # Replace with the path to your video file
175
+ video_bytes = video_file.read()
176
+ # Embed the video using st.video()
177
+ st.video(video_bytes)
178
 
179
+ # Add a welcome image
180
+ welcome_image = Image.open("grid_banner.jpg") # Replace with the path to your welcome image
181
+ st.image(welcome_image, use_column_width=True) # Display the welcome image
182
+
183
+ elif app_mode=="Project Details":
184
  st.markdown("""
185
+ ## Navigation
186
+ - [Project Overview](#project-overview)
187
+ - [Proposal Round](#proposal-round)
188
+ - [Problem Statement](#problem-statement)
189
+ - [Proposed Solution](#proposed-solution)
 
 
 
190
  """)
191
+ # Project Overview
192
+ st.write("## Project Overview:")
193
+ st.write("""
194
+ ### Problem Statement
195
+ _Develop a system that automates Amazon product listings from social media content, extracting and organizing details from posts to generate accurate, engaging, and optimized listings._
196
+
197
+ ---
198
+
199
+ ### Solution Overview
200
+ Our system simplifies the listing process by analyzing social media content, using OCR, image recognition, LLMs, and internet data to create professional Amazon listings.
201
+
202
+ ---
203
+
204
+ ### Task Breakdown
205
+
206
+ #### Task 1: OCR for Image and Label Details
207
+ **Objective:** Extract core product details from images, labels, and packaging found in social media posts.
208
+ - **Tools:** PaddleOCR, LLMs.
209
+ - **Approach:**
210
+ - Use PaddleOCR to scan images for text, identifying product names, brands, and key features.
211
+ - Apply LLMs to refine extracted data, categorize key information (product name, type, features), and enhance product descriptions.
212
+ - Integrate internet sources to cross-verify product details, retrieve additional information, and collect metadata like the brand background or product specs.
213
+
214
+ ---
215
+
216
+ #### Additional Task: Image Recognition & Object Counting
217
+ **Objective:** Quantify objects within social media images for batch products or multi-item listings.
218
+ - **Tools:** YOLOv8.
219
+ - **Approach:**
220
+ - Train YOLOv8 on a relevant dataset to recognize specific product types or packaging layouts.
221
+ - Use object detection counts to provide quantitative data (e.g., "3-item bundle"), enhancing accuracy in listings.
222
+
223
+ ---
224
+
225
+ #### Task 2: Data Validation & Structuring
226
+ **Objective:** Organize and validate extracted information, ensuring it’s formatted to meet Amazon’s listing requirements.
227
+ - **Tools:** Regex, LLMs.
228
+ - **Approach:**
229
+ - Format and validate extracted details into Amazon-compliant structures (titles, descriptions, bullet points).
230
+ - Use regex and parser tools for accuracy checks.
231
+ - Leverage LLMs to create compelling descriptions and marketing brochures.
232
+ - Search online for supplementary media (images/videos) to enrich the listing.
233
+
234
+ ---
235
+
236
+ #### Task 3: Amazon API Integration
237
+ **Objective:** Connect with Amazon’s API to publish fully formed product listings directly.
238
+ - **Tools:** Amazon MWS or Selling Partner API.
239
+ - **Approach:**
240
+ - Send structured listing data (text, media, product details) to Amazon’s API endpoints.
241
+ - Handle feedback for submission errors and make necessary adjustments.
242
+ - Develop a UI/dashboard for users to preview and edit listings before publishing.
243
+
244
+ ---
245
+
246
+ ### Future Enhancements
247
+ - **Model Improvement:** Further refine OCR and parsing accuracy.
248
+ - **Dashboard Development:** Enable users to preview and customize listings.
249
+ - **Multi-Market Compatibility:** Expand support to other e-commerce platforms.
250
+
251
+ This approach automates listing creation directly from social media content, helping sellers quickly launch optimized Amazon product pages.
252
+
253
+ """)
254
+
255
+ elif app_mode == "Team Details":
256
+ st.write("## Meet Our Team:")
257
+ display_team_members(team_members)
258
+ st.write("Delhi Technological University")
259
+
260
+
261
+ elif app_mode == "Task 1":
262
+ st.write("## Task 1: 🖼️ OCR to Extract Details 📄")
263
+ st.write("Using OCR to extract details from product packaging material, including brand name and pack size.")
264
+
265
+
266
+ # Instantiate Instaloader
267
+ L = instaloader.Instaloader()
268
+
269
+ # Streamlit UI
270
+ st.title("Instagram Post Details Extractor")
271
+
272
+ # Text input for Instagram post URL
273
+ post_url = st.text_input("Enter Instagram Post URL:")
274
+
275
+ if post_url:
276
+ caption, image_path = get_instagram_post_details(post_url)
277
+
278
+ if image_path and os.path.exists(image_path):
279
+ st.subheader("Caption:")
280
+ st.write(caption)
281
+ st.subheader("Image:")
282
+
283
+ # Load and display the image
284
+ image = Image.open(image_path)
285
+ st.image(image, use_column_width=True)
286
+
287
+ # Clean up (optional)
288
+ os.remove(image_path)
289
+ else:
290
+ st.error("Failed to retrieve the post details. Please check the URL.")
291
+
292
+ # File uploader for images (supports multiple files)
293
+ uploaded_files = st.file_uploader("Upload images of products", type=["jpeg", "png", "jpg"], accept_multiple_files=True)
294
+
295
+ if uploaded_files:
296
+ st.write("### Uploaded Images in Circular Format:")
297
+ circular_images = []
298
+
299
+ for uploaded_file in uploaded_files:
300
+ img = Image.open(uploaded_file)
301
+ circular_img = make_image_circular(img) # Create circular images
302
+ circular_images.append(circular_img)
303
+
304
+ # Display the circular images in a matrix/grid format
305
+ display_images_in_grid(circular_images, max_images_per_row=4)
306
+
307
+ # Function to simulate loading process with a progress bar
308
+ def simulate_progress():
309
+ progress_bar = st.progress(0)
310
+ for percent_complete in range(100):
311
+ time.sleep(0.02)
312
+ progress_bar.progress(percent_complete + 1)
313
+ # Function to remove gibberish using regex (removes non-alphanumeric chars, filters out very short text)
314
+ def clean_text(text):
315
+ # Keep text with letters, digits, and spaces, and remove short/irrelevant text
316
+ return re.sub(r'[^a-zA-Z0-9\s]', '', text).strip()
317
+
318
+ # Function to extract the most prominent text (product name) and other details
319
+ def extract_product_info(results):
320
+ product_name = ""
321
+ product_details = ""
322
+ largest_text_size = 0
323
+
324
+ for line in results:
325
+ for box in line:
326
+ text, confidence = box[1][0], box[1][1]
327
+ text_size = box[0][2][1] - box[0][0][1] # Calculate height of the text box
328
+
329
+ # Clean the text to avoid gibberish
330
+ clean_text_line = clean_text(text)
331
+
332
+ if confidence > 0.7 and len(clean_text_line) > 2: # Only consider confident, meaningful text
333
+ if text_size > largest_text_size: # Assume the largest text is the product name
334
+ largest_text_size = text_size
335
+ product_name = clean_text_line
336
+ else:
337
+ product_details += clean_text_line + " "
338
+ return product_name, product_details.strip()
339
+
340
+ if st.button("Start Analysis"):
341
+ simulate_progress()
342
+ # Loop through each uploaded image and process them
343
+ for uploaded_image in uploaded_files:
344
+ # Load the uploaded image
345
+ image = Image.open(uploaded_image)
346
+ # st.image(image, caption=f'Uploaded Image: {uploaded_image.name}', use_column_width=True)
347
+
348
+ # Convert image to numpy array for OCR processing
349
+ img_array = np.array(image)
350
+
351
+ # Perform OCR on the image
352
+ st.write(f"Extracting details from {uploaded_image.name}...")
353
+ result = ocr.ocr(img_array, cls=True)
354
+
355
+ #############################
356
+ #OCR result text to be parsed here through LLM and get product listing content.
357
+ #############################
358
+
359
+ # Process the OCR result to extract product name and properties
360
+ product_name, product_details = extract_product_info(result)
361
+
362
+ # UI display for single image product details
363
+ st.markdown("---")
364
+ st.markdown(f"### **Product Name:** `{product_name}`")
365
+ st.write(f"**Product Properties:** {product_details}")
366
+ st.markdown("---")
367
+
368
+ else:
369
+ st.write("Please upload images to extract product details.")
370
+
371
+
372
+
373
+ def make_image_circular1(image):
374
+ # Create a circular mask
375
+ mask = Image.new("L", image.size, 0)
376
+ draw = ImageDraw.Draw(mask)
377
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
378
+
379
+ # Apply the mask to the image
380
+ circular_image = Image.new("RGB", image.size)
381
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
382
+
383
+ return circular_image
384
+
385
+ def display_images_in_grid1(images, max_images_per_row=4):
386
+ rows = (len(images) + max_images_per_row - 1) // max_images_per_row # Calculate number of rows needed
387
 
388
+ for i in range(0, len(images), max_images_per_row):
389
+ cols_to_show = images[i:i + max_images_per_row]
390
+
391
+ # Prepare to display in a grid format
392
+ cols = st.columns(max_images_per_row) # Create columns dynamically
393
+
394
+ for idx, img in enumerate(cols_to_show):
395
+ img = img.convert("RGB") # Ensure the image is in RGB mode
396
+
397
+ if idx < len(cols):
398
+ cols[idx].image(img, use_column_width=True)
399
 
400
+ # Footer with animation
401
+ st.markdown("""
402
+ <style>
403
+ @keyframes fade-in {
404
+ from { opacity: 0; }
405
+ to { opacity: 1;}
406
+ }
407
+ .footer {
408
+ text-align: center;
409
+ font-size: 1.1em;
410
+ animation: fade-in 2s;
411
+ padding-top: 2rem;
412
+ }
413
+ </style>
414
+ <div class="footer">
415
+ <p>© 2024 Amazon Smbhav Challenge. All rights reserved.</p>
416
+ </div>
417
+ """, unsafe_allow_html=True)
grid_banner.jpg ADDED
myimage.jpg ADDED
pages/1_Short_Term_Consumption.py DELETED
@@ -1,123 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
-
7
- if 'api_token' not in st.session_state:
8
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
9
-
10
- page_id = 1
11
- if 'current_page' not in st.session_state:
12
- st.session_state.current_page = page_id
13
- elif st.session_state.current_page != page_id:
14
- # Clear API response when switching to this page
15
- if 'api_response' in st.session_state:
16
- st.session_state.api_response = None
17
- # Update current page
18
- st.session_state.current_page = page_id
19
-
20
- # Initialize session state variables
21
- if 'current_file' not in st.session_state:
22
- st.session_state.current_file = None
23
- if 'json_data' not in st.session_state:
24
- st.session_state.json_data = None
25
- if 'api_response' not in st.session_state:
26
- st.session_state.api_response = None
27
- if 'using_default_file' not in st.session_state:
28
- st.session_state.using_default_file = True
29
-
30
- st.title("Short Term Energy Consumption Forecasting")
31
-
32
- st.markdown("""
33
- This service provides short-term forecasting of energy consumption patterns.
34
- Upload your energy consumption data to generate predictions for the near future.
35
-
36
- ### Features
37
- - Hourly consumption forecasting
38
- - Interactive visualizations
39
- - Statistical analysis of predictions
40
- """)
41
-
42
- # Default file path
43
- default_file_path = "samples/1_short_term_consumption.json" # Adjust this path to your default file
44
-
45
- # File upload and processing
46
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
47
-
48
- # Load default file if no file is uploaded and using_default_file is True
49
- if uploaded_file is None and st.session_state.using_default_file:
50
- if os.path.exists(default_file_path):
51
- st.info(f"Using default file: {default_file_path}")
52
- with open(default_file_path, 'r') as f:
53
- file_contents = f.read()
54
- if st.session_state.current_file != file_contents:
55
- st.session_state.current_file = file_contents
56
- st.session_state.json_data = json.loads(file_contents)
57
- else:
58
- st.warning(f"Default file not found at: {default_file_path}")
59
- st.session_state.using_default_file = False
60
-
61
- # If a file is uploaded, process it
62
- if uploaded_file:
63
- st.session_state.using_default_file = False
64
- try:
65
- file_contents = uploaded_file.read()
66
- st.session_state.current_file = file_contents
67
- st.session_state.json_data = json.loads(file_contents)
68
- except Exception as e:
69
- st.error(f"Error processing file: {str(e)}")
70
-
71
- # Process and display data if available
72
- if st.session_state.json_data:
73
- try:
74
- dfs = load_and_process_data(st.session_state.json_data)
75
- if dfs:
76
- st.header("Input Data")
77
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
78
-
79
- with tabs[0]:
80
- for unit, df in dfs.items():
81
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
82
-
83
- with tabs[1]:
84
- st.json(st.session_state.json_data)
85
-
86
- with tabs[2]:
87
- display_statistics(dfs)
88
-
89
- if st.button("Generate Short Term Forecast"):
90
- if not st.session_state.api_token:
91
- st.error("Please enter your API token in the sidebar first.")
92
- else:
93
- with st.spinner("Generating forecast..."):
94
- st.session_state.api_response = call_api(
95
- st.session_state.current_file,
96
- st.session_state.api_token,
97
- "inference_consumption_short_term"
98
- )
99
- except Exception as e:
100
- st.error(f"Error processing data: {str(e)}")
101
-
102
- # Display API results
103
- if st.session_state.api_response:
104
- st.header("Forecast Results")
105
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
106
-
107
- with tabs[0]:
108
- response_dfs = load_and_process_data(
109
- st.session_state.api_response,
110
- input_data=st.session_state.json_data
111
- )
112
- if response_dfs:
113
- if 'Celsius' in response_dfs:
114
- del response_dfs['Celsius']
115
- for unit, df in response_dfs.items():
116
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
117
-
118
- with tabs[1]:
119
- st.json(st.session_state.api_response)
120
-
121
- with tabs[2]:
122
- if response_dfs:
123
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/2_Long_Term_Consumption.py DELETED
@@ -1,122 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 2
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Long Term Energy Consumption Forecasting")
30
-
31
- st.markdown("""
32
- This service provides long-term forecasting of energy consumption patterns.
33
- Upload your historical consumption data to generate predictions for extended periods.
34
-
35
- ### Features
36
- - Hourly consumption forecasting
37
- - Interactive visualizations
38
- - Statistical analysis of predictions
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/2_long_term_consumption.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Generate Long Term Forecast"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Generating long-term forecast..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_consumption_long_term"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("Forecast Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- if 'Celsius' in response_dfs:
113
- del response_dfs['Celsius']
114
- for unit, df in response_dfs.items():
115
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
116
-
117
- with tabs[1]:
118
- st.json(st.session_state.api_response)
119
-
120
- with tabs[2]:
121
- if response_dfs:
122
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/3_Short_Term_Production.py DELETED
@@ -1,121 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token =os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 3
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Short Term Energy Production Forecasting")
30
-
31
- st.markdown("""
32
- This service provides short-term forecasting of energy production patterns, particularly suited for PV panel systems.
33
-
34
- ### Features
35
- - Short-term production forecasting
36
- - Weather-aware predictions
37
- - Interactive visualizations
38
- - Statistical analysis of predictions
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/3_short_term_production.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Generate Production Forecast"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Generating production forecast..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_production_short_term"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("Production Forecast Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- for unit, df in response_dfs.items():
113
- if unit == "kWh":
114
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
115
-
116
- with tabs[1]:
117
- st.json(st.session_state.api_response)
118
-
119
- with tabs[2]:
120
- if response_dfs:
121
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/4_NILM_Analysis.py DELETED
@@ -1,124 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token = DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 4
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Non-Intrusive Load Monitoring (NILM) Analysis")
30
-
31
- st.markdown("""
32
- This service provides detailed breakdown of energy consumption by analyzing aggregate power measurements.
33
-
34
- ### Features
35
- - Appliance-level energy consumption breakdown
36
- - Load pattern identification
37
- - Device usage analysis
38
- - Detailed consumption insights
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/4_NILM.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Run NILM Analysis"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Performing NILM analysis..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_nilm"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("NILM Analysis Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- for unit, df in response_dfs.items():
113
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
114
-
115
- # Add appliance-specific visualizations
116
- st.subheader("Appliance-Level Breakdown")
117
- # Additional NILM-specific visualizations could be added here
118
-
119
- with tabs[1]:
120
- st.json(st.session_state.api_response)
121
-
122
- with tabs[2]:
123
- if response_dfs:
124
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/5_Anomaly_Detection_Consumption.py DELETED
@@ -1,158 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import pandas as pd
4
- import os
5
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
6
- import plotly.express as px
7
- import plotly.graph_objects as go
8
-
9
-
10
- if 'api_token' not in st.session_state:
11
- st.session_state.api_token = DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
12
-
13
- page_id = 5
14
- if 'current_page' not in st.session_state:
15
- st.session_state.current_page = page_id
16
- elif st.session_state.current_page != page_id:
17
- # Clear API response when switching to this page
18
- if 'api_response' in st.session_state:
19
- st.session_state.api_response = None
20
- # Update current page
21
- st.session_state.current_page = page_id
22
-
23
- # Initialize session state variables
24
- if 'current_file' not in st.session_state:
25
- st.session_state.current_file = None
26
- if 'json_data' not in st.session_state:
27
- st.session_state.json_data = None
28
- if 'api_response' not in st.session_state:
29
- st.session_state.api_response = None
30
- if 'using_default_file' not in st.session_state:
31
- st.session_state.using_default_file = True
32
-
33
- st.title("Energy Consumption Anomaly Detection")
34
-
35
- st.markdown("""
36
- This service analyzes energy consumption patterns to detect anomalies and unusual behavior in your data.
37
-
38
- ### Features
39
- - Real-time anomaly detection
40
- - Consumption irregularity identification
41
- - Interactive visualization of detected anomalies
42
- """)
43
-
44
- # Default file path
45
- default_file_path = "samples/5_anomaly_detection_consumption.json" # Adjust this path to your default file
46
-
47
- # File upload and processing
48
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
49
-
50
- # Load default file if no file is uploaded and using_default_file is True
51
- if uploaded_file is None and st.session_state.using_default_file:
52
- if os.path.exists(default_file_path):
53
- st.info(f"Using default file: {default_file_path}")
54
- with open(default_file_path, 'r') as f:
55
- file_contents = f.read()
56
- if st.session_state.current_file != file_contents:
57
- st.session_state.current_file = file_contents
58
- st.session_state.json_data = json.loads(file_contents)
59
- else:
60
- st.warning(f"Default file not found at: {default_file_path}")
61
- st.session_state.using_default_file = False
62
-
63
- # If a file is uploaded, process it
64
- if uploaded_file:
65
- st.session_state.using_default_file = False
66
- try:
67
- file_contents = uploaded_file.read()
68
- st.session_state.current_file = file_contents
69
- st.session_state.json_data = json.loads(file_contents)
70
- except Exception as e:
71
- st.error(f"Error processing file: {str(e)}")
72
-
73
- # Process and display data if available
74
- if st.session_state.json_data:
75
- try:
76
- dfs = load_and_process_data(st.session_state.json_data)
77
- if dfs:
78
- st.header("Input Data Analysis")
79
- tabs = st.tabs(["Visualization", "Statistics", "Raw Data"])
80
-
81
- with tabs[0]:
82
- for unit, df in dfs.items():
83
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
84
-
85
- # Show basic statistical analysis
86
- col1, col2, col3 = st.columns(3)
87
- with col1:
88
- st.metric("Average Consumption",
89
- f"{df['datacellar:value'].mean():.2f} {unit}")
90
- with col2:
91
- st.metric("Standard Deviation",
92
- f"{df['datacellar:value'].std():.2f} {unit}")
93
- with col3:
94
- st.metric("Total Samples",
95
- len(df))
96
-
97
- with tabs[1]:
98
- display_statistics(dfs)
99
-
100
- with tabs[2]:
101
- st.json(st.session_state.json_data)
102
-
103
- # Add analysis options
104
- st.subheader("Anomaly Detection")
105
- col1, col2 = st.columns(2)
106
- with col1:
107
- if st.button("Detect Anomalies", key="detect_button"):
108
- if not st.session_state.api_token:
109
- st.error("Please enter your API token in the sidebar first.")
110
- else:
111
- with st.spinner("Analyzing consumption patterns..."):
112
- # Add sensitivity and window_size to the request
113
- modified_data = st.session_state.json_data.copy()
114
-
115
- # Convert back to JSON and call API
116
- modified_content = json.dumps(modified_data).encode('utf-8')
117
- st.session_state.api_response = call_api(
118
- modified_content,
119
- st.session_state.api_token,
120
- "inference_consumption_ad"
121
- )
122
- except Exception as e:
123
- st.error(f"Error processing data: {str(e)}")
124
-
125
- # Display API results
126
- if st.session_state.api_response:
127
- st.header("Anomaly Detection Results")
128
- tabs = st.tabs(["Anomaly Visualization", "Raw Results"])
129
-
130
- with tabs[0]:
131
- response_dfs = load_and_process_data(
132
- st.session_state.api_response,
133
- input_data=st.session_state.json_data
134
- )
135
- if response_dfs:
136
- anomalies = response_dfs['boolean']
137
- anomalies = anomalies[anomalies['datacellar:value']==True]
138
-
139
- del response_dfs['boolean']
140
- for unit, df in response_dfs.items():
141
- fig = create_time_series_plot(df, unit, service_type="Anomaly Detection")
142
- # Get df values for anomalies
143
- anomaly_df = df.iloc[anomalies['datacellar:timeStamp'].index]
144
- fig.add_trace(go.Scatter(
145
- x=anomaly_df['datacellar:timeStamp'],
146
- y=anomaly_df['datacellar:value'],
147
- mode='markers',
148
- marker=dict(color='red'),
149
- name='Anomalies'
150
- ))
151
- # Create visualization with highlighted anomalies
152
- st.plotly_chart(
153
- fig,
154
- use_container_width=True
155
- )
156
-
157
- with tabs[1]:
158
- st.json(st.session_state.api_response)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/6_Anomaly_Detection_Production.py DELETED
@@ -1,161 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import pandas as pd
4
- import os
5
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
6
- import plotly.express as px
7
- import plotly.graph_objects as go
8
-
9
-
10
- if 'api_token' not in st.session_state:
11
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
12
-
13
- page_id = 6
14
- if 'current_page' not in st.session_state:
15
- st.session_state.current_page = page_id
16
- elif st.session_state.current_page != page_id:
17
- # Clear API response when switching to this page
18
- if 'api_response' in st.session_state:
19
- st.session_state.api_response = None
20
- # Update current page
21
- st.session_state.current_page = page_id
22
-
23
- # Initialize session state variables
24
- if 'current_file' not in st.session_state:
25
- st.session_state.current_file = None
26
- if 'json_data' not in st.session_state:
27
- st.session_state.json_data = None
28
- if 'api_response' not in st.session_state:
29
- st.session_state.api_response = None
30
- if 'using_default_file' not in st.session_state:
31
- st.session_state.using_default_file = True
32
-
33
- st.title("Energy Production Anomaly Detection")
34
-
35
- st.markdown("""
36
- This service analyzes energy production patterns to detect anomalies and unusual behavior in your data.
37
-
38
- ### Features
39
- - Real-time anomaly detection
40
- - Production irregularity identification
41
- - Interactive visualization of detected anomalies
42
- """)
43
-
44
- # Default file path
45
- default_file_path = "samples/6_anomaly_detection_production.json" # Adjust this path to your default file
46
-
47
- # File upload and processing
48
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
49
-
50
- # Load default file if no file is uploaded and using_default_file is True
51
- if uploaded_file is None and st.session_state.using_default_file:
52
- if os.path.exists(default_file_path):
53
- st.info(f"Using default file: {default_file_path}")
54
- with open(default_file_path, 'r') as f:
55
- file_contents = f.read()
56
- if st.session_state.current_file != file_contents:
57
- st.session_state.current_file = file_contents
58
- st.session_state.json_data = json.loads(file_contents)
59
- else:
60
- st.warning(f"Default file not found at: {default_file_path}")
61
- st.session_state.using_default_file = False
62
-
63
- # If a file is uploaded, process it
64
- if uploaded_file:
65
- st.session_state.using_default_file = False
66
- try:
67
- file_contents = uploaded_file.read()
68
- st.session_state.current_file = file_contents
69
- st.session_state.json_data = json.loads(file_contents)
70
- except Exception as e:
71
- st.error(f"Error processing file: {str(e)}")
72
-
73
- # Process and display data if available
74
- if st.session_state.json_data:
75
- try:
76
- dfs = load_and_process_data(st.session_state.json_data)
77
- if dfs:
78
- st.header("Input Data Analysis")
79
- tabs = st.tabs(["Visualization", "Statistics", "Raw Data"])
80
-
81
- with tabs[0]:
82
- for unit, df in dfs.items():
83
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
84
-
85
- # Show basic statistical analysis
86
- col1, col2, col3 = st.columns(3)
87
- with col1:
88
- st.metric("Average Production",
89
- f"{df['datacellar:value'].mean():.2f} {unit}")
90
- with col2:
91
- st.metric("Standard Deviation",
92
- f"{df['datacellar:value'].std():.2f} {unit}")
93
- with col3:
94
- st.metric("Total Samples",
95
- len(df))
96
-
97
- with tabs[1]:
98
- display_statistics(dfs)
99
-
100
- with tabs[2]:
101
- st.json(st.session_state.json_data)
102
-
103
- # Add analysis options
104
- st.subheader("Anomaly Detection")
105
- col1, col2 = st.columns(2)
106
- with col1:
107
- if st.button("Detect Anomalies", key="detect_button"):
108
- if not st.session_state.api_token:
109
- st.error("Please enter your API token in the sidebar first.")
110
- else:
111
- with st.spinner("Analyzing production patterns..."):
112
- # Add sensitivity and window_size to the request
113
- modified_data = st.session_state.json_data.copy()
114
-
115
- # Convert back to JSON and call API
116
- modified_content = json.dumps(modified_data).encode('utf-8')
117
- st.session_state.api_response = call_api(
118
- modified_content,
119
- st.session_state.api_token,
120
- "inference_production_ad"
121
- )
122
-
123
- except Exception as e:
124
- st.error(f"Error processing data: {str(e)}")
125
-
126
- # Display API results
127
- if st.session_state.api_response:
128
- st.header("Anomaly Detection Results")
129
- tabs = st.tabs(["Anomaly Visualization", "Raw Results"])
130
-
131
- with tabs[0]:
132
- response_dfs = load_and_process_data(
133
- st.session_state.api_response,
134
- input_data=st.session_state.json_data
135
- )
136
- if response_dfs:
137
- anomalies = response_dfs['boolean']
138
- anomalies = anomalies[anomalies['datacellar:value']==True]
139
-
140
- del response_dfs['boolean']
141
- for unit, df in response_dfs.items():
142
- fig = create_time_series_plot(df, unit, service_type="Anomaly Detection")
143
- # Get df values for anomalies
144
- anomaly_df = df.iloc[anomalies['datacellar:timeStamp'].index]
145
-
146
- fig.add_trace(go.Scatter(
147
- x=anomaly_df['datacellar:timeStamp'],
148
- y=anomaly_df['datacellar:value'],
149
- mode='markers',
150
- marker=dict(color='red'),
151
- name='Anomalies'
152
- ))
153
-
154
- # Create visualization with highlighted anomalies
155
- st.plotly_chart(
156
- fig,
157
- use_container_width=True
158
- )
159
-
160
- with tabs[1]:
161
- st.json(st.session_state.api_response)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
requirements.txt CHANGED
@@ -1,5 +1,11 @@
1
- streamlit>=1.28.0
2
- pandas>=2.1.0
3
- plotly>=5.17.0
4
- requests>=2.31.0
5
- scikit-learn==1.0.2
 
 
 
 
 
 
 
1
+ streamlit
2
+ tensorflow
3
+ numpy
4
+ Pillow
5
+ pandas
6
+ PaddleOCR
7
+ matplotlib
8
+ dateparser
9
+ paddlepaddle
10
+ ultralytics
11
+ instaloader
samples/1_short_term_consumption.json DELETED
@@ -1,792 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Short Term Energy Consumption Forecasting Data",
7
- "datacellar:description": "Short term energy consumption forecasting sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "outdoorTemperature",
18
- "datacellar:description": "Temperature readings",
19
- "datacellar:type": {
20
- "@type": "datacellar:FieldType",
21
- "datacellar:unitText": "Celsius",
22
- "datacellar:averagable": true,
23
- "datacellar:summable": false,
24
- "datacellar:anonymizable": false
25
- }
26
- },
27
- {
28
- "@type": "datacellar:DatasetField",
29
- "datacellar:datasetFieldID": 2,
30
- "datacellar:fieldName": "consumedPower",
31
- "datacellar:description": "Power consumption readings",
32
- "datacellar:type": {
33
- "@type": "datacellar:FieldType",
34
- "datacellar:unitText": "kWh",
35
- "datacellar:averagable": true,
36
- "datacellar:summable": false,
37
- "datacellar:anonymizable": false
38
- }
39
- }
40
- ]
41
- },
42
- "datacellar:timeSeriesList": [
43
- {
44
- "@type": "datacellar:TimeSeries",
45
- "datacellar:datasetFieldID": 1,
46
- "datacellar:startDate": "2006-12-17 01:00:00",
47
- "datacellar:endDate": "2006-12-20 00:00:00",
48
- "datacellar:granularity": "1 hour",
49
- "datacellar:dataPoints": [
50
- {
51
- "@type": "datacellar:DataPoint",
52
- "datacellar:timeStamp": "2006-12-17 01:00:00",
53
- "datacellar:value": -8.335
54
- },
55
- {
56
- "@type": "datacellar:DataPoint",
57
- "datacellar:timeStamp": "2006-12-17 02:00:00",
58
- "datacellar:value": -17.78
59
- },
60
- {
61
- "@type": "datacellar:DataPoint",
62
- "datacellar:timeStamp": "2006-12-17 03:00:00",
63
- "datacellar:value": -17.78
64
- },
65
- {
66
- "@type": "datacellar:DataPoint",
67
- "datacellar:timeStamp": "2006-12-17 04:00:00",
68
- "datacellar:value": -17.78
69
- },
70
- {
71
- "@type": "datacellar:DataPoint",
72
- "datacellar:timeStamp": "2006-12-17 05:00:00",
73
- "datacellar:value": -9.445
74
- },
75
- {
76
- "@type": "datacellar:DataPoint",
77
- "datacellar:timeStamp": "2006-12-17 06:00:00",
78
- "datacellar:value": -17.78
79
- },
80
- {
81
- "@type": "datacellar:DataPoint",
82
- "datacellar:timeStamp": "2006-12-17 07:00:00",
83
- "datacellar:value": -17.78
84
- },
85
- {
86
- "@type": "datacellar:DataPoint",
87
- "datacellar:timeStamp": "2006-12-17 08:00:00",
88
- "datacellar:value": -17.78
89
- },
90
- {
91
- "@type": "datacellar:DataPoint",
92
- "datacellar:timeStamp": "2006-12-17 09:00:00",
93
- "datacellar:value": -8.335
94
- },
95
- {
96
- "@type": "datacellar:DataPoint",
97
- "datacellar:timeStamp": "2006-12-17 10:00:00",
98
- "datacellar:value": -17.78
99
- },
100
- {
101
- "@type": "datacellar:DataPoint",
102
- "datacellar:timeStamp": "2006-12-17 11:00:00",
103
- "datacellar:value": 1.665
104
- },
105
- {
106
- "@type": "datacellar:DataPoint",
107
- "datacellar:timeStamp": "2006-12-17 12:00:00",
108
- "datacellar:value": 3.335
109
- },
110
- {
111
- "@type": "datacellar:DataPoint",
112
- "datacellar:timeStamp": "2006-12-17 13:00:00",
113
- "datacellar:value": 4.445
114
- },
115
- {
116
- "@type": "datacellar:DataPoint",
117
- "datacellar:timeStamp": "2006-12-17 14:00:00",
118
- "datacellar:value": 6.11
119
- },
120
- {
121
- "@type": "datacellar:DataPoint",
122
- "datacellar:timeStamp": "2006-12-17 15:00:00",
123
- "datacellar:value": 6.11
124
- },
125
- {
126
- "@type": "datacellar:DataPoint",
127
- "datacellar:timeStamp": "2006-12-17 16:00:00",
128
- "datacellar:value": 6.11
129
- },
130
- {
131
- "@type": "datacellar:DataPoint",
132
- "datacellar:timeStamp": "2006-12-17 17:00:00",
133
- "datacellar:value": 6.11
134
- },
135
- {
136
- "@type": "datacellar:DataPoint",
137
- "datacellar:timeStamp": "2006-12-17 18:00:00",
138
- "datacellar:value": 5.0
139
- },
140
- {
141
- "@type": "datacellar:DataPoint",
142
- "datacellar:timeStamp": "2006-12-17 19:00:00",
143
- "datacellar:value": 5.0
144
- },
145
- {
146
- "@type": "datacellar:DataPoint",
147
- "datacellar:timeStamp": "2006-12-17 20:00:00",
148
- "datacellar:value": 3.89
149
- },
150
- {
151
- "@type": "datacellar:DataPoint",
152
- "datacellar:timeStamp": "2006-12-17 21:00:00",
153
- "datacellar:value": 2.78
154
- },
155
- {
156
- "@type": "datacellar:DataPoint",
157
- "datacellar:timeStamp": "2006-12-17 22:00:00",
158
- "datacellar:value": 2.5
159
- },
160
- {
161
- "@type": "datacellar:DataPoint",
162
- "datacellar:timeStamp": "2006-12-17 23:00:00",
163
- "datacellar:value": 2.5
164
- },
165
- {
166
- "@type": "datacellar:DataPoint",
167
- "datacellar:timeStamp": "2006-12-18 00:00:00",
168
- "datacellar:value": 2.5
169
- },
170
- {
171
- "@type": "datacellar:DataPoint",
172
- "datacellar:timeStamp": "2006-12-18 01:00:00",
173
- "datacellar:value": 2.78
174
- },
175
- {
176
- "@type": "datacellar:DataPoint",
177
- "datacellar:timeStamp": "2006-12-18 02:00:00",
178
- "datacellar:value": 2.78
179
- },
180
- {
181
- "@type": "datacellar:DataPoint",
182
- "datacellar:timeStamp": "2006-12-18 03:00:00",
183
- "datacellar:value": 2.78
184
- },
185
- {
186
- "@type": "datacellar:DataPoint",
187
- "datacellar:timeStamp": "2006-12-18 04:00:00",
188
- "datacellar:value": 2.78
189
- },
190
- {
191
- "@type": "datacellar:DataPoint",
192
- "datacellar:timeStamp": "2006-12-18 05:00:00",
193
- "datacellar:value": 2.5
194
- },
195
- {
196
- "@type": "datacellar:DataPoint",
197
- "datacellar:timeStamp": "2006-12-18 06:00:00",
198
- "datacellar:value": 2.78
199
- },
200
- {
201
- "@type": "datacellar:DataPoint",
202
- "datacellar:timeStamp": "2006-12-18 07:00:00",
203
- "datacellar:value": 2.78
204
- },
205
- {
206
- "@type": "datacellar:DataPoint",
207
- "datacellar:timeStamp": "2006-12-18 08:00:00",
208
- "datacellar:value": 2.78
209
- },
210
- {
211
- "@type": "datacellar:DataPoint",
212
- "datacellar:timeStamp": "2006-12-18 09:00:00",
213
- "datacellar:value": 2.78
214
- },
215
- {
216
- "@type": "datacellar:DataPoint",
217
- "datacellar:timeStamp": "2006-12-18 10:00:00",
218
- "datacellar:value": 2.78
219
- },
220
- {
221
- "@type": "datacellar:DataPoint",
222
- "datacellar:timeStamp": "2006-12-18 11:00:00",
223
- "datacellar:value": 2.78
224
- },
225
- {
226
- "@type": "datacellar:DataPoint",
227
- "datacellar:timeStamp": "2006-12-18 12:00:00",
228
- "datacellar:value": 3.89
229
- },
230
- {
231
- "@type": "datacellar:DataPoint",
232
- "datacellar:timeStamp": "2006-12-18 13:00:00",
233
- "datacellar:value": 3.89
234
- },
235
- {
236
- "@type": "datacellar:DataPoint",
237
- "datacellar:timeStamp": "2006-12-18 14:00:00",
238
- "datacellar:value": 3.89
239
- },
240
- {
241
- "@type": "datacellar:DataPoint",
242
- "datacellar:timeStamp": "2006-12-18 15:00:00",
243
- "datacellar:value": 5.0
244
- },
245
- {
246
- "@type": "datacellar:DataPoint",
247
- "datacellar:timeStamp": "2006-12-18 16:00:00",
248
- "datacellar:value": 5.0
249
- },
250
- {
251
- "@type": "datacellar:DataPoint",
252
- "datacellar:timeStamp": "2006-12-18 17:00:00",
253
- "datacellar:value": 5.0
254
- },
255
- {
256
- "@type": "datacellar:DataPoint",
257
- "datacellar:timeStamp": "2006-12-18 18:00:00",
258
- "datacellar:value": 5.0
259
- },
260
- {
261
- "@type": "datacellar:DataPoint",
262
- "datacellar:timeStamp": "2006-12-18 19:00:00",
263
- "datacellar:value": 4.445
264
- },
265
- {
266
- "@type": "datacellar:DataPoint",
267
- "datacellar:timeStamp": "2006-12-18 20:00:00",
268
- "datacellar:value": 3.89
269
- },
270
- {
271
- "@type": "datacellar:DataPoint",
272
- "datacellar:timeStamp": "2006-12-18 21:00:00",
273
- "datacellar:value": 3.89
274
- },
275
- {
276
- "@type": "datacellar:DataPoint",
277
- "datacellar:timeStamp": "2006-12-18 22:00:00",
278
- "datacellar:value": 3.335
279
- },
280
- {
281
- "@type": "datacellar:DataPoint",
282
- "datacellar:timeStamp": "2006-12-18 23:00:00",
283
- "datacellar:value": 2.22
284
- },
285
- {
286
- "@type": "datacellar:DataPoint",
287
- "datacellar:timeStamp": "2006-12-19 00:00:00",
288
- "datacellar:value": 1.11
289
- },
290
- {
291
- "@type": "datacellar:DataPoint",
292
- "datacellar:timeStamp": "2006-12-19 01:00:00",
293
- "datacellar:value": 1.665
294
- },
295
- {
296
- "@type": "datacellar:DataPoint",
297
- "datacellar:timeStamp": "2006-12-19 02:00:00",
298
- "datacellar:value": 1.665
299
- },
300
- {
301
- "@type": "datacellar:DataPoint",
302
- "datacellar:timeStamp": "2006-12-19 03:00:00",
303
- "datacellar:value": 1.11
304
- },
305
- {
306
- "@type": "datacellar:DataPoint",
307
- "datacellar:timeStamp": "2006-12-19 04:00:00",
308
- "datacellar:value": 1.11
309
- },
310
- {
311
- "@type": "datacellar:DataPoint",
312
- "datacellar:timeStamp": "2006-12-19 05:00:00",
313
- "datacellar:value": 1.11
314
- },
315
- {
316
- "@type": "datacellar:DataPoint",
317
- "datacellar:timeStamp": "2006-12-19 06:00:00",
318
- "datacellar:value": 0.0
319
- },
320
- {
321
- "@type": "datacellar:DataPoint",
322
- "datacellar:timeStamp": "2006-12-19 07:00:00",
323
- "datacellar:value": 0.555
324
- },
325
- {
326
- "@type": "datacellar:DataPoint",
327
- "datacellar:timeStamp": "2006-12-19 08:00:00",
328
- "datacellar:value": 1.11
329
- },
330
- {
331
- "@type": "datacellar:DataPoint",
332
- "datacellar:timeStamp": "2006-12-19 09:00:00",
333
- "datacellar:value": 1.11
334
- },
335
- {
336
- "@type": "datacellar:DataPoint",
337
- "datacellar:timeStamp": "2006-12-19 10:00:00",
338
- "datacellar:value": 1.11
339
- },
340
- {
341
- "@type": "datacellar:DataPoint",
342
- "datacellar:timeStamp": "2006-12-19 11:00:00",
343
- "datacellar:value": 1.665
344
- },
345
- {
346
- "@type": "datacellar:DataPoint",
347
- "datacellar:timeStamp": "2006-12-19 12:00:00",
348
- "datacellar:value": 2.78
349
- },
350
- {
351
- "@type": "datacellar:DataPoint",
352
- "datacellar:timeStamp": "2006-12-19 13:00:00",
353
- "datacellar:value": 3.89
354
- },
355
- {
356
- "@type": "datacellar:DataPoint",
357
- "datacellar:timeStamp": "2006-12-19 14:00:00",
358
- "datacellar:value": 4.445
359
- },
360
- {
361
- "@type": "datacellar:DataPoint",
362
- "datacellar:timeStamp": "2006-12-19 15:00:00",
363
- "datacellar:value": 5.0
364
- },
365
- {
366
- "@type": "datacellar:DataPoint",
367
- "datacellar:timeStamp": "2006-12-19 16:00:00",
368
- "datacellar:value": 5.0
369
- },
370
- {
371
- "@type": "datacellar:DataPoint",
372
- "datacellar:timeStamp": "2006-12-19 17:00:00",
373
- "datacellar:value": 3.89
374
- },
375
- {
376
- "@type": "datacellar:DataPoint",
377
- "datacellar:timeStamp": "2006-12-19 18:00:00",
378
- "datacellar:value": 3.335
379
- },
380
- {
381
- "@type": "datacellar:DataPoint",
382
- "datacellar:timeStamp": "2006-12-19 19:00:00",
383
- "datacellar:value": 2.78
384
- },
385
- {
386
- "@type": "datacellar:DataPoint",
387
- "datacellar:timeStamp": "2006-12-19 20:00:00",
388
- "datacellar:value": 2.5
389
- },
390
- {
391
- "@type": "datacellar:DataPoint",
392
- "datacellar:timeStamp": "2006-12-19 21:00:00",
393
- "datacellar:value": 2.22
394
- },
395
- {
396
- "@type": "datacellar:DataPoint",
397
- "datacellar:timeStamp": "2006-12-19 22:00:00",
398
- "datacellar:value": 2.22
399
- },
400
- {
401
- "@type": "datacellar:DataPoint",
402
- "datacellar:timeStamp": "2006-12-19 23:00:00",
403
- "datacellar:value": 2.22
404
- },
405
- {
406
- "@type": "datacellar:DataPoint",
407
- "datacellar:timeStamp": "2006-12-20 00:00:00",
408
- "datacellar:value": 1.11
409
- }
410
- ]
411
- },
412
- {
413
- "@type": "datacellar:TimeSeries",
414
- "datacellar:datasetFieldID": 2,
415
- "datacellar:startDate": "2006-12-17 01:00:00",
416
- "datacellar:endDate": "2006-12-20 00:00:00",
417
- "datacellar:granularity": "1 hour",
418
- "datacellar:dataPoints": [
419
- {
420
- "@type": "datacellar:DataPoint",
421
- "datacellar:timeStamp": "2006-12-17 01:00:00",
422
- "datacellar:value": 0.293
423
- },
424
- {
425
- "@type": "datacellar:DataPoint",
426
- "datacellar:timeStamp": "2006-12-17 02:00:00",
427
- "datacellar:value": 0.347
428
- },
429
- {
430
- "@type": "datacellar:DataPoint",
431
- "datacellar:timeStamp": "2006-12-17 03:00:00",
432
- "datacellar:value": 0.240
433
- },
434
- {
435
- "@type": "datacellar:DataPoint",
436
- "datacellar:timeStamp": "2006-12-17 04:00:00",
437
- "datacellar:value": 0.293
438
- },
439
- {
440
- "@type": "datacellar:DataPoint",
441
- "datacellar:timeStamp": "2006-12-17 05:00:00",
442
- "datacellar:value": 0.500
443
- },
444
- {
445
- "@type": "datacellar:DataPoint",
446
- "datacellar:timeStamp": "2006-12-17 06:00:00",
447
- "datacellar:value": 0.800
448
- },
449
- {
450
- "@type": "datacellar:DataPoint",
451
- "datacellar:timeStamp": "2006-12-17 07:00:00",
452
- "datacellar:value": 2.500
453
- },
454
- {
455
- "@type": "datacellar:DataPoint",
456
- "datacellar:timeStamp": "2006-12-17 08:00:00",
457
- "datacellar:value": 2.700
458
- },
459
- {
460
- "@type": "datacellar:DataPoint",
461
- "datacellar:timeStamp": "2006-12-17 09:00:00",
462
- "datacellar:value": 0.875
463
- },
464
- {
465
- "@type": "datacellar:DataPoint",
466
- "datacellar:timeStamp": "2006-12-17 10:00:00",
467
- "datacellar:value": 0.920
468
- },
469
- {
470
- "@type": "datacellar:DataPoint",
471
- "datacellar:timeStamp": "2006-12-17 11:00:00",
472
- "datacellar:value": 0.860
473
- },
474
- {
475
- "@type": "datacellar:DataPoint",
476
- "datacellar:timeStamp": "2006-12-17 12:00:00",
477
- "datacellar:value": 0.950
478
- },
479
- {
480
- "@type": "datacellar:DataPoint",
481
- "datacellar:timeStamp": "2006-12-17 13:00:00",
482
- "datacellar:value": 0.880
483
- },
484
- {
485
- "@type": "datacellar:DataPoint",
486
- "datacellar:timeStamp": "2006-12-17 14:00:00",
487
- "datacellar:value": 0.850
488
- },
489
- {
490
- "@type": "datacellar:DataPoint",
491
- "datacellar:timeStamp": "2006-12-17 15:00:00",
492
- "datacellar:value": 0.920
493
- },
494
- {
495
- "@type": "datacellar:DataPoint",
496
- "datacellar:timeStamp": "2006-12-17 16:00:00",
497
- "datacellar:value": 1.500
498
- },
499
- {
500
- "@type": "datacellar:DataPoint",
501
- "datacellar:timeStamp": "2006-12-17 17:00:00",
502
- "datacellar:value": 2.000
503
- },
504
- {
505
- "@type": "datacellar:DataPoint",
506
- "datacellar:timeStamp": "2006-12-17 18:00:00",
507
- "datacellar:value": 3.000
508
- },
509
- {
510
- "@type": "datacellar:DataPoint",
511
- "datacellar:timeStamp": "2006-12-17 19:00:00",
512
- "datacellar:value": 3.125
513
- },
514
- {
515
- "@type": "datacellar:DataPoint",
516
- "datacellar:timeStamp": "2006-12-17 20:00:00",
517
- "datacellar:value": 3.250
518
- },
519
- {
520
- "@type": "datacellar:DataPoint",
521
- "datacellar:timeStamp": "2006-12-17 21:00:00",
522
- "datacellar:value": 3.125
523
- },
524
- {
525
- "@type": "datacellar:DataPoint",
526
- "datacellar:timeStamp": "2006-12-17 22:00:00",
527
- "datacellar:value": 1.300
528
- },
529
- {
530
- "@type": "datacellar:DataPoint",
531
- "datacellar:timeStamp": "2006-12-17 23:00:00",
532
- "datacellar:value": 0.700
533
- },
534
- {
535
- "@type": "datacellar:DataPoint",
536
- "datacellar:timeStamp": "2006-12-18 00:00:00",
537
- "datacellar:value": 0.400
538
- },
539
- {
540
- "@type": "datacellar:DataPoint",
541
- "datacellar:timeStamp": "2006-12-18 01:00:00",
542
- "datacellar:value": 0.293
543
- },
544
- {
545
- "@type": "datacellar:DataPoint",
546
- "datacellar:timeStamp": "2006-12-18 02:00:00",
547
- "datacellar:value": 0.347
548
- },
549
- {
550
- "@type": "datacellar:DataPoint",
551
- "datacellar:timeStamp": "2006-12-18 03:00:00",
552
- "datacellar:value": 0.240
553
- },
554
- {
555
- "@type": "datacellar:DataPoint",
556
- "datacellar:timeStamp": "2006-12-18 04:00:00",
557
- "datacellar:value": 0.293
558
- },
559
- {
560
- "@type": "datacellar:DataPoint",
561
- "datacellar:timeStamp": "2006-12-18 05:00:00",
562
- "datacellar:value": 0.500
563
- },
564
- {
565
- "@type": "datacellar:DataPoint",
566
- "datacellar:timeStamp": "2006-12-18 06:00:00",
567
- "datacellar:value": 0.800
568
- },
569
- {
570
- "@type": "datacellar:DataPoint",
571
- "datacellar:timeStamp": "2006-12-18 07:00:00",
572
- "datacellar:value": 2.500
573
- },
574
- {
575
- "@type": "datacellar:DataPoint",
576
- "datacellar:timeStamp": "2006-12-18 08:00:00",
577
- "datacellar:value": 2.700
578
- },
579
- {
580
- "@type": "datacellar:DataPoint",
581
- "datacellar:timeStamp": "2006-12-18 09:00:00",
582
- "datacellar:value": 0.875
583
- },
584
- {
585
- "@type": "datacellar:DataPoint",
586
- "datacellar:timeStamp": "2006-12-18 10:00:00",
587
- "datacellar:value": 0.920
588
- },
589
- {
590
- "@type": "datacellar:DataPoint",
591
- "datacellar:timeStamp": "2006-12-18 11:00:00",
592
- "datacellar:value": 0.860
593
- },
594
- {
595
- "@type": "datacellar:DataPoint",
596
- "datacellar:timeStamp": "2006-12-18 12:00:00",
597
- "datacellar:value": 0.950
598
- },
599
- {
600
- "@type": "datacellar:DataPoint",
601
- "datacellar:timeStamp": "2006-12-18 13:00:00",
602
- "datacellar:value": 0.880
603
- },
604
- {
605
- "@type": "datacellar:DataPoint",
606
- "datacellar:timeStamp": "2006-12-18 14:00:00",
607
- "datacellar:value": 0.850
608
- },
609
- {
610
- "@type": "datacellar:DataPoint",
611
- "datacellar:timeStamp": "2006-12-18 15:00:00",
612
- "datacellar:value": 0.920
613
- },
614
- {
615
- "@type": "datacellar:DataPoint",
616
- "datacellar:timeStamp": "2006-12-18 16:00:00",
617
- "datacellar:value": 1.500
618
- },
619
- {
620
- "@type": "datacellar:DataPoint",
621
- "datacellar:timeStamp": "2006-12-18 17:00:00",
622
- "datacellar:value": 2.000
623
- },
624
- {
625
- "@type": "datacellar:DataPoint",
626
- "datacellar:timeStamp": "2006-12-18 18:00:00",
627
- "datacellar:value": 3.000
628
- },
629
- {
630
- "@type": "datacellar:DataPoint",
631
- "datacellar:timeStamp": "2006-12-18 19:00:00",
632
- "datacellar:value": 3.125
633
- },
634
- {
635
- "@type": "datacellar:DataPoint",
636
- "datacellar:timeStamp": "2006-12-18 20:00:00",
637
- "datacellar:value": 3.250
638
- },
639
- {
640
- "@type": "datacellar:DataPoint",
641
- "datacellar:timeStamp": "2006-12-18 21:00:00",
642
- "datacellar:value": 3.125
643
- },
644
- {
645
- "@type": "datacellar:DataPoint",
646
- "datacellar:timeStamp": "2006-12-18 22:00:00",
647
- "datacellar:value": 1.300
648
- },
649
- {
650
- "@type": "datacellar:DataPoint",
651
- "datacellar:timeStamp": "2006-12-18 23:00:00",
652
- "datacellar:value": 0.700
653
- },
654
- {
655
- "@type": "datacellar:DataPoint",
656
- "datacellar:timeStamp": "2006-12-19 00:00:00",
657
- "datacellar:value": 0.400
658
- },
659
- {
660
- "@type": "datacellar:DataPoint",
661
- "datacellar:timeStamp": "2006-12-19 01:00:00",
662
- "datacellar:value": 0.293
663
- },
664
- {
665
- "@type": "datacellar:DataPoint",
666
- "datacellar:timeStamp": "2006-12-19 02:00:00",
667
- "datacellar:value": 0.347
668
- },
669
- {
670
- "@type": "datacellar:DataPoint",
671
- "datacellar:timeStamp": "2006-12-19 03:00:00",
672
- "datacellar:value": 0.240
673
- },
674
- {
675
- "@type": "datacellar:DataPoint",
676
- "datacellar:timeStamp": "2006-12-19 04:00:00",
677
- "datacellar:value": 0.293
678
- },
679
- {
680
- "@type": "datacellar:DataPoint",
681
- "datacellar:timeStamp": "2006-12-19 05:00:00",
682
- "datacellar:value": 0.500
683
- },
684
- {
685
- "@type": "datacellar:DataPoint",
686
- "datacellar:timeStamp": "2006-12-19 06:00:00",
687
- "datacellar:value": 0.800
688
- },
689
- {
690
- "@type": "datacellar:DataPoint",
691
- "datacellar:timeStamp": "2006-12-19 07:00:00",
692
- "datacellar:value": 2.500
693
- },
694
- {
695
- "@type": "datacellar:DataPoint",
696
- "datacellar:timeStamp": "2006-12-19 08:00:00",
697
- "datacellar:value": 2.700
698
- },
699
- {
700
- "@type": "datacellar:DataPoint",
701
- "datacellar:timeStamp": "2006-12-19 09:00:00",
702
- "datacellar:value": 0.875
703
- },
704
- {
705
- "@type": "datacellar:DataPoint",
706
- "datacellar:timeStamp": "2006-12-19 10:00:00",
707
- "datacellar:value": 0.920
708
- },
709
- {
710
- "@type": "datacellar:DataPoint",
711
- "datacellar:timeStamp": "2006-12-19 11:00:00",
712
- "datacellar:value": 0.860
713
- },
714
- {
715
- "@type": "datacellar:DataPoint",
716
- "datacellar:timeStamp": "2006-12-19 12:00:00",
717
- "datacellar:value": 0.950
718
- },
719
- {
720
- "@type": "datacellar:DataPoint",
721
- "datacellar:timeStamp": "2006-12-19 13:00:00",
722
- "datacellar:value": 0.880
723
- },
724
- {
725
- "@type": "datacellar:DataPoint",
726
- "datacellar:timeStamp": "2006-12-19 14:00:00",
727
- "datacellar:value": 0.850
728
- },
729
- {
730
- "@type": "datacellar:DataPoint",
731
- "datacellar:timeStamp": "2006-12-19 15:00:00",
732
- "datacellar:value": 0.920
733
- },
734
- {
735
- "@type": "datacellar:DataPoint",
736
- "datacellar:timeStamp": "2006-12-19 16:00:00",
737
- "datacellar:value": 1.500
738
- },
739
- {
740
- "@type": "datacellar:DataPoint",
741
- "datacellar:timeStamp": "2006-12-19 17:00:00",
742
- "datacellar:value": 2.000
743
- },
744
- {
745
- "@type": "datacellar:DataPoint",
746
- "datacellar:timeStamp": "2006-12-19 18:00:00",
747
- "datacellar:value": 3.000
748
- },
749
- {
750
- "@type": "datacellar:DataPoint",
751
- "datacellar:timeStamp": "2006-12-19 19:00:00",
752
- "datacellar:value": 3.125
753
- },
754
-
755
-
756
- {
757
- "@type": "datacellar:DataPoint",
758
- "datacellar:timeStamp": "2006-12-19 20:00:00",
759
- "datacellar:value": 3.250
760
- },
761
- {
762
- "@type": "datacellar:DataPoint",
763
- "datacellar:timeStamp": "2006-12-19 21:00:00",
764
- "datacellar:value": 3.125
765
- },
766
- {
767
- "@type": "datacellar:DataPoint",
768
- "datacellar:timeStamp": "2006-12-19 22:00:00",
769
- "datacellar:value": 1.300
770
- },
771
- {
772
- "@type": "datacellar:DataPoint",
773
- "datacellar:timeStamp": "2006-12-19 23:00:00",
774
- "datacellar:value": 0.700
775
- },
776
- {
777
- "@type": "datacellar:DataPoint",
778
- "datacellar:timeStamp": "2006-12-20 00:00:00",
779
- "datacellar:value": 0.400
780
- }
781
- ]
782
- }
783
- ],
784
- "datacellar:datasetMetadataList": [
785
- {
786
- "@type": "datacellar:GeoLocalizedDataset",
787
- "datacellar:latitude": 48.7786,
788
- "datacellar:longitude": 2.2906,
789
- "datacellar:postalCode": "10001"
790
- }
791
- ]
792
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
samples/2_long_term_consumption.json DELETED
@@ -1,2064 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Long Term Energy Consumption Forecasting Data",
7
- "datacellar:description": "Long term energy consumption forecasting sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "outdoorTemperature",
18
- "datacellar:description": "Temperature readings",
19
- "datacellar:type": {
20
- "@type": "datacellar:FieldType",
21
- "datacellar:unitText": "Celsius",
22
- "datacellar:averagable": true,
23
- "datacellar:summable": false,
24
- "datacellar:anonymizable": false
25
- }
26
- },
27
- {
28
- "@type": "datacellar:DatasetField",
29
- "datacellar:datasetFieldID": 2,
30
- "datacellar:fieldName": "consumedPower",
31
- "datacellar:description": "Power consumption readings",
32
- "datacellar:type": {
33
- "@type": "datacellar:FieldType",
34
- "datacellar:unitText": "kWh",
35
- "datacellar:averagable": true,
36
- "datacellar:summable": false,
37
- "datacellar:anonymizable": false
38
- }
39
- }
40
- ]
41
- },
42
-
43
- "datacellar:timeSeriesList": [
44
-
45
- {
46
- "@type": "datacellar:TimeSeries",
47
- "datacellar:datasetFieldID": 1,
48
- "datacellar:startDate": "Datetime",
49
- "datacellar:endDate": "2006-12-25 07:00:00",
50
- "datacellar:granularity": "1 hour",
51
- "datacellar:dataPoints": [
52
- {
53
- "@type": "datacellar:DataPoint",
54
- "datacellar:timeStamp": "2006-12-17 01:00:00",
55
- "datacellar:value": -8.335
56
- },
57
- {
58
- "@type": "datacellar:DataPoint",
59
- "datacellar:timeStamp": "2006-12-17 02:00:00",
60
- "datacellar:value": -17.78
61
- },
62
- {
63
- "@type": "datacellar:DataPoint",
64
- "datacellar:timeStamp": "2006-12-17 03:00:00",
65
- "datacellar:value": -17.78
66
- },
67
- {
68
- "@type": "datacellar:DataPoint",
69
- "datacellar:timeStamp": "2006-12-17 04:00:00",
70
- "datacellar:value": -17.78
71
- },
72
- {
73
- "@type": "datacellar:DataPoint",
74
- "datacellar:timeStamp": "2006-12-17 05:00:00",
75
- "datacellar:value": -9.445
76
- },
77
- {
78
- "@type": "datacellar:DataPoint",
79
- "datacellar:timeStamp": "2006-12-17 06:00:00",
80
- "datacellar:value": -17.78
81
- },
82
- {
83
- "@type": "datacellar:DataPoint",
84
- "datacellar:timeStamp": "2006-12-17 07:00:00",
85
- "datacellar:value": -17.78
86
- },
87
- {
88
- "@type": "datacellar:DataPoint",
89
- "datacellar:timeStamp": "2006-12-17 08:00:00",
90
- "datacellar:value": -17.78
91
- },
92
- {
93
- "@type": "datacellar:DataPoint",
94
- "datacellar:timeStamp": "2006-12-17 09:00:00",
95
- "datacellar:value": -8.335
96
- },
97
- {
98
- "@type": "datacellar:DataPoint",
99
- "datacellar:timeStamp": "2006-12-17 10:00:00",
100
- "datacellar:value": -17.78
101
- },
102
- {
103
- "@type": "datacellar:DataPoint",
104
- "datacellar:timeStamp": "2006-12-17 11:00:00",
105
- "datacellar:value": 1.665
106
- },
107
- {
108
- "@type": "datacellar:DataPoint",
109
- "datacellar:timeStamp": "2006-12-17 12:00:00",
110
- "datacellar:value": 3.335
111
- },
112
- {
113
- "@type": "datacellar:DataPoint",
114
- "datacellar:timeStamp": "2006-12-17 13:00:00",
115
- "datacellar:value": 4.445
116
- },
117
- {
118
- "@type": "datacellar:DataPoint",
119
- "datacellar:timeStamp": "2006-12-17 14:00:00",
120
- "datacellar:value": 6.11
121
- },
122
- {
123
- "@type": "datacellar:DataPoint",
124
- "datacellar:timeStamp": "2006-12-17 15:00:00",
125
- "datacellar:value": 6.11
126
- },
127
- {
128
- "@type": "datacellar:DataPoint",
129
- "datacellar:timeStamp": "2006-12-17 16:00:00",
130
- "datacellar:value": 6.11
131
- },
132
- {
133
- "@type": "datacellar:DataPoint",
134
- "datacellar:timeStamp": "2006-12-17 17:00:00",
135
- "datacellar:value": 6.11
136
- },
137
- {
138
- "@type": "datacellar:DataPoint",
139
- "datacellar:timeStamp": "2006-12-17 18:00:00",
140
- "datacellar:value": 5.0
141
- },
142
- {
143
- "@type": "datacellar:DataPoint",
144
- "datacellar:timeStamp": "2006-12-17 19:00:00",
145
- "datacellar:value": 5.0
146
- },
147
- {
148
- "@type": "datacellar:DataPoint",
149
- "datacellar:timeStamp": "2006-12-17 20:00:00",
150
- "datacellar:value": 3.89
151
- },
152
- {
153
- "@type": "datacellar:DataPoint",
154
- "datacellar:timeStamp": "2006-12-17 21:00:00",
155
- "datacellar:value": 2.78
156
- },
157
- {
158
- "@type": "datacellar:DataPoint",
159
- "datacellar:timeStamp": "2006-12-17 22:00:00",
160
- "datacellar:value": 2.5
161
- },
162
- {
163
- "@type": "datacellar:DataPoint",
164
- "datacellar:timeStamp": "2006-12-17 23:00:00",
165
- "datacellar:value": 2.5
166
- },
167
- {
168
- "@type": "datacellar:DataPoint",
169
- "datacellar:timeStamp": "2006-12-18 00:00:00",
170
- "datacellar:value": 2.5
171
- },
172
- {
173
- "@type": "datacellar:DataPoint",
174
- "datacellar:timeStamp": "2006-12-18 01:00:00",
175
- "datacellar:value": 2.78
176
- },
177
- {
178
- "@type": "datacellar:DataPoint",
179
- "datacellar:timeStamp": "2006-12-18 02:00:00",
180
- "datacellar:value": 2.78
181
- },
182
- {
183
- "@type": "datacellar:DataPoint",
184
- "datacellar:timeStamp": "2006-12-18 03:00:00",
185
- "datacellar:value": 2.78
186
- },
187
- {
188
- "@type": "datacellar:DataPoint",
189
- "datacellar:timeStamp": "2006-12-18 04:00:00",
190
- "datacellar:value": 2.78
191
- },
192
- {
193
- "@type": "datacellar:DataPoint",
194
- "datacellar:timeStamp": "2006-12-18 05:00:00",
195
- "datacellar:value": 2.5
196
- },
197
- {
198
- "@type": "datacellar:DataPoint",
199
- "datacellar:timeStamp": "2006-12-18 06:00:00",
200
- "datacellar:value": 2.78
201
- },
202
- {
203
- "@type": "datacellar:DataPoint",
204
- "datacellar:timeStamp": "2006-12-18 07:00:00",
205
- "datacellar:value": 2.78
206
- },
207
- {
208
- "@type": "datacellar:DataPoint",
209
- "datacellar:timeStamp": "2006-12-18 08:00:00",
210
- "datacellar:value": 2.78
211
- },
212
- {
213
- "@type": "datacellar:DataPoint",
214
- "datacellar:timeStamp": "2006-12-18 09:00:00",
215
- "datacellar:value": 2.78
216
- },
217
- {
218
- "@type": "datacellar:DataPoint",
219
- "datacellar:timeStamp": "2006-12-18 10:00:00",
220
- "datacellar:value": 2.78
221
- },
222
- {
223
- "@type": "datacellar:DataPoint",
224
- "datacellar:timeStamp": "2006-12-18 11:00:00",
225
- "datacellar:value": 2.78
226
- },
227
- {
228
- "@type": "datacellar:DataPoint",
229
- "datacellar:timeStamp": "2006-12-18 12:00:00",
230
- "datacellar:value": 3.89
231
- },
232
- {
233
- "@type": "datacellar:DataPoint",
234
- "datacellar:timeStamp": "2006-12-18 13:00:00",
235
- "datacellar:value": 3.89
236
- },
237
- {
238
- "@type": "datacellar:DataPoint",
239
- "datacellar:timeStamp": "2006-12-18 14:00:00",
240
- "datacellar:value": 3.89
241
- },
242
- {
243
- "@type": "datacellar:DataPoint",
244
- "datacellar:timeStamp": "2006-12-18 15:00:00",
245
- "datacellar:value": 5.0
246
- },
247
- {
248
- "@type": "datacellar:DataPoint",
249
- "datacellar:timeStamp": "2006-12-18 16:00:00",
250
- "datacellar:value": 5.0
251
- },
252
- {
253
- "@type": "datacellar:DataPoint",
254
- "datacellar:timeStamp": "2006-12-18 17:00:00",
255
- "datacellar:value": 5.0
256
- },
257
- {
258
- "@type": "datacellar:DataPoint",
259
- "datacellar:timeStamp": "2006-12-18 18:00:00",
260
- "datacellar:value": 5.0
261
- },
262
- {
263
- "@type": "datacellar:DataPoint",
264
- "datacellar:timeStamp": "2006-12-18 19:00:00",
265
- "datacellar:value": 4.445
266
- },
267
- {
268
- "@type": "datacellar:DataPoint",
269
- "datacellar:timeStamp": "2006-12-18 20:00:00",
270
- "datacellar:value": 3.89
271
- },
272
- {
273
- "@type": "datacellar:DataPoint",
274
- "datacellar:timeStamp": "2006-12-18 21:00:00",
275
- "datacellar:value": 3.89
276
- },
277
- {
278
- "@type": "datacellar:DataPoint",
279
- "datacellar:timeStamp": "2006-12-18 22:00:00",
280
- "datacellar:value": 3.335
281
- },
282
- {
283
- "@type": "datacellar:DataPoint",
284
- "datacellar:timeStamp": "2006-12-18 23:00:00",
285
- "datacellar:value": 2.22
286
- },
287
- {
288
- "@type": "datacellar:DataPoint",
289
- "datacellar:timeStamp": "2006-12-19 00:00:00",
290
- "datacellar:value": 1.11
291
- },
292
- {
293
- "@type": "datacellar:DataPoint",
294
- "datacellar:timeStamp": "2006-12-19 01:00:00",
295
- "datacellar:value": 1.665
296
- },
297
- {
298
- "@type": "datacellar:DataPoint",
299
- "datacellar:timeStamp": "2006-12-19 02:00:00",
300
- "datacellar:value": 1.665
301
- },
302
- {
303
- "@type": "datacellar:DataPoint",
304
- "datacellar:timeStamp": "2006-12-19 03:00:00",
305
- "datacellar:value": 1.11
306
- },
307
- {
308
- "@type": "datacellar:DataPoint",
309
- "datacellar:timeStamp": "2006-12-19 04:00:00",
310
- "datacellar:value": 1.11
311
- },
312
- {
313
- "@type": "datacellar:DataPoint",
314
- "datacellar:timeStamp": "2006-12-19 05:00:00",
315
- "datacellar:value": 1.11
316
- },
317
- {
318
- "@type": "datacellar:DataPoint",
319
- "datacellar:timeStamp": "2006-12-19 06:00:00",
320
- "datacellar:value": 0.0
321
- },
322
- {
323
- "@type": "datacellar:DataPoint",
324
- "datacellar:timeStamp": "2006-12-19 07:00:00",
325
- "datacellar:value": 0.555
326
- },
327
- {
328
- "@type": "datacellar:DataPoint",
329
- "datacellar:timeStamp": "2006-12-19 08:00:00",
330
- "datacellar:value": 1.11
331
- },
332
- {
333
- "@type": "datacellar:DataPoint",
334
- "datacellar:timeStamp": "2006-12-19 09:00:00",
335
- "datacellar:value": 1.11
336
- },
337
- {
338
- "@type": "datacellar:DataPoint",
339
- "datacellar:timeStamp": "2006-12-19 10:00:00",
340
- "datacellar:value": 1.11
341
- },
342
- {
343
- "@type": "datacellar:DataPoint",
344
- "datacellar:timeStamp": "2006-12-19 11:00:00",
345
- "datacellar:value": 1.665
346
- },
347
- {
348
- "@type": "datacellar:DataPoint",
349
- "datacellar:timeStamp": "2006-12-19 12:00:00",
350
- "datacellar:value": 2.78
351
- },
352
- {
353
- "@type": "datacellar:DataPoint",
354
- "datacellar:timeStamp": "2006-12-19 13:00:00",
355
- "datacellar:value": 3.89
356
- },
357
- {
358
- "@type": "datacellar:DataPoint",
359
- "datacellar:timeStamp": "2006-12-19 14:00:00",
360
- "datacellar:value": 4.445
361
- },
362
- {
363
- "@type": "datacellar:DataPoint",
364
- "datacellar:timeStamp": "2006-12-19 15:00:00",
365
- "datacellar:value": 5.0
366
- },
367
- {
368
- "@type": "datacellar:DataPoint",
369
- "datacellar:timeStamp": "2006-12-19 16:00:00",
370
- "datacellar:value": 5.0
371
- },
372
- {
373
- "@type": "datacellar:DataPoint",
374
- "datacellar:timeStamp": "2006-12-19 17:00:00",
375
- "datacellar:value": 3.89
376
- },
377
- {
378
- "@type": "datacellar:DataPoint",
379
- "datacellar:timeStamp": "2006-12-19 18:00:00",
380
- "datacellar:value": 3.335
381
- },
382
- {
383
- "@type": "datacellar:DataPoint",
384
- "datacellar:timeStamp": "2006-12-19 19:00:00",
385
- "datacellar:value": 2.78
386
- },
387
- {
388
- "@type": "datacellar:DataPoint",
389
- "datacellar:timeStamp": "2006-12-19 20:00:00",
390
- "datacellar:value": 2.5
391
- },
392
- {
393
- "@type": "datacellar:DataPoint",
394
- "datacellar:timeStamp": "2006-12-19 21:00:00",
395
- "datacellar:value": 2.22
396
- },
397
- {
398
- "@type": "datacellar:DataPoint",
399
- "datacellar:timeStamp": "2006-12-19 22:00:00",
400
- "datacellar:value": 2.22
401
- },
402
- {
403
- "@type": "datacellar:DataPoint",
404
- "datacellar:timeStamp": "2006-12-19 23:00:00",
405
- "datacellar:value": 2.22
406
- },
407
- {
408
- "@type": "datacellar:DataPoint",
409
- "datacellar:timeStamp": "2006-12-20 00:00:00",
410
- "datacellar:value": 1.11
411
- },
412
- {
413
- "@type": "datacellar:DataPoint",
414
- "datacellar:timeStamp": "2006-12-20 01:00:00",
415
- "datacellar:value": 1.11
416
- },
417
- {
418
- "@type": "datacellar:DataPoint",
419
- "datacellar:timeStamp": "2006-12-20 02:00:00",
420
- "datacellar:value": 1.11
421
- },
422
- {
423
- "@type": "datacellar:DataPoint",
424
- "datacellar:timeStamp": "2006-12-20 03:00:00",
425
- "datacellar:value": 1.11
426
- },
427
- {
428
- "@type": "datacellar:DataPoint",
429
- "datacellar:timeStamp": "2006-12-20 04:00:00",
430
- "datacellar:value": 1.11
431
- },
432
- {
433
- "@type": "datacellar:DataPoint",
434
- "datacellar:timeStamp": "2006-12-20 05:00:00",
435
- "datacellar:value": 1.11
436
- },
437
- {
438
- "@type": "datacellar:DataPoint",
439
- "datacellar:timeStamp": "2006-12-20 06:00:00",
440
- "datacellar:value": 1.11
441
- },
442
- {
443
- "@type": "datacellar:DataPoint",
444
- "datacellar:timeStamp": "2006-12-20 07:00:00",
445
- "datacellar:value": 1.11
446
- },
447
- {
448
- "@type": "datacellar:DataPoint",
449
- "datacellar:timeStamp": "2006-12-20 08:00:00",
450
- "datacellar:value": 1.11
451
- },
452
- {
453
- "@type": "datacellar:DataPoint",
454
- "datacellar:timeStamp": "2006-12-20 09:00:00",
455
- "datacellar:value": 1.11
456
- },
457
- {
458
- "@type": "datacellar:DataPoint",
459
- "datacellar:timeStamp": "2006-12-20 10:00:00",
460
- "datacellar:value": 1.11
461
- },
462
- {
463
- "@type": "datacellar:DataPoint",
464
- "datacellar:timeStamp": "2006-12-20 11:00:00",
465
- "datacellar:value": 2.22
466
- },
467
- {
468
- "@type": "datacellar:DataPoint",
469
- "datacellar:timeStamp": "2006-12-20 12:00:00",
470
- "datacellar:value": 2.78
471
- },
472
- {
473
- "@type": "datacellar:DataPoint",
474
- "datacellar:timeStamp": "2006-12-20 13:00:00",
475
- "datacellar:value": 4.445
476
- },
477
- {
478
- "@type": "datacellar:DataPoint",
479
- "datacellar:timeStamp": "2006-12-20 14:00:00",
480
- "datacellar:value": 5.0
481
- },
482
- {
483
- "@type": "datacellar:DataPoint",
484
- "datacellar:timeStamp": "2006-12-20 15:00:00",
485
- "datacellar:value": 6.11
486
- },
487
- {
488
- "@type": "datacellar:DataPoint",
489
- "datacellar:timeStamp": "2006-12-20 16:00:00",
490
- "datacellar:value": 5.0
491
- },
492
- {
493
- "@type": "datacellar:DataPoint",
494
- "datacellar:timeStamp": "2006-12-20 17:00:00",
495
- "datacellar:value": 4.445
496
- },
497
- {
498
- "@type": "datacellar:DataPoint",
499
- "datacellar:timeStamp": "2006-12-20 18:00:00",
500
- "datacellar:value": 3.89
501
- },
502
- {
503
- "@type": "datacellar:DataPoint",
504
- "datacellar:timeStamp": "2006-12-20 19:00:00",
505
- "datacellar:value": 3.335
506
- },
507
- {
508
- "@type": "datacellar:DataPoint",
509
- "datacellar:timeStamp": "2006-12-20 20:00:00",
510
- "datacellar:value": 2.22
511
- },
512
- {
513
- "@type": "datacellar:DataPoint",
514
- "datacellar:timeStamp": "2006-12-20 21:00:00",
515
- "datacellar:value": 2.78
516
- },
517
- {
518
- "@type": "datacellar:DataPoint",
519
- "datacellar:timeStamp": "2006-12-20 22:00:00",
520
- "datacellar:value": 2.78
521
- },
522
- {
523
- "@type": "datacellar:DataPoint",
524
- "datacellar:timeStamp": "2006-12-20 23:00:00",
525
- "datacellar:value": 2.5
526
- },
527
- {
528
- "@type": "datacellar:DataPoint",
529
- "datacellar:timeStamp": "2006-12-21 00:00:00",
530
- "datacellar:value": 2.22
531
- },
532
- {
533
- "@type": "datacellar:DataPoint",
534
- "datacellar:timeStamp": "2006-12-21 01:00:00",
535
- "datacellar:value": 1.11
536
- },
537
- {
538
- "@type": "datacellar:DataPoint",
539
- "datacellar:timeStamp": "2006-12-21 02:00:00",
540
- "datacellar:value": 1.11
541
- },
542
- {
543
- "@type": "datacellar:DataPoint",
544
- "datacellar:timeStamp": "2006-12-21 03:00:00",
545
- "datacellar:value": 0.0
546
- },
547
- {
548
- "@type": "datacellar:DataPoint",
549
- "datacellar:timeStamp": "2006-12-21 04:00:00",
550
- "datacellar:value": 0.555
551
- },
552
- {
553
- "@type": "datacellar:DataPoint",
554
- "datacellar:timeStamp": "2006-12-21 05:00:00",
555
- "datacellar:value": 0.0
556
- },
557
- {
558
- "@type": "datacellar:DataPoint",
559
- "datacellar:timeStamp": "2006-12-21 06:00:00",
560
- "datacellar:value": 0.0
561
- },
562
- {
563
- "@type": "datacellar:DataPoint",
564
- "datacellar:timeStamp": "2006-12-21 07:00:00",
565
- "datacellar:value": 1.665
566
- },
567
- {
568
- "@type": "datacellar:DataPoint",
569
- "datacellar:timeStamp": "2006-12-21 08:00:00",
570
- "datacellar:value": 2.5
571
- },
572
- {
573
- "@type": "datacellar:DataPoint",
574
- "datacellar:timeStamp": "2006-12-21 09:00:00",
575
- "datacellar:value": 3.335
576
- },
577
- {
578
- "@type": "datacellar:DataPoint",
579
- "datacellar:timeStamp": "2006-12-21 10:00:00",
580
- "datacellar:value": 2.78
581
- },
582
- {
583
- "@type": "datacellar:DataPoint",
584
- "datacellar:timeStamp": "2006-12-21 11:00:00",
585
- "datacellar:value": 4.445
586
- },
587
- {
588
- "@type": "datacellar:DataPoint",
589
- "datacellar:timeStamp": "2006-12-21 12:00:00",
590
- "datacellar:value": 5.555
591
- },
592
- {
593
- "@type": "datacellar:DataPoint",
594
- "datacellar:timeStamp": "2006-12-21 13:00:00",
595
- "datacellar:value": 6.665
596
- },
597
- {
598
- "@type": "datacellar:DataPoint",
599
- "datacellar:timeStamp": "2006-12-21 14:00:00",
600
- "datacellar:value": 7.78
601
- },
602
- {
603
- "@type": "datacellar:DataPoint",
604
- "datacellar:timeStamp": "2006-12-21 15:00:00",
605
- "datacellar:value": 7.78
606
- },
607
- {
608
- "@type": "datacellar:DataPoint",
609
- "datacellar:timeStamp": "2006-12-21 16:00:00",
610
- "datacellar:value": 7.78
611
- },
612
- {
613
- "@type": "datacellar:DataPoint",
614
- "datacellar:timeStamp": "2006-12-21 17:00:00",
615
- "datacellar:value": 7.22
616
- },
617
- {
618
- "@type": "datacellar:DataPoint",
619
- "datacellar:timeStamp": "2006-12-21 18:00:00",
620
- "datacellar:value": 7.22
621
- },
622
- {
623
- "@type": "datacellar:DataPoint",
624
- "datacellar:timeStamp": "2006-12-21 19:00:00",
625
- "datacellar:value": 7.22
626
- },
627
- {
628
- "@type": "datacellar:DataPoint",
629
- "datacellar:timeStamp": "2006-12-21 20:00:00",
630
- "datacellar:value": 7.22
631
- },
632
- {
633
- "@type": "datacellar:DataPoint",
634
- "datacellar:timeStamp": "2006-12-21 21:00:00",
635
- "datacellar:value": 7.22
636
- },
637
- {
638
- "@type": "datacellar:DataPoint",
639
- "datacellar:timeStamp": "2006-12-21 22:00:00",
640
- "datacellar:value": 6.11
641
- },
642
- {
643
- "@type": "datacellar:DataPoint",
644
- "datacellar:timeStamp": "2006-12-21 23:00:00",
645
- "datacellar:value": 5.555
646
- },
647
- {
648
- "@type": "datacellar:DataPoint",
649
- "datacellar:timeStamp": "2006-12-22 00:00:00",
650
- "datacellar:value": 5.0
651
- },
652
- {
653
- "@type": "datacellar:DataPoint",
654
- "datacellar:timeStamp": "2006-12-22 01:00:00",
655
- "datacellar:value": 5.0
656
- },
657
- {
658
- "@type": "datacellar:DataPoint",
659
- "datacellar:timeStamp": "2006-12-22 02:00:00",
660
- "datacellar:value": 5.0
661
- },
662
- {
663
- "@type": "datacellar:DataPoint",
664
- "datacellar:timeStamp": "2006-12-22 03:00:00",
665
- "datacellar:value": 4.445
666
- },
667
- {
668
- "@type": "datacellar:DataPoint",
669
- "datacellar:timeStamp": "2006-12-22 04:00:00",
670
- "datacellar:value": 3.89
671
- },
672
- {
673
- "@type": "datacellar:DataPoint",
674
- "datacellar:timeStamp": "2006-12-22 05:00:00",
675
- "datacellar:value": 3.89
676
- },
677
- {
678
- "@type": "datacellar:DataPoint",
679
- "datacellar:timeStamp": "2006-12-22 06:00:00",
680
- "datacellar:value": 3.89
681
- },
682
- {
683
- "@type": "datacellar:DataPoint",
684
- "datacellar:timeStamp": "2006-12-22 07:00:00",
685
- "datacellar:value": 3.335
686
- },
687
- {
688
- "@type": "datacellar:DataPoint",
689
- "datacellar:timeStamp": "2006-12-22 08:00:00",
690
- "datacellar:value": 2.78
691
- },
692
- {
693
- "@type": "datacellar:DataPoint",
694
- "datacellar:timeStamp": "2006-12-22 09:00:00",
695
- "datacellar:value": 2.78
696
- },
697
- {
698
- "@type": "datacellar:DataPoint",
699
- "datacellar:timeStamp": "2006-12-22 10:00:00",
700
- "datacellar:value": 3.335
701
- },
702
- {
703
- "@type": "datacellar:DataPoint",
704
- "datacellar:timeStamp": "2006-12-22 11:00:00",
705
- "datacellar:value": 4.445
706
- },
707
- {
708
- "@type": "datacellar:DataPoint",
709
- "datacellar:timeStamp": "2006-12-22 12:00:00",
710
- "datacellar:value": 5.555
711
- },
712
- {
713
- "@type": "datacellar:DataPoint",
714
- "datacellar:timeStamp": "2006-12-22 13:00:00",
715
- "datacellar:value": 6.11
716
- },
717
- {
718
- "@type": "datacellar:DataPoint",
719
- "datacellar:timeStamp": "2006-12-22 14:00:00",
720
- "datacellar:value": 6.665
721
- },
722
- {
723
- "@type": "datacellar:DataPoint",
724
- "datacellar:timeStamp": "2006-12-22 15:00:00",
725
- "datacellar:value": 7.22
726
- },
727
- {
728
- "@type": "datacellar:DataPoint",
729
- "datacellar:timeStamp": "2006-12-22 16:00:00",
730
- "datacellar:value": 7.22
731
- },
732
- {
733
- "@type": "datacellar:DataPoint",
734
- "datacellar:timeStamp": "2006-12-22 17:00:00",
735
- "datacellar:value": 6.11
736
- },
737
- {
738
- "@type": "datacellar:DataPoint",
739
- "datacellar:timeStamp": "2006-12-22 18:00:00",
740
- "datacellar:value": 5.0
741
- },
742
- {
743
- "@type": "datacellar:DataPoint",
744
- "datacellar:timeStamp": "2006-12-22 19:00:00",
745
- "datacellar:value": 3.89
746
- },
747
- {
748
- "@type": "datacellar:DataPoint",
749
- "datacellar:timeStamp": "2006-12-22 20:00:00",
750
- "datacellar:value": 3.89
751
- },
752
- {
753
- "@type": "datacellar:DataPoint",
754
- "datacellar:timeStamp": "2006-12-22 21:00:00",
755
- "datacellar:value": 3.89
756
- },
757
- {
758
- "@type": "datacellar:DataPoint",
759
- "datacellar:timeStamp": "2006-12-22 22:00:00",
760
- "datacellar:value": 3.335
761
- },
762
- {
763
- "@type": "datacellar:DataPoint",
764
- "datacellar:timeStamp": "2006-12-22 23:00:00",
765
- "datacellar:value": 2.78
766
- },
767
- {
768
- "@type": "datacellar:DataPoint",
769
- "datacellar:timeStamp": "2006-12-23 00:00:00",
770
- "datacellar:value": 2.5
771
- },
772
- {
773
- "@type": "datacellar:DataPoint",
774
- "datacellar:timeStamp": "2006-12-23 01:00:00",
775
- "datacellar:value": 2.22
776
- },
777
- {
778
- "@type": "datacellar:DataPoint",
779
- "datacellar:timeStamp": "2006-12-23 02:00:00",
780
- "datacellar:value": 2.22
781
- },
782
- {
783
- "@type": "datacellar:DataPoint",
784
- "datacellar:timeStamp": "2006-12-23 03:00:00",
785
- "datacellar:value": 2.22
786
- },
787
- {
788
- "@type": "datacellar:DataPoint",
789
- "datacellar:timeStamp": "2006-12-23 04:00:00",
790
- "datacellar:value": 1.665
791
- },
792
- {
793
- "@type": "datacellar:DataPoint",
794
- "datacellar:timeStamp": "2006-12-23 05:00:00",
795
- "datacellar:value": 1.11
796
- },
797
- {
798
- "@type": "datacellar:DataPoint",
799
- "datacellar:timeStamp": "2006-12-23 06:00:00",
800
- "datacellar:value": 1.11
801
- },
802
- {
803
- "@type": "datacellar:DataPoint",
804
- "datacellar:timeStamp": "2006-12-23 07:00:00",
805
- "datacellar:value": 0.0
806
- },
807
- {
808
- "@type": "datacellar:DataPoint",
809
- "datacellar:timeStamp": "2006-12-23 08:00:00",
810
- "datacellar:value": 0.0
811
- },
812
- {
813
- "@type": "datacellar:DataPoint",
814
- "datacellar:timeStamp": "2006-12-23 09:00:00",
815
- "datacellar:value": 0.0
816
- },
817
- {
818
- "@type": "datacellar:DataPoint",
819
- "datacellar:timeStamp": "2006-12-23 10:00:00",
820
- "datacellar:value": 0.0
821
- },
822
- {
823
- "@type": "datacellar:DataPoint",
824
- "datacellar:timeStamp": "2006-12-23 11:00:00",
825
- "datacellar:value": 1.665
826
- },
827
- {
828
- "@type": "datacellar:DataPoint",
829
- "datacellar:timeStamp": "2006-12-23 12:00:00",
830
- "datacellar:value": 2.5
831
- },
832
- {
833
- "@type": "datacellar:DataPoint",
834
- "datacellar:timeStamp": "2006-12-23 13:00:00",
835
- "datacellar:value": 3.335
836
- },
837
- {
838
- "@type": "datacellar:DataPoint",
839
- "datacellar:timeStamp": "2006-12-23 14:00:00",
840
- "datacellar:value": 3.335
841
- },
842
- {
843
- "@type": "datacellar:DataPoint",
844
- "datacellar:timeStamp": "2006-12-23 15:00:00",
845
- "datacellar:value": 2.78
846
- },
847
- {
848
- "@type": "datacellar:DataPoint",
849
- "datacellar:timeStamp": "2006-12-23 16:00:00",
850
- "datacellar:value": 2.78
851
- },
852
- {
853
- "@type": "datacellar:DataPoint",
854
- "datacellar:timeStamp": "2006-12-23 17:00:00",
855
- "datacellar:value": 2.78
856
- },
857
- {
858
- "@type": "datacellar:DataPoint",
859
- "datacellar:timeStamp": "2006-12-23 18:00:00",
860
- "datacellar:value": 2.5
861
- },
862
- {
863
- "@type": "datacellar:DataPoint",
864
- "datacellar:timeStamp": "2006-12-23 19:00:00",
865
- "datacellar:value": 2.22
866
- },
867
- {
868
- "@type": "datacellar:DataPoint",
869
- "datacellar:timeStamp": "2006-12-23 20:00:00",
870
- "datacellar:value": 2.22
871
- },
872
- {
873
- "@type": "datacellar:DataPoint",
874
- "datacellar:timeStamp": "2006-12-23 21:00:00",
875
- "datacellar:value": 1.665
876
- },
877
- {
878
- "@type": "datacellar:DataPoint",
879
- "datacellar:timeStamp": "2006-12-23 22:00:00",
880
- "datacellar:value": 1.11
881
- },
882
- {
883
- "@type": "datacellar:DataPoint",
884
- "datacellar:timeStamp": "2006-12-23 23:00:00",
885
- "datacellar:value": 1.11
886
- },
887
- {
888
- "@type": "datacellar:DataPoint",
889
- "datacellar:timeStamp": "2006-12-24 00:00:00",
890
- "datacellar:value": 2.22
891
- },
892
- {
893
- "@type": "datacellar:DataPoint",
894
- "datacellar:timeStamp": "2006-12-24 01:00:00",
895
- "datacellar:value": 2.22
896
- },
897
- {
898
- "@type": "datacellar:DataPoint",
899
- "datacellar:timeStamp": "2006-12-24 02:00:00",
900
- "datacellar:value": 2.22
901
- },
902
- {
903
- "@type": "datacellar:DataPoint",
904
- "datacellar:timeStamp": "2006-12-24 03:00:00",
905
- "datacellar:value": 2.22
906
- },
907
- {
908
- "@type": "datacellar:DataPoint",
909
- "datacellar:timeStamp": "2006-12-24 04:00:00",
910
- "datacellar:value": 2.22
911
- },
912
- {
913
- "@type": "datacellar:DataPoint",
914
- "datacellar:timeStamp": "2006-12-24 05:00:00",
915
- "datacellar:value": 2.22
916
- },
917
- {
918
- "@type": "datacellar:DataPoint",
919
- "datacellar:timeStamp": "2006-12-24 06:00:00",
920
- "datacellar:value": 2.22
921
- },
922
- {
923
- "@type": "datacellar:DataPoint",
924
- "datacellar:timeStamp": "2006-12-24 07:00:00",
925
- "datacellar:value": 2.22
926
- },
927
- {
928
- "@type": "datacellar:DataPoint",
929
- "datacellar:timeStamp": "2006-12-24 08:00:00",
930
- "datacellar:value": 1.665
931
- },
932
- {
933
- "@type": "datacellar:DataPoint",
934
- "datacellar:timeStamp": "2006-12-24 09:00:00",
935
- "datacellar:value": 1.665
936
- },
937
- {
938
- "@type": "datacellar:DataPoint",
939
- "datacellar:timeStamp": "2006-12-24 10:00:00",
940
- "datacellar:value": 2.22
941
- },
942
- {
943
- "@type": "datacellar:DataPoint",
944
- "datacellar:timeStamp": "2006-12-24 11:00:00",
945
- "datacellar:value": 2.22
946
- },
947
- {
948
- "@type": "datacellar:DataPoint",
949
- "datacellar:timeStamp": "2006-12-24 12:00:00",
950
- "datacellar:value": 2.22
951
- },
952
- {
953
- "@type": "datacellar:DataPoint",
954
- "datacellar:timeStamp": "2006-12-24 13:00:00",
955
- "datacellar:value": 2.22
956
- },
957
- {
958
- "@type": "datacellar:DataPoint",
959
- "datacellar:timeStamp": "2006-12-24 14:00:00",
960
- "datacellar:value": 2.22
961
- },
962
- {
963
- "@type": "datacellar:DataPoint",
964
- "datacellar:timeStamp": "2006-12-24 15:00:00",
965
- "datacellar:value": 2.78
966
- },
967
- {
968
- "@type": "datacellar:DataPoint",
969
- "datacellar:timeStamp": "2006-12-24 16:00:00",
970
- "datacellar:value": 2.78
971
- },
972
- {
973
- "@type": "datacellar:DataPoint",
974
- "datacellar:timeStamp": "2006-12-24 17:00:00",
975
- "datacellar:value": 2.5
976
- },
977
- {
978
- "@type": "datacellar:DataPoint",
979
- "datacellar:timeStamp": "2006-12-24 18:00:00",
980
- "datacellar:value": 2.22
981
- },
982
- {
983
- "@type": "datacellar:DataPoint",
984
- "datacellar:timeStamp": "2006-12-24 19:00:00",
985
- "datacellar:value": 2.22
986
- },
987
- {
988
- "@type": "datacellar:DataPoint",
989
- "datacellar:timeStamp": "2006-12-24 20:00:00",
990
- "datacellar:value": 2.22
991
- },
992
- {
993
- "@type": "datacellar:DataPoint",
994
- "datacellar:timeStamp": "2006-12-24 21:00:00",
995
- "datacellar:value": 2.22
996
- },
997
- {
998
- "@type": "datacellar:DataPoint",
999
- "datacellar:timeStamp": "2006-12-24 22:00:00",
1000
- "datacellar:value": 2.22
1001
- },
1002
- {
1003
- "@type": "datacellar:DataPoint",
1004
- "datacellar:timeStamp": "2006-12-24 23:00:00",
1005
- "datacellar:value": 2.22
1006
- },
1007
- {
1008
- "@type": "datacellar:DataPoint",
1009
- "datacellar:timeStamp": "2006-12-25 00:00:00",
1010
- "datacellar:value": 2.22
1011
- },
1012
- {
1013
- "@type": "datacellar:DataPoint",
1014
- "datacellar:timeStamp": "2006-12-25 01:00:00",
1015
- "datacellar:value": 2.22
1016
- },
1017
- {
1018
- "@type": "datacellar:DataPoint",
1019
- "datacellar:timeStamp": "2006-12-25 02:00:00",
1020
- "datacellar:value": 2.22
1021
- },
1022
- {
1023
- "@type": "datacellar:DataPoint",
1024
- "datacellar:timeStamp": "2006-12-25 03:00:00",
1025
- "datacellar:value": 2.22
1026
- },
1027
- {
1028
- "@type": "datacellar:DataPoint",
1029
- "datacellar:timeStamp": "2006-12-25 04:00:00",
1030
- "datacellar:value": 2.22
1031
- },
1032
- {
1033
- "@type": "datacellar:DataPoint",
1034
- "datacellar:timeStamp": "2006-12-25 05:00:00",
1035
- "datacellar:value": 2.22
1036
- },
1037
- {
1038
- "@type": "datacellar:DataPoint",
1039
- "datacellar:timeStamp": "2006-12-25 06:00:00",
1040
- "datacellar:value": 2.22
1041
- },
1042
- {
1043
- "@type": "datacellar:DataPoint",
1044
- "datacellar:timeStamp": "2006-12-25 07:00:00",
1045
- "datacellar:value": 1.11
1046
- }
1047
- ]
1048
- },
1049
- {
1050
- "@type": "datacellar:TimeSeries",
1051
- "datacellar:datasetFieldID": 2,
1052
- "datacellar:startDate": "Datetime",
1053
- "datacellar:endDate": "2006-12-25 07:00:00",
1054
- "datacellar:granularity": "1 hour",
1055
- "datacellar:dataPoints": [
1056
- {
1057
- "@type": "datacellar:DataPoint",
1058
- "datacellar:timeStamp": "2006-12-17 01:00:00",
1059
- "datacellar:value": 200.964
1060
- },
1061
- {
1062
- "@type": "datacellar:DataPoint",
1063
- "datacellar:timeStamp": "2006-12-17 02:00:00",
1064
- "datacellar:value": 95.236
1065
- },
1066
- {
1067
- "@type": "datacellar:DataPoint",
1068
- "datacellar:timeStamp": "2006-12-17 03:00:00",
1069
- "datacellar:value": 99.732
1070
- },
1071
- {
1072
- "@type": "datacellar:DataPoint",
1073
- "datacellar:timeStamp": "2006-12-17 04:00:00",
1074
- "datacellar:value": 132.946
1075
- },
1076
- {
1077
- "@type": "datacellar:DataPoint",
1078
- "datacellar:timeStamp": "2006-12-17 05:00:00",
1079
- "datacellar:value": 119.804
1080
- },
1081
- {
1082
- "@type": "datacellar:DataPoint",
1083
- "datacellar:timeStamp": "2006-12-17 06:00:00",
1084
- "datacellar:value": 78.198
1085
- },
1086
- {
1087
- "@type": "datacellar:DataPoint",
1088
- "datacellar:timeStamp": "2006-12-17 07:00:00",
1089
- "datacellar:value": 97.201996
1090
- },
1091
- {
1092
- "@type": "datacellar:DataPoint",
1093
- "datacellar:timeStamp": "2006-12-17 08:00:00",
1094
- "datacellar:value": 113.434
1095
- },
1096
- {
1097
- "@type": "datacellar:DataPoint",
1098
- "datacellar:timeStamp": "2006-12-17 09:00:00",
1099
- "datacellar:value": 152.944
1100
- },
1101
- {
1102
- "@type": "datacellar:DataPoint",
1103
- "datacellar:timeStamp": "2006-12-17 10:00:00",
1104
- "datacellar:value": 217.734
1105
- },
1106
- {
1107
- "@type": "datacellar:DataPoint",
1108
- "datacellar:timeStamp": "2006-12-17 11:00:00",
1109
- "datacellar:value": 148.26
1110
- },
1111
- {
1112
- "@type": "datacellar:DataPoint",
1113
- "datacellar:timeStamp": "2006-12-17 12:00:00",
1114
- "datacellar:value": 114.951996
1115
- },
1116
- {
1117
- "@type": "datacellar:DataPoint",
1118
- "datacellar:timeStamp": "2006-12-17 13:00:00",
1119
- "datacellar:value": 99.646
1120
- },
1121
- {
1122
- "@type": "datacellar:DataPoint",
1123
- "datacellar:timeStamp": "2006-12-17 14:00:00",
1124
- "datacellar:value": 125.558
1125
- },
1126
- {
1127
- "@type": "datacellar:DataPoint",
1128
- "datacellar:timeStamp": "2006-12-17 15:00:00",
1129
- "datacellar:value": 179.124
1130
- },
1131
- {
1132
- "@type": "datacellar:DataPoint",
1133
- "datacellar:timeStamp": "2006-12-17 16:00:00",
1134
- "datacellar:value": 199.562
1135
- },
1136
- {
1137
- "@type": "datacellar:DataPoint",
1138
- "datacellar:timeStamp": "2006-12-17 17:00:00",
1139
- "datacellar:value": 204.406
1140
- },
1141
- {
1142
- "@type": "datacellar:DataPoint",
1143
- "datacellar:timeStamp": "2006-12-17 18:00:00",
1144
- "datacellar:value": 221.826
1145
- },
1146
- {
1147
- "@type": "datacellar:DataPoint",
1148
- "datacellar:timeStamp": "2006-12-17 19:00:00",
1149
- "datacellar:value": 174.504
1150
- },
1151
- {
1152
- "@type": "datacellar:DataPoint",
1153
- "datacellar:timeStamp": "2006-12-17 20:00:00",
1154
- "datacellar:value": 201.69
1155
- },
1156
- {
1157
- "@type": "datacellar:DataPoint",
1158
- "datacellar:timeStamp": "2006-12-17 21:00:00",
1159
- "datacellar:value": 182.446
1160
- },
1161
- {
1162
- "@type": "datacellar:DataPoint",
1163
- "datacellar:timeStamp": "2006-12-17 22:00:00",
1164
- "datacellar:value": 91.08
1165
- },
1166
- {
1167
- "@type": "datacellar:DataPoint",
1168
- "datacellar:timeStamp": "2006-12-17 23:00:00",
1169
- "datacellar:value": 26.264
1170
- },
1171
- {
1172
- "@type": "datacellar:DataPoint",
1173
- "datacellar:timeStamp": "2006-12-18 00:00:00",
1174
- "datacellar:value": 16.582
1175
- },
1176
- {
1177
- "@type": "datacellar:DataPoint",
1178
- "datacellar:timeStamp": "2006-12-18 01:00:00",
1179
- "datacellar:value": 18.798
1180
- },
1181
- {
1182
- "@type": "datacellar:DataPoint",
1183
- "datacellar:timeStamp": "2006-12-18 02:00:00",
1184
- "datacellar:value": 17.068
1185
- },
1186
- {
1187
- "@type": "datacellar:DataPoint",
1188
- "datacellar:timeStamp": "2006-12-18 03:00:00",
1189
- "datacellar:value": 18.596
1190
- },
1191
- {
1192
- "@type": "datacellar:DataPoint",
1193
- "datacellar:timeStamp": "2006-12-18 04:00:00",
1194
- "datacellar:value": 61.58
1195
- },
1196
- {
1197
- "@type": "datacellar:DataPoint",
1198
- "datacellar:timeStamp": "2006-12-18 05:00:00",
1199
- "datacellar:value": 17.61
1200
- },
1201
- {
1202
- "@type": "datacellar:DataPoint",
1203
- "datacellar:timeStamp": "2006-12-18 06:00:00",
1204
- "datacellar:value": 36.6
1205
- },
1206
- {
1207
- "@type": "datacellar:DataPoint",
1208
- "datacellar:timeStamp": "2006-12-18 07:00:00",
1209
- "datacellar:value": 147.026
1210
- },
1211
- {
1212
- "@type": "datacellar:DataPoint",
1213
- "datacellar:timeStamp": "2006-12-18 08:00:00",
1214
- "datacellar:value": 124.928
1215
- },
1216
- {
1217
- "@type": "datacellar:DataPoint",
1218
- "datacellar:timeStamp": "2006-12-18 09:00:00",
1219
- "datacellar:value": 97.76
1220
- },
1221
- {
1222
- "@type": "datacellar:DataPoint",
1223
- "datacellar:timeStamp": "2006-12-18 10:00:00",
1224
- "datacellar:value": 78.578
1225
- },
1226
- {
1227
- "@type": "datacellar:DataPoint",
1228
- "datacellar:timeStamp": "2006-12-18 11:00:00",
1229
- "datacellar:value": 93.716
1230
- },
1231
- {
1232
- "@type": "datacellar:DataPoint",
1233
- "datacellar:timeStamp": "2006-12-18 12:00:00",
1234
- "datacellar:value": 105.364
1235
- },
1236
- {
1237
- "@type": "datacellar:DataPoint",
1238
- "datacellar:timeStamp": "2006-12-18 13:00:00",
1239
- "datacellar:value": 100.924
1240
- },
1241
- {
1242
- "@type": "datacellar:DataPoint",
1243
- "datacellar:timeStamp": "2006-12-18 14:00:00",
1244
- "datacellar:value": 103.982
1245
- },
1246
- {
1247
- "@type": "datacellar:DataPoint",
1248
- "datacellar:timeStamp": "2006-12-18 15:00:00",
1249
- "datacellar:value": 107.058
1250
- },
1251
- {
1252
- "@type": "datacellar:DataPoint",
1253
- "datacellar:timeStamp": "2006-12-18 16:00:00",
1254
- "datacellar:value": 116.958
1255
- },
1256
- {
1257
- "@type": "datacellar:DataPoint",
1258
- "datacellar:timeStamp": "2006-12-18 17:00:00",
1259
- "datacellar:value": 129.294
1260
- },
1261
- {
1262
- "@type": "datacellar:DataPoint",
1263
- "datacellar:timeStamp": "2006-12-18 18:00:00",
1264
- "datacellar:value": 144.152
1265
- },
1266
- {
1267
- "@type": "datacellar:DataPoint",
1268
- "datacellar:timeStamp": "2006-12-18 19:00:00",
1269
- "datacellar:value": 156.87
1270
- },
1271
- {
1272
- "@type": "datacellar:DataPoint",
1273
- "datacellar:timeStamp": "2006-12-18 20:00:00",
1274
- "datacellar:value": 183.034
1275
- },
1276
- {
1277
- "@type": "datacellar:DataPoint",
1278
- "datacellar:timeStamp": "2006-12-18 21:00:00",
1279
- "datacellar:value": 130.184
1280
- },
1281
- {
1282
- "@type": "datacellar:DataPoint",
1283
- "datacellar:timeStamp": "2006-12-18 22:00:00",
1284
- "datacellar:value": 104.328
1285
- },
1286
- {
1287
- "@type": "datacellar:DataPoint",
1288
- "datacellar:timeStamp": "2006-12-18 23:00:00",
1289
- "datacellar:value": 92.836
1290
- },
1291
- {
1292
- "@type": "datacellar:DataPoint",
1293
- "datacellar:timeStamp": "2006-12-19 00:00:00",
1294
- "datacellar:value": 50.228
1295
- },
1296
- {
1297
- "@type": "datacellar:DataPoint",
1298
- "datacellar:timeStamp": "2006-12-19 01:00:00",
1299
- "datacellar:value": 21.182
1300
- },
1301
- {
1302
- "@type": "datacellar:DataPoint",
1303
- "datacellar:timeStamp": "2006-12-19 02:00:00",
1304
- "datacellar:value": 19.634
1305
- },
1306
- {
1307
- "@type": "datacellar:DataPoint",
1308
- "datacellar:timeStamp": "2006-12-19 03:00:00",
1309
- "datacellar:value": 18.498
1310
- },
1311
- {
1312
- "@type": "datacellar:DataPoint",
1313
- "datacellar:timeStamp": "2006-12-19 04:00:00",
1314
- "datacellar:value": 19.67
1315
- },
1316
- {
1317
- "@type": "datacellar:DataPoint",
1318
- "datacellar:timeStamp": "2006-12-19 05:00:00",
1319
- "datacellar:value": 18.4
1320
- },
1321
- {
1322
- "@type": "datacellar:DataPoint",
1323
- "datacellar:timeStamp": "2006-12-19 06:00:00",
1324
- "datacellar:value": 47.78
1325
- },
1326
- {
1327
- "@type": "datacellar:DataPoint",
1328
- "datacellar:timeStamp": "2006-12-19 07:00:00",
1329
- "datacellar:value": 107.138
1330
- },
1331
- {
1332
- "@type": "datacellar:DataPoint",
1333
- "datacellar:timeStamp": "2006-12-19 08:00:00",
1334
- "datacellar:value": 232.742
1335
- },
1336
- {
1337
- "@type": "datacellar:DataPoint",
1338
- "datacellar:timeStamp": "2006-12-19 09:00:00",
1339
- "datacellar:value": 97.066
1340
- },
1341
- {
1342
- "@type": "datacellar:DataPoint",
1343
- "datacellar:timeStamp": "2006-12-19 10:00:00",
1344
- "datacellar:value": 26.228
1345
- },
1346
- {
1347
- "@type": "datacellar:DataPoint",
1348
- "datacellar:timeStamp": "2006-12-19 11:00:00",
1349
- "datacellar:value": 139.298
1350
- },
1351
- {
1352
- "@type": "datacellar:DataPoint",
1353
- "datacellar:timeStamp": "2006-12-19 12:00:00",
1354
- "datacellar:value": 25.84
1355
- },
1356
- {
1357
- "@type": "datacellar:DataPoint",
1358
- "datacellar:timeStamp": "2006-12-19 13:00:00",
1359
- "datacellar:value": 18.028
1360
- },
1361
- {
1362
- "@type": "datacellar:DataPoint",
1363
- "datacellar:timeStamp": "2006-12-19 14:00:00",
1364
- "datacellar:value": 18.128
1365
- },
1366
- {
1367
- "@type": "datacellar:DataPoint",
1368
- "datacellar:timeStamp": "2006-12-19 15:00:00",
1369
- "datacellar:value": 25.282
1370
- },
1371
- {
1372
- "@type": "datacellar:DataPoint",
1373
- "datacellar:timeStamp": "2006-12-19 16:00:00",
1374
- "datacellar:value": 82.328
1375
- },
1376
- {
1377
- "@type": "datacellar:DataPoint",
1378
- "datacellar:timeStamp": "2006-12-19 17:00:00",
1379
- "datacellar:value": 126.69
1380
- },
1381
- {
1382
- "@type": "datacellar:DataPoint",
1383
- "datacellar:timeStamp": "2006-12-19 18:00:00",
1384
- "datacellar:value": 132.282
1385
- },
1386
- {
1387
- "@type": "datacellar:DataPoint",
1388
- "datacellar:timeStamp": "2006-12-19 19:00:00",
1389
- "datacellar:value": 110.526
1390
- },
1391
- {
1392
- "@type": "datacellar:DataPoint",
1393
- "datacellar:timeStamp": "2006-12-19 20:00:00",
1394
- "datacellar:value": 176.432
1395
- },
1396
- {
1397
- "@type": "datacellar:DataPoint",
1398
- "datacellar:timeStamp": "2006-12-19 21:00:00",
1399
- "datacellar:value": 86.572
1400
- },
1401
- {
1402
- "@type": "datacellar:DataPoint",
1403
- "datacellar:timeStamp": "2006-12-19 22:00:00",
1404
- "datacellar:value": 43.2
1405
- },
1406
- {
1407
- "@type": "datacellar:DataPoint",
1408
- "datacellar:timeStamp": "2006-12-19 23:00:00",
1409
- "datacellar:value": 23.022
1410
- },
1411
- {
1412
- "@type": "datacellar:DataPoint",
1413
- "datacellar:timeStamp": "2006-12-20 00:00:00",
1414
- "datacellar:value": 27.59
1415
- },
1416
- {
1417
- "@type": "datacellar:DataPoint",
1418
- "datacellar:timeStamp": "2006-12-20 01:00:00",
1419
- "datacellar:value": 15.52
1420
- },
1421
- {
1422
- "@type": "datacellar:DataPoint",
1423
- "datacellar:timeStamp": "2006-12-20 02:00:00",
1424
- "datacellar:value": 47.062
1425
- },
1426
- {
1427
- "@type": "datacellar:DataPoint",
1428
- "datacellar:timeStamp": "2006-12-20 03:00:00",
1429
- "datacellar:value": 18.602
1430
- },
1431
- {
1432
- "@type": "datacellar:DataPoint",
1433
- "datacellar:timeStamp": "2006-12-20 04:00:00",
1434
- "datacellar:value": 17.34
1435
- },
1436
- {
1437
- "@type": "datacellar:DataPoint",
1438
- "datacellar:timeStamp": "2006-12-20 05:00:00",
1439
- "datacellar:value": 15.762
1440
- },
1441
- {
1442
- "@type": "datacellar:DataPoint",
1443
- "datacellar:timeStamp": "2006-12-20 06:00:00",
1444
- "datacellar:value": 17.016
1445
- },
1446
- {
1447
- "@type": "datacellar:DataPoint",
1448
- "datacellar:timeStamp": "2006-12-20 07:00:00",
1449
- "datacellar:value": 91.598
1450
- },
1451
- {
1452
- "@type": "datacellar:DataPoint",
1453
- "datacellar:timeStamp": "2006-12-20 08:00:00",
1454
- "datacellar:value": 175.056
1455
- },
1456
- {
1457
- "@type": "datacellar:DataPoint",
1458
- "datacellar:timeStamp": "2006-12-20 09:00:00",
1459
- "datacellar:value": 83.132
1460
- },
1461
- {
1462
- "@type": "datacellar:DataPoint",
1463
- "datacellar:timeStamp": "2006-12-20 10:00:00",
1464
- "datacellar:value": 90.618
1465
- },
1466
- {
1467
- "@type": "datacellar:DataPoint",
1468
- "datacellar:timeStamp": "2006-12-20 11:00:00",
1469
- "datacellar:value": 173.544
1470
- },
1471
- {
1472
- "@type": "datacellar:DataPoint",
1473
- "datacellar:timeStamp": "2006-12-20 12:00:00",
1474
- "datacellar:value": 85.262
1475
- },
1476
- {
1477
- "@type": "datacellar:DataPoint",
1478
- "datacellar:timeStamp": "2006-12-20 13:00:00",
1479
- "datacellar:value": 85.704
1480
- },
1481
- {
1482
- "@type": "datacellar:DataPoint",
1483
- "datacellar:timeStamp": "2006-12-20 14:00:00",
1484
- "datacellar:value": 77.694
1485
- },
1486
- {
1487
- "@type": "datacellar:DataPoint",
1488
- "datacellar:timeStamp": "2006-12-20 15:00:00",
1489
- "datacellar:value": 16.868
1490
- },
1491
- {
1492
- "@type": "datacellar:DataPoint",
1493
- "datacellar:timeStamp": "2006-12-20 16:00:00",
1494
- "datacellar:value": 28.105999
1495
- },
1496
- {
1497
- "@type": "datacellar:DataPoint",
1498
- "datacellar:timeStamp": "2006-12-20 17:00:00",
1499
- "datacellar:value": 34.41
1500
- },
1501
- {
1502
- "@type": "datacellar:DataPoint",
1503
- "datacellar:timeStamp": "2006-12-20 18:00:00",
1504
- "datacellar:value": 170.21
1505
- },
1506
- {
1507
- "@type": "datacellar:DataPoint",
1508
- "datacellar:timeStamp": "2006-12-20 19:00:00",
1509
- "datacellar:value": 194.918
1510
- },
1511
- {
1512
- "@type": "datacellar:DataPoint",
1513
- "datacellar:timeStamp": "2006-12-20 20:00:00",
1514
- "datacellar:value": 214.528
1515
- },
1516
- {
1517
- "@type": "datacellar:DataPoint",
1518
- "datacellar:timeStamp": "2006-12-20 21:00:00",
1519
- "datacellar:value": 218.764
1520
- },
1521
- {
1522
- "@type": "datacellar:DataPoint",
1523
- "datacellar:timeStamp": "2006-12-20 22:00:00",
1524
- "datacellar:value": 183.538
1525
- },
1526
- {
1527
- "@type": "datacellar:DataPoint",
1528
- "datacellar:timeStamp": "2006-12-20 23:00:00",
1529
- "datacellar:value": 142.906
1530
- },
1531
- {
1532
- "@type": "datacellar:DataPoint",
1533
- "datacellar:timeStamp": "2006-12-21 00:00:00",
1534
- "datacellar:value": 92.152
1535
- },
1536
- {
1537
- "@type": "datacellar:DataPoint",
1538
- "datacellar:timeStamp": "2006-12-21 01:00:00",
1539
- "datacellar:value": 83.878
1540
- },
1541
- {
1542
- "@type": "datacellar:DataPoint",
1543
- "datacellar:timeStamp": "2006-12-21 02:00:00",
1544
- "datacellar:value": 76.494
1545
- },
1546
- {
1547
- "@type": "datacellar:DataPoint",
1548
- "datacellar:timeStamp": "2006-12-21 03:00:00",
1549
- "datacellar:value": 18.156
1550
- },
1551
- {
1552
- "@type": "datacellar:DataPoint",
1553
- "datacellar:timeStamp": "2006-12-21 04:00:00",
1554
- "datacellar:value": 14.804
1555
- },
1556
- {
1557
- "@type": "datacellar:DataPoint",
1558
- "datacellar:timeStamp": "2006-12-21 05:00:00",
1559
- "datacellar:value": 17.442
1560
- },
1561
- {
1562
- "@type": "datacellar:DataPoint",
1563
- "datacellar:timeStamp": "2006-12-21 06:00:00",
1564
- "datacellar:value": 17.74
1565
- },
1566
- {
1567
- "@type": "datacellar:DataPoint",
1568
- "datacellar:timeStamp": "2006-12-21 07:00:00",
1569
- "datacellar:value": 76.828
1570
- },
1571
- {
1572
- "@type": "datacellar:DataPoint",
1573
- "datacellar:timeStamp": "2006-12-21 08:00:00",
1574
- "datacellar:value": 93.782
1575
- },
1576
- {
1577
- "@type": "datacellar:DataPoint",
1578
- "datacellar:timeStamp": "2006-12-21 09:00:00",
1579
- "datacellar:value": 154.548
1580
- },
1581
- {
1582
- "@type": "datacellar:DataPoint",
1583
- "datacellar:timeStamp": "2006-12-21 10:00:00",
1584
- "datacellar:value": 106.062
1585
- },
1586
- {
1587
- "@type": "datacellar:DataPoint",
1588
- "datacellar:timeStamp": "2006-12-21 11:00:00",
1589
- "datacellar:value": 37.674
1590
- },
1591
- {
1592
- "@type": "datacellar:DataPoint",
1593
- "datacellar:timeStamp": "2006-12-21 12:00:00",
1594
- "datacellar:value": 49.148
1595
- },
1596
- {
1597
- "@type": "datacellar:DataPoint",
1598
- "datacellar:timeStamp": "2006-12-21 13:00:00",
1599
- "datacellar:value": 101.294
1600
- },
1601
- {
1602
- "@type": "datacellar:DataPoint",
1603
- "datacellar:timeStamp": "2006-12-21 14:00:00",
1604
- "datacellar:value": 61.434002
1605
- },
1606
- {
1607
- "@type": "datacellar:DataPoint",
1608
- "datacellar:timeStamp": "2006-12-21 15:00:00",
1609
- "datacellar:value": 18.444
1610
- },
1611
- {
1612
- "@type": "datacellar:DataPoint",
1613
- "datacellar:timeStamp": "2006-12-21 16:00:00",
1614
- "datacellar:value": 81.604
1615
- },
1616
- {
1617
- "@type": "datacellar:DataPoint",
1618
- "datacellar:timeStamp": "2006-12-21 17:00:00",
1619
- "datacellar:value": 105.158
1620
- },
1621
- {
1622
- "@type": "datacellar:DataPoint",
1623
- "datacellar:timeStamp": "2006-12-21 18:00:00",
1624
- "datacellar:value": 146.598
1625
- },
1626
- {
1627
- "@type": "datacellar:DataPoint",
1628
- "datacellar:timeStamp": "2006-12-21 19:00:00",
1629
- "datacellar:value": 131.828
1630
- },
1631
- {
1632
- "@type": "datacellar:DataPoint",
1633
- "datacellar:timeStamp": "2006-12-21 20:00:00",
1634
- "datacellar:value": 146.242
1635
- },
1636
- {
1637
- "@type": "datacellar:DataPoint",
1638
- "datacellar:timeStamp": "2006-12-21 21:00:00",
1639
- "datacellar:value": 58.936
1640
- },
1641
- {
1642
- "@type": "datacellar:DataPoint",
1643
- "datacellar:timeStamp": "2006-12-21 22:00:00",
1644
- "datacellar:value": 16.816
1645
- },
1646
- {
1647
- "@type": "datacellar:DataPoint",
1648
- "datacellar:timeStamp": "2006-12-21 23:00:00",
1649
- "datacellar:value": 16.226
1650
- },
1651
- {
1652
- "@type": "datacellar:DataPoint",
1653
- "datacellar:timeStamp": "2006-12-22 00:00:00",
1654
- "datacellar:value": 16.016
1655
- },
1656
- {
1657
- "@type": "datacellar:DataPoint",
1658
- "datacellar:timeStamp": "2006-12-22 01:00:00",
1659
- "datacellar:value": 16.32
1660
- },
1661
- {
1662
- "@type": "datacellar:DataPoint",
1663
- "datacellar:timeStamp": "2006-12-22 02:00:00",
1664
- "datacellar:value": 16.058
1665
- },
1666
- {
1667
- "@type": "datacellar:DataPoint",
1668
- "datacellar:timeStamp": "2006-12-22 03:00:00",
1669
- "datacellar:value": 16.432
1670
- },
1671
- {
1672
- "@type": "datacellar:DataPoint",
1673
- "datacellar:timeStamp": "2006-12-22 04:00:00",
1674
- "datacellar:value": 15.856
1675
- },
1676
- {
1677
- "@type": "datacellar:DataPoint",
1678
- "datacellar:timeStamp": "2006-12-22 05:00:00",
1679
- "datacellar:value": 48.41
1680
- },
1681
- {
1682
- "@type": "datacellar:DataPoint",
1683
- "datacellar:timeStamp": "2006-12-22 06:00:00",
1684
- "datacellar:value": 28.778
1685
- },
1686
- {
1687
- "@type": "datacellar:DataPoint",
1688
- "datacellar:timeStamp": "2006-12-22 07:00:00",
1689
- "datacellar:value": 103.392
1690
- },
1691
- {
1692
- "@type": "datacellar:DataPoint",
1693
- "datacellar:timeStamp": "2006-12-22 08:00:00",
1694
- "datacellar:value": 164.664
1695
- },
1696
- {
1697
- "@type": "datacellar:DataPoint",
1698
- "datacellar:timeStamp": "2006-12-22 09:00:00",
1699
- "datacellar:value": 113.778
1700
- },
1701
- {
1702
- "@type": "datacellar:DataPoint",
1703
- "datacellar:timeStamp": "2006-12-22 10:00:00",
1704
- "datacellar:value": 80.698
1705
- },
1706
- {
1707
- "@type": "datacellar:DataPoint",
1708
- "datacellar:timeStamp": "2006-12-22 11:00:00",
1709
- "datacellar:value": 75.154
1710
- },
1711
- {
1712
- "@type": "datacellar:DataPoint",
1713
- "datacellar:timeStamp": "2006-12-22 12:00:00",
1714
- "datacellar:value": 73.708
1715
- },
1716
- {
1717
- "@type": "datacellar:DataPoint",
1718
- "datacellar:timeStamp": "2006-12-22 13:00:00",
1719
- "datacellar:value": 40.314
1720
- },
1721
- {
1722
- "@type": "datacellar:DataPoint",
1723
- "datacellar:timeStamp": "2006-12-22 14:00:00",
1724
- "datacellar:value": 48.934
1725
- },
1726
- {
1727
- "@type": "datacellar:DataPoint",
1728
- "datacellar:timeStamp": "2006-12-22 15:00:00",
1729
- "datacellar:value": 87.098
1730
- },
1731
- {
1732
- "@type": "datacellar:DataPoint",
1733
- "datacellar:timeStamp": "2006-12-22 16:00:00",
1734
- "datacellar:value": 94.272
1735
- },
1736
- {
1737
- "@type": "datacellar:DataPoint",
1738
- "datacellar:timeStamp": "2006-12-22 17:00:00",
1739
- "datacellar:value": 89.808
1740
- },
1741
- {
1742
- "@type": "datacellar:DataPoint",
1743
- "datacellar:timeStamp": "2006-12-22 18:00:00",
1744
- "datacellar:value": 161.218
1745
- },
1746
- {
1747
- "@type": "datacellar:DataPoint",
1748
- "datacellar:timeStamp": "2006-12-22 19:00:00",
1749
- "datacellar:value": 236.29
1750
- },
1751
- {
1752
- "@type": "datacellar:DataPoint",
1753
- "datacellar:timeStamp": "2006-12-22 20:00:00",
1754
- "datacellar:value": 212.164
1755
- },
1756
- {
1757
- "@type": "datacellar:DataPoint",
1758
- "datacellar:timeStamp": "2006-12-22 21:00:00",
1759
- "datacellar:value": 272.92
1760
- },
1761
- {
1762
- "@type": "datacellar:DataPoint",
1763
- "datacellar:timeStamp": "2006-12-22 22:00:00",
1764
- "datacellar:value": 183.904
1765
- },
1766
- {
1767
- "@type": "datacellar:DataPoint",
1768
- "datacellar:timeStamp": "2006-12-22 23:00:00",
1769
- "datacellar:value": 145.152
1770
- },
1771
- {
1772
- "@type": "datacellar:DataPoint",
1773
- "datacellar:timeStamp": "2006-12-23 00:00:00",
1774
- "datacellar:value": 101.894
1775
- },
1776
- {
1777
- "@type": "datacellar:DataPoint",
1778
- "datacellar:timeStamp": "2006-12-23 01:00:00",
1779
- "datacellar:value": 103.368004
1780
- },
1781
- {
1782
- "@type": "datacellar:DataPoint",
1783
- "datacellar:timeStamp": "2006-12-23 02:00:00",
1784
- "datacellar:value": 102.046
1785
- },
1786
- {
1787
- "@type": "datacellar:DataPoint",
1788
- "datacellar:timeStamp": "2006-12-23 03:00:00",
1789
- "datacellar:value": 106.292
1790
- },
1791
- {
1792
- "@type": "datacellar:DataPoint",
1793
- "datacellar:timeStamp": "2006-12-23 04:00:00",
1794
- "datacellar:value": 113.496
1795
- },
1796
- {
1797
- "@type": "datacellar:DataPoint",
1798
- "datacellar:timeStamp": "2006-12-23 05:00:00",
1799
- "datacellar:value": 133.746
1800
- },
1801
- {
1802
- "@type": "datacellar:DataPoint",
1803
- "datacellar:timeStamp": "2006-12-23 06:00:00",
1804
- "datacellar:value": 98.962
1805
- },
1806
- {
1807
- "@type": "datacellar:DataPoint",
1808
- "datacellar:timeStamp": "2006-12-23 07:00:00",
1809
- "datacellar:value": 241.40201
1810
- },
1811
- {
1812
- "@type": "datacellar:DataPoint",
1813
- "datacellar:timeStamp": "2006-12-23 08:00:00",
1814
- "datacellar:value": 251.45
1815
- },
1816
- {
1817
- "@type": "datacellar:DataPoint",
1818
- "datacellar:timeStamp": "2006-12-23 09:00:00",
1819
- "datacellar:value": 194.784
1820
- },
1821
- {
1822
- "@type": "datacellar:DataPoint",
1823
- "datacellar:timeStamp": "2006-12-23 10:00:00",
1824
- "datacellar:value": 178.33
1825
- },
1826
- {
1827
- "@type": "datacellar:DataPoint",
1828
- "datacellar:timeStamp": "2006-12-23 11:00:00",
1829
- "datacellar:value": 189.54
1830
- },
1831
- {
1832
- "@type": "datacellar:DataPoint",
1833
- "datacellar:timeStamp": "2006-12-23 12:00:00",
1834
- "datacellar:value": 175.728
1835
- },
1836
- {
1837
- "@type": "datacellar:DataPoint",
1838
- "datacellar:timeStamp": "2006-12-23 13:00:00",
1839
- "datacellar:value": 204.378
1840
- },
1841
- {
1842
- "@type": "datacellar:DataPoint",
1843
- "datacellar:timeStamp": "2006-12-23 14:00:00",
1844
- "datacellar:value": 225.478
1845
- },
1846
- {
1847
- "@type": "datacellar:DataPoint",
1848
- "datacellar:timeStamp": "2006-12-23 15:00:00",
1849
- "datacellar:value": 242.946
1850
- },
1851
- {
1852
- "@type": "datacellar:DataPoint",
1853
- "datacellar:timeStamp": "2006-12-23 16:00:00",
1854
- "datacellar:value": 260.94598
1855
- },
1856
- {
1857
- "@type": "datacellar:DataPoint",
1858
- "datacellar:timeStamp": "2006-12-23 17:00:00",
1859
- "datacellar:value": 327.152
1860
- },
1861
- {
1862
- "@type": "datacellar:DataPoint",
1863
- "datacellar:timeStamp": "2006-12-23 18:00:00",
1864
- "datacellar:value": 232.76399
1865
- },
1866
- {
1867
- "@type": "datacellar:DataPoint",
1868
- "datacellar:timeStamp": "2006-12-23 19:00:00",
1869
- "datacellar:value": 247.06999
1870
- },
1871
- {
1872
- "@type": "datacellar:DataPoint",
1873
- "datacellar:timeStamp": "2006-12-23 20:00:00",
1874
- "datacellar:value": 250.884
1875
- },
1876
- {
1877
- "@type": "datacellar:DataPoint",
1878
- "datacellar:timeStamp": "2006-12-23 21:00:00",
1879
- "datacellar:value": 197.306
1880
- },
1881
- {
1882
- "@type": "datacellar:DataPoint",
1883
- "datacellar:timeStamp": "2006-12-23 22:00:00",
1884
- "datacellar:value": 259.676
1885
- },
1886
- {
1887
- "@type": "datacellar:DataPoint",
1888
- "datacellar:timeStamp": "2006-12-23 23:00:00",
1889
- "datacellar:value": 333.748
1890
- },
1891
- {
1892
- "@type": "datacellar:DataPoint",
1893
- "datacellar:timeStamp": "2006-12-24 00:00:00",
1894
- "datacellar:value": 241.68
1895
- },
1896
- {
1897
- "@type": "datacellar:DataPoint",
1898
- "datacellar:timeStamp": "2006-12-24 01:00:00",
1899
- "datacellar:value": 196.54199
1900
- },
1901
- {
1902
- "@type": "datacellar:DataPoint",
1903
- "datacellar:timeStamp": "2006-12-24 02:00:00",
1904
- "datacellar:value": 138.182
1905
- },
1906
- {
1907
- "@type": "datacellar:DataPoint",
1908
- "datacellar:timeStamp": "2006-12-24 03:00:00",
1909
- "datacellar:value": 96.406
1910
- },
1911
- {
1912
- "@type": "datacellar:DataPoint",
1913
- "datacellar:timeStamp": "2006-12-24 04:00:00",
1914
- "datacellar:value": 94.566
1915
- },
1916
- {
1917
- "@type": "datacellar:DataPoint",
1918
- "datacellar:timeStamp": "2006-12-24 05:00:00",
1919
- "datacellar:value": 97.914
1920
- },
1921
- {
1922
- "@type": "datacellar:DataPoint",
1923
- "datacellar:timeStamp": "2006-12-24 06:00:00",
1924
- "datacellar:value": 113.712
1925
- },
1926
- {
1927
- "@type": "datacellar:DataPoint",
1928
- "datacellar:timeStamp": "2006-12-24 07:00:00",
1929
- "datacellar:value": 88.584
1930
- },
1931
- {
1932
- "@type": "datacellar:DataPoint",
1933
- "datacellar:timeStamp": "2006-12-24 08:00:00",
1934
- "datacellar:value": 85.666
1935
- },
1936
- {
1937
- "@type": "datacellar:DataPoint",
1938
- "datacellar:timeStamp": "2006-12-24 09:00:00",
1939
- "datacellar:value": 163.54
1940
- },
1941
- {
1942
- "@type": "datacellar:DataPoint",
1943
- "datacellar:timeStamp": "2006-12-24 10:00:00",
1944
- "datacellar:value": 160.52
1945
- },
1946
- {
1947
- "@type": "datacellar:DataPoint",
1948
- "datacellar:timeStamp": "2006-12-24 11:00:00",
1949
- "datacellar:value": 125.576
1950
- },
1951
- {
1952
- "@type": "datacellar:DataPoint",
1953
- "datacellar:timeStamp": "2006-12-24 12:00:00",
1954
- "datacellar:value": 90.0
1955
- },
1956
- {
1957
- "@type": "datacellar:DataPoint",
1958
- "datacellar:timeStamp": "2006-12-24 13:00:00",
1959
- "datacellar:value": 194.396
1960
- },
1961
- {
1962
- "@type": "datacellar:DataPoint",
1963
- "datacellar:timeStamp": "2006-12-24 14:00:00",
1964
- "datacellar:value": 82.292
1965
- },
1966
- {
1967
- "@type": "datacellar:DataPoint",
1968
- "datacellar:timeStamp": "2006-12-24 15:00:00",
1969
- "datacellar:value": 185.81
1970
- },
1971
- {
1972
- "@type": "datacellar:DataPoint",
1973
- "datacellar:timeStamp": "2006-12-24 16:00:00",
1974
- "datacellar:value": 120.428
1975
- },
1976
- {
1977
- "@type": "datacellar:DataPoint",
1978
- "datacellar:timeStamp": "2006-12-24 17:00:00",
1979
- "datacellar:value": 101.19
1980
- },
1981
- {
1982
- "@type": "datacellar:DataPoint",
1983
- "datacellar:timeStamp": "2006-12-24 18:00:00",
1984
- "datacellar:value": 30.312
1985
- },
1986
- {
1987
- "@type": "datacellar:DataPoint",
1988
- "datacellar:timeStamp": "2006-12-24 19:00:00",
1989
- "datacellar:value": 27.242
1990
- },
1991
- {
1992
- "@type": "datacellar:DataPoint",
1993
- "datacellar:timeStamp": "2006-12-24 20:00:00",
1994
- "datacellar:value": 28.446
1995
- },
1996
- {
1997
- "@type": "datacellar:DataPoint",
1998
- "datacellar:timeStamp": "2006-12-24 21:00:00",
1999
- "datacellar:value": 29.042
2000
- },
2001
- {
2002
- "@type": "datacellar:DataPoint",
2003
- "datacellar:timeStamp": "2006-12-24 22:00:00",
2004
- "datacellar:value": 28.786
2005
- },
2006
- {
2007
- "@type": "datacellar:DataPoint",
2008
- "datacellar:timeStamp": "2006-12-24 23:00:00",
2009
- "datacellar:value": 29.18
2010
- },
2011
- {
2012
- "@type": "datacellar:DataPoint",
2013
- "datacellar:timeStamp": "2006-12-25 00:00:00",
2014
- "datacellar:value": 59.974
2015
- },
2016
- {
2017
- "@type": "datacellar:DataPoint",
2018
- "datacellar:timeStamp": "2006-12-25 01:00:00",
2019
- "datacellar:value": 72.406
2020
- },
2021
- {
2022
- "@type": "datacellar:DataPoint",
2023
- "datacellar:timeStamp": "2006-12-25 02:00:00",
2024
- "datacellar:value": 26.28
2025
- },
2026
- {
2027
- "@type": "datacellar:DataPoint",
2028
- "datacellar:timeStamp": "2006-12-25 03:00:00",
2029
- "datacellar:value": 35.398
2030
- },
2031
- {
2032
- "@type": "datacellar:DataPoint",
2033
- "datacellar:timeStamp": "2006-12-25 04:00:00",
2034
- "datacellar:value": 34.72
2035
- },
2036
- {
2037
- "@type": "datacellar:DataPoint",
2038
- "datacellar:timeStamp": "2006-12-25 05:00:00",
2039
- "datacellar:value": 37.206
2040
- },
2041
- {
2042
- "@type": "datacellar:DataPoint",
2043
- "datacellar:timeStamp": "2006-12-25 06:00:00",
2044
- "datacellar:value": 15.844
2045
- },
2046
- {
2047
- "@type": "datacellar:DataPoint",
2048
- "datacellar:timeStamp": "2006-12-25 07:00:00",
2049
- "datacellar:value": 40.607998
2050
- }
2051
- ]
2052
- }
2053
- ],
2054
-
2055
-
2056
- "datacellar:datasetMetadataList": [
2057
- {
2058
- "@type": "datacellar:GeoLocalizedDataset",
2059
- "datacellar:latitude": 48.7786,
2060
- "datacellar:longitude": 2.2906,
2061
- "datacellar:postalCode": "10001"
2062
- }
2063
- ]
2064
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
samples/3_short_term_production.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/4_NILM.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/5_anomaly_detection_consumption.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/6_anomaly_detection_production.json DELETED
@@ -1,1855 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Energy Production Anomaly Detection Data",
7
- "datacellar:description": "Energy production anomaly detection sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "generatedEnergy",
18
- "datacellar:description": "Generated energy",
19
- "datacellar:timeseriesMetadataType": "",
20
- "datacellar:type": {
21
- "@type": "datacellar:FieldType",
22
- "datacellar:unitText": "kWh",
23
- "datacellar:averagable": true,
24
- "datacellar:summable": false,
25
- "datacellar:anonymizable": false
26
- }
27
- }
28
- ]
29
- },
30
- "datacellar:timeSeriesList": [
31
- {
32
- "@type": "datacellar:TimeSeries",
33
- "datacellar:datasetFieldID": 1,
34
- "datacellar:startDate": "2023-05-22 00:00:00",
35
- "datacellar:endDate": "2023-06-05 23:00:00",
36
- "datacellar:timeZone": 0,
37
- "datacellar:granularity": "1 hour",
38
- "datacellar:dataPoints": [
39
- {
40
- "@type": "datacellar:DataPoint",
41
- "datacellar:timeStamp": "2023-05-22 00:00:00",
42
- "datacellar:value": 0.0
43
- },
44
- {
45
- "@type": "datacellar:DataPoint",
46
- "datacellar:timeStamp": "2023-05-22 01:00:00",
47
- "datacellar:value": 0.0
48
- },
49
- {
50
- "@type": "datacellar:DataPoint",
51
- "datacellar:timeStamp": "2023-05-22 02:00:00",
52
- "datacellar:value": 0.0
53
- },
54
- {
55
- "@type": "datacellar:DataPoint",
56
- "datacellar:timeStamp": "2023-05-22 03:00:00",
57
- "datacellar:value": 0.0
58
- },
59
- {
60
- "@type": "datacellar:DataPoint",
61
- "datacellar:timeStamp": "2023-05-22 04:00:00",
62
- "datacellar:value": 0.0
63
- },
64
- {
65
- "@type": "datacellar:DataPoint",
66
- "datacellar:timeStamp": "2023-05-22 05:00:00",
67
- "datacellar:value": 0.0
68
- },
69
- {
70
- "@type": "datacellar:DataPoint",
71
- "datacellar:timeStamp": "2023-05-22 06:00:00",
72
- "datacellar:value": 0.0
73
- },
74
- {
75
- "@type": "datacellar:DataPoint",
76
- "datacellar:timeStamp": "2023-05-22 07:00:00",
77
- "datacellar:value": 0.0
78
- },
79
- {
80
- "@type": "datacellar:DataPoint",
81
- "datacellar:timeStamp": "2023-05-22 08:00:00",
82
- "datacellar:value": 0.0
83
- },
84
- {
85
- "@type": "datacellar:DataPoint",
86
- "datacellar:timeStamp": "2023-05-22 09:00:00",
87
- "datacellar:value": 0.0
88
- },
89
- {
90
- "@type": "datacellar:DataPoint",
91
- "datacellar:timeStamp": "2023-05-22 10:00:00",
92
- "datacellar:value": 0.0
93
- },
94
- {
95
- "@type": "datacellar:DataPoint",
96
- "datacellar:timeStamp": "2023-05-22 11:00:00",
97
- "datacellar:value": 0.0
98
- },
99
- {
100
- "@type": "datacellar:DataPoint",
101
- "datacellar:timeStamp": "2023-05-22 12:00:00",
102
- "datacellar:value": 0.0
103
- },
104
- {
105
- "@type": "datacellar:DataPoint",
106
- "datacellar:timeStamp": "2023-05-22 13:00:00",
107
- "datacellar:value": 0.0
108
- },
109
- {
110
- "@type": "datacellar:DataPoint",
111
- "datacellar:timeStamp": "2023-05-22 14:00:00",
112
- "datacellar:value": 0.0
113
- },
114
- {
115
- "@type": "datacellar:DataPoint",
116
- "datacellar:timeStamp": "2023-05-22 15:00:00",
117
- "datacellar:value": 0.0
118
- },
119
- {
120
- "@type": "datacellar:DataPoint",
121
- "datacellar:timeStamp": "2023-05-22 16:00:00",
122
- "datacellar:value": 0.0
123
- },
124
- {
125
- "@type": "datacellar:DataPoint",
126
- "datacellar:timeStamp": "2023-05-22 17:00:00",
127
- "datacellar:value": 0.0
128
- },
129
- {
130
- "@type": "datacellar:DataPoint",
131
- "datacellar:timeStamp": "2023-05-22 18:00:00",
132
- "datacellar:value": 0.0
133
- },
134
- {
135
- "@type": "datacellar:DataPoint",
136
- "datacellar:timeStamp": "2023-05-22 19:00:00",
137
- "datacellar:value": 0.0
138
- },
139
- {
140
- "@type": "datacellar:DataPoint",
141
- "datacellar:timeStamp": "2023-05-22 20:00:00",
142
- "datacellar:value": 0.0
143
- },
144
- {
145
- "@type": "datacellar:DataPoint",
146
- "datacellar:timeStamp": "2023-05-22 21:00:00",
147
- "datacellar:value": 0.0
148
- },
149
- {
150
- "@type": "datacellar:DataPoint",
151
- "datacellar:timeStamp": "2023-05-22 22:00:00",
152
- "datacellar:value": 0.0
153
- },
154
- {
155
- "@type": "datacellar:DataPoint",
156
- "datacellar:timeStamp": "2023-05-22 23:00:00",
157
- "datacellar:value": 0.0
158
- },
159
- {
160
- "@type": "datacellar:DataPoint",
161
- "datacellar:timeStamp": "2023-05-23 00:00:00",
162
- "datacellar:value": 0.0
163
- },
164
- {
165
- "@type": "datacellar:DataPoint",
166
- "datacellar:timeStamp": "2023-05-23 01:00:00",
167
- "datacellar:value": 0.0
168
- },
169
- {
170
- "@type": "datacellar:DataPoint",
171
- "datacellar:timeStamp": "2023-05-23 02:00:00",
172
- "datacellar:value": 0.0
173
- },
174
- {
175
- "@type": "datacellar:DataPoint",
176
- "datacellar:timeStamp": "2023-05-23 03:00:00",
177
- "datacellar:value": 0.0
178
- },
179
- {
180
- "@type": "datacellar:DataPoint",
181
- "datacellar:timeStamp": "2023-05-23 04:00:00",
182
- "datacellar:value": 0.0
183
- },
184
- {
185
- "@type": "datacellar:DataPoint",
186
- "datacellar:timeStamp": "2023-05-23 05:00:00",
187
- "datacellar:value": 0.0
188
- },
189
- {
190
- "@type": "datacellar:DataPoint",
191
- "datacellar:timeStamp": "2023-05-23 06:00:00",
192
- "datacellar:value": 0.0
193
- },
194
- {
195
- "@type": "datacellar:DataPoint",
196
- "datacellar:timeStamp": "2023-05-23 07:00:00",
197
- "datacellar:value": 0.0
198
- },
199
- {
200
- "@type": "datacellar:DataPoint",
201
- "datacellar:timeStamp": "2023-05-23 08:00:00",
202
- "datacellar:value": 0.0
203
- },
204
- {
205
- "@type": "datacellar:DataPoint",
206
- "datacellar:timeStamp": "2023-05-23 09:00:00",
207
- "datacellar:value": 0.0
208
- },
209
- {
210
- "@type": "datacellar:DataPoint",
211
- "datacellar:timeStamp": "2023-05-23 10:00:00",
212
- "datacellar:value": 0.0
213
- },
214
- {
215
- "@type": "datacellar:DataPoint",
216
- "datacellar:timeStamp": "2023-05-23 11:00:00",
217
- "datacellar:value": 0.0
218
- },
219
- {
220
- "@type": "datacellar:DataPoint",
221
- "datacellar:timeStamp": "2023-05-23 12:00:00",
222
- "datacellar:value": 0.0
223
- },
224
- {
225
- "@type": "datacellar:DataPoint",
226
- "datacellar:timeStamp": "2023-05-23 13:00:00",
227
- "datacellar:value": 1.11
228
- },
229
- {
230
- "@type": "datacellar:DataPoint",
231
- "datacellar:timeStamp": "2023-05-23 14:00:00",
232
- "datacellar:value": 7.34
233
- },
234
- {
235
- "@type": "datacellar:DataPoint",
236
- "datacellar:timeStamp": "2023-05-23 15:00:00",
237
- "datacellar:value": 12.79
238
- },
239
- {
240
- "@type": "datacellar:DataPoint",
241
- "datacellar:timeStamp": "2023-05-23 16:00:00",
242
- "datacellar:value": 2.99
243
- },
244
- {
245
- "@type": "datacellar:DataPoint",
246
- "datacellar:timeStamp": "2023-05-23 17:00:00",
247
- "datacellar:value": 3.21
248
- },
249
- {
250
- "@type": "datacellar:DataPoint",
251
- "datacellar:timeStamp": "2023-05-23 18:00:00",
252
- "datacellar:value": 2.61
253
- },
254
- {
255
- "@type": "datacellar:DataPoint",
256
- "datacellar:timeStamp": "2023-05-23 19:00:00",
257
- "datacellar:value": 1.06
258
- },
259
- {
260
- "@type": "datacellar:DataPoint",
261
- "datacellar:timeStamp": "2023-05-23 20:00:00",
262
- "datacellar:value": 0.34
263
- },
264
- {
265
- "@type": "datacellar:DataPoint",
266
- "datacellar:timeStamp": "2023-05-23 21:00:00",
267
- "datacellar:value": 0.09
268
- },
269
- {
270
- "@type": "datacellar:DataPoint",
271
- "datacellar:timeStamp": "2023-05-23 22:00:00",
272
- "datacellar:value": 0.0
273
- },
274
- {
275
- "@type": "datacellar:DataPoint",
276
- "datacellar:timeStamp": "2023-05-23 23:00:00",
277
- "datacellar:value": 0.0
278
- },
279
- {
280
- "@type": "datacellar:DataPoint",
281
- "datacellar:timeStamp": "2023-05-24 00:00:00",
282
- "datacellar:value": 0.0
283
- },
284
- {
285
- "@type": "datacellar:DataPoint",
286
- "datacellar:timeStamp": "2023-05-24 01:00:00",
287
- "datacellar:value": 0.0
288
- },
289
- {
290
- "@type": "datacellar:DataPoint",
291
- "datacellar:timeStamp": "2023-05-24 02:00:00",
292
- "datacellar:value": 0.0
293
- },
294
- {
295
- "@type": "datacellar:DataPoint",
296
- "datacellar:timeStamp": "2023-05-24 03:00:00",
297
- "datacellar:value": 0.0
298
- },
299
- {
300
- "@type": "datacellar:DataPoint",
301
- "datacellar:timeStamp": "2023-05-24 04:00:00",
302
- "datacellar:value": 0.0
303
- },
304
- {
305
- "@type": "datacellar:DataPoint",
306
- "datacellar:timeStamp": "2023-05-24 05:00:00",
307
- "datacellar:value": 0.0
308
- },
309
- {
310
- "@type": "datacellar:DataPoint",
311
- "datacellar:timeStamp": "2023-05-24 06:00:00",
312
- "datacellar:value": 0.0
313
- },
314
- {
315
- "@type": "datacellar:DataPoint",
316
- "datacellar:timeStamp": "2023-05-24 07:00:00",
317
- "datacellar:value": 0.0
318
- },
319
- {
320
- "@type": "datacellar:DataPoint",
321
- "datacellar:timeStamp": "2023-05-24 08:00:00",
322
- "datacellar:value": 0.16
323
- },
324
- {
325
- "@type": "datacellar:DataPoint",
326
- "datacellar:timeStamp": "2023-05-24 09:00:00",
327
- "datacellar:value": 0.95
328
- },
329
- {
330
- "@type": "datacellar:DataPoint",
331
- "datacellar:timeStamp": "2023-05-24 10:00:00",
332
- "datacellar:value": 1.96
333
- },
334
- {
335
- "@type": "datacellar:DataPoint",
336
- "datacellar:timeStamp": "2023-05-24 11:00:00",
337
- "datacellar:value": 4.29
338
- },
339
- {
340
- "@type": "datacellar:DataPoint",
341
- "datacellar:timeStamp": "2023-05-24 12:00:00",
342
- "datacellar:value": 6.16
343
- },
344
- {
345
- "@type": "datacellar:DataPoint",
346
- "datacellar:timeStamp": "2023-05-24 13:00:00",
347
- "datacellar:value": 5.81
348
- },
349
- {
350
- "@type": "datacellar:DataPoint",
351
- "datacellar:timeStamp": "2023-05-24 14:00:00",
352
- "datacellar:value": 3.08
353
- },
354
- {
355
- "@type": "datacellar:DataPoint",
356
- "datacellar:timeStamp": "2023-05-24 15:00:00",
357
- "datacellar:value": 2.89
358
- },
359
- {
360
- "@type": "datacellar:DataPoint",
361
- "datacellar:timeStamp": "2023-05-24 16:00:00",
362
- "datacellar:value": 3.35
363
- },
364
- {
365
- "@type": "datacellar:DataPoint",
366
- "datacellar:timeStamp": "2023-05-24 17:00:00",
367
- "datacellar:value": 3.63
368
- },
369
- {
370
- "@type": "datacellar:DataPoint",
371
- "datacellar:timeStamp": "2023-05-24 18:00:00",
372
- "datacellar:value": 2.43
373
- },
374
- {
375
- "@type": "datacellar:DataPoint",
376
- "datacellar:timeStamp": "2023-05-24 19:00:00",
377
- "datacellar:value": 2.72
378
- },
379
- {
380
- "@type": "datacellar:DataPoint",
381
- "datacellar:timeStamp": "2023-05-24 20:00:00",
382
- "datacellar:value": 7.57
383
- },
384
- {
385
- "@type": "datacellar:DataPoint",
386
- "datacellar:timeStamp": "2023-05-24 21:00:00",
387
- "datacellar:value": 2.0
388
- },
389
- {
390
- "@type": "datacellar:DataPoint",
391
- "datacellar:timeStamp": "2023-05-24 22:00:00",
392
- "datacellar:value": 0.06
393
- },
394
- {
395
- "@type": "datacellar:DataPoint",
396
- "datacellar:timeStamp": "2023-05-24 23:00:00",
397
- "datacellar:value": 0.0
398
- },
399
- {
400
- "@type": "datacellar:DataPoint",
401
- "datacellar:timeStamp": "2023-05-25 00:00:00",
402
- "datacellar:value": 0.0
403
- },
404
- {
405
- "@type": "datacellar:DataPoint",
406
- "datacellar:timeStamp": "2023-05-25 01:00:00",
407
- "datacellar:value": 0.0
408
- },
409
- {
410
- "@type": "datacellar:DataPoint",
411
- "datacellar:timeStamp": "2023-05-25 02:00:00",
412
- "datacellar:value": 0.0
413
- },
414
- {
415
- "@type": "datacellar:DataPoint",
416
- "datacellar:timeStamp": "2023-05-25 03:00:00",
417
- "datacellar:value": 0.0
418
- },
419
- {
420
- "@type": "datacellar:DataPoint",
421
- "datacellar:timeStamp": "2023-05-25 04:00:00",
422
- "datacellar:value": 0.0
423
- },
424
- {
425
- "@type": "datacellar:DataPoint",
426
- "datacellar:timeStamp": "2023-05-25 05:00:00",
427
- "datacellar:value": 0.0
428
- },
429
- {
430
- "@type": "datacellar:DataPoint",
431
- "datacellar:timeStamp": "2023-05-25 06:00:00",
432
- "datacellar:value": 0.0
433
- },
434
- {
435
- "@type": "datacellar:DataPoint",
436
- "datacellar:timeStamp": "2023-05-25 07:00:00",
437
- "datacellar:value": 0.0
438
- },
439
- {
440
- "@type": "datacellar:DataPoint",
441
- "datacellar:timeStamp": "2023-05-25 08:00:00",
442
- "datacellar:value": 0.38
443
- },
444
- {
445
- "@type": "datacellar:DataPoint",
446
- "datacellar:timeStamp": "2023-05-25 09:00:00",
447
- "datacellar:value": 1.81
448
- },
449
- {
450
- "@type": "datacellar:DataPoint",
451
- "datacellar:timeStamp": "2023-05-25 10:00:00",
452
- "datacellar:value": 4.12
453
- },
454
- {
455
- "@type": "datacellar:DataPoint",
456
- "datacellar:timeStamp": "2023-05-25 11:00:00",
457
- "datacellar:value": 5.63
458
- },
459
- {
460
- "@type": "datacellar:DataPoint",
461
- "datacellar:timeStamp": "2023-05-25 12:00:00",
462
- "datacellar:value": 11.45
463
- },
464
- {
465
- "@type": "datacellar:DataPoint",
466
- "datacellar:timeStamp": "2023-05-25 13:00:00",
467
- "datacellar:value": 13.85
468
- },
469
- {
470
- "@type": "datacellar:DataPoint",
471
- "datacellar:timeStamp": "2023-05-25 14:00:00",
472
- "datacellar:value": 11.43
473
- },
474
- {
475
- "@type": "datacellar:DataPoint",
476
- "datacellar:timeStamp": "2023-05-25 15:00:00",
477
- "datacellar:value": 15.22
478
- },
479
- {
480
- "@type": "datacellar:DataPoint",
481
- "datacellar:timeStamp": "2023-05-25 16:00:00",
482
- "datacellar:value": 14.9
483
- },
484
- {
485
- "@type": "datacellar:DataPoint",
486
- "datacellar:timeStamp": "2023-05-25 17:00:00",
487
- "datacellar:value": 15.17
488
- },
489
- {
490
- "@type": "datacellar:DataPoint",
491
- "datacellar:timeStamp": "2023-05-25 18:00:00",
492
- "datacellar:value": 10.68
493
- },
494
- {
495
- "@type": "datacellar:DataPoint",
496
- "datacellar:timeStamp": "2023-05-25 19:00:00",
497
- "datacellar:value": 10.1
498
- },
499
- {
500
- "@type": "datacellar:DataPoint",
501
- "datacellar:timeStamp": "2023-05-25 20:00:00",
502
- "datacellar:value": 2.49
503
- },
504
- {
505
- "@type": "datacellar:DataPoint",
506
- "datacellar:timeStamp": "2023-05-25 21:00:00",
507
- "datacellar:value": 0.57
508
- },
509
- {
510
- "@type": "datacellar:DataPoint",
511
- "datacellar:timeStamp": "2023-05-25 22:00:00",
512
- "datacellar:value": 0.12
513
- },
514
- {
515
- "@type": "datacellar:DataPoint",
516
- "datacellar:timeStamp": "2023-05-25 23:00:00",
517
- "datacellar:value": 0.0
518
- },
519
- {
520
- "@type": "datacellar:DataPoint",
521
- "datacellar:timeStamp": "2023-05-26 00:00:00",
522
- "datacellar:value": 0.0
523
- },
524
- {
525
- "@type": "datacellar:DataPoint",
526
- "datacellar:timeStamp": "2023-05-26 01:00:00",
527
- "datacellar:value": 0.0
528
- },
529
- {
530
- "@type": "datacellar:DataPoint",
531
- "datacellar:timeStamp": "2023-05-26 02:00:00",
532
- "datacellar:value": 0.0
533
- },
534
- {
535
- "@type": "datacellar:DataPoint",
536
- "datacellar:timeStamp": "2023-05-26 03:00:00",
537
- "datacellar:value": 0.0
538
- },
539
- {
540
- "@type": "datacellar:DataPoint",
541
- "datacellar:timeStamp": "2023-05-26 04:00:00",
542
- "datacellar:value": 0.0
543
- },
544
- {
545
- "@type": "datacellar:DataPoint",
546
- "datacellar:timeStamp": "2023-05-26 05:00:00",
547
- "datacellar:value": 0.0
548
- },
549
- {
550
- "@type": "datacellar:DataPoint",
551
- "datacellar:timeStamp": "2023-05-26 06:00:00",
552
- "datacellar:value": 0.0
553
- },
554
- {
555
- "@type": "datacellar:DataPoint",
556
- "datacellar:timeStamp": "2023-05-26 07:00:00",
557
- "datacellar:value": 0.0
558
- },
559
- {
560
- "@type": "datacellar:DataPoint",
561
- "datacellar:timeStamp": "2023-05-26 08:00:00",
562
- "datacellar:value": 0.33
563
- },
564
- {
565
- "@type": "datacellar:DataPoint",
566
- "datacellar:timeStamp": "2023-05-26 09:00:00",
567
- "datacellar:value": 1.2
568
- },
569
- {
570
- "@type": "datacellar:DataPoint",
571
- "datacellar:timeStamp": "2023-05-26 10:00:00",
572
- "datacellar:value": 2.19
573
- },
574
- {
575
- "@type": "datacellar:DataPoint",
576
- "datacellar:timeStamp": "2023-05-26 11:00:00",
577
- "datacellar:value": 6.46
578
- },
579
- {
580
- "@type": "datacellar:DataPoint",
581
- "datacellar:timeStamp": "2023-05-26 12:00:00",
582
- "datacellar:value": 11.84
583
- },
584
- {
585
- "@type": "datacellar:DataPoint",
586
- "datacellar:timeStamp": "2023-05-26 13:00:00",
587
- "datacellar:value": 15.89
588
- },
589
- {
590
- "@type": "datacellar:DataPoint",
591
- "datacellar:timeStamp": "2023-05-26 14:00:00",
592
- "datacellar:value": 16.88
593
- },
594
- {
595
- "@type": "datacellar:DataPoint",
596
- "datacellar:timeStamp": "2023-05-26 15:00:00",
597
- "datacellar:value": 19.48
598
- },
599
- {
600
- "@type": "datacellar:DataPoint",
601
- "datacellar:timeStamp": "2023-05-26 16:00:00",
602
- "datacellar:value": 18.25
603
- },
604
- {
605
- "@type": "datacellar:DataPoint",
606
- "datacellar:timeStamp": "2023-05-26 17:00:00",
607
- "datacellar:value": 11.09
608
- },
609
- {
610
- "@type": "datacellar:DataPoint",
611
- "datacellar:timeStamp": "2023-05-26 18:00:00",
612
- "datacellar:value": 13.21
613
- },
614
- {
615
- "@type": "datacellar:DataPoint",
616
- "datacellar:timeStamp": "2023-05-26 19:00:00",
617
- "datacellar:value": 11.81
618
- },
619
- {
620
- "@type": "datacellar:DataPoint",
621
- "datacellar:timeStamp": "2023-05-26 20:00:00",
622
- "datacellar:value": 5.04
623
- },
624
- {
625
- "@type": "datacellar:DataPoint",
626
- "datacellar:timeStamp": "2023-05-26 21:00:00",
627
- "datacellar:value": 1.05
628
- },
629
- {
630
- "@type": "datacellar:DataPoint",
631
- "datacellar:timeStamp": "2023-05-26 22:00:00",
632
- "datacellar:value": 0.1
633
- },
634
- {
635
- "@type": "datacellar:DataPoint",
636
- "datacellar:timeStamp": "2023-05-26 23:00:00",
637
- "datacellar:value": 0.0
638
- },
639
- {
640
- "@type": "datacellar:DataPoint",
641
- "datacellar:timeStamp": "2023-05-27 00:00:00",
642
- "datacellar:value": 0.0
643
- },
644
- {
645
- "@type": "datacellar:DataPoint",
646
- "datacellar:timeStamp": "2023-05-27 01:00:00",
647
- "datacellar:value": 0.0
648
- },
649
- {
650
- "@type": "datacellar:DataPoint",
651
- "datacellar:timeStamp": "2023-05-27 02:00:00",
652
- "datacellar:value": 0.0
653
- },
654
- {
655
- "@type": "datacellar:DataPoint",
656
- "datacellar:timeStamp": "2023-05-27 03:00:00",
657
- "datacellar:value": 0.0
658
- },
659
- {
660
- "@type": "datacellar:DataPoint",
661
- "datacellar:timeStamp": "2023-05-27 04:00:00",
662
- "datacellar:value": 0.0
663
- },
664
- {
665
- "@type": "datacellar:DataPoint",
666
- "datacellar:timeStamp": "2023-05-27 05:00:00",
667
- "datacellar:value": 0.0
668
- },
669
- {
670
- "@type": "datacellar:DataPoint",
671
- "datacellar:timeStamp": "2023-05-27 06:00:00",
672
- "datacellar:value": 0.0
673
- },
674
- {
675
- "@type": "datacellar:DataPoint",
676
- "datacellar:timeStamp": "2023-05-27 07:00:00",
677
- "datacellar:value": 0.01
678
- },
679
- {
680
- "@type": "datacellar:DataPoint",
681
- "datacellar:timeStamp": "2023-05-27 08:00:00",
682
- "datacellar:value": 0.31
683
- },
684
- {
685
- "@type": "datacellar:DataPoint",
686
- "datacellar:timeStamp": "2023-05-27 09:00:00",
687
- "datacellar:value": 0.87
688
- },
689
- {
690
- "@type": "datacellar:DataPoint",
691
- "datacellar:timeStamp": "2023-05-27 10:00:00",
692
- "datacellar:value": 3.05
693
- },
694
- {
695
- "@type": "datacellar:DataPoint",
696
- "datacellar:timeStamp": "2023-05-27 11:00:00",
697
- "datacellar:value": 6.23
698
- },
699
- {
700
- "@type": "datacellar:DataPoint",
701
- "datacellar:timeStamp": "2023-05-27 12:00:00",
702
- "datacellar:value": 10.83
703
- },
704
- {
705
- "@type": "datacellar:DataPoint",
706
- "datacellar:timeStamp": "2023-05-27 13:00:00",
707
- "datacellar:value": 13.24
708
- },
709
- {
710
- "@type": "datacellar:DataPoint",
711
- "datacellar:timeStamp": "2023-05-27 14:00:00",
712
- "datacellar:value": 15.82
713
- },
714
- {
715
- "@type": "datacellar:DataPoint",
716
- "datacellar:timeStamp": "2023-05-27 15:00:00",
717
- "datacellar:value": 10.83
718
- },
719
- {
720
- "@type": "datacellar:DataPoint",
721
- "datacellar:timeStamp": "2023-05-27 16:00:00",
722
- "datacellar:value": 2.51
723
- },
724
- {
725
- "@type": "datacellar:DataPoint",
726
- "datacellar:timeStamp": "2023-05-27 17:00:00",
727
- "datacellar:value": 1.4
728
- },
729
- {
730
- "@type": "datacellar:DataPoint",
731
- "datacellar:timeStamp": "2023-05-27 18:00:00",
732
- "datacellar:value": 3.17
733
- },
734
- {
735
- "@type": "datacellar:DataPoint",
736
- "datacellar:timeStamp": "2023-05-27 19:00:00",
737
- "datacellar:value": 2.77
738
- },
739
- {
740
- "@type": "datacellar:DataPoint",
741
- "datacellar:timeStamp": "2023-05-27 20:00:00",
742
- "datacellar:value": 1.99
743
- },
744
- {
745
- "@type": "datacellar:DataPoint",
746
- "datacellar:timeStamp": "2023-05-27 21:00:00",
747
- "datacellar:value": 1.41
748
- },
749
- {
750
- "@type": "datacellar:DataPoint",
751
- "datacellar:timeStamp": "2023-05-27 22:00:00",
752
- "datacellar:value": 0.25
753
- },
754
- {
755
- "@type": "datacellar:DataPoint",
756
- "datacellar:timeStamp": "2023-05-27 23:00:00",
757
- "datacellar:value": 0.0
758
- },
759
- {
760
- "@type": "datacellar:DataPoint",
761
- "datacellar:timeStamp": "2023-05-28 00:00:00",
762
- "datacellar:value": 0.0
763
- },
764
- {
765
- "@type": "datacellar:DataPoint",
766
- "datacellar:timeStamp": "2023-05-28 01:00:00",
767
- "datacellar:value": 0.0
768
- },
769
- {
770
- "@type": "datacellar:DataPoint",
771
- "datacellar:timeStamp": "2023-05-28 02:00:00",
772
- "datacellar:value": 0.0
773
- },
774
- {
775
- "@type": "datacellar:DataPoint",
776
- "datacellar:timeStamp": "2023-05-28 03:00:00",
777
- "datacellar:value": 0.0
778
- },
779
- {
780
- "@type": "datacellar:DataPoint",
781
- "datacellar:timeStamp": "2023-05-28 04:00:00",
782
- "datacellar:value": 0.0
783
- },
784
- {
785
- "@type": "datacellar:DataPoint",
786
- "datacellar:timeStamp": "2023-05-28 05:00:00",
787
- "datacellar:value": 0.0
788
- },
789
- {
790
- "@type": "datacellar:DataPoint",
791
- "datacellar:timeStamp": "2023-05-28 06:00:00",
792
- "datacellar:value": 0.0
793
- },
794
- {
795
- "@type": "datacellar:DataPoint",
796
- "datacellar:timeStamp": "2023-05-28 07:00:00",
797
- "datacellar:value": 0.0
798
- },
799
- {
800
- "@type": "datacellar:DataPoint",
801
- "datacellar:timeStamp": "2023-05-28 08:00:00",
802
- "datacellar:value": 0.54
803
- },
804
- {
805
- "@type": "datacellar:DataPoint",
806
- "datacellar:timeStamp": "2023-05-28 09:00:00",
807
- "datacellar:value": 1.02
808
- },
809
- {
810
- "@type": "datacellar:DataPoint",
811
- "datacellar:timeStamp": "2023-05-28 10:00:00",
812
- "datacellar:value": 4.15
813
- },
814
- {
815
- "@type": "datacellar:DataPoint",
816
- "datacellar:timeStamp": "2023-05-28 11:00:00",
817
- "datacellar:value": 7.37
818
- },
819
- {
820
- "@type": "datacellar:DataPoint",
821
- "datacellar:timeStamp": "2023-05-28 12:00:00",
822
- "datacellar:value": 8.93
823
- },
824
- {
825
- "@type": "datacellar:DataPoint",
826
- "datacellar:timeStamp": "2023-05-28 13:00:00",
827
- "datacellar:value": 12.33
828
- },
829
- {
830
- "@type": "datacellar:DataPoint",
831
- "datacellar:timeStamp": "2023-05-28 14:00:00",
832
- "datacellar:value": 11.06
833
- },
834
- {
835
- "@type": "datacellar:DataPoint",
836
- "datacellar:timeStamp": "2023-05-28 15:00:00",
837
- "datacellar:value": 16.86
838
- },
839
- {
840
- "@type": "datacellar:DataPoint",
841
- "datacellar:timeStamp": "2023-05-28 16:00:00",
842
- "datacellar:value": 17.76
843
- },
844
- {
845
- "@type": "datacellar:DataPoint",
846
- "datacellar:timeStamp": "2023-05-28 17:00:00",
847
- "datacellar:value": 17.04
848
- },
849
- {
850
- "@type": "datacellar:DataPoint",
851
- "datacellar:timeStamp": "2023-05-28 18:00:00",
852
- "datacellar:value": 11.85
853
- },
854
- {
855
- "@type": "datacellar:DataPoint",
856
- "datacellar:timeStamp": "2023-05-28 19:00:00",
857
- "datacellar:value": 12.04
858
- },
859
- {
860
- "@type": "datacellar:DataPoint",
861
- "datacellar:timeStamp": "2023-05-28 20:00:00",
862
- "datacellar:value": 3.56
863
- },
864
- {
865
- "@type": "datacellar:DataPoint",
866
- "datacellar:timeStamp": "2023-05-28 21:00:00",
867
- "datacellar:value": 0.66
868
- },
869
- {
870
- "@type": "datacellar:DataPoint",
871
- "datacellar:timeStamp": "2023-05-28 22:00:00",
872
- "datacellar:value": 0.02
873
- },
874
- {
875
- "@type": "datacellar:DataPoint",
876
- "datacellar:timeStamp": "2023-05-28 23:00:00",
877
- "datacellar:value": 0.0
878
- },
879
- {
880
- "@type": "datacellar:DataPoint",
881
- "datacellar:timeStamp": "2023-05-29 00:00:00",
882
- "datacellar:value": 0.0
883
- },
884
- {
885
- "@type": "datacellar:DataPoint",
886
- "datacellar:timeStamp": "2023-05-29 01:00:00",
887
- "datacellar:value": 0.0
888
- },
889
- {
890
- "@type": "datacellar:DataPoint",
891
- "datacellar:timeStamp": "2023-05-29 02:00:00",
892
- "datacellar:value": 0.0
893
- },
894
- {
895
- "@type": "datacellar:DataPoint",
896
- "datacellar:timeStamp": "2023-05-29 03:00:00",
897
- "datacellar:value": 0.0
898
- },
899
- {
900
- "@type": "datacellar:DataPoint",
901
- "datacellar:timeStamp": "2023-05-29 04:00:00",
902
- "datacellar:value": 0.0
903
- },
904
- {
905
- "@type": "datacellar:DataPoint",
906
- "datacellar:timeStamp": "2023-05-29 05:00:00",
907
- "datacellar:value": 0.0
908
- },
909
- {
910
- "@type": "datacellar:DataPoint",
911
- "datacellar:timeStamp": "2023-05-29 06:00:00",
912
- "datacellar:value": 0.0
913
- },
914
- {
915
- "@type": "datacellar:DataPoint",
916
- "datacellar:timeStamp": "2023-05-29 07:00:00",
917
- "datacellar:value": 0.0
918
- },
919
- {
920
- "@type": "datacellar:DataPoint",
921
- "datacellar:timeStamp": "2023-05-29 08:00:00",
922
- "datacellar:value": 0.41
923
- },
924
- {
925
- "@type": "datacellar:DataPoint",
926
- "datacellar:timeStamp": "2023-05-29 09:00:00",
927
- "datacellar:value": 1.15
928
- },
929
- {
930
- "@type": "datacellar:DataPoint",
931
- "datacellar:timeStamp": "2023-05-29 10:00:00",
932
- "datacellar:value": 3.14
933
- },
934
- {
935
- "@type": "datacellar:DataPoint",
936
- "datacellar:timeStamp": "2023-05-29 11:00:00",
937
- "datacellar:value": 7.33
938
- },
939
- {
940
- "@type": "datacellar:DataPoint",
941
- "datacellar:timeStamp": "2023-05-29 12:00:00",
942
- "datacellar:value": 11.56
943
- },
944
- {
945
- "@type": "datacellar:DataPoint",
946
- "datacellar:timeStamp": "2023-05-29 13:00:00",
947
- "datacellar:value": 13.75
948
- },
949
- {
950
- "@type": "datacellar:DataPoint",
951
- "datacellar:timeStamp": "2023-05-29 14:00:00",
952
- "datacellar:value": 13.33
953
- },
954
- {
955
- "@type": "datacellar:DataPoint",
956
- "datacellar:timeStamp": "2023-05-29 15:00:00",
957
- "datacellar:value": 8.95
958
- },
959
- {
960
- "@type": "datacellar:DataPoint",
961
- "datacellar:timeStamp": "2023-05-29 16:00:00",
962
- "datacellar:value": 5.12
963
- },
964
- {
965
- "@type": "datacellar:DataPoint",
966
- "datacellar:timeStamp": "2023-05-29 17:00:00",
967
- "datacellar:value": 9.63
968
- },
969
- {
970
- "@type": "datacellar:DataPoint",
971
- "datacellar:timeStamp": "2023-05-29 18:00:00",
972
- "datacellar:value": 12.7
973
- },
974
- {
975
- "@type": "datacellar:DataPoint",
976
- "datacellar:timeStamp": "2023-05-29 19:00:00",
977
- "datacellar:value": 11.21
978
- },
979
- {
980
- "@type": "datacellar:DataPoint",
981
- "datacellar:timeStamp": "2023-05-29 20:00:00",
982
- "datacellar:value": 7.26
983
- },
984
- {
985
- "@type": "datacellar:DataPoint",
986
- "datacellar:timeStamp": "2023-05-29 21:00:00",
987
- "datacellar:value": 3.26
988
- },
989
- {
990
- "@type": "datacellar:DataPoint",
991
- "datacellar:timeStamp": "2023-05-29 22:00:00",
992
- "datacellar:value": 0.43
993
- },
994
- {
995
- "@type": "datacellar:DataPoint",
996
- "datacellar:timeStamp": "2023-05-29 23:00:00",
997
- "datacellar:value": 0.0
998
- },
999
- {
1000
- "@type": "datacellar:DataPoint",
1001
- "datacellar:timeStamp": "2023-05-30 00:00:00",
1002
- "datacellar:value": 0.0
1003
- },
1004
- {
1005
- "@type": "datacellar:DataPoint",
1006
- "datacellar:timeStamp": "2023-05-30 01:00:00",
1007
- "datacellar:value": 0.0
1008
- },
1009
- {
1010
- "@type": "datacellar:DataPoint",
1011
- "datacellar:timeStamp": "2023-05-30 02:00:00",
1012
- "datacellar:value": 0.0
1013
- },
1014
- {
1015
- "@type": "datacellar:DataPoint",
1016
- "datacellar:timeStamp": "2023-05-30 03:00:00",
1017
- "datacellar:value": 0.0
1018
- },
1019
- {
1020
- "@type": "datacellar:DataPoint",
1021
- "datacellar:timeStamp": "2023-05-30 04:00:00",
1022
- "datacellar:value": 0.0
1023
- },
1024
- {
1025
- "@type": "datacellar:DataPoint",
1026
- "datacellar:timeStamp": "2023-05-30 05:00:00",
1027
- "datacellar:value": 0.0
1028
- },
1029
- {
1030
- "@type": "datacellar:DataPoint",
1031
- "datacellar:timeStamp": "2023-05-30 06:00:00",
1032
- "datacellar:value": 0.0
1033
- },
1034
- {
1035
- "@type": "datacellar:DataPoint",
1036
- "datacellar:timeStamp": "2023-05-30 07:00:00",
1037
- "datacellar:value": 0.0
1038
- },
1039
- {
1040
- "@type": "datacellar:DataPoint",
1041
- "datacellar:timeStamp": "2023-05-30 08:00:00",
1042
- "datacellar:value": 0.37
1043
- },
1044
- {
1045
- "@type": "datacellar:DataPoint",
1046
- "datacellar:timeStamp": "2023-05-30 09:00:00",
1047
- "datacellar:value": 1.03
1048
- },
1049
- {
1050
- "@type": "datacellar:DataPoint",
1051
- "datacellar:timeStamp": "2023-05-30 10:00:00",
1052
- "datacellar:value": 3.3
1053
- },
1054
- {
1055
- "@type": "datacellar:DataPoint",
1056
- "datacellar:timeStamp": "2023-05-30 11:00:00",
1057
- "datacellar:value": 7.65
1058
- },
1059
- {
1060
- "@type": "datacellar:DataPoint",
1061
- "datacellar:timeStamp": "2023-05-30 12:00:00",
1062
- "datacellar:value": 9.98
1063
- },
1064
- {
1065
- "@type": "datacellar:DataPoint",
1066
- "datacellar:timeStamp": "2023-05-30 13:00:00",
1067
- "datacellar:value": 10.5
1068
- },
1069
- {
1070
- "@type": "datacellar:DataPoint",
1071
- "datacellar:timeStamp": "2023-05-30 14:00:00",
1072
- "datacellar:value": 15.83
1073
- },
1074
- {
1075
- "@type": "datacellar:DataPoint",
1076
- "datacellar:timeStamp": "2023-05-30 15:00:00",
1077
- "datacellar:value": 17.02
1078
- },
1079
- {
1080
- "@type": "datacellar:DataPoint",
1081
- "datacellar:timeStamp": "2023-05-30 16:00:00",
1082
- "datacellar:value": 17.07
1083
- },
1084
- {
1085
- "@type": "datacellar:DataPoint",
1086
- "datacellar:timeStamp": "2023-05-30 17:00:00",
1087
- "datacellar:value": 14.23
1088
- },
1089
- {
1090
- "@type": "datacellar:DataPoint",
1091
- "datacellar:timeStamp": "2023-05-30 18:00:00",
1092
- "datacellar:value": 4.23
1093
- },
1094
- {
1095
- "@type": "datacellar:DataPoint",
1096
- "datacellar:timeStamp": "2023-05-30 19:00:00",
1097
- "datacellar:value": 7.97
1098
- },
1099
- {
1100
- "@type": "datacellar:DataPoint",
1101
- "datacellar:timeStamp": "2023-05-30 20:00:00",
1102
- "datacellar:value": 6.77
1103
- },
1104
- {
1105
- "@type": "datacellar:DataPoint",
1106
- "datacellar:timeStamp": "2023-05-30 21:00:00",
1107
- "datacellar:value": 3.44
1108
- },
1109
- {
1110
- "@type": "datacellar:DataPoint",
1111
- "datacellar:timeStamp": "2023-05-30 22:00:00",
1112
- "datacellar:value": 0.44
1113
- },
1114
- {
1115
- "@type": "datacellar:DataPoint",
1116
- "datacellar:timeStamp": "2023-05-30 23:00:00",
1117
- "datacellar:value": 0.0
1118
- },
1119
- {
1120
- "@type": "datacellar:DataPoint",
1121
- "datacellar:timeStamp": "2023-05-31 00:00:00",
1122
- "datacellar:value": 0.0
1123
- },
1124
- {
1125
- "@type": "datacellar:DataPoint",
1126
- "datacellar:timeStamp": "2023-05-31 01:00:00",
1127
- "datacellar:value": 0.0
1128
- },
1129
- {
1130
- "@type": "datacellar:DataPoint",
1131
- "datacellar:timeStamp": "2023-05-31 02:00:00",
1132
- "datacellar:value": 0.0
1133
- },
1134
- {
1135
- "@type": "datacellar:DataPoint",
1136
- "datacellar:timeStamp": "2023-05-31 03:00:00",
1137
- "datacellar:value": 0.0
1138
- },
1139
- {
1140
- "@type": "datacellar:DataPoint",
1141
- "datacellar:timeStamp": "2023-05-31 04:00:00",
1142
- "datacellar:value": 0.0
1143
- },
1144
- {
1145
- "@type": "datacellar:DataPoint",
1146
- "datacellar:timeStamp": "2023-05-31 05:00:00",
1147
- "datacellar:value": 0.0
1148
- },
1149
- {
1150
- "@type": "datacellar:DataPoint",
1151
- "datacellar:timeStamp": "2023-05-31 06:00:00",
1152
- "datacellar:value": 0.0
1153
- },
1154
- {
1155
- "@type": "datacellar:DataPoint",
1156
- "datacellar:timeStamp": "2023-05-31 07:00:00",
1157
- "datacellar:value": 0.0
1158
- },
1159
- {
1160
- "@type": "datacellar:DataPoint",
1161
- "datacellar:timeStamp": "2023-05-31 08:00:00",
1162
- "datacellar:value": 0.39
1163
- },
1164
- {
1165
- "@type": "datacellar:DataPoint",
1166
- "datacellar:timeStamp": "2023-05-31 09:00:00",
1167
- "datacellar:value": 1.93
1168
- },
1169
- {
1170
- "@type": "datacellar:DataPoint",
1171
- "datacellar:timeStamp": "2023-05-31 10:00:00",
1172
- "datacellar:value": 3.18
1173
- },
1174
- {
1175
- "@type": "datacellar:DataPoint",
1176
- "datacellar:timeStamp": "2023-05-31 11:00:00",
1177
- "datacellar:value": 3.91
1178
- },
1179
- {
1180
- "@type": "datacellar:DataPoint",
1181
- "datacellar:timeStamp": "2023-05-31 12:00:00",
1182
- "datacellar:value": 3.62
1183
- },
1184
- {
1185
- "@type": "datacellar:DataPoint",
1186
- "datacellar:timeStamp": "2023-05-31 13:00:00",
1187
- "datacellar:value": 11.42
1188
- },
1189
- {
1190
- "@type": "datacellar:DataPoint",
1191
- "datacellar:timeStamp": "2023-05-31 14:00:00",
1192
- "datacellar:value": 17.15
1193
- },
1194
- {
1195
- "@type": "datacellar:DataPoint",
1196
- "datacellar:timeStamp": "2023-05-31 15:00:00",
1197
- "datacellar:value": 15.14
1198
- },
1199
- {
1200
- "@type": "datacellar:DataPoint",
1201
- "datacellar:timeStamp": "2023-05-31 16:00:00",
1202
- "datacellar:value": 15.11
1203
- },
1204
- {
1205
- "@type": "datacellar:DataPoint",
1206
- "datacellar:timeStamp": "2023-05-31 17:00:00",
1207
- "datacellar:value": 17.49
1208
- },
1209
- {
1210
- "@type": "datacellar:DataPoint",
1211
- "datacellar:timeStamp": "2023-05-31 18:00:00",
1212
- "datacellar:value": 14.46
1213
- },
1214
- {
1215
- "@type": "datacellar:DataPoint",
1216
- "datacellar:timeStamp": "2023-05-31 19:00:00",
1217
- "datacellar:value": 11.42
1218
- },
1219
- {
1220
- "@type": "datacellar:DataPoint",
1221
- "datacellar:timeStamp": "2023-05-31 20:00:00",
1222
- "datacellar:value": 7.18
1223
- },
1224
- {
1225
- "@type": "datacellar:DataPoint",
1226
- "datacellar:timeStamp": "2023-05-31 21:00:00",
1227
- "datacellar:value": 2.8
1228
- },
1229
- {
1230
- "@type": "datacellar:DataPoint",
1231
- "datacellar:timeStamp": "2023-05-31 22:00:00",
1232
- "datacellar:value": 0.3
1233
- },
1234
- {
1235
- "@type": "datacellar:DataPoint",
1236
- "datacellar:timeStamp": "2023-05-31 23:00:00",
1237
- "datacellar:value": 0.0
1238
- },
1239
- {
1240
- "@type": "datacellar:DataPoint",
1241
- "datacellar:timeStamp": "2023-06-01 00:00:00",
1242
- "datacellar:value": 0.0
1243
- },
1244
- {
1245
- "@type": "datacellar:DataPoint",
1246
- "datacellar:timeStamp": "2023-06-01 01:00:00",
1247
- "datacellar:value": 0.0
1248
- },
1249
- {
1250
- "@type": "datacellar:DataPoint",
1251
- "datacellar:timeStamp": "2023-06-01 02:00:00",
1252
- "datacellar:value": 0.0
1253
- },
1254
- {
1255
- "@type": "datacellar:DataPoint",
1256
- "datacellar:timeStamp": "2023-06-01 03:00:00",
1257
- "datacellar:value": 0.0
1258
- },
1259
- {
1260
- "@type": "datacellar:DataPoint",
1261
- "datacellar:timeStamp": "2023-06-01 04:00:00",
1262
- "datacellar:value": 0.0
1263
- },
1264
- {
1265
- "@type": "datacellar:DataPoint",
1266
- "datacellar:timeStamp": "2023-06-01 05:00:00",
1267
- "datacellar:value": 0.0
1268
- },
1269
- {
1270
- "@type": "datacellar:DataPoint",
1271
- "datacellar:timeStamp": "2023-06-01 06:00:00",
1272
- "datacellar:value": 0.0
1273
- },
1274
- {
1275
- "@type": "datacellar:DataPoint",
1276
- "datacellar:timeStamp": "2023-06-01 07:00:00",
1277
- "datacellar:value": 0.0
1278
- },
1279
- {
1280
- "@type": "datacellar:DataPoint",
1281
- "datacellar:timeStamp": "2023-06-01 08:00:00",
1282
- "datacellar:value": 0.37
1283
- },
1284
- {
1285
- "@type": "datacellar:DataPoint",
1286
- "datacellar:timeStamp": "2023-06-01 09:00:00",
1287
- "datacellar:value": 1.97
1288
- },
1289
- {
1290
- "@type": "datacellar:DataPoint",
1291
- "datacellar:timeStamp": "2023-06-01 10:00:00",
1292
- "datacellar:value": 3.47
1293
- },
1294
- {
1295
- "@type": "datacellar:DataPoint",
1296
- "datacellar:timeStamp": "2023-06-01 11:00:00",
1297
- "datacellar:value": 6.13
1298
- },
1299
- {
1300
- "@type": "datacellar:DataPoint",
1301
- "datacellar:timeStamp": "2023-06-01 12:00:00",
1302
- "datacellar:value": 11.74
1303
- },
1304
- {
1305
- "@type": "datacellar:DataPoint",
1306
- "datacellar:timeStamp": "2023-06-01 13:00:00",
1307
- "datacellar:value": 14.76
1308
- },
1309
- {
1310
- "@type": "datacellar:DataPoint",
1311
- "datacellar:timeStamp": "2023-06-01 14:00:00",
1312
- "datacellar:value": 17.08
1313
- },
1314
- {
1315
- "@type": "datacellar:DataPoint",
1316
- "datacellar:timeStamp": "2023-06-01 15:00:00",
1317
- "datacellar:value": 18.01
1318
- },
1319
- {
1320
- "@type": "datacellar:DataPoint",
1321
- "datacellar:timeStamp": "2023-06-01 16:00:00",
1322
- "datacellar:value": 17.97
1323
- },
1324
- {
1325
- "@type": "datacellar:DataPoint",
1326
- "datacellar:timeStamp": "2023-06-01 17:00:00",
1327
- "datacellar:value": 17.62
1328
- },
1329
- {
1330
- "@type": "datacellar:DataPoint",
1331
- "datacellar:timeStamp": "2023-06-01 18:00:00",
1332
- "datacellar:value": 15.93
1333
- },
1334
- {
1335
- "@type": "datacellar:DataPoint",
1336
- "datacellar:timeStamp": "2023-06-01 19:00:00",
1337
- "datacellar:value": 13.64
1338
- },
1339
- {
1340
- "@type": "datacellar:DataPoint",
1341
- "datacellar:timeStamp": "2023-06-01 20:00:00",
1342
- "datacellar:value": 8.2
1343
- },
1344
- {
1345
- "@type": "datacellar:DataPoint",
1346
- "datacellar:timeStamp": "2023-06-01 21:00:00",
1347
- "datacellar:value": 3.57
1348
- },
1349
- {
1350
- "@type": "datacellar:DataPoint",
1351
- "datacellar:timeStamp": "2023-06-01 22:00:00",
1352
- "datacellar:value": 0.79
1353
- },
1354
- {
1355
- "@type": "datacellar:DataPoint",
1356
- "datacellar:timeStamp": "2023-06-01 23:00:00",
1357
- "datacellar:value": 0.0
1358
- },
1359
- {
1360
- "@type": "datacellar:DataPoint",
1361
- "datacellar:timeStamp": "2023-06-02 00:00:00",
1362
- "datacellar:value": 0.0
1363
- },
1364
- {
1365
- "@type": "datacellar:DataPoint",
1366
- "datacellar:timeStamp": "2023-06-02 01:00:00",
1367
- "datacellar:value": 0.0
1368
- },
1369
- {
1370
- "@type": "datacellar:DataPoint",
1371
- "datacellar:timeStamp": "2023-06-02 02:00:00",
1372
- "datacellar:value": 0.0
1373
- },
1374
- {
1375
- "@type": "datacellar:DataPoint",
1376
- "datacellar:timeStamp": "2023-06-02 03:00:00",
1377
- "datacellar:value": 0.0
1378
- },
1379
- {
1380
- "@type": "datacellar:DataPoint",
1381
- "datacellar:timeStamp": "2023-06-02 04:00:00",
1382
- "datacellar:value": 0.0
1383
- },
1384
- {
1385
- "@type": "datacellar:DataPoint",
1386
- "datacellar:timeStamp": "2023-06-02 05:00:00",
1387
- "datacellar:value": 0.0
1388
- },
1389
- {
1390
- "@type": "datacellar:DataPoint",
1391
- "datacellar:timeStamp": "2023-06-02 06:00:00",
1392
- "datacellar:value": 0.0
1393
- },
1394
- {
1395
- "@type": "datacellar:DataPoint",
1396
- "datacellar:timeStamp": "2023-06-02 07:00:00",
1397
- "datacellar:value": 0.01
1398
- },
1399
- {
1400
- "@type": "datacellar:DataPoint",
1401
- "datacellar:timeStamp": "2023-06-02 08:00:00",
1402
- "datacellar:value": 0.42
1403
- },
1404
- {
1405
- "@type": "datacellar:DataPoint",
1406
- "datacellar:timeStamp": "2023-06-02 09:00:00",
1407
- "datacellar:value": 0.98
1408
- },
1409
- {
1410
- "@type": "datacellar:DataPoint",
1411
- "datacellar:timeStamp": "2023-06-02 10:00:00",
1412
- "datacellar:value": 2.95
1413
- },
1414
- {
1415
- "@type": "datacellar:DataPoint",
1416
- "datacellar:timeStamp": "2023-06-02 11:00:00",
1417
- "datacellar:value": 7.25
1418
- },
1419
- {
1420
- "@type": "datacellar:DataPoint",
1421
- "datacellar:timeStamp": "2023-06-02 12:00:00",
1422
- "datacellar:value": 11.51
1423
- },
1424
- {
1425
- "@type": "datacellar:DataPoint",
1426
- "datacellar:timeStamp": "2023-06-02 13:00:00",
1427
- "datacellar:value": 14.74
1428
- },
1429
- {
1430
- "@type": "datacellar:DataPoint",
1431
- "datacellar:timeStamp": "2023-06-02 14:00:00",
1432
- "datacellar:value": 15.72
1433
- },
1434
- {
1435
- "@type": "datacellar:DataPoint",
1436
- "datacellar:timeStamp": "2023-06-02 15:00:00",
1437
- "datacellar:value": 19.03
1438
- },
1439
- {
1440
- "@type": "datacellar:DataPoint",
1441
- "datacellar:timeStamp": "2023-06-02 16:00:00",
1442
- "datacellar:value": 17.64
1443
- },
1444
- {
1445
- "@type": "datacellar:DataPoint",
1446
- "datacellar:timeStamp": "2023-06-02 17:00:00",
1447
- "datacellar:value": 3.46
1448
- },
1449
- {
1450
- "@type": "datacellar:DataPoint",
1451
- "datacellar:timeStamp": "2023-06-02 18:00:00",
1452
- "datacellar:value": 0.85
1453
- },
1454
- {
1455
- "@type": "datacellar:DataPoint",
1456
- "datacellar:timeStamp": "2023-06-02 19:00:00",
1457
- "datacellar:value": 3.02
1458
- },
1459
- {
1460
- "@type": "datacellar:DataPoint",
1461
- "datacellar:timeStamp": "2023-06-02 20:00:00",
1462
- "datacellar:value": 1.78
1463
- },
1464
- {
1465
- "@type": "datacellar:DataPoint",
1466
- "datacellar:timeStamp": "2023-06-02 21:00:00",
1467
- "datacellar:value": 1.41
1468
- },
1469
- {
1470
- "@type": "datacellar:DataPoint",
1471
- "datacellar:timeStamp": "2023-06-02 22:00:00",
1472
- "datacellar:value": 0.21
1473
- },
1474
- {
1475
- "@type": "datacellar:DataPoint",
1476
- "datacellar:timeStamp": "2023-06-02 23:00:00",
1477
- "datacellar:value": 0.0
1478
- },
1479
- {
1480
- "@type": "datacellar:DataPoint",
1481
- "datacellar:timeStamp": "2023-06-03 00:00:00",
1482
- "datacellar:value": 0.0
1483
- },
1484
- {
1485
- "@type": "datacellar:DataPoint",
1486
- "datacellar:timeStamp": "2023-06-03 01:00:00",
1487
- "datacellar:value": 0.0
1488
- },
1489
- {
1490
- "@type": "datacellar:DataPoint",
1491
- "datacellar:timeStamp": "2023-06-03 02:00:00",
1492
- "datacellar:value": 0.0
1493
- },
1494
- {
1495
- "@type": "datacellar:DataPoint",
1496
- "datacellar:timeStamp": "2023-06-03 03:00:00",
1497
- "datacellar:value": 0.0
1498
- },
1499
- {
1500
- "@type": "datacellar:DataPoint",
1501
- "datacellar:timeStamp": "2023-06-03 04:00:00",
1502
- "datacellar:value": 0.0
1503
- },
1504
- {
1505
- "@type": "datacellar:DataPoint",
1506
- "datacellar:timeStamp": "2023-06-03 05:00:00",
1507
- "datacellar:value": 0.0
1508
- },
1509
- {
1510
- "@type": "datacellar:DataPoint",
1511
- "datacellar:timeStamp": "2023-06-03 06:00:00",
1512
- "datacellar:value": 0.0
1513
- },
1514
- {
1515
- "@type": "datacellar:DataPoint",
1516
- "datacellar:timeStamp": "2023-06-03 07:00:00",
1517
- "datacellar:value": 0.0
1518
- },
1519
- {
1520
- "@type": "datacellar:DataPoint",
1521
- "datacellar:timeStamp": "2023-06-03 08:00:00",
1522
- "datacellar:value": 0.27
1523
- },
1524
- {
1525
- "@type": "datacellar:DataPoint",
1526
- "datacellar:timeStamp": "2023-06-03 09:00:00",
1527
- "datacellar:value": 1.0
1528
- },
1529
- {
1530
- "@type": "datacellar:DataPoint",
1531
- "datacellar:timeStamp": "2023-06-03 10:00:00",
1532
- "datacellar:value": 3.0
1533
- },
1534
- {
1535
- "@type": "datacellar:DataPoint",
1536
- "datacellar:timeStamp": "2023-06-03 11:00:00",
1537
- "datacellar:value": 7.1
1538
- },
1539
- {
1540
- "@type": "datacellar:DataPoint",
1541
- "datacellar:timeStamp": "2023-06-03 12:00:00",
1542
- "datacellar:value": 11.45
1543
- },
1544
- {
1545
- "@type": "datacellar:DataPoint",
1546
- "datacellar:timeStamp": "2023-06-03 13:00:00",
1547
- "datacellar:value": 14.85
1548
- },
1549
- {
1550
- "@type": "datacellar:DataPoint",
1551
- "datacellar:timeStamp": "2023-06-03 14:00:00",
1552
- "datacellar:value": 16.04
1553
- },
1554
- {
1555
- "@type": "datacellar:DataPoint",
1556
- "datacellar:timeStamp": "2023-06-03 15:00:00",
1557
- "datacellar:value": 4.37
1558
- },
1559
- {
1560
- "@type": "datacellar:DataPoint",
1561
- "datacellar:timeStamp": "2023-06-03 16:00:00",
1562
- "datacellar:value": 1.94
1563
- },
1564
- {
1565
- "@type": "datacellar:DataPoint",
1566
- "datacellar:timeStamp": "2023-06-03 17:00:00",
1567
- "datacellar:value": 2.67
1568
- },
1569
- {
1570
- "@type": "datacellar:DataPoint",
1571
- "datacellar:timeStamp": "2023-06-03 18:00:00",
1572
- "datacellar:value": 2.91
1573
- },
1574
- {
1575
- "@type": "datacellar:DataPoint",
1576
- "datacellar:timeStamp": "2023-06-03 19:00:00",
1577
- "datacellar:value": 3.38
1578
- },
1579
- {
1580
- "@type": "datacellar:DataPoint",
1581
- "datacellar:timeStamp": "2023-06-03 20:00:00",
1582
- "datacellar:value": 2.76
1583
- },
1584
- {
1585
- "@type": "datacellar:DataPoint",
1586
- "datacellar:timeStamp": "2023-06-03 21:00:00",
1587
- "datacellar:value": 1.73
1588
- },
1589
- {
1590
- "@type": "datacellar:DataPoint",
1591
- "datacellar:timeStamp": "2023-06-03 22:00:00",
1592
- "datacellar:value": 0.37
1593
- },
1594
- {
1595
- "@type": "datacellar:DataPoint",
1596
- "datacellar:timeStamp": "2023-06-03 23:00:00",
1597
- "datacellar:value": 0.0
1598
- },
1599
- {
1600
- "@type": "datacellar:DataPoint",
1601
- "datacellar:timeStamp": "2023-06-04 00:00:00",
1602
- "datacellar:value": 0.0
1603
- },
1604
- {
1605
- "@type": "datacellar:DataPoint",
1606
- "datacellar:timeStamp": "2023-06-04 01:00:00",
1607
- "datacellar:value": 0.0
1608
- },
1609
- {
1610
- "@type": "datacellar:DataPoint",
1611
- "datacellar:timeStamp": "2023-06-04 02:00:00",
1612
- "datacellar:value": 0.0
1613
- },
1614
- {
1615
- "@type": "datacellar:DataPoint",
1616
- "datacellar:timeStamp": "2023-06-04 03:00:00",
1617
- "datacellar:value": 0.0
1618
- },
1619
- {
1620
- "@type": "datacellar:DataPoint",
1621
- "datacellar:timeStamp": "2023-06-04 04:00:00",
1622
- "datacellar:value": 0.0
1623
- },
1624
- {
1625
- "@type": "datacellar:DataPoint",
1626
- "datacellar:timeStamp": "2023-06-04 05:00:00",
1627
- "datacellar:value": 0.0
1628
- },
1629
- {
1630
- "@type": "datacellar:DataPoint",
1631
- "datacellar:timeStamp": "2023-06-04 06:00:00",
1632
- "datacellar:value": 0.0
1633
- },
1634
- {
1635
- "@type": "datacellar:DataPoint",
1636
- "datacellar:timeStamp": "2023-06-04 07:00:00",
1637
- "datacellar:value": 0.01
1638
- },
1639
- {
1640
- "@type": "datacellar:DataPoint",
1641
- "datacellar:timeStamp": "2023-06-04 08:00:00",
1642
- "datacellar:value": 0.39
1643
- },
1644
- {
1645
- "@type": "datacellar:DataPoint",
1646
- "datacellar:timeStamp": "2023-06-04 09:00:00",
1647
- "datacellar:value": 1.68
1648
- },
1649
- {
1650
- "@type": "datacellar:DataPoint",
1651
- "datacellar:timeStamp": "2023-06-04 10:00:00",
1652
- "datacellar:value": 2.35
1653
- },
1654
- {
1655
- "@type": "datacellar:DataPoint",
1656
- "datacellar:timeStamp": "2023-06-04 11:00:00",
1657
- "datacellar:value": 4.66
1658
- },
1659
- {
1660
- "@type": "datacellar:DataPoint",
1661
- "datacellar:timeStamp": "2023-06-04 12:00:00",
1662
- "datacellar:value": 8.65
1663
- },
1664
- {
1665
- "@type": "datacellar:DataPoint",
1666
- "datacellar:timeStamp": "2023-06-04 13:00:00",
1667
- "datacellar:value": 15.12
1668
- },
1669
- {
1670
- "@type": "datacellar:DataPoint",
1671
- "datacellar:timeStamp": "2023-06-04 14:00:00",
1672
- "datacellar:value": 14.05
1673
- },
1674
- {
1675
- "@type": "datacellar:DataPoint",
1676
- "datacellar:timeStamp": "2023-06-04 15:00:00",
1677
- "datacellar:value": 4.59
1678
- },
1679
- {
1680
- "@type": "datacellar:DataPoint",
1681
- "datacellar:timeStamp": "2023-06-04 16:00:00",
1682
- "datacellar:value": 4.89
1683
- },
1684
- {
1685
- "@type": "datacellar:DataPoint",
1686
- "datacellar:timeStamp": "2023-06-04 17:00:00",
1687
- "datacellar:value": 4.69
1688
- },
1689
- {
1690
- "@type": "datacellar:DataPoint",
1691
- "datacellar:timeStamp": "2023-06-04 18:00:00",
1692
- "datacellar:value": 1.43
1693
- },
1694
- {
1695
- "@type": "datacellar:DataPoint",
1696
- "datacellar:timeStamp": "2023-06-04 19:00:00",
1697
- "datacellar:value": 3.41
1698
- },
1699
- {
1700
- "@type": "datacellar:DataPoint",
1701
- "datacellar:timeStamp": "2023-06-04 20:00:00",
1702
- "datacellar:value": 1.57
1703
- },
1704
- {
1705
- "@type": "datacellar:DataPoint",
1706
- "datacellar:timeStamp": "2023-06-04 21:00:00",
1707
- "datacellar:value": 0.63
1708
- },
1709
- {
1710
- "@type": "datacellar:DataPoint",
1711
- "datacellar:timeStamp": "2023-06-04 22:00:00",
1712
- "datacellar:value": 0.05
1713
- },
1714
- {
1715
- "@type": "datacellar:DataPoint",
1716
- "datacellar:timeStamp": "2023-06-04 23:00:00",
1717
- "datacellar:value": 0.0
1718
- },
1719
- {
1720
- "@type": "datacellar:DataPoint",
1721
- "datacellar:timeStamp": "2023-06-05 00:00:00",
1722
- "datacellar:value": 0.0
1723
- },
1724
- {
1725
- "@type": "datacellar:DataPoint",
1726
- "datacellar:timeStamp": "2023-06-05 01:00:00",
1727
- "datacellar:value": 0.0
1728
- },
1729
- {
1730
- "@type": "datacellar:DataPoint",
1731
- "datacellar:timeStamp": "2023-06-05 02:00:00",
1732
- "datacellar:value": 0.0
1733
- },
1734
- {
1735
- "@type": "datacellar:DataPoint",
1736
- "datacellar:timeStamp": "2023-06-05 03:00:00",
1737
- "datacellar:value": 0.0
1738
- },
1739
- {
1740
- "@type": "datacellar:DataPoint",
1741
- "datacellar:timeStamp": "2023-06-05 04:00:00",
1742
- "datacellar:value": 0.0
1743
- },
1744
- {
1745
- "@type": "datacellar:DataPoint",
1746
- "datacellar:timeStamp": "2023-06-05 05:00:00",
1747
- "datacellar:value": 0.0
1748
- },
1749
- {
1750
- "@type": "datacellar:DataPoint",
1751
- "datacellar:timeStamp": "2023-06-05 06:00:00",
1752
- "datacellar:value": 0.0
1753
- },
1754
- {
1755
- "@type": "datacellar:DataPoint",
1756
- "datacellar:timeStamp": "2023-06-05 07:00:00",
1757
- "datacellar:value": 0.0
1758
- },
1759
- {
1760
- "@type": "datacellar:DataPoint",
1761
- "datacellar:timeStamp": "2023-06-05 08:00:00",
1762
- "datacellar:value": 0.33
1763
- },
1764
- {
1765
- "@type": "datacellar:DataPoint",
1766
- "datacellar:timeStamp": "2023-06-05 09:00:00",
1767
- "datacellar:value": 1.5
1768
- },
1769
- {
1770
- "@type": "datacellar:DataPoint",
1771
- "datacellar:timeStamp": "2023-06-05 10:00:00",
1772
- "datacellar:value": 4.29
1773
- },
1774
- {
1775
- "@type": "datacellar:DataPoint",
1776
- "datacellar:timeStamp": "2023-06-05 11:00:00",
1777
- "datacellar:value": 4.77
1778
- },
1779
- {
1780
- "@type": "datacellar:DataPoint",
1781
- "datacellar:timeStamp": "2023-06-05 12:00:00",
1782
- "datacellar:value": 8.12
1783
- },
1784
- {
1785
- "@type": "datacellar:DataPoint",
1786
- "datacellar:timeStamp": "2023-06-05 13:00:00",
1787
- "datacellar:value": 13.12
1788
- },
1789
- {
1790
- "@type": "datacellar:DataPoint",
1791
- "datacellar:timeStamp": "2023-06-05 14:00:00",
1792
- "datacellar:value": 14.21
1793
- },
1794
- {
1795
- "@type": "datacellar:DataPoint",
1796
- "datacellar:timeStamp": "2023-06-05 15:00:00",
1797
- "datacellar:value": 18.41
1798
- },
1799
- {
1800
- "@type": "datacellar:DataPoint",
1801
- "datacellar:timeStamp": "2023-06-05 16:00:00",
1802
- "datacellar:value": 18.81
1803
- },
1804
- {
1805
- "@type": "datacellar:DataPoint",
1806
- "datacellar:timeStamp": "2023-06-05 17:00:00",
1807
- "datacellar:value": 8.67
1808
- },
1809
- {
1810
- "@type": "datacellar:DataPoint",
1811
- "datacellar:timeStamp": "2023-06-05 18:00:00",
1812
- "datacellar:value": 1.61
1813
- },
1814
- {
1815
- "@type": "datacellar:DataPoint",
1816
- "datacellar:timeStamp": "2023-06-05 19:00:00",
1817
- "datacellar:value": 3.61
1818
- },
1819
- {
1820
- "@type": "datacellar:DataPoint",
1821
- "datacellar:timeStamp": "2023-06-05 20:00:00",
1822
- "datacellar:value": 5.98
1823
- },
1824
- {
1825
- "@type": "datacellar:DataPoint",
1826
- "datacellar:timeStamp": "2023-06-05 21:00:00",
1827
- "datacellar:value": 1.34
1828
- },
1829
- {
1830
- "@type": "datacellar:DataPoint",
1831
- "datacellar:timeStamp": "2023-06-05 22:00:00",
1832
- "datacellar:value": 0.29
1833
- },
1834
- {
1835
- "@type": "datacellar:DataPoint",
1836
- "datacellar:timeStamp": "2023-06-05 23:00:00",
1837
- "datacellar:value": 0.0
1838
- }
1839
- ],
1840
- "datacellar:timeSeriesMetadata": {
1841
- "@type": "datacellar:Production",
1842
- "datacellar:latitude": 40.7128,
1843
- "datacellar:longitude": -74.006
1844
- }
1845
- }
1846
- ],
1847
- "datacellar:datasetMetadataList": [
1848
- {
1849
- "@type": "datacellar:GeoLocalizedDataset",
1850
- "datacellar:latitude": 40.7128,
1851
- "datacellar:longitude": -74.006,
1852
- "datacellar:postalCode": "10001"
1853
- }
1854
- ]
1855
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
task4.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
utils.py DELETED
@@ -1,274 +0,0 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import plotly.express as px
4
- import plotly.graph_objects as go
5
- import requests
6
- import json
7
- from datetime import datetime
8
-
9
- def get_series_name_and_unit(series, dataset_description):
10
- """
11
- Extract the name and unit from a time series using its dataset description.
12
-
13
- Args:
14
- series: Dictionary containing series data
15
- dataset_description: Dictionary containing dataset field descriptions
16
-
17
- Returns:
18
- tuple: (name, unit) of the series
19
- """
20
- field_id = series['datacellar:datasetFieldID']
21
- field = next((f for f in dataset_description['datacellar:datasetFields']
22
- if f['datacellar:datasetFieldID'] == field_id), None)
23
-
24
- name = field['datacellar:fieldName'] if field else f'Series {field_id}'
25
- unit = field['datacellar:type']['datacellar:unitText'] if field else 'Unknown'
26
-
27
- # Override name if metadata contains loadType
28
- if 'datacellar:timeSeriesMetadata' in series:
29
- metadata = series['datacellar:timeSeriesMetadata']
30
- if 'datacellar:loadType' in metadata:
31
- name = metadata['datacellar:loadType']
32
-
33
- return name, unit
34
-
35
- def process_series(series, dataset_description, is_input=False):
36
- """
37
- Process a single time series into a pandas DataFrame.
38
-
39
- Args:
40
- series: Dictionary containing series data
41
- dataset_description: Dictionary containing dataset field descriptions
42
- is_input: Boolean indicating if this is input data
43
-
44
- Returns:
45
- tuple: (DataFrame, unit, name) of the processed series
46
- """
47
- name, unit = get_series_name_and_unit(series, dataset_description)
48
- df = pd.DataFrame(series['datacellar:dataPoints'])
49
-
50
- # Convert timestamp to datetime and ensure values are numeric
51
- df['datacellar:timeStamp'] = pd.to_datetime(df['datacellar:timeStamp'])
52
- df['datacellar:value'] = pd.to_numeric(df['datacellar:value'], errors='coerce')
53
-
54
- # Add series identifier
55
- df['series_id'] = f'{name} (Input)' if is_input else name
56
-
57
- return df, unit, name
58
-
59
- def load_and_process_data(json_data, input_data=None):
60
- """
61
- Load and process time series from the JSON data, filtering out empty series.
62
- """
63
- series_by_unit = {}
64
- try:
65
- dataset_description = json_data['datacellar:datasetSelfDescription']
66
- except:
67
- dataset_description = {
68
- "@type": "datacellar:DatasetField",
69
- "datacellar:datasetFieldID": 0,
70
- "datacellar:fieldName": "anomaly",
71
- "datacellar:description": "Anomalies",
72
- "datacellar:type": {
73
- "@type": "datacellar:boolean",
74
- "datacellar:unitText": "-"
75
- }
76
- }
77
-
78
- # Process output series
79
- try:
80
- for series in json_data['datacellar:timeSeriesList']:
81
- # Check if series has any data points
82
- if series.get('datacellar:dataPoints'):
83
- df, unit, _ = process_series(series, dataset_description)
84
- # Additional check for non-empty DataFrame
85
- if not df.empty and df['datacellar:value'].notna().any():
86
- if unit not in series_by_unit:
87
- series_by_unit[unit] = []
88
- series_by_unit[unit].append(df)
89
- except Exception as e:
90
- st.error(f"Error processing series: {str(e)}")
91
-
92
- # Process input series if provided
93
- if input_data:
94
- input_description = input_data['datacellar:datasetSelfDescription']
95
- for series in input_data['datacellar:timeSeriesList']:
96
- if series.get('datacellar:dataPoints'):
97
- df, unit, _ = process_series(series, input_description, is_input=True)
98
- if not df.empty and df['datacellar:value'].notna().any():
99
- if unit not in series_by_unit:
100
- series_by_unit[unit] = []
101
- series_by_unit[unit].append(df)
102
-
103
- # Concatenate and filter out units with no valid data
104
- result = {}
105
- for unit, dfs in series_by_unit.items():
106
- if dfs: # Check if there are any DataFrames for this unit
107
- combined_df = pd.concat(dfs)
108
- if not combined_df.empty and combined_df['datacellar:value'].notna().any():
109
- result[unit] = combined_df
110
-
111
- return result
112
-
113
- def create_time_series_plot(df, unit, service_type=None,fig=None):
114
- """
115
- Create visualization for time series data, handling empty series appropriately.
116
- """
117
- if service_type == "Anomaly Detection":
118
-
119
- if not fig:
120
- fig = go.Figure()
121
-
122
- # Filter for non-empty input data
123
- input_data = df[df['series_id'].str.contains('Input')]
124
- input_data = input_data[input_data['datacellar:value'].notna()]
125
-
126
- if not input_data.empty:
127
- fig.add_trace(go.Scatter(
128
- x=input_data['datacellar:timeStamp'],
129
- y=input_data['datacellar:value'],
130
- mode='lines',
131
- name='Energy Consumption',
132
- line=dict(color='blue')
133
- ))
134
-
135
- # Handle anomalies
136
- anomalies = df[(~df['series_id'].str.contains('Output')) &
137
- (df['datacellar:value'] == True) &
138
- (df['datacellar:value'].notna())]
139
- if not anomalies.empty:
140
- anomaly_values = []
141
- for timestamp in anomalies['datacellar:timeStamp']:
142
- value = input_data.loc[input_data['datacellar:timeStamp'] == timestamp, 'datacellar:value']
143
- anomaly_values.append(value.iloc[0] if not value.empty else None)
144
-
145
- # fig.add_trace(go.Scatter(
146
- # x=anomalies['datacellar:timeStamp'],
147
- # y=anomaly_values,
148
- # mode='markers',
149
- # name='Anomalies',
150
- # marker=dict(color='red', size=10)
151
- # ))
152
-
153
- fig.update_layout(
154
- title=f'Time Series Data with Anomalies ({unit})',
155
- xaxis_title="Time",
156
- yaxis_title=f"Value ({unit})",
157
- hovermode='x unified',
158
- legend_title="Series"
159
- )
160
- return fig
161
- else:
162
- # Filter out series with no valid data
163
- valid_series = []
164
- for series_id in df['series_id'].unique():
165
- series_data = df[df['series_id'] == series_id]
166
- if not series_data.empty and series_data['datacellar:value'].notna().any():
167
- valid_series.append(series_id)
168
-
169
- # Create plot only for valid series
170
- if valid_series:
171
- filtered_df = df[df['series_id'].isin(valid_series)]
172
- return px.line(
173
- filtered_df,
174
- x='datacellar:timeStamp',
175
- y='datacellar:value',
176
- color='series_id',
177
- title=f'Time Series Data ({unit})'
178
- ).update_layout(
179
- xaxis_title="Time",
180
- yaxis_title=f"Value ({unit})",
181
- hovermode='x unified',
182
- legend_title="Series"
183
- )
184
- else:
185
- # Return None or an empty figure if no valid series
186
- return None
187
-
188
- def display_statistics(dfs_by_unit):
189
- """
190
- Display statistics only for non-empty series.
191
- """
192
- for unit, df in dfs_by_unit.items():
193
- st.write(f"## Measurements in {unit}")
194
- for series_id in df['series_id'].unique():
195
- series_data = df[df['series_id'] == series_id]
196
- # Check if series has valid data
197
- if not series_data.empty and series_data['datacellar:value'].notna().any():
198
- st.write(f"### {series_id}")
199
-
200
- cols = st.columns(4)
201
- metrics = [
202
- ("Average", series_data['datacellar:value'].mean()),
203
- ("Max", series_data['datacellar:value'].max()),
204
- ("Min", series_data['datacellar:value'].min()),
205
- ("Total", series_data['datacellar:value'].sum() * 6/3600)
206
- ]
207
-
208
- for col, (label, value) in zip(cols, metrics):
209
- with col:
210
- unit_suffix = "h" if label == "Total" else ""
211
- st.metric(label, f"{value:.2f} {unit}{unit_suffix}")
212
-
213
- def call_api(file_content, token, service_endpoint):
214
- """
215
- Call the analysis API with the provided data.
216
-
217
- Args:
218
- file_content: Binary content of the JSON file
219
- token: API authentication token
220
- service_endpoint: String indicating which API endpoint to call
221
-
222
- Returns:
223
- dict: JSON response from the API or None if the call fails
224
- """
225
- try:
226
- url = f'https://loki.linksfoundation.com/datacellar/{service_endpoint}'
227
- response = requests.post(
228
- url,
229
- headers={'Authorization': f'Bearer {token}'},
230
- files={'input_file': ('data.json', file_content, 'application/json')}
231
- )
232
-
233
- if response.status_code == 401:
234
- st.error("Authentication failed. Please check your API token.")
235
- return None
236
-
237
- return response.json()
238
- except Exception as e:
239
- st.error(f"API Error: {str(e)}")
240
- return None
241
-
242
- def get_dataset_type(json_data):
243
- """
244
- Determine the type of dataset from its description.
245
-
246
- Args:
247
- json_data: Dictionary containing the JSON data
248
-
249
- Returns:
250
- str: "production", "consumption", or "other"
251
- """
252
- desc = json_data.get('datacellar:description', '').lower()
253
- if 'production' in desc:
254
- return "production"
255
- elif 'consumption' in desc:
256
- return "consumption"
257
- return "other"
258
-
259
- def get_forecast_horizon(json_data):
260
- """
261
- Determine the forecast horizon from dataset description.
262
-
263
- Args:
264
- json_data: Dictionary containing the JSON data
265
-
266
- Returns:
267
- str: "long", "short", or None
268
- """
269
- desc = json_data.get('datacellar:description', '').lower()
270
- if 'long term' in desc:
271
- return "long"
272
- elif 'short term' in desc:
273
- return "short"
274
- return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
yolov9c.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:876eb84f515d40c34a3b111f8fc1077d3aee59d3a243afd1cc5b77d520f237c7
3
+ size 51794840