Kim Adams commited on
Commit
60db24d
·
1 Parent(s): 3867e60

views for initial data & nlp translation

Browse files
app.py CHANGED
@@ -4,60 +4,45 @@ from huggingface_hub import Repository
4
  from io import BytesIO
5
  from dotenv import load_dotenv
6
  from openai.embeddings_utils import get_embedding, cosine_similarity
7
- from ml_to_nl_translation.translation import getTranslations
8
  from utilities import api_keys
9
 
10
  openai.api_key = api_keys.APIKeys().get_key('OPENAI_API_KEY')
11
  eleven_api_key = api_keys.APIKeys().get_key('ELEVEN_LABS_API_KEY')
12
  voice_id = api_keys.APIKeys().get_key('VOICE_ID')
13
 
14
- def translator_wrapper(name):
15
- result=getTranslations(name, openai.api_key)
16
- print(result)
 
17
  return result
18
 
19
- def process_translation(translation):
20
- if translation:
21
- # Assuming 'translator' function performs the translation and returns a dataframe
22
- df1 = getTranslations(openai.api_key)
23
- html_df1 = df1.to_html()
24
- else:
25
- html_df1 = "" # Empty string if button1 is not pressed
26
- return html_df1
27
-
28
- def process_tranformation(tranformation):
29
- if tranformation:
30
- html_df2 = "not yet, it's coming soon"
31
- # Assuming 'transformer' function performs the NLP transformation and returns a dataframe
32
- #df2 = transformer() # Your NLP transformer function
33
- #html_df2 = df2.to_html()
34
- else:
35
- html_df2 = "coming soon" # Empty string if button2 is not pressed
36
-
37
- return html_df2
38
-
39
- '''
40
- with gr.Blocks() as demo:
41
- btn1 = gr.Button(value="Start Translation")
42
- html1 = gr.HTML() # Placeholder for first dataframe
43
- btn2 = gr.Button(value="Start NLP Transformation")
44
- df2 = gr.Dataframe() # Placeholder for second dataframe
45
-
46
- def process_translation():
47
- # Assuming 'translator' function performs the translation and returns a dataframe
48
- print("in process translation")
49
- df1 = getTranslations(openai.api_key)
50
- html1=df1.to_html()
51
- print(df1)
52
 
53
- def process_tranformation():
54
- df2 = ["empty"]
55
-
56
- btn1.click(process_translation)
57
- btn2.click(process_tranformation)
58
- '''
59
 
60
- ui1 = gr.Interface(fn=process_translation, inputs=gr.Label(value="Start Translation"), outputs=gr.outputs.HTML(label="Translation Output"))
61
- ui2 = gr.Interface(fn=process_tranformation, inputs =gr.Button(value="Start NLP Transformation"), outputs=gr.outputs.HTML(label="NLP Output"))
62
- demo = gr.TabbedInterface([ui1, ui2], ["Translation", "NLP Transformation"])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  demo.launch()
 
4
  from io import BytesIO
5
  from dotenv import load_dotenv
6
  from openai.embeddings_utils import get_embedding, cosine_similarity
7
+ from ml_to_nl_translation.translation import getTranslations, getJSONData, getJSONDF
8
  from utilities import api_keys
9
 
10
  openai.api_key = api_keys.APIKeys().get_key('OPENAI_API_KEY')
11
  eleven_api_key = api_keys.APIKeys().get_key('ELEVEN_LABS_API_KEY')
12
  voice_id = api_keys.APIKeys().get_key('VOICE_ID')
13
 
14
+ def translator_wrapper():
15
+ result=getTranslations()
16
+ print("translator_wrapper")
17
+ print (result)
18
  return result
19
 
20
+ def fetch_json_html():
21
+ result = getJSONData()
22
+ print("result")
23
+ print(result)
24
+ return f"<pre>{result}</pre>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
+ def fetch_json_df():
27
+ result = getJSONDF()
28
+ print(result)
29
+ return result
 
 
30
 
31
+ with gr.Blocks() as ui1:
32
+ with gr.Row():
33
+ b1 = gr.Button("Get Sensor Data")
34
+ with gr.Row():
35
+ with gr.Column(scale=1, min_width=600):
36
+ df1 =gr.Dataframe(type="pandas")
37
+ b1.click(fetch_json_df,outputs=df1)
38
+
39
+ with gr.Blocks() as ui2:
40
+ with gr.Row():
41
+ b2 = gr.Button("NLP Translate")
42
+ with gr.Row():
43
+ with gr.Column(scale=1, min_width=600):
44
+ df2 =gr.Dataframe(type="pandas")
45
+ b2.click(translator_wrapper,outputs=df2)
46
+
47
+ demo = gr.TabbedInterface([ui1,ui2], ("Sensor Data", "NLP Translation"))
48
  demo.launch()
data-builders/mock-sensor-data-generator.py CHANGED
@@ -10,7 +10,7 @@ temp = 75.2
10
  humidity = 40.0
11
  pressure = 1013
12
  battery_life = 85
13
- status = "normal"
14
 
15
  # Initialize data list
16
  data = []
@@ -28,7 +28,7 @@ for i in range(120):
28
  "pressure": pressure,
29
  "units": {"temperature": "Celsius", "humidity": "Percent", "pressure": "hPa"}
30
  },
31
- "status": {"device": status, "batteryLife": round(battery_life, 1)}
32
  }
33
  # Append to data list
34
  data.append(data_point)
@@ -39,12 +39,14 @@ for i in range(120):
39
  humidity += random.uniform(-0.2, 0.2) # fluctuate humidity
40
  battery_life -= 0.235 # decrease battery life
41
  # Update status
42
- if temp >= 200 and temp < 240:
43
- status = "overheating"
 
 
44
  elif temp >= 240 and temp < 300:
45
- status = "failure"
46
  elif temp >= 300:
47
- status = "shutdown"
48
  halt=True
49
 
50
  elif halt==True:
 
10
  humidity = 40.0
11
  pressure = 1013
12
  battery_life = 85
13
+ state = "normal"
14
 
15
  # Initialize data list
16
  data = []
 
28
  "pressure": pressure,
29
  "units": {"temperature": "Celsius", "humidity": "Percent", "pressure": "hPa"}
30
  },
31
+ "state": {"device": state, "batteryLife": round(battery_life, 1)}
32
  }
33
  # Append to data list
34
  data.append(data_point)
 
39
  humidity += random.uniform(-0.2, 0.2) # fluctuate humidity
40
  battery_life -= 0.235 # decrease battery life
41
  # Update status
42
+ if temp < 140:
43
+ state = "normal"
44
+ elif temp >= 140 and temp < 240:
45
+ state = "warning"
46
  elif temp >= 240 and temp < 300:
47
+ state = "failure"
48
  elif temp >= 300:
49
+ state = "shutdown"
50
  halt=True
51
 
52
  elif halt==True:
ml_to_nl_translation/__pycache__/translation.cpython-311.pyc CHANGED
Binary files a/ml_to_nl_translation/__pycache__/translation.cpython-311.pyc and b/ml_to_nl_translation/__pycache__/translation.cpython-311.pyc differ
 
ml_to_nl_translation/data/datastream.json ADDED
@@ -0,0 +1,1442 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "sensor": {
4
+ "sensorId": "TS110-112",
5
+ "location": "server room"
6
+ },
7
+ "timestamp": "10:15:30",
8
+ "readingType": "temperature",
9
+ "reading": 75.2,
10
+ "readingUnit": "Celsius",
11
+ "state": "normal",
12
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 75.2 Celsius in server room as of 10:15:30."
13
+ },
14
+ {
15
+ "sensor": {
16
+ "sensorId": "TS110-112",
17
+ "location": "server room"
18
+ },
19
+ "timestamp": "10:16:30",
20
+ "readingType": "temperature",
21
+ "reading": 76.7,
22
+ "readingUnit": "Celsius",
23
+ "state": "normal",
24
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 76.7 Celsius in server room as of 10:16:30."
25
+ },
26
+ {
27
+ "sensor": {
28
+ "sensorId": "TS110-112",
29
+ "location": "server room"
30
+ },
31
+ "timestamp": "10:17:30",
32
+ "readingType": "temperature",
33
+ "reading": 78.2,
34
+ "readingUnit": "Celsius",
35
+ "state": "normal",
36
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 78.2 Celsius in server room as of 10:17:30."
37
+ },
38
+ {
39
+ "sensor": {
40
+ "sensorId": "TS110-112",
41
+ "location": "server room"
42
+ },
43
+ "timestamp": "10:18:30",
44
+ "readingType": "temperature",
45
+ "reading": 79.7,
46
+ "readingUnit": "Celsius",
47
+ "state": "normal",
48
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 79.7 Celsius in server room as of 10:18:30."
49
+ },
50
+ {
51
+ "sensor": {
52
+ "sensorId": "TS110-112",
53
+ "location": "server room"
54
+ },
55
+ "timestamp": "10:19:30",
56
+ "readingType": "temperature",
57
+ "reading": 81.2,
58
+ "readingUnit": "Celsius",
59
+ "state": "normal",
60
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 81.2 Celsius in server room as of 10:19:30."
61
+ },
62
+ {
63
+ "sensor": {
64
+ "sensorId": "TS110-112",
65
+ "location": "server room"
66
+ },
67
+ "timestamp": "10:20:30",
68
+ "readingType": "temperature",
69
+ "reading": 82.7,
70
+ "readingUnit": "Celsius",
71
+ "state": "normal",
72
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 82.7 Celsius in server room as of 10:20:30."
73
+ },
74
+ {
75
+ "sensor": {
76
+ "sensorId": "TS110-112",
77
+ "location": "server room"
78
+ },
79
+ "timestamp": "10:21:30",
80
+ "readingType": "temperature",
81
+ "reading": 84.2,
82
+ "readingUnit": "Celsius",
83
+ "state": "normal",
84
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 84.2 Celsius in server room as of 10:21:30."
85
+ },
86
+ {
87
+ "sensor": {
88
+ "sensorId": "TS110-112",
89
+ "location": "server room"
90
+ },
91
+ "timestamp": "10:22:30",
92
+ "readingType": "temperature",
93
+ "reading": 85.7,
94
+ "readingUnit": "Celsius",
95
+ "state": "normal",
96
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 85.7 Celsius in server room as of 10:22:30."
97
+ },
98
+ {
99
+ "sensor": {
100
+ "sensorId": "TS110-112",
101
+ "location": "server room"
102
+ },
103
+ "timestamp": "10:23:30",
104
+ "readingType": "temperature",
105
+ "reading": 87.2,
106
+ "readingUnit": "Celsius",
107
+ "state": "normal",
108
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 87.2 Celsius in server room as of 10:23:30."
109
+ },
110
+ {
111
+ "sensor": {
112
+ "sensorId": "TS110-112",
113
+ "location": "server room"
114
+ },
115
+ "timestamp": "10:24:30",
116
+ "readingType": "temperature",
117
+ "reading": 88.7,
118
+ "readingUnit": "Celsius",
119
+ "state": "normal",
120
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 88.7 Celsius in server room as of 10:24:30."
121
+ },
122
+ {
123
+ "sensor": {
124
+ "sensorId": "TS110-112",
125
+ "location": "server room"
126
+ },
127
+ "timestamp": "10:25:30",
128
+ "readingType": "temperature",
129
+ "reading": 90.2,
130
+ "readingUnit": "Celsius",
131
+ "state": "normal",
132
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 90.2 Celsius in server room as of 10:25:30."
133
+ },
134
+ {
135
+ "sensor": {
136
+ "sensorId": "TS110-112",
137
+ "location": "server room"
138
+ },
139
+ "timestamp": "10:26:30",
140
+ "readingType": "temperature",
141
+ "reading": 91.7,
142
+ "readingUnit": "Celsius",
143
+ "state": "normal",
144
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 91.7 Celsius in server room as of 10:26:30."
145
+ },
146
+ {
147
+ "sensor": {
148
+ "sensorId": "TS110-112",
149
+ "location": "server room"
150
+ },
151
+ "timestamp": "10:27:30",
152
+ "readingType": "temperature",
153
+ "reading": 93.2,
154
+ "readingUnit": "Celsius",
155
+ "state": "normal",
156
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 93.2 Celsius in server room as of 10:27:30."
157
+ },
158
+ {
159
+ "sensor": {
160
+ "sensorId": "TS110-112",
161
+ "location": "server room"
162
+ },
163
+ "timestamp": "10:28:30",
164
+ "readingType": "temperature",
165
+ "reading": 94.7,
166
+ "readingUnit": "Celsius",
167
+ "state": "normal",
168
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 94.7 Celsius in server room as of 10:28:30."
169
+ },
170
+ {
171
+ "sensor": {
172
+ "sensorId": "TS110-112",
173
+ "location": "server room"
174
+ },
175
+ "timestamp": "10:29:30",
176
+ "readingType": "temperature",
177
+ "reading": 96.2,
178
+ "readingUnit": "Celsius",
179
+ "state": "normal",
180
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 96.2 Celsius in server room as of 10:29:30."
181
+ },
182
+ {
183
+ "sensor": {
184
+ "sensorId": "TS110-112",
185
+ "location": "server room"
186
+ },
187
+ "timestamp": "10:30:30",
188
+ "readingType": "temperature",
189
+ "reading": 97.7,
190
+ "readingUnit": "Celsius",
191
+ "state": "normal",
192
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 97.7 Celsius in server room as of 10:30:30."
193
+ },
194
+ {
195
+ "sensor": {
196
+ "sensorId": "TS110-112",
197
+ "location": "server room"
198
+ },
199
+ "timestamp": "10:31:30",
200
+ "readingType": "temperature",
201
+ "reading": 99.2,
202
+ "readingUnit": "Celsius",
203
+ "state": "normal",
204
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 99.2 Celsius in server room as of 10:31:30."
205
+ },
206
+ {
207
+ "sensor": {
208
+ "sensorId": "TS110-112",
209
+ "location": "server room"
210
+ },
211
+ "timestamp": "10:32:30",
212
+ "readingType": "temperature",
213
+ "reading": 100.7,
214
+ "readingUnit": "Celsius",
215
+ "state": "normal",
216
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 100.7 Celsius in server room as of 10:32:30."
217
+ },
218
+ {
219
+ "sensor": {
220
+ "sensorId": "TS110-112",
221
+ "location": "server room"
222
+ },
223
+ "timestamp": "10:33:30",
224
+ "readingType": "temperature",
225
+ "reading": 102.2,
226
+ "readingUnit": "Celsius",
227
+ "state": "normal",
228
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 102.2 Celsius in server room as of 10:33:30."
229
+ },
230
+ {
231
+ "sensor": {
232
+ "sensorId": "TS110-112",
233
+ "location": "server room"
234
+ },
235
+ "timestamp": "10:34:30",
236
+ "readingType": "temperature",
237
+ "reading": 103.7,
238
+ "readingUnit": "Celsius",
239
+ "state": "normal",
240
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 103.7 Celsius in server room as of 10:34:30."
241
+ },
242
+ {
243
+ "sensor": {
244
+ "sensorId": "TS110-112",
245
+ "location": "server room"
246
+ },
247
+ "timestamp": "10:35:30",
248
+ "readingType": "temperature",
249
+ "reading": 105.2,
250
+ "readingUnit": "Celsius",
251
+ "state": "normal",
252
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 105.2 Celsius in server room as of 10:35:30."
253
+ },
254
+ {
255
+ "sensor": {
256
+ "sensorId": "TS110-112",
257
+ "location": "server room"
258
+ },
259
+ "timestamp": "10:36:30",
260
+ "readingType": "temperature",
261
+ "reading": 106.7,
262
+ "readingUnit": "Celsius",
263
+ "state": "normal",
264
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 106.7 Celsius in server room as of 10:36:30."
265
+ },
266
+ {
267
+ "sensor": {
268
+ "sensorId": "TS110-112",
269
+ "location": "server room"
270
+ },
271
+ "timestamp": "10:37:30",
272
+ "readingType": "temperature",
273
+ "reading": 108.2,
274
+ "readingUnit": "Celsius",
275
+ "state": "normal",
276
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 108.2 Celsius in server room as of 10:37:30."
277
+ },
278
+ {
279
+ "sensor": {
280
+ "sensorId": "TS110-112",
281
+ "location": "server room"
282
+ },
283
+ "timestamp": "10:38:30",
284
+ "readingType": "temperature",
285
+ "reading": 109.7,
286
+ "readingUnit": "Celsius",
287
+ "state": "normal",
288
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 109.7 Celsius in server room as of 10:38:30."
289
+ },
290
+ {
291
+ "sensor": {
292
+ "sensorId": "TS110-112",
293
+ "location": "server room"
294
+ },
295
+ "timestamp": "10:39:30",
296
+ "readingType": "temperature",
297
+ "reading": 111.2,
298
+ "readingUnit": "Celsius",
299
+ "state": "normal",
300
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 111.2 Celsius in server room as of 10:39:30."
301
+ },
302
+ {
303
+ "sensor": {
304
+ "sensorId": "TS110-112",
305
+ "location": "server room"
306
+ },
307
+ "timestamp": "10:40:30",
308
+ "readingType": "temperature",
309
+ "reading": 112.7,
310
+ "readingUnit": "Celsius",
311
+ "state": "normal",
312
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 112.7 Celsius in server room as of 10:40:30."
313
+ },
314
+ {
315
+ "sensor": {
316
+ "sensorId": "TS110-112",
317
+ "location": "server room"
318
+ },
319
+ "timestamp": "10:41:30",
320
+ "readingType": "temperature",
321
+ "reading": 114.2,
322
+ "readingUnit": "Celsius",
323
+ "state": "normal",
324
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 114.2 Celsius in server room as of 10:41:30."
325
+ },
326
+ {
327
+ "sensor": {
328
+ "sensorId": "TS110-112",
329
+ "location": "server room"
330
+ },
331
+ "timestamp": "10:42:30",
332
+ "readingType": "temperature",
333
+ "reading": 115.7,
334
+ "readingUnit": "Celsius",
335
+ "state": "normal",
336
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 115.7 Celsius in server room as of 10:42:30."
337
+ },
338
+ {
339
+ "sensor": {
340
+ "sensorId": "TS110-112",
341
+ "location": "server room"
342
+ },
343
+ "timestamp": "10:43:30",
344
+ "readingType": "temperature",
345
+ "reading": 117.2,
346
+ "readingUnit": "Celsius",
347
+ "state": "normal",
348
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 117.2 Celsius in server room as of 10:43:30."
349
+ },
350
+ {
351
+ "sensor": {
352
+ "sensorId": "TS110-112",
353
+ "location": "server room"
354
+ },
355
+ "timestamp": "10:44:30",
356
+ "readingType": "temperature",
357
+ "reading": 118.7,
358
+ "readingUnit": "Celsius",
359
+ "state": "normal",
360
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 118.7 Celsius in server room as of 10:44:30."
361
+ },
362
+ {
363
+ "sensor": {
364
+ "sensorId": "TS110-112",
365
+ "location": "server room"
366
+ },
367
+ "timestamp": "10:45:30",
368
+ "readingType": "temperature",
369
+ "reading": 120.2,
370
+ "readingUnit": "Celsius",
371
+ "state": "normal",
372
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 120.2 Celsius in server room as of 10:45:30."
373
+ },
374
+ {
375
+ "sensor": {
376
+ "sensorId": "TS110-112",
377
+ "location": "server room"
378
+ },
379
+ "timestamp": "10:46:30",
380
+ "readingType": "temperature",
381
+ "reading": 121.7,
382
+ "readingUnit": "Celsius",
383
+ "state": "normal",
384
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 121.7 Celsius in server room as of 10:46:30."
385
+ },
386
+ {
387
+ "sensor": {
388
+ "sensorId": "TS110-112",
389
+ "location": "server room"
390
+ },
391
+ "timestamp": "10:47:30",
392
+ "readingType": "temperature",
393
+ "reading": 123.2,
394
+ "readingUnit": "Celsius",
395
+ "state": "normal",
396
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 123.2 Celsius in server room as of 10:47:30."
397
+ },
398
+ {
399
+ "sensor": {
400
+ "sensorId": "TS110-112",
401
+ "location": "server room"
402
+ },
403
+ "timestamp": "10:48:30",
404
+ "readingType": "temperature",
405
+ "reading": 124.7,
406
+ "readingUnit": "Celsius",
407
+ "state": "normal",
408
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 124.7 Celsius in server room as of 10:48:30."
409
+ },
410
+ {
411
+ "sensor": {
412
+ "sensorId": "TS110-112",
413
+ "location": "server room"
414
+ },
415
+ "timestamp": "10:49:30",
416
+ "readingType": "temperature",
417
+ "reading": 126.2,
418
+ "readingUnit": "Celsius",
419
+ "state": "normal",
420
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 126.2 Celsius in server room as of 10:49:30."
421
+ },
422
+ {
423
+ "sensor": {
424
+ "sensorId": "TS110-112",
425
+ "location": "server room"
426
+ },
427
+ "timestamp": "10:50:30",
428
+ "readingType": "temperature",
429
+ "reading": 127.7,
430
+ "readingUnit": "Celsius",
431
+ "state": "normal",
432
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 127.7 Celsius in server room as of 10:50:30."
433
+ },
434
+ {
435
+ "sensor": {
436
+ "sensorId": "TS110-112",
437
+ "location": "server room"
438
+ },
439
+ "timestamp": "10:51:30",
440
+ "readingType": "temperature",
441
+ "reading": 129.2,
442
+ "readingUnit": "Celsius",
443
+ "state": "normal",
444
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 129.2 Celsius in server room as of 10:51:30."
445
+ },
446
+ {
447
+ "sensor": {
448
+ "sensorId": "TS110-112",
449
+ "location": "server room"
450
+ },
451
+ "timestamp": "10:52:30",
452
+ "readingType": "temperature",
453
+ "reading": 130.7,
454
+ "readingUnit": "Celsius",
455
+ "state": "normal",
456
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 130.7 Celsius in server room as of 10:52:30."
457
+ },
458
+ {
459
+ "sensor": {
460
+ "sensorId": "TS110-112",
461
+ "location": "server room"
462
+ },
463
+ "timestamp": "10:53:30",
464
+ "readingType": "temperature",
465
+ "reading": 132.2,
466
+ "readingUnit": "Celsius",
467
+ "state": "normal",
468
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 132.2 Celsius in server room as of 10:53:30."
469
+ },
470
+ {
471
+ "sensor": {
472
+ "sensorId": "TS110-112",
473
+ "location": "server room"
474
+ },
475
+ "timestamp": "10:54:30",
476
+ "readingType": "temperature",
477
+ "reading": 133.7,
478
+ "readingUnit": "Celsius",
479
+ "state": "normal",
480
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 133.7 Celsius in server room as of 10:54:30."
481
+ },
482
+ {
483
+ "sensor": {
484
+ "sensorId": "TS110-112",
485
+ "location": "server room"
486
+ },
487
+ "timestamp": "10:55:30",
488
+ "readingType": "temperature",
489
+ "reading": 135.2,
490
+ "readingUnit": "Celsius",
491
+ "state": "normal",
492
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 135.2 Celsius in server room as of 10:55:30."
493
+ },
494
+ {
495
+ "sensor": {
496
+ "sensorId": "TS110-112",
497
+ "location": "server room"
498
+ },
499
+ "timestamp": "10:56:30",
500
+ "readingType": "temperature",
501
+ "reading": 136.7,
502
+ "readingUnit": "Celsius",
503
+ "state": "normal",
504
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 136.7 Celsius in server room as of 10:56:30."
505
+ },
506
+ {
507
+ "sensor": {
508
+ "sensorId": "TS110-112",
509
+ "location": "server room"
510
+ },
511
+ "timestamp": "10:57:30",
512
+ "readingType": "temperature",
513
+ "reading": 138.2,
514
+ "readingUnit": "Celsius",
515
+ "state": "normal",
516
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 138.2 Celsius in server room as of 10:57:30."
517
+ },
518
+ {
519
+ "sensor": {
520
+ "sensorId": "TS110-112",
521
+ "location": "server room"
522
+ },
523
+ "timestamp": "10:58:30",
524
+ "readingType": "temperature",
525
+ "reading": 139.7,
526
+ "readingUnit": "Celsius",
527
+ "state": "normal",
528
+ "message": "The sensor with ID TS110-112 is normal and is currently measuring temperature at 139.7 Celsius in server room as of 10:58:30."
529
+ },
530
+ {
531
+ "sensor": {
532
+ "sensorId": "TS110-112",
533
+ "location": "server room"
534
+ },
535
+ "timestamp": "10:59:30",
536
+ "readingType": "temperature",
537
+ "reading": 141.2,
538
+ "readingUnit": "Celsius",
539
+ "state": "warning",
540
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 141.2 Celsius in server room as of 10:59:30."
541
+ },
542
+ {
543
+ "sensor": {
544
+ "sensorId": "TS110-112",
545
+ "location": "server room"
546
+ },
547
+ "timestamp": "11:00:30",
548
+ "readingType": "temperature",
549
+ "reading": 142.7,
550
+ "readingUnit": "Celsius",
551
+ "state": "warning",
552
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 142.7 Celsius in server room as of 11:00:30."
553
+ },
554
+ {
555
+ "sensor": {
556
+ "sensorId": "TS110-112",
557
+ "location": "server room"
558
+ },
559
+ "timestamp": "11:01:30",
560
+ "readingType": "temperature",
561
+ "reading": 144.2,
562
+ "readingUnit": "Celsius",
563
+ "state": "warning",
564
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 144.2 Celsius in server room as of 11:01:30."
565
+ },
566
+ {
567
+ "sensor": {
568
+ "sensorId": "TS110-112",
569
+ "location": "server room"
570
+ },
571
+ "timestamp": "11:02:30",
572
+ "readingType": "temperature",
573
+ "reading": 145.7,
574
+ "readingUnit": "Celsius",
575
+ "state": "warning",
576
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 145.7 Celsius in server room as of 11:02:30."
577
+ },
578
+ {
579
+ "sensor": {
580
+ "sensorId": "TS110-112",
581
+ "location": "server room"
582
+ },
583
+ "timestamp": "11:03:30",
584
+ "readingType": "temperature",
585
+ "reading": 147.2,
586
+ "readingUnit": "Celsius",
587
+ "state": "warning",
588
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 147.2 Celsius in server room as of 11:03:30."
589
+ },
590
+ {
591
+ "sensor": {
592
+ "sensorId": "TS110-112",
593
+ "location": "server room"
594
+ },
595
+ "timestamp": "11:04:30",
596
+ "readingType": "temperature",
597
+ "reading": 148.7,
598
+ "readingUnit": "Celsius",
599
+ "state": "warning",
600
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 148.7 Celsius in server room as of 11:04:30."
601
+ },
602
+ {
603
+ "sensor": {
604
+ "sensorId": "TS110-112",
605
+ "location": "server room"
606
+ },
607
+ "timestamp": "11:05:30",
608
+ "readingType": "temperature",
609
+ "reading": 150.2,
610
+ "readingUnit": "Celsius",
611
+ "state": "warning",
612
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 150.2 Celsius in server room as of 11:05:30."
613
+ },
614
+ {
615
+ "sensor": {
616
+ "sensorId": "TS110-112",
617
+ "location": "server room"
618
+ },
619
+ "timestamp": "11:06:30",
620
+ "readingType": "temperature",
621
+ "reading": 151.7,
622
+ "readingUnit": "Celsius",
623
+ "state": "warning",
624
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 151.7 Celsius in server room as of 11:06:30."
625
+ },
626
+ {
627
+ "sensor": {
628
+ "sensorId": "TS110-112",
629
+ "location": "server room"
630
+ },
631
+ "timestamp": "11:07:30",
632
+ "readingType": "temperature",
633
+ "reading": 153.2,
634
+ "readingUnit": "Celsius",
635
+ "state": "warning",
636
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 153.2 Celsius in server room as of 11:07:30."
637
+ },
638
+ {
639
+ "sensor": {
640
+ "sensorId": "TS110-112",
641
+ "location": "server room"
642
+ },
643
+ "timestamp": "11:08:30",
644
+ "readingType": "temperature",
645
+ "reading": 154.7,
646
+ "readingUnit": "Celsius",
647
+ "state": "warning",
648
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 154.7 Celsius in server room as of 11:08:30."
649
+ },
650
+ {
651
+ "sensor": {
652
+ "sensorId": "TS110-112",
653
+ "location": "server room"
654
+ },
655
+ "timestamp": "11:09:30",
656
+ "readingType": "temperature",
657
+ "reading": 156.2,
658
+ "readingUnit": "Celsius",
659
+ "state": "warning",
660
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 156.2 Celsius in server room as of 11:09:30."
661
+ },
662
+ {
663
+ "sensor": {
664
+ "sensorId": "TS110-112",
665
+ "location": "server room"
666
+ },
667
+ "timestamp": "11:10:30",
668
+ "readingType": "temperature",
669
+ "reading": 157.7,
670
+ "readingUnit": "Celsius",
671
+ "state": "warning",
672
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 157.7 Celsius in server room as of 11:10:30."
673
+ },
674
+ {
675
+ "sensor": {
676
+ "sensorId": "TS110-112",
677
+ "location": "server room"
678
+ },
679
+ "timestamp": "11:11:30",
680
+ "readingType": "temperature",
681
+ "reading": 159.2,
682
+ "readingUnit": "Celsius",
683
+ "state": "warning",
684
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 159.2 Celsius in server room as of 11:11:30."
685
+ },
686
+ {
687
+ "sensor": {
688
+ "sensorId": "TS110-112",
689
+ "location": "server room"
690
+ },
691
+ "timestamp": "11:12:30",
692
+ "readingType": "temperature",
693
+ "reading": 160.7,
694
+ "readingUnit": "Celsius",
695
+ "state": "warning",
696
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 160.7 Celsius in server room as of 11:12:30."
697
+ },
698
+ {
699
+ "sensor": {
700
+ "sensorId": "TS110-112",
701
+ "location": "server room"
702
+ },
703
+ "timestamp": "11:13:30",
704
+ "readingType": "temperature",
705
+ "reading": 162.2,
706
+ "readingUnit": "Celsius",
707
+ "state": "warning",
708
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 162.2 Celsius in server room as of 11:13:30."
709
+ },
710
+ {
711
+ "sensor": {
712
+ "sensorId": "TS110-112",
713
+ "location": "server room"
714
+ },
715
+ "timestamp": "11:14:30",
716
+ "readingType": "temperature",
717
+ "reading": 163.7,
718
+ "readingUnit": "Celsius",
719
+ "state": "warning",
720
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 163.7 Celsius in server room as of 11:14:30."
721
+ },
722
+ {
723
+ "sensor": {
724
+ "sensorId": "TS110-112",
725
+ "location": "server room"
726
+ },
727
+ "timestamp": "11:15:30",
728
+ "readingType": "temperature",
729
+ "reading": 165.2,
730
+ "readingUnit": "Celsius",
731
+ "state": "warning",
732
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 165.2 Celsius in server room as of 11:15:30."
733
+ },
734
+ {
735
+ "sensor": {
736
+ "sensorId": "TS110-112",
737
+ "location": "server room"
738
+ },
739
+ "timestamp": "11:16:30",
740
+ "readingType": "temperature",
741
+ "reading": 168.1,
742
+ "readingUnit": "Celsius",
743
+ "state": "warning",
744
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 168.1 Celsius in server room as of 11:16:30."
745
+ },
746
+ {
747
+ "sensor": {
748
+ "sensorId": "TS110-112",
749
+ "location": "server room"
750
+ },
751
+ "timestamp": "11:17:30",
752
+ "readingType": "temperature",
753
+ "reading": 171.0,
754
+ "readingUnit": "Celsius",
755
+ "state": "warning",
756
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 171.0 Celsius in server room as of 11:17:30."
757
+ },
758
+ {
759
+ "sensor": {
760
+ "sensorId": "TS110-112",
761
+ "location": "server room"
762
+ },
763
+ "timestamp": "11:18:30",
764
+ "readingType": "temperature",
765
+ "reading": 173.9,
766
+ "readingUnit": "Celsius",
767
+ "state": "warning",
768
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 173.9 Celsius in server room as of 11:18:30."
769
+ },
770
+ {
771
+ "sensor": {
772
+ "sensorId": "TS110-112",
773
+ "location": "server room"
774
+ },
775
+ "timestamp": "11:19:30",
776
+ "readingType": "temperature",
777
+ "reading": 176.8,
778
+ "readingUnit": "Celsius",
779
+ "state": "warning",
780
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 176.8 Celsius in server room as of 11:19:30."
781
+ },
782
+ {
783
+ "sensor": {
784
+ "sensorId": "TS110-112",
785
+ "location": "server room"
786
+ },
787
+ "timestamp": "11:20:30",
788
+ "readingType": "temperature",
789
+ "reading": 179.7,
790
+ "readingUnit": "Celsius",
791
+ "state": "warning",
792
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 179.7 Celsius in server room as of 11:20:30."
793
+ },
794
+ {
795
+ "sensor": {
796
+ "sensorId": "TS110-112",
797
+ "location": "server room"
798
+ },
799
+ "timestamp": "11:21:30",
800
+ "readingType": "temperature",
801
+ "reading": 182.6,
802
+ "readingUnit": "Celsius",
803
+ "state": "warning",
804
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 182.6 Celsius in server room as of 11:21:30."
805
+ },
806
+ {
807
+ "sensor": {
808
+ "sensorId": "TS110-112",
809
+ "location": "server room"
810
+ },
811
+ "timestamp": "11:22:30",
812
+ "readingType": "temperature",
813
+ "reading": 185.5,
814
+ "readingUnit": "Celsius",
815
+ "state": "warning",
816
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 185.5 Celsius in server room as of 11:22:30."
817
+ },
818
+ {
819
+ "sensor": {
820
+ "sensorId": "TS110-112",
821
+ "location": "server room"
822
+ },
823
+ "timestamp": "11:23:30",
824
+ "readingType": "temperature",
825
+ "reading": 188.4,
826
+ "readingUnit": "Celsius",
827
+ "state": "warning",
828
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 188.4 Celsius in server room as of 11:23:30."
829
+ },
830
+ {
831
+ "sensor": {
832
+ "sensorId": "TS110-112",
833
+ "location": "server room"
834
+ },
835
+ "timestamp": "11:24:30",
836
+ "readingType": "temperature",
837
+ "reading": 191.3,
838
+ "readingUnit": "Celsius",
839
+ "state": "warning",
840
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 191.3 Celsius in server room as of 11:24:30."
841
+ },
842
+ {
843
+ "sensor": {
844
+ "sensorId": "TS110-112",
845
+ "location": "server room"
846
+ },
847
+ "timestamp": "11:25:30",
848
+ "readingType": "temperature",
849
+ "reading": 194.2,
850
+ "readingUnit": "Celsius",
851
+ "state": "warning",
852
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 194.2 Celsius in server room as of 11:25:30."
853
+ },
854
+ {
855
+ "sensor": {
856
+ "sensorId": "TS110-112",
857
+ "location": "server room"
858
+ },
859
+ "timestamp": "11:26:30",
860
+ "readingType": "temperature",
861
+ "reading": 197.1,
862
+ "readingUnit": "Celsius",
863
+ "state": "warning",
864
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 197.1 Celsius in server room as of 11:26:30."
865
+ },
866
+ {
867
+ "sensor": {
868
+ "sensorId": "TS110-112",
869
+ "location": "server room"
870
+ },
871
+ "timestamp": "11:27:30",
872
+ "readingType": "temperature",
873
+ "reading": 200.0,
874
+ "readingUnit": "Celsius",
875
+ "state": "warning",
876
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 200.0 Celsius in server room as of 11:27:30."
877
+ },
878
+ {
879
+ "sensor": {
880
+ "sensorId": "TS110-112",
881
+ "location": "server room"
882
+ },
883
+ "timestamp": "11:28:30",
884
+ "readingType": "temperature",
885
+ "reading": 202.9,
886
+ "readingUnit": "Celsius",
887
+ "state": "warning",
888
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 202.9 Celsius in server room as of 11:28:30."
889
+ },
890
+ {
891
+ "sensor": {
892
+ "sensorId": "TS110-112",
893
+ "location": "server room"
894
+ },
895
+ "timestamp": "11:29:30",
896
+ "readingType": "temperature",
897
+ "reading": 205.8,
898
+ "readingUnit": "Celsius",
899
+ "state": "warning",
900
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 205.8 Celsius in server room as of 11:29:30."
901
+ },
902
+ {
903
+ "sensor": {
904
+ "sensorId": "TS110-112",
905
+ "location": "server room"
906
+ },
907
+ "timestamp": "11:30:30",
908
+ "readingType": "temperature",
909
+ "reading": 208.7,
910
+ "readingUnit": "Celsius",
911
+ "state": "warning",
912
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 208.7 Celsius in server room as of 11:30:30."
913
+ },
914
+ {
915
+ "sensor": {
916
+ "sensorId": "TS110-112",
917
+ "location": "server room"
918
+ },
919
+ "timestamp": "11:31:30",
920
+ "readingType": "temperature",
921
+ "reading": 211.6,
922
+ "readingUnit": "Celsius",
923
+ "state": "warning",
924
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 211.6 Celsius in server room as of 11:31:30."
925
+ },
926
+ {
927
+ "sensor": {
928
+ "sensorId": "TS110-112",
929
+ "location": "server room"
930
+ },
931
+ "timestamp": "11:32:30",
932
+ "readingType": "temperature",
933
+ "reading": 214.5,
934
+ "readingUnit": "Celsius",
935
+ "state": "warning",
936
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 214.5 Celsius in server room as of 11:32:30."
937
+ },
938
+ {
939
+ "sensor": {
940
+ "sensorId": "TS110-112",
941
+ "location": "server room"
942
+ },
943
+ "timestamp": "11:33:30",
944
+ "readingType": "temperature",
945
+ "reading": 217.4,
946
+ "readingUnit": "Celsius",
947
+ "state": "warning",
948
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 217.4 Celsius in server room as of 11:33:30."
949
+ },
950
+ {
951
+ "sensor": {
952
+ "sensorId": "TS110-112",
953
+ "location": "server room"
954
+ },
955
+ "timestamp": "11:34:30",
956
+ "readingType": "temperature",
957
+ "reading": 220.3,
958
+ "readingUnit": "Celsius",
959
+ "state": "warning",
960
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 220.3 Celsius in server room as of 11:34:30."
961
+ },
962
+ {
963
+ "sensor": {
964
+ "sensorId": "TS110-112",
965
+ "location": "server room"
966
+ },
967
+ "timestamp": "11:35:30",
968
+ "readingType": "temperature",
969
+ "reading": 223.2,
970
+ "readingUnit": "Celsius",
971
+ "state": "warning",
972
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 223.2 Celsius in server room as of 11:35:30."
973
+ },
974
+ {
975
+ "sensor": {
976
+ "sensorId": "TS110-112",
977
+ "location": "server room"
978
+ },
979
+ "timestamp": "11:36:30",
980
+ "readingType": "temperature",
981
+ "reading": 226.1,
982
+ "readingUnit": "Celsius",
983
+ "state": "warning",
984
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 226.1 Celsius in server room as of 11:36:30."
985
+ },
986
+ {
987
+ "sensor": {
988
+ "sensorId": "TS110-112",
989
+ "location": "server room"
990
+ },
991
+ "timestamp": "11:37:30",
992
+ "readingType": "temperature",
993
+ "reading": 229.0,
994
+ "readingUnit": "Celsius",
995
+ "state": "warning",
996
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 229.0 Celsius in server room as of 11:37:30."
997
+ },
998
+ {
999
+ "sensor": {
1000
+ "sensorId": "TS110-112",
1001
+ "location": "server room"
1002
+ },
1003
+ "timestamp": "11:38:30",
1004
+ "readingType": "temperature",
1005
+ "reading": 231.9,
1006
+ "readingUnit": "Celsius",
1007
+ "state": "warning",
1008
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 231.9 Celsius in server room as of 11:38:30."
1009
+ },
1010
+ {
1011
+ "sensor": {
1012
+ "sensorId": "TS110-112",
1013
+ "location": "server room"
1014
+ },
1015
+ "timestamp": "11:39:30",
1016
+ "readingType": "temperature",
1017
+ "reading": 234.8,
1018
+ "readingUnit": "Celsius",
1019
+ "state": "warning",
1020
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 234.8 Celsius in server room as of 11:39:30."
1021
+ },
1022
+ {
1023
+ "sensor": {
1024
+ "sensorId": "TS110-112",
1025
+ "location": "server room"
1026
+ },
1027
+ "timestamp": "11:40:30",
1028
+ "readingType": "temperature",
1029
+ "reading": 237.7,
1030
+ "readingUnit": "Celsius",
1031
+ "state": "warning",
1032
+ "message": "The sensor with ID TS110-112 is warning and is currently measuring temperature at 237.7 Celsius in server room as of 11:40:30."
1033
+ },
1034
+ {
1035
+ "sensor": {
1036
+ "sensorId": "TS110-112",
1037
+ "location": "server room"
1038
+ },
1039
+ "timestamp": "11:41:30",
1040
+ "readingType": "temperature",
1041
+ "reading": 240.6,
1042
+ "readingUnit": "Celsius",
1043
+ "state": "failure",
1044
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 240.6 Celsius in server room as of 11:41:30."
1045
+ },
1046
+ {
1047
+ "sensor": {
1048
+ "sensorId": "TS110-112",
1049
+ "location": "server room"
1050
+ },
1051
+ "timestamp": "11:42:30",
1052
+ "readingType": "temperature",
1053
+ "reading": 243.5,
1054
+ "readingUnit": "Celsius",
1055
+ "state": "failure",
1056
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 243.5 Celsius in server room as of 11:42:30."
1057
+ },
1058
+ {
1059
+ "sensor": {
1060
+ "sensorId": "TS110-112",
1061
+ "location": "server room"
1062
+ },
1063
+ "timestamp": "11:43:30",
1064
+ "readingType": "temperature",
1065
+ "reading": 246.4,
1066
+ "readingUnit": "Celsius",
1067
+ "state": "failure",
1068
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 246.4 Celsius in server room as of 11:43:30."
1069
+ },
1070
+ {
1071
+ "sensor": {
1072
+ "sensorId": "TS110-112",
1073
+ "location": "server room"
1074
+ },
1075
+ "timestamp": "11:44:30",
1076
+ "readingType": "temperature",
1077
+ "reading": 249.3,
1078
+ "readingUnit": "Celsius",
1079
+ "state": "failure",
1080
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 249.3 Celsius in server room as of 11:44:30."
1081
+ },
1082
+ {
1083
+ "sensor": {
1084
+ "sensorId": "TS110-112",
1085
+ "location": "server room"
1086
+ },
1087
+ "timestamp": "11:45:30",
1088
+ "readingType": "temperature",
1089
+ "reading": 252.2,
1090
+ "readingUnit": "Celsius",
1091
+ "state": "failure",
1092
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 252.2 Celsius in server room as of 11:45:30."
1093
+ },
1094
+ {
1095
+ "sensor": {
1096
+ "sensorId": "TS110-112",
1097
+ "location": "server room"
1098
+ },
1099
+ "timestamp": "11:46:30",
1100
+ "readingType": "temperature",
1101
+ "reading": 255.1,
1102
+ "readingUnit": "Celsius",
1103
+ "state": "failure",
1104
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 255.1 Celsius in server room as of 11:46:30."
1105
+ },
1106
+ {
1107
+ "sensor": {
1108
+ "sensorId": "TS110-112",
1109
+ "location": "server room"
1110
+ },
1111
+ "timestamp": "11:47:30",
1112
+ "readingType": "temperature",
1113
+ "reading": 258.0,
1114
+ "readingUnit": "Celsius",
1115
+ "state": "failure",
1116
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 258.0 Celsius in server room as of 11:47:30."
1117
+ },
1118
+ {
1119
+ "sensor": {
1120
+ "sensorId": "TS110-112",
1121
+ "location": "server room"
1122
+ },
1123
+ "timestamp": "11:48:30",
1124
+ "readingType": "temperature",
1125
+ "reading": 260.9,
1126
+ "readingUnit": "Celsius",
1127
+ "state": "failure",
1128
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 260.9 Celsius in server room as of 11:48:30."
1129
+ },
1130
+ {
1131
+ "sensor": {
1132
+ "sensorId": "TS110-112",
1133
+ "location": "server room"
1134
+ },
1135
+ "timestamp": "11:49:30",
1136
+ "readingType": "temperature",
1137
+ "reading": 263.8,
1138
+ "readingUnit": "Celsius",
1139
+ "state": "failure",
1140
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 263.8 Celsius in server room as of 11:49:30."
1141
+ },
1142
+ {
1143
+ "sensor": {
1144
+ "sensorId": "TS110-112",
1145
+ "location": "server room"
1146
+ },
1147
+ "timestamp": "11:50:30",
1148
+ "readingType": "temperature",
1149
+ "reading": 266.7,
1150
+ "readingUnit": "Celsius",
1151
+ "state": "failure",
1152
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 266.7 Celsius in server room as of 11:50:30."
1153
+ },
1154
+ {
1155
+ "sensor": {
1156
+ "sensorId": "TS110-112",
1157
+ "location": "server room"
1158
+ },
1159
+ "timestamp": "11:51:30",
1160
+ "readingType": "temperature",
1161
+ "reading": 269.6,
1162
+ "readingUnit": "Celsius",
1163
+ "state": "failure",
1164
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 269.6 Celsius in server room as of 11:51:30."
1165
+ },
1166
+ {
1167
+ "sensor": {
1168
+ "sensorId": "TS110-112",
1169
+ "location": "server room"
1170
+ },
1171
+ "timestamp": "11:52:30",
1172
+ "readingType": "temperature",
1173
+ "reading": 272.5,
1174
+ "readingUnit": "Celsius",
1175
+ "state": "failure",
1176
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 272.5 Celsius in server room as of 11:52:30."
1177
+ },
1178
+ {
1179
+ "sensor": {
1180
+ "sensorId": "TS110-112",
1181
+ "location": "server room"
1182
+ },
1183
+ "timestamp": "11:53:30",
1184
+ "readingType": "temperature",
1185
+ "reading": 275.4,
1186
+ "readingUnit": "Celsius",
1187
+ "state": "failure",
1188
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 275.4 Celsius in server room as of 11:53:30."
1189
+ },
1190
+ {
1191
+ "sensor": {
1192
+ "sensorId": "TS110-112",
1193
+ "location": "server room"
1194
+ },
1195
+ "timestamp": "11:54:30",
1196
+ "readingType": "temperature",
1197
+ "reading": 278.3,
1198
+ "readingUnit": "Celsius",
1199
+ "state": "failure",
1200
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 278.3 Celsius in server room as of 11:54:30."
1201
+ },
1202
+ {
1203
+ "sensor": {
1204
+ "sensorId": "TS110-112",
1205
+ "location": "server room"
1206
+ },
1207
+ "timestamp": "11:55:30",
1208
+ "readingType": "temperature",
1209
+ "reading": 281.2,
1210
+ "readingUnit": "Celsius",
1211
+ "state": "failure",
1212
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 281.2 Celsius in server room as of 11:55:30."
1213
+ },
1214
+ {
1215
+ "sensor": {
1216
+ "sensorId": "TS110-112",
1217
+ "location": "server room"
1218
+ },
1219
+ "timestamp": "11:56:30",
1220
+ "readingType": "temperature",
1221
+ "reading": 284.1,
1222
+ "readingUnit": "Celsius",
1223
+ "state": "failure",
1224
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 284.1 Celsius in server room as of 11:56:30."
1225
+ },
1226
+ {
1227
+ "sensor": {
1228
+ "sensorId": "TS110-112",
1229
+ "location": "server room"
1230
+ },
1231
+ "timestamp": "11:57:30",
1232
+ "readingType": "temperature",
1233
+ "reading": 287.0,
1234
+ "readingUnit": "Celsius",
1235
+ "state": "failure",
1236
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 287.0 Celsius in server room as of 11:57:30."
1237
+ },
1238
+ {
1239
+ "sensor": {
1240
+ "sensorId": "TS110-112",
1241
+ "location": "server room"
1242
+ },
1243
+ "timestamp": "11:58:30",
1244
+ "readingType": "temperature",
1245
+ "reading": 289.9,
1246
+ "readingUnit": "Celsius",
1247
+ "state": "failure",
1248
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 289.9 Celsius in server room as of 11:58:30."
1249
+ },
1250
+ {
1251
+ "sensor": {
1252
+ "sensorId": "TS110-112",
1253
+ "location": "server room"
1254
+ },
1255
+ "timestamp": "11:59:30",
1256
+ "readingType": "temperature",
1257
+ "reading": 292.8,
1258
+ "readingUnit": "Celsius",
1259
+ "state": "failure",
1260
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 292.8 Celsius in server room as of 11:59:30."
1261
+ },
1262
+ {
1263
+ "sensor": {
1264
+ "sensorId": "TS110-112",
1265
+ "location": "server room"
1266
+ },
1267
+ "timestamp": "12:00:30",
1268
+ "readingType": "temperature",
1269
+ "reading": 295.7,
1270
+ "readingUnit": "Celsius",
1271
+ "state": "failure",
1272
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 295.7 Celsius in server room as of 12:00:30."
1273
+ },
1274
+ {
1275
+ "sensor": {
1276
+ "sensorId": "TS110-112",
1277
+ "location": "server room"
1278
+ },
1279
+ "timestamp": "12:01:30",
1280
+ "readingType": "temperature",
1281
+ "reading": 298.6,
1282
+ "readingUnit": "Celsius",
1283
+ "state": "failure",
1284
+ "message": "The sensor with ID TS110-112 is failure and is currently measuring temperature at 298.6 Celsius in server room as of 12:01:30."
1285
+ },
1286
+ {
1287
+ "sensor": {
1288
+ "sensorId": "TS110-112",
1289
+ "location": "server room"
1290
+ },
1291
+ "timestamp": "12:02:30",
1292
+ "readingType": "temperature",
1293
+ "reading": 301.5,
1294
+ "readingUnit": "Celsius",
1295
+ "state": "shutdown",
1296
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 301.5 Celsius in server room as of 12:02:30."
1297
+ },
1298
+ {
1299
+ "sensor": {
1300
+ "sensorId": "TS110-112",
1301
+ "location": "server room"
1302
+ },
1303
+ "timestamp": "12:03:30",
1304
+ "readingType": "temperature",
1305
+ "reading": 297.0,
1306
+ "readingUnit": "Celsius",
1307
+ "state": "shutdown",
1308
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 297.0 Celsius in server room as of 12:03:30."
1309
+ },
1310
+ {
1311
+ "sensor": {
1312
+ "sensorId": "TS110-112",
1313
+ "location": "server room"
1314
+ },
1315
+ "timestamp": "12:04:30",
1316
+ "readingType": "temperature",
1317
+ "reading": 292.5,
1318
+ "readingUnit": "Celsius",
1319
+ "state": "shutdown",
1320
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 292.5 Celsius in server room as of 12:04:30."
1321
+ },
1322
+ {
1323
+ "sensor": {
1324
+ "sensorId": "TS110-112",
1325
+ "location": "server room"
1326
+ },
1327
+ "timestamp": "12:05:30",
1328
+ "readingType": "temperature",
1329
+ "reading": 288.0,
1330
+ "readingUnit": "Celsius",
1331
+ "state": "shutdown",
1332
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 288.0 Celsius in server room as of 12:05:30."
1333
+ },
1334
+ {
1335
+ "sensor": {
1336
+ "sensorId": "TS110-112",
1337
+ "location": "server room"
1338
+ },
1339
+ "timestamp": "12:06:30",
1340
+ "readingType": "temperature",
1341
+ "reading": 283.5,
1342
+ "readingUnit": "Celsius",
1343
+ "state": "shutdown",
1344
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 283.5 Celsius in server room as of 12:06:30."
1345
+ },
1346
+ {
1347
+ "sensor": {
1348
+ "sensorId": "TS110-112",
1349
+ "location": "server room"
1350
+ },
1351
+ "timestamp": "12:07:30",
1352
+ "readingType": "temperature",
1353
+ "reading": 279.0,
1354
+ "readingUnit": "Celsius",
1355
+ "state": "shutdown",
1356
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 279.0 Celsius in server room as of 12:07:30."
1357
+ },
1358
+ {
1359
+ "sensor": {
1360
+ "sensorId": "TS110-112",
1361
+ "location": "server room"
1362
+ },
1363
+ "timestamp": "12:08:30",
1364
+ "readingType": "temperature",
1365
+ "reading": 274.5,
1366
+ "readingUnit": "Celsius",
1367
+ "state": "shutdown",
1368
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 274.5 Celsius in server room as of 12:08:30."
1369
+ },
1370
+ {
1371
+ "sensor": {
1372
+ "sensorId": "TS110-112",
1373
+ "location": "server room"
1374
+ },
1375
+ "timestamp": "12:09:30",
1376
+ "readingType": "temperature",
1377
+ "reading": 270.0,
1378
+ "readingUnit": "Celsius",
1379
+ "state": "shutdown",
1380
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 270.0 Celsius in server room as of 12:09:30."
1381
+ },
1382
+ {
1383
+ "sensor": {
1384
+ "sensorId": "TS110-112",
1385
+ "location": "server room"
1386
+ },
1387
+ "timestamp": "12:10:30",
1388
+ "readingType": "temperature",
1389
+ "reading": 265.5,
1390
+ "readingUnit": "Celsius",
1391
+ "state": "shutdown",
1392
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 265.5 Celsius in server room as of 12:10:30."
1393
+ },
1394
+ {
1395
+ "sensor": {
1396
+ "sensorId": "TS110-112",
1397
+ "location": "server room"
1398
+ },
1399
+ "timestamp": "12:11:30",
1400
+ "readingType": "temperature",
1401
+ "reading": 261.0,
1402
+ "readingUnit": "Celsius",
1403
+ "state": "shutdown",
1404
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 261.0 Celsius in server room as of 12:11:30."
1405
+ },
1406
+ {
1407
+ "sensor": {
1408
+ "sensorId": "TS110-112",
1409
+ "location": "server room"
1410
+ },
1411
+ "timestamp": "12:12:30",
1412
+ "readingType": "temperature",
1413
+ "reading": 256.5,
1414
+ "readingUnit": "Celsius",
1415
+ "state": "shutdown",
1416
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 256.5 Celsius in server room as of 12:12:30."
1417
+ },
1418
+ {
1419
+ "sensor": {
1420
+ "sensorId": "TS110-112",
1421
+ "location": "server room"
1422
+ },
1423
+ "timestamp": "12:13:30",
1424
+ "readingType": "temperature",
1425
+ "reading": 252.0,
1426
+ "readingUnit": "Celsius",
1427
+ "state": "shutdown",
1428
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 252.0 Celsius in server room as of 12:13:30."
1429
+ },
1430
+ {
1431
+ "sensor": {
1432
+ "sensorId": "TS110-112",
1433
+ "location": "server room"
1434
+ },
1435
+ "timestamp": "12:14:30",
1436
+ "readingType": "temperature",
1437
+ "reading": 247.5,
1438
+ "readingUnit": "Celsius",
1439
+ "state": "shutdown",
1440
+ "message": "The sensor with ID TS110-112 is shutdown and is currently measuring temperature at 247.5 Celsius in server room as of 12:14:30."
1441
+ }
1442
+ ]
ml_to_nl_translation/data/temperature_sensor_data.json CHANGED
@@ -15,7 +15,7 @@
15
  "pressure": "hPa"
16
  }
17
  },
18
- "status": {
19
  "device": "normal",
20
  "batteryLife": 85
21
  }
@@ -36,7 +36,7 @@
36
  "pressure": "hPa"
37
  }
38
  },
39
- "status": {
40
  "device": "normal",
41
  "batteryLife": 84.8
42
  }
@@ -49,7 +49,7 @@
49
  "timeStamp": "2023-07-18T10:17:30Z",
50
  "readings": {
51
  "temperature": 78.2,
52
- "humidity": 39.9,
53
  "pressure": 1013,
54
  "units": {
55
  "temperature": "Celsius",
@@ -57,7 +57,7 @@
57
  "pressure": "hPa"
58
  }
59
  },
60
- "status": {
61
  "device": "normal",
62
  "batteryLife": 84.5
63
  }
@@ -78,7 +78,7 @@
78
  "pressure": "hPa"
79
  }
80
  },
81
- "status": {
82
  "device": "normal",
83
  "batteryLife": 84.3
84
  }
@@ -91,7 +91,7 @@
91
  "timeStamp": "2023-07-18T10:19:30Z",
92
  "readings": {
93
  "temperature": 81.2,
94
- "humidity": 40.0,
95
  "pressure": 1013,
96
  "units": {
97
  "temperature": "Celsius",
@@ -99,7 +99,7 @@
99
  "pressure": "hPa"
100
  }
101
  },
102
- "status": {
103
  "device": "normal",
104
  "batteryLife": 84.1
105
  }
@@ -112,7 +112,7 @@
112
  "timeStamp": "2023-07-18T10:20:30Z",
113
  "readings": {
114
  "temperature": 82.7,
115
- "humidity": 40.2,
116
  "pressure": 1013,
117
  "units": {
118
  "temperature": "Celsius",
@@ -120,7 +120,7 @@
120
  "pressure": "hPa"
121
  }
122
  },
123
- "status": {
124
  "device": "normal",
125
  "batteryLife": 83.8
126
  }
@@ -133,7 +133,7 @@
133
  "timeStamp": "2023-07-18T10:21:30Z",
134
  "readings": {
135
  "temperature": 84.2,
136
- "humidity": 40.0,
137
  "pressure": 1013,
138
  "units": {
139
  "temperature": "Celsius",
@@ -141,7 +141,7 @@
141
  "pressure": "hPa"
142
  }
143
  },
144
- "status": {
145
  "device": "normal",
146
  "batteryLife": 83.6
147
  }
@@ -154,7 +154,7 @@
154
  "timeStamp": "2023-07-18T10:22:30Z",
155
  "readings": {
156
  "temperature": 85.7,
157
- "humidity": 40.2,
158
  "pressure": 1013,
159
  "units": {
160
  "temperature": "Celsius",
@@ -162,7 +162,7 @@
162
  "pressure": "hPa"
163
  }
164
  },
165
- "status": {
166
  "device": "normal",
167
  "batteryLife": 83.4
168
  }
@@ -175,7 +175,7 @@
175
  "timeStamp": "2023-07-18T10:23:30Z",
176
  "readings": {
177
  "temperature": 87.2,
178
- "humidity": 40.3,
179
  "pressure": 1013,
180
  "units": {
181
  "temperature": "Celsius",
@@ -183,7 +183,7 @@
183
  "pressure": "hPa"
184
  }
185
  },
186
- "status": {
187
  "device": "normal",
188
  "batteryLife": 83.1
189
  }
@@ -196,7 +196,7 @@
196
  "timeStamp": "2023-07-18T10:24:30Z",
197
  "readings": {
198
  "temperature": 88.7,
199
- "humidity": 40.5,
200
  "pressure": 1013,
201
  "units": {
202
  "temperature": "Celsius",
@@ -204,7 +204,7 @@
204
  "pressure": "hPa"
205
  }
206
  },
207
- "status": {
208
  "device": "normal",
209
  "batteryLife": 82.9
210
  }
@@ -217,7 +217,7 @@
217
  "timeStamp": "2023-07-18T10:25:30Z",
218
  "readings": {
219
  "temperature": 90.2,
220
- "humidity": 40.7,
221
  "pressure": 1013,
222
  "units": {
223
  "temperature": "Celsius",
@@ -225,7 +225,7 @@
225
  "pressure": "hPa"
226
  }
227
  },
228
- "status": {
229
  "device": "normal",
230
  "batteryLife": 82.7
231
  }
@@ -238,7 +238,7 @@
238
  "timeStamp": "2023-07-18T10:26:30Z",
239
  "readings": {
240
  "temperature": 91.7,
241
- "humidity": 40.7,
242
  "pressure": 1013,
243
  "units": {
244
  "temperature": "Celsius",
@@ -246,7 +246,7 @@
246
  "pressure": "hPa"
247
  }
248
  },
249
- "status": {
250
  "device": "normal",
251
  "batteryLife": 82.4
252
  }
@@ -259,7 +259,7 @@
259
  "timeStamp": "2023-07-18T10:27:30Z",
260
  "readings": {
261
  "temperature": 93.2,
262
- "humidity": 40.7,
263
  "pressure": 1013,
264
  "units": {
265
  "temperature": "Celsius",
@@ -267,7 +267,7 @@
267
  "pressure": "hPa"
268
  }
269
  },
270
- "status": {
271
  "device": "normal",
272
  "batteryLife": 82.2
273
  }
@@ -280,7 +280,7 @@
280
  "timeStamp": "2023-07-18T10:28:30Z",
281
  "readings": {
282
  "temperature": 94.7,
283
- "humidity": 40.6,
284
  "pressure": 1013,
285
  "units": {
286
  "temperature": "Celsius",
@@ -288,7 +288,7 @@
288
  "pressure": "hPa"
289
  }
290
  },
291
- "status": {
292
  "device": "normal",
293
  "batteryLife": 81.9
294
  }
@@ -301,7 +301,7 @@
301
  "timeStamp": "2023-07-18T10:29:30Z",
302
  "readings": {
303
  "temperature": 96.2,
304
- "humidity": 40.7,
305
  "pressure": 1013,
306
  "units": {
307
  "temperature": "Celsius",
@@ -309,7 +309,7 @@
309
  "pressure": "hPa"
310
  }
311
  },
312
- "status": {
313
  "device": "normal",
314
  "batteryLife": 81.7
315
  }
@@ -322,7 +322,7 @@
322
  "timeStamp": "2023-07-18T10:30:30Z",
323
  "readings": {
324
  "temperature": 97.7,
325
- "humidity": 40.8,
326
  "pressure": 1013,
327
  "units": {
328
  "temperature": "Celsius",
@@ -330,7 +330,7 @@
330
  "pressure": "hPa"
331
  }
332
  },
333
- "status": {
334
  "device": "normal",
335
  "batteryLife": 81.5
336
  }
@@ -343,7 +343,7 @@
343
  "timeStamp": "2023-07-18T10:31:30Z",
344
  "readings": {
345
  "temperature": 99.2,
346
- "humidity": 40.8,
347
  "pressure": 1013,
348
  "units": {
349
  "temperature": "Celsius",
@@ -351,7 +351,7 @@
351
  "pressure": "hPa"
352
  }
353
  },
354
- "status": {
355
  "device": "normal",
356
  "batteryLife": 81.2
357
  }
@@ -364,7 +364,7 @@
364
  "timeStamp": "2023-07-18T10:32:30Z",
365
  "readings": {
366
  "temperature": 100.7,
367
- "humidity": 40.8,
368
  "pressure": 1013,
369
  "units": {
370
  "temperature": "Celsius",
@@ -372,7 +372,7 @@
372
  "pressure": "hPa"
373
  }
374
  },
375
- "status": {
376
  "device": "normal",
377
  "batteryLife": 81.0
378
  }
@@ -385,7 +385,7 @@
385
  "timeStamp": "2023-07-18T10:33:30Z",
386
  "readings": {
387
  "temperature": 102.2,
388
- "humidity": 40.7,
389
  "pressure": 1013,
390
  "units": {
391
  "temperature": "Celsius",
@@ -393,7 +393,7 @@
393
  "pressure": "hPa"
394
  }
395
  },
396
- "status": {
397
  "device": "normal",
398
  "batteryLife": 80.8
399
  }
@@ -406,7 +406,7 @@
406
  "timeStamp": "2023-07-18T10:34:30Z",
407
  "readings": {
408
  "temperature": 103.7,
409
- "humidity": 40.7,
410
  "pressure": 1013,
411
  "units": {
412
  "temperature": "Celsius",
@@ -414,7 +414,7 @@
414
  "pressure": "hPa"
415
  }
416
  },
417
- "status": {
418
  "device": "normal",
419
  "batteryLife": 80.5
420
  }
@@ -427,7 +427,7 @@
427
  "timeStamp": "2023-07-18T10:35:30Z",
428
  "readings": {
429
  "temperature": 105.2,
430
- "humidity": 40.7,
431
  "pressure": 1013,
432
  "units": {
433
  "temperature": "Celsius",
@@ -435,7 +435,7 @@
435
  "pressure": "hPa"
436
  }
437
  },
438
- "status": {
439
  "device": "normal",
440
  "batteryLife": 80.3
441
  }
@@ -448,7 +448,7 @@
448
  "timeStamp": "2023-07-18T10:36:30Z",
449
  "readings": {
450
  "temperature": 106.7,
451
- "humidity": 40.7,
452
  "pressure": 1013,
453
  "units": {
454
  "temperature": "Celsius",
@@ -456,7 +456,7 @@
456
  "pressure": "hPa"
457
  }
458
  },
459
- "status": {
460
  "device": "normal",
461
  "batteryLife": 80.1
462
  }
@@ -469,7 +469,7 @@
469
  "timeStamp": "2023-07-18T10:37:30Z",
470
  "readings": {
471
  "temperature": 108.2,
472
- "humidity": 40.9,
473
  "pressure": 1013,
474
  "units": {
475
  "temperature": "Celsius",
@@ -477,7 +477,7 @@
477
  "pressure": "hPa"
478
  }
479
  },
480
- "status": {
481
  "device": "normal",
482
  "batteryLife": 79.8
483
  }
@@ -490,7 +490,7 @@
490
  "timeStamp": "2023-07-18T10:38:30Z",
491
  "readings": {
492
  "temperature": 109.7,
493
- "humidity": 40.7,
494
  "pressure": 1013,
495
  "units": {
496
  "temperature": "Celsius",
@@ -498,7 +498,7 @@
498
  "pressure": "hPa"
499
  }
500
  },
501
- "status": {
502
  "device": "normal",
503
  "batteryLife": 79.6
504
  }
@@ -511,7 +511,7 @@
511
  "timeStamp": "2023-07-18T10:39:30Z",
512
  "readings": {
513
  "temperature": 111.2,
514
- "humidity": 40.6,
515
  "pressure": 1013,
516
  "units": {
517
  "temperature": "Celsius",
@@ -519,7 +519,7 @@
519
  "pressure": "hPa"
520
  }
521
  },
522
- "status": {
523
  "device": "normal",
524
  "batteryLife": 79.4
525
  }
@@ -532,7 +532,7 @@
532
  "timeStamp": "2023-07-18T10:40:30Z",
533
  "readings": {
534
  "temperature": 112.7,
535
- "humidity": 40.7,
536
  "pressure": 1013,
537
  "units": {
538
  "temperature": "Celsius",
@@ -540,7 +540,7 @@
540
  "pressure": "hPa"
541
  }
542
  },
543
- "status": {
544
  "device": "normal",
545
  "batteryLife": 79.1
546
  }
@@ -553,7 +553,7 @@
553
  "timeStamp": "2023-07-18T10:41:30Z",
554
  "readings": {
555
  "temperature": 114.2,
556
- "humidity": 40.8,
557
  "pressure": 1013,
558
  "units": {
559
  "temperature": "Celsius",
@@ -561,7 +561,7 @@
561
  "pressure": "hPa"
562
  }
563
  },
564
- "status": {
565
  "device": "normal",
566
  "batteryLife": 78.9
567
  }
@@ -574,7 +574,7 @@
574
  "timeStamp": "2023-07-18T10:42:30Z",
575
  "readings": {
576
  "temperature": 115.7,
577
- "humidity": 40.8,
578
  "pressure": 1013,
579
  "units": {
580
  "temperature": "Celsius",
@@ -582,7 +582,7 @@
582
  "pressure": "hPa"
583
  }
584
  },
585
- "status": {
586
  "device": "normal",
587
  "batteryLife": 78.7
588
  }
@@ -595,7 +595,7 @@
595
  "timeStamp": "2023-07-18T10:43:30Z",
596
  "readings": {
597
  "temperature": 117.2,
598
- "humidity": 40.8,
599
  "pressure": 1013,
600
  "units": {
601
  "temperature": "Celsius",
@@ -603,7 +603,7 @@
603
  "pressure": "hPa"
604
  }
605
  },
606
- "status": {
607
  "device": "normal",
608
  "batteryLife": 78.4
609
  }
@@ -616,7 +616,7 @@
616
  "timeStamp": "2023-07-18T10:44:30Z",
617
  "readings": {
618
  "temperature": 118.7,
619
- "humidity": 40.8,
620
  "pressure": 1013,
621
  "units": {
622
  "temperature": "Celsius",
@@ -624,7 +624,7 @@
624
  "pressure": "hPa"
625
  }
626
  },
627
- "status": {
628
  "device": "normal",
629
  "batteryLife": 78.2
630
  }
@@ -637,7 +637,7 @@
637
  "timeStamp": "2023-07-18T10:45:30Z",
638
  "readings": {
639
  "temperature": 120.2,
640
- "humidity": 41.0,
641
  "pressure": 1013,
642
  "units": {
643
  "temperature": "Celsius",
@@ -645,7 +645,7 @@
645
  "pressure": "hPa"
646
  }
647
  },
648
- "status": {
649
  "device": "normal",
650
  "batteryLife": 78.0
651
  }
@@ -666,7 +666,7 @@
666
  "pressure": "hPa"
667
  }
668
  },
669
- "status": {
670
  "device": "normal",
671
  "batteryLife": 77.7
672
  }
@@ -679,7 +679,7 @@
679
  "timeStamp": "2023-07-18T10:47:30Z",
680
  "readings": {
681
  "temperature": 123.2,
682
- "humidity": 41.0,
683
  "pressure": 1013,
684
  "units": {
685
  "temperature": "Celsius",
@@ -687,7 +687,7 @@
687
  "pressure": "hPa"
688
  }
689
  },
690
- "status": {
691
  "device": "normal",
692
  "batteryLife": 77.5
693
  }
@@ -700,7 +700,7 @@
700
  "timeStamp": "2023-07-18T10:48:30Z",
701
  "readings": {
702
  "temperature": 124.7,
703
- "humidity": 40.9,
704
  "pressure": 1013,
705
  "units": {
706
  "temperature": "Celsius",
@@ -708,7 +708,7 @@
708
  "pressure": "hPa"
709
  }
710
  },
711
- "status": {
712
  "device": "normal",
713
  "batteryLife": 77.2
714
  }
@@ -721,7 +721,7 @@
721
  "timeStamp": "2023-07-18T10:49:30Z",
722
  "readings": {
723
  "temperature": 126.2,
724
- "humidity": 41.1,
725
  "pressure": 1013,
726
  "units": {
727
  "temperature": "Celsius",
@@ -729,7 +729,7 @@
729
  "pressure": "hPa"
730
  }
731
  },
732
- "status": {
733
  "device": "normal",
734
  "batteryLife": 77.0
735
  }
@@ -742,7 +742,7 @@
742
  "timeStamp": "2023-07-18T10:50:30Z",
743
  "readings": {
744
  "temperature": 127.7,
745
- "humidity": 41.0,
746
  "pressure": 1013,
747
  "units": {
748
  "temperature": "Celsius",
@@ -750,7 +750,7 @@
750
  "pressure": "hPa"
751
  }
752
  },
753
- "status": {
754
  "device": "normal",
755
  "batteryLife": 76.8
756
  }
@@ -763,7 +763,7 @@
763
  "timeStamp": "2023-07-18T10:51:30Z",
764
  "readings": {
765
  "temperature": 129.2,
766
- "humidity": 41.1,
767
  "pressure": 1013,
768
  "units": {
769
  "temperature": "Celsius",
@@ -771,7 +771,7 @@
771
  "pressure": "hPa"
772
  }
773
  },
774
- "status": {
775
  "device": "normal",
776
  "batteryLife": 76.5
777
  }
@@ -792,7 +792,7 @@
792
  "pressure": "hPa"
793
  }
794
  },
795
- "status": {
796
  "device": "normal",
797
  "batteryLife": 76.3
798
  }
@@ -813,7 +813,7 @@
813
  "pressure": "hPa"
814
  }
815
  },
816
- "status": {
817
  "device": "normal",
818
  "batteryLife": 76.1
819
  }
@@ -826,7 +826,7 @@
826
  "timeStamp": "2023-07-18T10:54:30Z",
827
  "readings": {
828
  "temperature": 133.7,
829
- "humidity": 41.3,
830
  "pressure": 1013,
831
  "units": {
832
  "temperature": "Celsius",
@@ -834,7 +834,7 @@
834
  "pressure": "hPa"
835
  }
836
  },
837
- "status": {
838
  "device": "normal",
839
  "batteryLife": 75.8
840
  }
@@ -847,7 +847,7 @@
847
  "timeStamp": "2023-07-18T10:55:30Z",
848
  "readings": {
849
  "temperature": 135.2,
850
- "humidity": 41.3,
851
  "pressure": 1013,
852
  "units": {
853
  "temperature": "Celsius",
@@ -855,7 +855,7 @@
855
  "pressure": "hPa"
856
  }
857
  },
858
- "status": {
859
  "device": "normal",
860
  "batteryLife": 75.6
861
  }
@@ -868,7 +868,7 @@
868
  "timeStamp": "2023-07-18T10:56:30Z",
869
  "readings": {
870
  "temperature": 136.7,
871
- "humidity": 41.3,
872
  "pressure": 1013,
873
  "units": {
874
  "temperature": "Celsius",
@@ -876,7 +876,7 @@
876
  "pressure": "hPa"
877
  }
878
  },
879
- "status": {
880
  "device": "normal",
881
  "batteryLife": 75.4
882
  }
@@ -889,7 +889,7 @@
889
  "timeStamp": "2023-07-18T10:57:30Z",
890
  "readings": {
891
  "temperature": 138.2,
892
- "humidity": 41.4,
893
  "pressure": 1013,
894
  "units": {
895
  "temperature": "Celsius",
@@ -897,7 +897,7 @@
897
  "pressure": "hPa"
898
  }
899
  },
900
- "status": {
901
  "device": "normal",
902
  "batteryLife": 75.1
903
  }
@@ -910,7 +910,7 @@
910
  "timeStamp": "2023-07-18T10:58:30Z",
911
  "readings": {
912
  "temperature": 139.7,
913
- "humidity": 41.4,
914
  "pressure": 1013,
915
  "units": {
916
  "temperature": "Celsius",
@@ -918,7 +918,7 @@
918
  "pressure": "hPa"
919
  }
920
  },
921
- "status": {
922
  "device": "normal",
923
  "batteryLife": 74.9
924
  }
@@ -931,7 +931,7 @@
931
  "timeStamp": "2023-07-18T10:59:30Z",
932
  "readings": {
933
  "temperature": 141.2,
934
- "humidity": 41.4,
935
  "pressure": 1013,
936
  "units": {
937
  "temperature": "Celsius",
@@ -939,8 +939,8 @@
939
  "pressure": "hPa"
940
  }
941
  },
942
- "status": {
943
- "device": "normal",
944
  "batteryLife": 74.7
945
  }
946
  },
@@ -952,7 +952,7 @@
952
  "timeStamp": "2023-07-18T11:00:30Z",
953
  "readings": {
954
  "temperature": 142.7,
955
- "humidity": 41.5,
956
  "pressure": 1013,
957
  "units": {
958
  "temperature": "Celsius",
@@ -960,8 +960,8 @@
960
  "pressure": "hPa"
961
  }
962
  },
963
- "status": {
964
- "device": "normal",
965
  "batteryLife": 74.4
966
  }
967
  },
@@ -973,7 +973,7 @@
973
  "timeStamp": "2023-07-18T11:01:30Z",
974
  "readings": {
975
  "temperature": 144.2,
976
- "humidity": 41.6,
977
  "pressure": 1013,
978
  "units": {
979
  "temperature": "Celsius",
@@ -981,8 +981,8 @@
981
  "pressure": "hPa"
982
  }
983
  },
984
- "status": {
985
- "device": "normal",
986
  "batteryLife": 74.2
987
  }
988
  },
@@ -994,7 +994,7 @@
994
  "timeStamp": "2023-07-18T11:02:30Z",
995
  "readings": {
996
  "temperature": 145.7,
997
- "humidity": 41.6,
998
  "pressure": 1013,
999
  "units": {
1000
  "temperature": "Celsius",
@@ -1002,8 +1002,8 @@
1002
  "pressure": "hPa"
1003
  }
1004
  },
1005
- "status": {
1006
- "device": "normal",
1007
  "batteryLife": 74.0
1008
  }
1009
  },
@@ -1015,7 +1015,7 @@
1015
  "timeStamp": "2023-07-18T11:03:30Z",
1016
  "readings": {
1017
  "temperature": 147.2,
1018
- "humidity": 41.5,
1019
  "pressure": 1013,
1020
  "units": {
1021
  "temperature": "Celsius",
@@ -1023,8 +1023,8 @@
1023
  "pressure": "hPa"
1024
  }
1025
  },
1026
- "status": {
1027
- "device": "normal",
1028
  "batteryLife": 73.7
1029
  }
1030
  },
@@ -1036,7 +1036,7 @@
1036
  "timeStamp": "2023-07-18T11:04:30Z",
1037
  "readings": {
1038
  "temperature": 148.7,
1039
- "humidity": 41.4,
1040
  "pressure": 1013,
1041
  "units": {
1042
  "temperature": "Celsius",
@@ -1044,8 +1044,8 @@
1044
  "pressure": "hPa"
1045
  }
1046
  },
1047
- "status": {
1048
- "device": "normal",
1049
  "batteryLife": 73.5
1050
  }
1051
  },
@@ -1057,7 +1057,7 @@
1057
  "timeStamp": "2023-07-18T11:05:30Z",
1058
  "readings": {
1059
  "temperature": 150.2,
1060
- "humidity": 41.2,
1061
  "pressure": 1013,
1062
  "units": {
1063
  "temperature": "Celsius",
@@ -1065,8 +1065,8 @@
1065
  "pressure": "hPa"
1066
  }
1067
  },
1068
- "status": {
1069
- "device": "normal",
1070
  "batteryLife": 73.3
1071
  }
1072
  },
@@ -1078,7 +1078,7 @@
1078
  "timeStamp": "2023-07-18T11:06:30Z",
1079
  "readings": {
1080
  "temperature": 151.7,
1081
- "humidity": 41.3,
1082
  "pressure": 1013,
1083
  "units": {
1084
  "temperature": "Celsius",
@@ -1086,8 +1086,8 @@
1086
  "pressure": "hPa"
1087
  }
1088
  },
1089
- "status": {
1090
- "device": "normal",
1091
  "batteryLife": 73.0
1092
  }
1093
  },
@@ -1099,7 +1099,7 @@
1099
  "timeStamp": "2023-07-18T11:07:30Z",
1100
  "readings": {
1101
  "temperature": 153.2,
1102
- "humidity": 41.4,
1103
  "pressure": 1013,
1104
  "units": {
1105
  "temperature": "Celsius",
@@ -1107,8 +1107,8 @@
1107
  "pressure": "hPa"
1108
  }
1109
  },
1110
- "status": {
1111
- "device": "normal",
1112
  "batteryLife": 72.8
1113
  }
1114
  },
@@ -1120,7 +1120,7 @@
1120
  "timeStamp": "2023-07-18T11:08:30Z",
1121
  "readings": {
1122
  "temperature": 154.7,
1123
- "humidity": 41.4,
1124
  "pressure": 1013,
1125
  "units": {
1126
  "temperature": "Celsius",
@@ -1128,8 +1128,8 @@
1128
  "pressure": "hPa"
1129
  }
1130
  },
1131
- "status": {
1132
- "device": "normal",
1133
  "batteryLife": 72.5
1134
  }
1135
  },
@@ -1141,7 +1141,7 @@
1141
  "timeStamp": "2023-07-18T11:09:30Z",
1142
  "readings": {
1143
  "temperature": 156.2,
1144
- "humidity": 41.3,
1145
  "pressure": 1013,
1146
  "units": {
1147
  "temperature": "Celsius",
@@ -1149,8 +1149,8 @@
1149
  "pressure": "hPa"
1150
  }
1151
  },
1152
- "status": {
1153
- "device": "normal",
1154
  "batteryLife": 72.3
1155
  }
1156
  },
@@ -1162,7 +1162,7 @@
1162
  "timeStamp": "2023-07-18T11:10:30Z",
1163
  "readings": {
1164
  "temperature": 157.7,
1165
- "humidity": 41.2,
1166
  "pressure": 1013,
1167
  "units": {
1168
  "temperature": "Celsius",
@@ -1170,8 +1170,8 @@
1170
  "pressure": "hPa"
1171
  }
1172
  },
1173
- "status": {
1174
- "device": "normal",
1175
  "batteryLife": 72.1
1176
  }
1177
  },
@@ -1183,7 +1183,7 @@
1183
  "timeStamp": "2023-07-18T11:11:30Z",
1184
  "readings": {
1185
  "temperature": 159.2,
1186
- "humidity": 41.3,
1187
  "pressure": 1013,
1188
  "units": {
1189
  "temperature": "Celsius",
@@ -1191,8 +1191,8 @@
1191
  "pressure": "hPa"
1192
  }
1193
  },
1194
- "status": {
1195
- "device": "normal",
1196
  "batteryLife": 71.8
1197
  }
1198
  },
@@ -1204,7 +1204,7 @@
1204
  "timeStamp": "2023-07-18T11:12:30Z",
1205
  "readings": {
1206
  "temperature": 160.7,
1207
- "humidity": 41.4,
1208
  "pressure": 1013,
1209
  "units": {
1210
  "temperature": "Celsius",
@@ -1212,8 +1212,8 @@
1212
  "pressure": "hPa"
1213
  }
1214
  },
1215
- "status": {
1216
- "device": "normal",
1217
  "batteryLife": 71.6
1218
  }
1219
  },
@@ -1225,7 +1225,7 @@
1225
  "timeStamp": "2023-07-18T11:13:30Z",
1226
  "readings": {
1227
  "temperature": 162.2,
1228
- "humidity": 41.5,
1229
  "pressure": 1013,
1230
  "units": {
1231
  "temperature": "Celsius",
@@ -1233,8 +1233,8 @@
1233
  "pressure": "hPa"
1234
  }
1235
  },
1236
- "status": {
1237
- "device": "normal",
1238
  "batteryLife": 71.4
1239
  }
1240
  },
@@ -1246,7 +1246,7 @@
1246
  "timeStamp": "2023-07-18T11:14:30Z",
1247
  "readings": {
1248
  "temperature": 163.7,
1249
- "humidity": 41.5,
1250
  "pressure": 1013,
1251
  "units": {
1252
  "temperature": "Celsius",
@@ -1254,8 +1254,8 @@
1254
  "pressure": "hPa"
1255
  }
1256
  },
1257
- "status": {
1258
- "device": "normal",
1259
  "batteryLife": 71.1
1260
  }
1261
  },
@@ -1267,7 +1267,7 @@
1267
  "timeStamp": "2023-07-18T11:15:30Z",
1268
  "readings": {
1269
  "temperature": 165.2,
1270
- "humidity": 41.5,
1271
  "pressure": 1013,
1272
  "units": {
1273
  "temperature": "Celsius",
@@ -1275,8 +1275,8 @@
1275
  "pressure": "hPa"
1276
  }
1277
  },
1278
- "status": {
1279
- "device": "normal",
1280
  "batteryLife": 70.9
1281
  }
1282
  },
@@ -1288,7 +1288,7 @@
1288
  "timeStamp": "2023-07-18T11:16:30Z",
1289
  "readings": {
1290
  "temperature": 168.1,
1291
- "humidity": 41.4,
1292
  "pressure": 1013,
1293
  "units": {
1294
  "temperature": "Celsius",
@@ -1296,8 +1296,8 @@
1296
  "pressure": "hPa"
1297
  }
1298
  },
1299
- "status": {
1300
- "device": "normal",
1301
  "batteryLife": 70.7
1302
  }
1303
  },
@@ -1309,7 +1309,7 @@
1309
  "timeStamp": "2023-07-18T11:17:30Z",
1310
  "readings": {
1311
  "temperature": 171.0,
1312
- "humidity": 41.4,
1313
  "pressure": 1013,
1314
  "units": {
1315
  "temperature": "Celsius",
@@ -1317,8 +1317,8 @@
1317
  "pressure": "hPa"
1318
  }
1319
  },
1320
- "status": {
1321
- "device": "normal",
1322
  "batteryLife": 70.4
1323
  }
1324
  },
@@ -1330,7 +1330,7 @@
1330
  "timeStamp": "2023-07-18T11:18:30Z",
1331
  "readings": {
1332
  "temperature": 173.9,
1333
- "humidity": 41.5,
1334
  "pressure": 1013,
1335
  "units": {
1336
  "temperature": "Celsius",
@@ -1338,8 +1338,8 @@
1338
  "pressure": "hPa"
1339
  }
1340
  },
1341
- "status": {
1342
- "device": "normal",
1343
  "batteryLife": 70.2
1344
  }
1345
  },
@@ -1359,8 +1359,8 @@
1359
  "pressure": "hPa"
1360
  }
1361
  },
1362
- "status": {
1363
- "device": "normal",
1364
  "batteryLife": 70.0
1365
  }
1366
  },
@@ -1372,7 +1372,7 @@
1372
  "timeStamp": "2023-07-18T11:20:30Z",
1373
  "readings": {
1374
  "temperature": 179.7,
1375
- "humidity": 41.5,
1376
  "pressure": 1013,
1377
  "units": {
1378
  "temperature": "Celsius",
@@ -1380,8 +1380,8 @@
1380
  "pressure": "hPa"
1381
  }
1382
  },
1383
- "status": {
1384
- "device": "normal",
1385
  "batteryLife": 69.7
1386
  }
1387
  },
@@ -1393,7 +1393,7 @@
1393
  "timeStamp": "2023-07-18T11:21:30Z",
1394
  "readings": {
1395
  "temperature": 182.6,
1396
- "humidity": 41.4,
1397
  "pressure": 1013,
1398
  "units": {
1399
  "temperature": "Celsius",
@@ -1401,8 +1401,8 @@
1401
  "pressure": "hPa"
1402
  }
1403
  },
1404
- "status": {
1405
- "device": "normal",
1406
  "batteryLife": 69.5
1407
  }
1408
  },
@@ -1414,7 +1414,7 @@
1414
  "timeStamp": "2023-07-18T11:22:30Z",
1415
  "readings": {
1416
  "temperature": 185.5,
1417
- "humidity": 41.2,
1418
  "pressure": 1013,
1419
  "units": {
1420
  "temperature": "Celsius",
@@ -1422,8 +1422,8 @@
1422
  "pressure": "hPa"
1423
  }
1424
  },
1425
- "status": {
1426
- "device": "normal",
1427
  "batteryLife": 69.3
1428
  }
1429
  },
@@ -1435,7 +1435,7 @@
1435
  "timeStamp": "2023-07-18T11:23:30Z",
1436
  "readings": {
1437
  "temperature": 188.4,
1438
- "humidity": 41.2,
1439
  "pressure": 1013,
1440
  "units": {
1441
  "temperature": "Celsius",
@@ -1443,8 +1443,8 @@
1443
  "pressure": "hPa"
1444
  }
1445
  },
1446
- "status": {
1447
- "device": "normal",
1448
  "batteryLife": 69.0
1449
  }
1450
  },
@@ -1456,7 +1456,7 @@
1456
  "timeStamp": "2023-07-18T11:24:30Z",
1457
  "readings": {
1458
  "temperature": 191.3,
1459
- "humidity": 41.2,
1460
  "pressure": 1013,
1461
  "units": {
1462
  "temperature": "Celsius",
@@ -1464,8 +1464,8 @@
1464
  "pressure": "hPa"
1465
  }
1466
  },
1467
- "status": {
1468
- "device": "normal",
1469
  "batteryLife": 68.8
1470
  }
1471
  },
@@ -1477,7 +1477,7 @@
1477
  "timeStamp": "2023-07-18T11:25:30Z",
1478
  "readings": {
1479
  "temperature": 194.2,
1480
- "humidity": 41.4,
1481
  "pressure": 1013,
1482
  "units": {
1483
  "temperature": "Celsius",
@@ -1485,8 +1485,8 @@
1485
  "pressure": "hPa"
1486
  }
1487
  },
1488
- "status": {
1489
- "device": "normal",
1490
  "batteryLife": 68.6
1491
  }
1492
  },
@@ -1498,7 +1498,7 @@
1498
  "timeStamp": "2023-07-18T11:26:30Z",
1499
  "readings": {
1500
  "temperature": 197.1,
1501
- "humidity": 41.3,
1502
  "pressure": 1013,
1503
  "units": {
1504
  "temperature": "Celsius",
@@ -1506,8 +1506,8 @@
1506
  "pressure": "hPa"
1507
  }
1508
  },
1509
- "status": {
1510
- "device": "normal",
1511
  "batteryLife": 68.3
1512
  }
1513
  },
@@ -1519,7 +1519,7 @@
1519
  "timeStamp": "2023-07-18T11:27:30Z",
1520
  "readings": {
1521
  "temperature": 200.0,
1522
- "humidity": 41.3,
1523
  "pressure": 1013,
1524
  "units": {
1525
  "temperature": "Celsius",
@@ -1527,8 +1527,8 @@
1527
  "pressure": "hPa"
1528
  }
1529
  },
1530
- "status": {
1531
- "device": "overheating",
1532
  "batteryLife": 68.1
1533
  }
1534
  },
@@ -1540,7 +1540,7 @@
1540
  "timeStamp": "2023-07-18T11:28:30Z",
1541
  "readings": {
1542
  "temperature": 202.9,
1543
- "humidity": 41.3,
1544
  "pressure": 1013,
1545
  "units": {
1546
  "temperature": "Celsius",
@@ -1548,8 +1548,8 @@
1548
  "pressure": "hPa"
1549
  }
1550
  },
1551
- "status": {
1552
- "device": "overheating",
1553
  "batteryLife": 67.8
1554
  }
1555
  },
@@ -1561,7 +1561,7 @@
1561
  "timeStamp": "2023-07-18T11:29:30Z",
1562
  "readings": {
1563
  "temperature": 205.8,
1564
- "humidity": 41.2,
1565
  "pressure": 1013,
1566
  "units": {
1567
  "temperature": "Celsius",
@@ -1569,8 +1569,8 @@
1569
  "pressure": "hPa"
1570
  }
1571
  },
1572
- "status": {
1573
- "device": "overheating",
1574
  "batteryLife": 67.6
1575
  }
1576
  },
@@ -1590,8 +1590,8 @@
1590
  "pressure": "hPa"
1591
  }
1592
  },
1593
- "status": {
1594
- "device": "overheating",
1595
  "batteryLife": 67.4
1596
  }
1597
  },
@@ -1603,7 +1603,7 @@
1603
  "timeStamp": "2023-07-18T11:31:30Z",
1604
  "readings": {
1605
  "temperature": 211.6,
1606
- "humidity": 41.1,
1607
  "pressure": 1013,
1608
  "units": {
1609
  "temperature": "Celsius",
@@ -1611,8 +1611,8 @@
1611
  "pressure": "hPa"
1612
  }
1613
  },
1614
- "status": {
1615
- "device": "overheating",
1616
  "batteryLife": 67.1
1617
  }
1618
  },
@@ -1624,7 +1624,7 @@
1624
  "timeStamp": "2023-07-18T11:32:30Z",
1625
  "readings": {
1626
  "temperature": 214.5,
1627
- "humidity": 41.1,
1628
  "pressure": 1013,
1629
  "units": {
1630
  "temperature": "Celsius",
@@ -1632,8 +1632,8 @@
1632
  "pressure": "hPa"
1633
  }
1634
  },
1635
- "status": {
1636
- "device": "overheating",
1637
  "batteryLife": 66.9
1638
  }
1639
  },
@@ -1653,8 +1653,8 @@
1653
  "pressure": "hPa"
1654
  }
1655
  },
1656
- "status": {
1657
- "device": "overheating",
1658
  "batteryLife": 66.7
1659
  }
1660
  },
@@ -1666,7 +1666,7 @@
1666
  "timeStamp": "2023-07-18T11:34:30Z",
1667
  "readings": {
1668
  "temperature": 220.3,
1669
- "humidity": 41.1,
1670
  "pressure": 1013,
1671
  "units": {
1672
  "temperature": "Celsius",
@@ -1674,8 +1674,8 @@
1674
  "pressure": "hPa"
1675
  }
1676
  },
1677
- "status": {
1678
- "device": "overheating",
1679
  "batteryLife": 66.4
1680
  }
1681
  },
@@ -1687,7 +1687,7 @@
1687
  "timeStamp": "2023-07-18T11:35:30Z",
1688
  "readings": {
1689
  "temperature": 223.2,
1690
- "humidity": 41.1,
1691
  "pressure": 1013,
1692
  "units": {
1693
  "temperature": "Celsius",
@@ -1695,8 +1695,8 @@
1695
  "pressure": "hPa"
1696
  }
1697
  },
1698
- "status": {
1699
- "device": "overheating",
1700
  "batteryLife": 66.2
1701
  }
1702
  },
@@ -1708,7 +1708,7 @@
1708
  "timeStamp": "2023-07-18T11:36:30Z",
1709
  "readings": {
1710
  "temperature": 226.1,
1711
- "humidity": 41.1,
1712
  "pressure": 1013,
1713
  "units": {
1714
  "temperature": "Celsius",
@@ -1716,8 +1716,8 @@
1716
  "pressure": "hPa"
1717
  }
1718
  },
1719
- "status": {
1720
- "device": "overheating",
1721
  "batteryLife": 66.0
1722
  }
1723
  },
@@ -1729,7 +1729,7 @@
1729
  "timeStamp": "2023-07-18T11:37:30Z",
1730
  "readings": {
1731
  "temperature": 229.0,
1732
- "humidity": 41.2,
1733
  "pressure": 1013,
1734
  "units": {
1735
  "temperature": "Celsius",
@@ -1737,8 +1737,8 @@
1737
  "pressure": "hPa"
1738
  }
1739
  },
1740
- "status": {
1741
- "device": "overheating",
1742
  "batteryLife": 65.7
1743
  }
1744
  },
@@ -1750,7 +1750,7 @@
1750
  "timeStamp": "2023-07-18T11:38:30Z",
1751
  "readings": {
1752
  "temperature": 231.9,
1753
- "humidity": 41.4,
1754
  "pressure": 1013,
1755
  "units": {
1756
  "temperature": "Celsius",
@@ -1758,8 +1758,8 @@
1758
  "pressure": "hPa"
1759
  }
1760
  },
1761
- "status": {
1762
- "device": "overheating",
1763
  "batteryLife": 65.5
1764
  }
1765
  },
@@ -1771,7 +1771,7 @@
1771
  "timeStamp": "2023-07-18T11:39:30Z",
1772
  "readings": {
1773
  "temperature": 234.8,
1774
- "humidity": 41.5,
1775
  "pressure": 1013,
1776
  "units": {
1777
  "temperature": "Celsius",
@@ -1779,8 +1779,8 @@
1779
  "pressure": "hPa"
1780
  }
1781
  },
1782
- "status": {
1783
- "device": "overheating",
1784
  "batteryLife": 65.3
1785
  }
1786
  },
@@ -1792,7 +1792,7 @@
1792
  "timeStamp": "2023-07-18T11:40:30Z",
1793
  "readings": {
1794
  "temperature": 237.7,
1795
- "humidity": 41.5,
1796
  "pressure": 1013,
1797
  "units": {
1798
  "temperature": "Celsius",
@@ -1800,8 +1800,8 @@
1800
  "pressure": "hPa"
1801
  }
1802
  },
1803
- "status": {
1804
- "device": "overheating",
1805
  "batteryLife": 65.0
1806
  }
1807
  },
@@ -1813,7 +1813,7 @@
1813
  "timeStamp": "2023-07-18T11:41:30Z",
1814
  "readings": {
1815
  "temperature": 240.6,
1816
- "humidity": 41.4,
1817
  "pressure": 1013,
1818
  "units": {
1819
  "temperature": "Celsius",
@@ -1821,7 +1821,7 @@
1821
  "pressure": "hPa"
1822
  }
1823
  },
1824
- "status": {
1825
  "device": "failure",
1826
  "batteryLife": 64.8
1827
  }
@@ -1834,7 +1834,7 @@
1834
  "timeStamp": "2023-07-18T11:42:30Z",
1835
  "readings": {
1836
  "temperature": 243.5,
1837
- "humidity": 41.5,
1838
  "pressure": 1013,
1839
  "units": {
1840
  "temperature": "Celsius",
@@ -1842,7 +1842,7 @@
1842
  "pressure": "hPa"
1843
  }
1844
  },
1845
- "status": {
1846
  "device": "failure",
1847
  "batteryLife": 64.6
1848
  }
@@ -1863,7 +1863,7 @@
1863
  "pressure": "hPa"
1864
  }
1865
  },
1866
- "status": {
1867
  "device": "failure",
1868
  "batteryLife": 64.3
1869
  }
@@ -1884,7 +1884,7 @@
1884
  "pressure": "hPa"
1885
  }
1886
  },
1887
- "status": {
1888
  "device": "failure",
1889
  "batteryLife": 64.1
1890
  }
@@ -1905,7 +1905,7 @@
1905
  "pressure": "hPa"
1906
  }
1907
  },
1908
- "status": {
1909
  "device": "failure",
1910
  "batteryLife": 63.9
1911
  }
@@ -1918,7 +1918,7 @@
1918
  "timeStamp": "2023-07-18T11:46:30Z",
1919
  "readings": {
1920
  "temperature": 255.1,
1921
- "humidity": 41.7,
1922
  "pressure": 1013,
1923
  "units": {
1924
  "temperature": "Celsius",
@@ -1926,7 +1926,7 @@
1926
  "pressure": "hPa"
1927
  }
1928
  },
1929
- "status": {
1930
  "device": "failure",
1931
  "batteryLife": 63.6
1932
  }
@@ -1939,7 +1939,7 @@
1939
  "timeStamp": "2023-07-18T11:47:30Z",
1940
  "readings": {
1941
  "temperature": 258.0,
1942
- "humidity": 41.6,
1943
  "pressure": 1013,
1944
  "units": {
1945
  "temperature": "Celsius",
@@ -1947,7 +1947,7 @@
1947
  "pressure": "hPa"
1948
  }
1949
  },
1950
- "status": {
1951
  "device": "failure",
1952
  "batteryLife": 63.4
1953
  }
@@ -1960,7 +1960,7 @@
1960
  "timeStamp": "2023-07-18T11:48:30Z",
1961
  "readings": {
1962
  "temperature": 260.9,
1963
- "humidity": 41.7,
1964
  "pressure": 1013,
1965
  "units": {
1966
  "temperature": "Celsius",
@@ -1968,7 +1968,7 @@
1968
  "pressure": "hPa"
1969
  }
1970
  },
1971
- "status": {
1972
  "device": "failure",
1973
  "batteryLife": 63.1
1974
  }
@@ -1989,7 +1989,7 @@
1989
  "pressure": "hPa"
1990
  }
1991
  },
1992
- "status": {
1993
  "device": "failure",
1994
  "batteryLife": 62.9
1995
  }
@@ -2002,7 +2002,7 @@
2002
  "timeStamp": "2023-07-18T11:50:30Z",
2003
  "readings": {
2004
  "temperature": 266.7,
2005
- "humidity": 42.0,
2006
  "pressure": 1013,
2007
  "units": {
2008
  "temperature": "Celsius",
@@ -2010,7 +2010,7 @@
2010
  "pressure": "hPa"
2011
  }
2012
  },
2013
- "status": {
2014
  "device": "failure",
2015
  "batteryLife": 62.7
2016
  }
@@ -2031,7 +2031,7 @@
2031
  "pressure": "hPa"
2032
  }
2033
  },
2034
- "status": {
2035
  "device": "failure",
2036
  "batteryLife": 62.4
2037
  }
@@ -2044,7 +2044,7 @@
2044
  "timeStamp": "2023-07-18T11:52:30Z",
2045
  "readings": {
2046
  "temperature": 272.5,
2047
- "humidity": 42.1,
2048
  "pressure": 1013,
2049
  "units": {
2050
  "temperature": "Celsius",
@@ -2052,7 +2052,7 @@
2052
  "pressure": "hPa"
2053
  }
2054
  },
2055
- "status": {
2056
  "device": "failure",
2057
  "batteryLife": 62.2
2058
  }
@@ -2065,7 +2065,7 @@
2065
  "timeStamp": "2023-07-18T11:53:30Z",
2066
  "readings": {
2067
  "temperature": 275.4,
2068
- "humidity": 42.0,
2069
  "pressure": 1013,
2070
  "units": {
2071
  "temperature": "Celsius",
@@ -2073,7 +2073,7 @@
2073
  "pressure": "hPa"
2074
  }
2075
  },
2076
- "status": {
2077
  "device": "failure",
2078
  "batteryLife": 62.0
2079
  }
@@ -2086,7 +2086,7 @@
2086
  "timeStamp": "2023-07-18T11:54:30Z",
2087
  "readings": {
2088
  "temperature": 278.3,
2089
- "humidity": 41.9,
2090
  "pressure": 1013,
2091
  "units": {
2092
  "temperature": "Celsius",
@@ -2094,7 +2094,7 @@
2094
  "pressure": "hPa"
2095
  }
2096
  },
2097
- "status": {
2098
  "device": "failure",
2099
  "batteryLife": 61.7
2100
  }
@@ -2107,7 +2107,7 @@
2107
  "timeStamp": "2023-07-18T11:55:30Z",
2108
  "readings": {
2109
  "temperature": 281.2,
2110
- "humidity": 41.7,
2111
  "pressure": 1013,
2112
  "units": {
2113
  "temperature": "Celsius",
@@ -2115,7 +2115,7 @@
2115
  "pressure": "hPa"
2116
  }
2117
  },
2118
- "status": {
2119
  "device": "failure",
2120
  "batteryLife": 61.5
2121
  }
@@ -2128,7 +2128,7 @@
2128
  "timeStamp": "2023-07-18T11:56:30Z",
2129
  "readings": {
2130
  "temperature": 284.1,
2131
- "humidity": 41.8,
2132
  "pressure": 1013,
2133
  "units": {
2134
  "temperature": "Celsius",
@@ -2136,7 +2136,7 @@
2136
  "pressure": "hPa"
2137
  }
2138
  },
2139
- "status": {
2140
  "device": "failure",
2141
  "batteryLife": 61.3
2142
  }
@@ -2157,7 +2157,7 @@
2157
  "pressure": "hPa"
2158
  }
2159
  },
2160
- "status": {
2161
  "device": "failure",
2162
  "batteryLife": 61.0
2163
  }
@@ -2178,7 +2178,7 @@
2178
  "pressure": "hPa"
2179
  }
2180
  },
2181
- "status": {
2182
  "device": "failure",
2183
  "batteryLife": 60.8
2184
  }
@@ -2191,7 +2191,7 @@
2191
  "timeStamp": "2023-07-18T11:59:30Z",
2192
  "readings": {
2193
  "temperature": 292.8,
2194
- "humidity": 42.1,
2195
  "pressure": 1013,
2196
  "units": {
2197
  "temperature": "Celsius",
@@ -2199,7 +2199,7 @@
2199
  "pressure": "hPa"
2200
  }
2201
  },
2202
- "status": {
2203
  "device": "failure",
2204
  "batteryLife": 60.6
2205
  }
@@ -2212,7 +2212,7 @@
2212
  "timeStamp": "2023-07-18T12:00:30Z",
2213
  "readings": {
2214
  "temperature": 295.7,
2215
- "humidity": 42.3,
2216
  "pressure": 1013,
2217
  "units": {
2218
  "temperature": "Celsius",
@@ -2220,7 +2220,7 @@
2220
  "pressure": "hPa"
2221
  }
2222
  },
2223
- "status": {
2224
  "device": "failure",
2225
  "batteryLife": 60.3
2226
  }
@@ -2233,7 +2233,7 @@
2233
  "timeStamp": "2023-07-18T12:01:30Z",
2234
  "readings": {
2235
  "temperature": 298.6,
2236
- "humidity": 42.3,
2237
  "pressure": 1013,
2238
  "units": {
2239
  "temperature": "Celsius",
@@ -2241,7 +2241,7 @@
2241
  "pressure": "hPa"
2242
  }
2243
  },
2244
- "status": {
2245
  "device": "failure",
2246
  "batteryLife": 60.1
2247
  }
@@ -2254,7 +2254,7 @@
2254
  "timeStamp": "2023-07-18T12:02:30Z",
2255
  "readings": {
2256
  "temperature": 301.5,
2257
- "humidity": 42.3,
2258
  "pressure": 1013,
2259
  "units": {
2260
  "temperature": "Celsius",
@@ -2262,7 +2262,7 @@
2262
  "pressure": "hPa"
2263
  }
2264
  },
2265
- "status": {
2266
  "device": "shutdown",
2267
  "batteryLife": 59.9
2268
  }
@@ -2283,7 +2283,7 @@
2283
  "pressure": "hPa"
2284
  }
2285
  },
2286
- "status": {
2287
  "device": "shutdown",
2288
  "batteryLife": 0
2289
  }
@@ -2304,7 +2304,7 @@
2304
  "pressure": "hPa"
2305
  }
2306
  },
2307
- "status": {
2308
  "device": "shutdown",
2309
  "batteryLife": 0
2310
  }
@@ -2325,7 +2325,7 @@
2325
  "pressure": "hPa"
2326
  }
2327
  },
2328
- "status": {
2329
  "device": "shutdown",
2330
  "batteryLife": 0
2331
  }
@@ -2346,7 +2346,7 @@
2346
  "pressure": "hPa"
2347
  }
2348
  },
2349
- "status": {
2350
  "device": "shutdown",
2351
  "batteryLife": 0
2352
  }
@@ -2367,7 +2367,7 @@
2367
  "pressure": "hPa"
2368
  }
2369
  },
2370
- "status": {
2371
  "device": "shutdown",
2372
  "batteryLife": 0
2373
  }
@@ -2388,7 +2388,7 @@
2388
  "pressure": "hPa"
2389
  }
2390
  },
2391
- "status": {
2392
  "device": "shutdown",
2393
  "batteryLife": 0
2394
  }
@@ -2409,7 +2409,7 @@
2409
  "pressure": "hPa"
2410
  }
2411
  },
2412
- "status": {
2413
  "device": "shutdown",
2414
  "batteryLife": 0
2415
  }
@@ -2430,7 +2430,7 @@
2430
  "pressure": "hPa"
2431
  }
2432
  },
2433
- "status": {
2434
  "device": "shutdown",
2435
  "batteryLife": 0
2436
  }
@@ -2451,7 +2451,7 @@
2451
  "pressure": "hPa"
2452
  }
2453
  },
2454
- "status": {
2455
  "device": "shutdown",
2456
  "batteryLife": 0
2457
  }
@@ -2472,7 +2472,7 @@
2472
  "pressure": "hPa"
2473
  }
2474
  },
2475
- "status": {
2476
  "device": "shutdown",
2477
  "batteryLife": 0
2478
  }
@@ -2493,7 +2493,7 @@
2493
  "pressure": "hPa"
2494
  }
2495
  },
2496
- "status": {
2497
  "device": "shutdown",
2498
  "batteryLife": 0
2499
  }
@@ -2514,7 +2514,7 @@
2514
  "pressure": "hPa"
2515
  }
2516
  },
2517
- "status": {
2518
  "device": "shutdown",
2519
  "batteryLife": 0
2520
  }
 
15
  "pressure": "hPa"
16
  }
17
  },
18
+ "state": {
19
  "device": "normal",
20
  "batteryLife": 85
21
  }
 
36
  "pressure": "hPa"
37
  }
38
  },
39
+ "state": {
40
  "device": "normal",
41
  "batteryLife": 84.8
42
  }
 
49
  "timeStamp": "2023-07-18T10:17:30Z",
50
  "readings": {
51
  "temperature": 78.2,
52
+ "humidity": 40.1,
53
  "pressure": 1013,
54
  "units": {
55
  "temperature": "Celsius",
 
57
  "pressure": "hPa"
58
  }
59
  },
60
+ "state": {
61
  "device": "normal",
62
  "batteryLife": 84.5
63
  }
 
78
  "pressure": "hPa"
79
  }
80
  },
81
+ "state": {
82
  "device": "normal",
83
  "batteryLife": 84.3
84
  }
 
91
  "timeStamp": "2023-07-18T10:19:30Z",
92
  "readings": {
93
  "temperature": 81.2,
94
+ "humidity": 40.2,
95
  "pressure": 1013,
96
  "units": {
97
  "temperature": "Celsius",
 
99
  "pressure": "hPa"
100
  }
101
  },
102
+ "state": {
103
  "device": "normal",
104
  "batteryLife": 84.1
105
  }
 
112
  "timeStamp": "2023-07-18T10:20:30Z",
113
  "readings": {
114
  "temperature": 82.7,
115
+ "humidity": 40.3,
116
  "pressure": 1013,
117
  "units": {
118
  "temperature": "Celsius",
 
120
  "pressure": "hPa"
121
  }
122
  },
123
+ "state": {
124
  "device": "normal",
125
  "batteryLife": 83.8
126
  }
 
133
  "timeStamp": "2023-07-18T10:21:30Z",
134
  "readings": {
135
  "temperature": 84.2,
136
+ "humidity": 40.2,
137
  "pressure": 1013,
138
  "units": {
139
  "temperature": "Celsius",
 
141
  "pressure": "hPa"
142
  }
143
  },
144
+ "state": {
145
  "device": "normal",
146
  "batteryLife": 83.6
147
  }
 
154
  "timeStamp": "2023-07-18T10:22:30Z",
155
  "readings": {
156
  "temperature": 85.7,
157
+ "humidity": 40.3,
158
  "pressure": 1013,
159
  "units": {
160
  "temperature": "Celsius",
 
162
  "pressure": "hPa"
163
  }
164
  },
165
+ "state": {
166
  "device": "normal",
167
  "batteryLife": 83.4
168
  }
 
175
  "timeStamp": "2023-07-18T10:23:30Z",
176
  "readings": {
177
  "temperature": 87.2,
178
+ "humidity": 40.5,
179
  "pressure": 1013,
180
  "units": {
181
  "temperature": "Celsius",
 
183
  "pressure": "hPa"
184
  }
185
  },
186
+ "state": {
187
  "device": "normal",
188
  "batteryLife": 83.1
189
  }
 
196
  "timeStamp": "2023-07-18T10:24:30Z",
197
  "readings": {
198
  "temperature": 88.7,
199
+ "humidity": 40.3,
200
  "pressure": 1013,
201
  "units": {
202
  "temperature": "Celsius",
 
204
  "pressure": "hPa"
205
  }
206
  },
207
+ "state": {
208
  "device": "normal",
209
  "batteryLife": 82.9
210
  }
 
217
  "timeStamp": "2023-07-18T10:25:30Z",
218
  "readings": {
219
  "temperature": 90.2,
220
+ "humidity": 40.3,
221
  "pressure": 1013,
222
  "units": {
223
  "temperature": "Celsius",
 
225
  "pressure": "hPa"
226
  }
227
  },
228
+ "state": {
229
  "device": "normal",
230
  "batteryLife": 82.7
231
  }
 
238
  "timeStamp": "2023-07-18T10:26:30Z",
239
  "readings": {
240
  "temperature": 91.7,
241
+ "humidity": 40.1,
242
  "pressure": 1013,
243
  "units": {
244
  "temperature": "Celsius",
 
246
  "pressure": "hPa"
247
  }
248
  },
249
+ "state": {
250
  "device": "normal",
251
  "batteryLife": 82.4
252
  }
 
259
  "timeStamp": "2023-07-18T10:27:30Z",
260
  "readings": {
261
  "temperature": 93.2,
262
+ "humidity": 40.0,
263
  "pressure": 1013,
264
  "units": {
265
  "temperature": "Celsius",
 
267
  "pressure": "hPa"
268
  }
269
  },
270
+ "state": {
271
  "device": "normal",
272
  "batteryLife": 82.2
273
  }
 
280
  "timeStamp": "2023-07-18T10:28:30Z",
281
  "readings": {
282
  "temperature": 94.7,
283
+ "humidity": 40.1,
284
  "pressure": 1013,
285
  "units": {
286
  "temperature": "Celsius",
 
288
  "pressure": "hPa"
289
  }
290
  },
291
+ "state": {
292
  "device": "normal",
293
  "batteryLife": 81.9
294
  }
 
301
  "timeStamp": "2023-07-18T10:29:30Z",
302
  "readings": {
303
  "temperature": 96.2,
304
+ "humidity": 40.3,
305
  "pressure": 1013,
306
  "units": {
307
  "temperature": "Celsius",
 
309
  "pressure": "hPa"
310
  }
311
  },
312
+ "state": {
313
  "device": "normal",
314
  "batteryLife": 81.7
315
  }
 
322
  "timeStamp": "2023-07-18T10:30:30Z",
323
  "readings": {
324
  "temperature": 97.7,
325
+ "humidity": 40.1,
326
  "pressure": 1013,
327
  "units": {
328
  "temperature": "Celsius",
 
330
  "pressure": "hPa"
331
  }
332
  },
333
+ "state": {
334
  "device": "normal",
335
  "batteryLife": 81.5
336
  }
 
343
  "timeStamp": "2023-07-18T10:31:30Z",
344
  "readings": {
345
  "temperature": 99.2,
346
+ "humidity": 40.2,
347
  "pressure": 1013,
348
  "units": {
349
  "temperature": "Celsius",
 
351
  "pressure": "hPa"
352
  }
353
  },
354
+ "state": {
355
  "device": "normal",
356
  "batteryLife": 81.2
357
  }
 
364
  "timeStamp": "2023-07-18T10:32:30Z",
365
  "readings": {
366
  "temperature": 100.7,
367
+ "humidity": 40.0,
368
  "pressure": 1013,
369
  "units": {
370
  "temperature": "Celsius",
 
372
  "pressure": "hPa"
373
  }
374
  },
375
+ "state": {
376
  "device": "normal",
377
  "batteryLife": 81.0
378
  }
 
385
  "timeStamp": "2023-07-18T10:33:30Z",
386
  "readings": {
387
  "temperature": 102.2,
388
+ "humidity": 40.1,
389
  "pressure": 1013,
390
  "units": {
391
  "temperature": "Celsius",
 
393
  "pressure": "hPa"
394
  }
395
  },
396
+ "state": {
397
  "device": "normal",
398
  "batteryLife": 80.8
399
  }
 
406
  "timeStamp": "2023-07-18T10:34:30Z",
407
  "readings": {
408
  "temperature": 103.7,
409
+ "humidity": 40.0,
410
  "pressure": 1013,
411
  "units": {
412
  "temperature": "Celsius",
 
414
  "pressure": "hPa"
415
  }
416
  },
417
+ "state": {
418
  "device": "normal",
419
  "batteryLife": 80.5
420
  }
 
427
  "timeStamp": "2023-07-18T10:35:30Z",
428
  "readings": {
429
  "temperature": 105.2,
430
+ "humidity": 40.2,
431
  "pressure": 1013,
432
  "units": {
433
  "temperature": "Celsius",
 
435
  "pressure": "hPa"
436
  }
437
  },
438
+ "state": {
439
  "device": "normal",
440
  "batteryLife": 80.3
441
  }
 
448
  "timeStamp": "2023-07-18T10:36:30Z",
449
  "readings": {
450
  "temperature": 106.7,
451
+ "humidity": 40.1,
452
  "pressure": 1013,
453
  "units": {
454
  "temperature": "Celsius",
 
456
  "pressure": "hPa"
457
  }
458
  },
459
+ "state": {
460
  "device": "normal",
461
  "batteryLife": 80.1
462
  }
 
469
  "timeStamp": "2023-07-18T10:37:30Z",
470
  "readings": {
471
  "temperature": 108.2,
472
+ "humidity": 40.2,
473
  "pressure": 1013,
474
  "units": {
475
  "temperature": "Celsius",
 
477
  "pressure": "hPa"
478
  }
479
  },
480
+ "state": {
481
  "device": "normal",
482
  "batteryLife": 79.8
483
  }
 
490
  "timeStamp": "2023-07-18T10:38:30Z",
491
  "readings": {
492
  "temperature": 109.7,
493
+ "humidity": 40.4,
494
  "pressure": 1013,
495
  "units": {
496
  "temperature": "Celsius",
 
498
  "pressure": "hPa"
499
  }
500
  },
501
+ "state": {
502
  "device": "normal",
503
  "batteryLife": 79.6
504
  }
 
511
  "timeStamp": "2023-07-18T10:39:30Z",
512
  "readings": {
513
  "temperature": 111.2,
514
+ "humidity": 40.5,
515
  "pressure": 1013,
516
  "units": {
517
  "temperature": "Celsius",
 
519
  "pressure": "hPa"
520
  }
521
  },
522
+ "state": {
523
  "device": "normal",
524
  "batteryLife": 79.4
525
  }
 
532
  "timeStamp": "2023-07-18T10:40:30Z",
533
  "readings": {
534
  "temperature": 112.7,
535
+ "humidity": 40.6,
536
  "pressure": 1013,
537
  "units": {
538
  "temperature": "Celsius",
 
540
  "pressure": "hPa"
541
  }
542
  },
543
+ "state": {
544
  "device": "normal",
545
  "batteryLife": 79.1
546
  }
 
553
  "timeStamp": "2023-07-18T10:41:30Z",
554
  "readings": {
555
  "temperature": 114.2,
556
+ "humidity": 40.5,
557
  "pressure": 1013,
558
  "units": {
559
  "temperature": "Celsius",
 
561
  "pressure": "hPa"
562
  }
563
  },
564
+ "state": {
565
  "device": "normal",
566
  "batteryLife": 78.9
567
  }
 
574
  "timeStamp": "2023-07-18T10:42:30Z",
575
  "readings": {
576
  "temperature": 115.7,
577
+ "humidity": 40.7,
578
  "pressure": 1013,
579
  "units": {
580
  "temperature": "Celsius",
 
582
  "pressure": "hPa"
583
  }
584
  },
585
+ "state": {
586
  "device": "normal",
587
  "batteryLife": 78.7
588
  }
 
595
  "timeStamp": "2023-07-18T10:43:30Z",
596
  "readings": {
597
  "temperature": 117.2,
598
+ "humidity": 40.7,
599
  "pressure": 1013,
600
  "units": {
601
  "temperature": "Celsius",
 
603
  "pressure": "hPa"
604
  }
605
  },
606
+ "state": {
607
  "device": "normal",
608
  "batteryLife": 78.4
609
  }
 
616
  "timeStamp": "2023-07-18T10:44:30Z",
617
  "readings": {
618
  "temperature": 118.7,
619
+ "humidity": 40.7,
620
  "pressure": 1013,
621
  "units": {
622
  "temperature": "Celsius",
 
624
  "pressure": "hPa"
625
  }
626
  },
627
+ "state": {
628
  "device": "normal",
629
  "batteryLife": 78.2
630
  }
 
637
  "timeStamp": "2023-07-18T10:45:30Z",
638
  "readings": {
639
  "temperature": 120.2,
640
+ "humidity": 40.9,
641
  "pressure": 1013,
642
  "units": {
643
  "temperature": "Celsius",
 
645
  "pressure": "hPa"
646
  }
647
  },
648
+ "state": {
649
  "device": "normal",
650
  "batteryLife": 78.0
651
  }
 
666
  "pressure": "hPa"
667
  }
668
  },
669
+ "state": {
670
  "device": "normal",
671
  "batteryLife": 77.7
672
  }
 
679
  "timeStamp": "2023-07-18T10:47:30Z",
680
  "readings": {
681
  "temperature": 123.2,
682
+ "humidity": 41.1,
683
  "pressure": 1013,
684
  "units": {
685
  "temperature": "Celsius",
 
687
  "pressure": "hPa"
688
  }
689
  },
690
+ "state": {
691
  "device": "normal",
692
  "batteryLife": 77.5
693
  }
 
700
  "timeStamp": "2023-07-18T10:48:30Z",
701
  "readings": {
702
  "temperature": 124.7,
703
+ "humidity": 41.0,
704
  "pressure": 1013,
705
  "units": {
706
  "temperature": "Celsius",
 
708
  "pressure": "hPa"
709
  }
710
  },
711
+ "state": {
712
  "device": "normal",
713
  "batteryLife": 77.2
714
  }
 
721
  "timeStamp": "2023-07-18T10:49:30Z",
722
  "readings": {
723
  "temperature": 126.2,
724
+ "humidity": 40.8,
725
  "pressure": 1013,
726
  "units": {
727
  "temperature": "Celsius",
 
729
  "pressure": "hPa"
730
  }
731
  },
732
+ "state": {
733
  "device": "normal",
734
  "batteryLife": 77.0
735
  }
 
742
  "timeStamp": "2023-07-18T10:50:30Z",
743
  "readings": {
744
  "temperature": 127.7,
745
+ "humidity": 40.9,
746
  "pressure": 1013,
747
  "units": {
748
  "temperature": "Celsius",
 
750
  "pressure": "hPa"
751
  }
752
  },
753
+ "state": {
754
  "device": "normal",
755
  "batteryLife": 76.8
756
  }
 
763
  "timeStamp": "2023-07-18T10:51:30Z",
764
  "readings": {
765
  "temperature": 129.2,
766
+ "humidity": 41.0,
767
  "pressure": 1013,
768
  "units": {
769
  "temperature": "Celsius",
 
771
  "pressure": "hPa"
772
  }
773
  },
774
+ "state": {
775
  "device": "normal",
776
  "batteryLife": 76.5
777
  }
 
792
  "pressure": "hPa"
793
  }
794
  },
795
+ "state": {
796
  "device": "normal",
797
  "batteryLife": 76.3
798
  }
 
813
  "pressure": "hPa"
814
  }
815
  },
816
+ "state": {
817
  "device": "normal",
818
  "batteryLife": 76.1
819
  }
 
826
  "timeStamp": "2023-07-18T10:54:30Z",
827
  "readings": {
828
  "temperature": 133.7,
829
+ "humidity": 41.1,
830
  "pressure": 1013,
831
  "units": {
832
  "temperature": "Celsius",
 
834
  "pressure": "hPa"
835
  }
836
  },
837
+ "state": {
838
  "device": "normal",
839
  "batteryLife": 75.8
840
  }
 
847
  "timeStamp": "2023-07-18T10:55:30Z",
848
  "readings": {
849
  "temperature": 135.2,
850
+ "humidity": 41.1,
851
  "pressure": 1013,
852
  "units": {
853
  "temperature": "Celsius",
 
855
  "pressure": "hPa"
856
  }
857
  },
858
+ "state": {
859
  "device": "normal",
860
  "batteryLife": 75.6
861
  }
 
868
  "timeStamp": "2023-07-18T10:56:30Z",
869
  "readings": {
870
  "temperature": 136.7,
871
+ "humidity": 41.0,
872
  "pressure": 1013,
873
  "units": {
874
  "temperature": "Celsius",
 
876
  "pressure": "hPa"
877
  }
878
  },
879
+ "state": {
880
  "device": "normal",
881
  "batteryLife": 75.4
882
  }
 
889
  "timeStamp": "2023-07-18T10:57:30Z",
890
  "readings": {
891
  "temperature": 138.2,
892
+ "humidity": 41.0,
893
  "pressure": 1013,
894
  "units": {
895
  "temperature": "Celsius",
 
897
  "pressure": "hPa"
898
  }
899
  },
900
+ "state": {
901
  "device": "normal",
902
  "batteryLife": 75.1
903
  }
 
910
  "timeStamp": "2023-07-18T10:58:30Z",
911
  "readings": {
912
  "temperature": 139.7,
913
+ "humidity": 41.0,
914
  "pressure": 1013,
915
  "units": {
916
  "temperature": "Celsius",
 
918
  "pressure": "hPa"
919
  }
920
  },
921
+ "state": {
922
  "device": "normal",
923
  "batteryLife": 74.9
924
  }
 
931
  "timeStamp": "2023-07-18T10:59:30Z",
932
  "readings": {
933
  "temperature": 141.2,
934
+ "humidity": 40.8,
935
  "pressure": 1013,
936
  "units": {
937
  "temperature": "Celsius",
 
939
  "pressure": "hPa"
940
  }
941
  },
942
+ "state": {
943
+ "device": "warning",
944
  "batteryLife": 74.7
945
  }
946
  },
 
952
  "timeStamp": "2023-07-18T11:00:30Z",
953
  "readings": {
954
  "temperature": 142.7,
955
+ "humidity": 41.0,
956
  "pressure": 1013,
957
  "units": {
958
  "temperature": "Celsius",
 
960
  "pressure": "hPa"
961
  }
962
  },
963
+ "state": {
964
+ "device": "warning",
965
  "batteryLife": 74.4
966
  }
967
  },
 
973
  "timeStamp": "2023-07-18T11:01:30Z",
974
  "readings": {
975
  "temperature": 144.2,
976
+ "humidity": 40.8,
977
  "pressure": 1013,
978
  "units": {
979
  "temperature": "Celsius",
 
981
  "pressure": "hPa"
982
  }
983
  },
984
+ "state": {
985
+ "device": "warning",
986
  "batteryLife": 74.2
987
  }
988
  },
 
994
  "timeStamp": "2023-07-18T11:02:30Z",
995
  "readings": {
996
  "temperature": 145.7,
997
+ "humidity": 41.0,
998
  "pressure": 1013,
999
  "units": {
1000
  "temperature": "Celsius",
 
1002
  "pressure": "hPa"
1003
  }
1004
  },
1005
+ "state": {
1006
+ "device": "warning",
1007
  "batteryLife": 74.0
1008
  }
1009
  },
 
1015
  "timeStamp": "2023-07-18T11:03:30Z",
1016
  "readings": {
1017
  "temperature": 147.2,
1018
+ "humidity": 40.8,
1019
  "pressure": 1013,
1020
  "units": {
1021
  "temperature": "Celsius",
 
1023
  "pressure": "hPa"
1024
  }
1025
  },
1026
+ "state": {
1027
+ "device": "warning",
1028
  "batteryLife": 73.7
1029
  }
1030
  },
 
1036
  "timeStamp": "2023-07-18T11:04:30Z",
1037
  "readings": {
1038
  "temperature": 148.7,
1039
+ "humidity": 40.6,
1040
  "pressure": 1013,
1041
  "units": {
1042
  "temperature": "Celsius",
 
1044
  "pressure": "hPa"
1045
  }
1046
  },
1047
+ "state": {
1048
+ "device": "warning",
1049
  "batteryLife": 73.5
1050
  }
1051
  },
 
1057
  "timeStamp": "2023-07-18T11:05:30Z",
1058
  "readings": {
1059
  "temperature": 150.2,
1060
+ "humidity": 40.6,
1061
  "pressure": 1013,
1062
  "units": {
1063
  "temperature": "Celsius",
 
1065
  "pressure": "hPa"
1066
  }
1067
  },
1068
+ "state": {
1069
+ "device": "warning",
1070
  "batteryLife": 73.3
1071
  }
1072
  },
 
1078
  "timeStamp": "2023-07-18T11:06:30Z",
1079
  "readings": {
1080
  "temperature": 151.7,
1081
+ "humidity": 40.4,
1082
  "pressure": 1013,
1083
  "units": {
1084
  "temperature": "Celsius",
 
1086
  "pressure": "hPa"
1087
  }
1088
  },
1089
+ "state": {
1090
+ "device": "warning",
1091
  "batteryLife": 73.0
1092
  }
1093
  },
 
1099
  "timeStamp": "2023-07-18T11:07:30Z",
1100
  "readings": {
1101
  "temperature": 153.2,
1102
+ "humidity": 40.5,
1103
  "pressure": 1013,
1104
  "units": {
1105
  "temperature": "Celsius",
 
1107
  "pressure": "hPa"
1108
  }
1109
  },
1110
+ "state": {
1111
+ "device": "warning",
1112
  "batteryLife": 72.8
1113
  }
1114
  },
 
1120
  "timeStamp": "2023-07-18T11:08:30Z",
1121
  "readings": {
1122
  "temperature": 154.7,
1123
+ "humidity": 40.5,
1124
  "pressure": 1013,
1125
  "units": {
1126
  "temperature": "Celsius",
 
1128
  "pressure": "hPa"
1129
  }
1130
  },
1131
+ "state": {
1132
+ "device": "warning",
1133
  "batteryLife": 72.5
1134
  }
1135
  },
 
1141
  "timeStamp": "2023-07-18T11:09:30Z",
1142
  "readings": {
1143
  "temperature": 156.2,
1144
+ "humidity": 40.7,
1145
  "pressure": 1013,
1146
  "units": {
1147
  "temperature": "Celsius",
 
1149
  "pressure": "hPa"
1150
  }
1151
  },
1152
+ "state": {
1153
+ "device": "warning",
1154
  "batteryLife": 72.3
1155
  }
1156
  },
 
1162
  "timeStamp": "2023-07-18T11:10:30Z",
1163
  "readings": {
1164
  "temperature": 157.7,
1165
+ "humidity": 40.8,
1166
  "pressure": 1013,
1167
  "units": {
1168
  "temperature": "Celsius",
 
1170
  "pressure": "hPa"
1171
  }
1172
  },
1173
+ "state": {
1174
+ "device": "warning",
1175
  "batteryLife": 72.1
1176
  }
1177
  },
 
1183
  "timeStamp": "2023-07-18T11:11:30Z",
1184
  "readings": {
1185
  "temperature": 159.2,
1186
+ "humidity": 40.9,
1187
  "pressure": 1013,
1188
  "units": {
1189
  "temperature": "Celsius",
 
1191
  "pressure": "hPa"
1192
  }
1193
  },
1194
+ "state": {
1195
+ "device": "warning",
1196
  "batteryLife": 71.8
1197
  }
1198
  },
 
1204
  "timeStamp": "2023-07-18T11:12:30Z",
1205
  "readings": {
1206
  "temperature": 160.7,
1207
+ "humidity": 40.7,
1208
  "pressure": 1013,
1209
  "units": {
1210
  "temperature": "Celsius",
 
1212
  "pressure": "hPa"
1213
  }
1214
  },
1215
+ "state": {
1216
+ "device": "warning",
1217
  "batteryLife": 71.6
1218
  }
1219
  },
 
1225
  "timeStamp": "2023-07-18T11:13:30Z",
1226
  "readings": {
1227
  "temperature": 162.2,
1228
+ "humidity": 40.8,
1229
  "pressure": 1013,
1230
  "units": {
1231
  "temperature": "Celsius",
 
1233
  "pressure": "hPa"
1234
  }
1235
  },
1236
+ "state": {
1237
+ "device": "warning",
1238
  "batteryLife": 71.4
1239
  }
1240
  },
 
1246
  "timeStamp": "2023-07-18T11:14:30Z",
1247
  "readings": {
1248
  "temperature": 163.7,
1249
+ "humidity": 41.0,
1250
  "pressure": 1013,
1251
  "units": {
1252
  "temperature": "Celsius",
 
1254
  "pressure": "hPa"
1255
  }
1256
  },
1257
+ "state": {
1258
+ "device": "warning",
1259
  "batteryLife": 71.1
1260
  }
1261
  },
 
1267
  "timeStamp": "2023-07-18T11:15:30Z",
1268
  "readings": {
1269
  "temperature": 165.2,
1270
+ "humidity": 41.1,
1271
  "pressure": 1013,
1272
  "units": {
1273
  "temperature": "Celsius",
 
1275
  "pressure": "hPa"
1276
  }
1277
  },
1278
+ "state": {
1279
+ "device": "warning",
1280
  "batteryLife": 70.9
1281
  }
1282
  },
 
1288
  "timeStamp": "2023-07-18T11:16:30Z",
1289
  "readings": {
1290
  "temperature": 168.1,
1291
+ "humidity": 41.3,
1292
  "pressure": 1013,
1293
  "units": {
1294
  "temperature": "Celsius",
 
1296
  "pressure": "hPa"
1297
  }
1298
  },
1299
+ "state": {
1300
+ "device": "warning",
1301
  "batteryLife": 70.7
1302
  }
1303
  },
 
1309
  "timeStamp": "2023-07-18T11:17:30Z",
1310
  "readings": {
1311
  "temperature": 171.0,
1312
+ "humidity": 41.3,
1313
  "pressure": 1013,
1314
  "units": {
1315
  "temperature": "Celsius",
 
1317
  "pressure": "hPa"
1318
  }
1319
  },
1320
+ "state": {
1321
+ "device": "warning",
1322
  "batteryLife": 70.4
1323
  }
1324
  },
 
1330
  "timeStamp": "2023-07-18T11:18:30Z",
1331
  "readings": {
1332
  "temperature": 173.9,
1333
+ "humidity": 41.2,
1334
  "pressure": 1013,
1335
  "units": {
1336
  "temperature": "Celsius",
 
1338
  "pressure": "hPa"
1339
  }
1340
  },
1341
+ "state": {
1342
+ "device": "warning",
1343
  "batteryLife": 70.2
1344
  }
1345
  },
 
1359
  "pressure": "hPa"
1360
  }
1361
  },
1362
+ "state": {
1363
+ "device": "warning",
1364
  "batteryLife": 70.0
1365
  }
1366
  },
 
1372
  "timeStamp": "2023-07-18T11:20:30Z",
1373
  "readings": {
1374
  "temperature": 179.7,
1375
+ "humidity": 41.2,
1376
  "pressure": 1013,
1377
  "units": {
1378
  "temperature": "Celsius",
 
1380
  "pressure": "hPa"
1381
  }
1382
  },
1383
+ "state": {
1384
+ "device": "warning",
1385
  "batteryLife": 69.7
1386
  }
1387
  },
 
1393
  "timeStamp": "2023-07-18T11:21:30Z",
1394
  "readings": {
1395
  "temperature": 182.6,
1396
+ "humidity": 41.0,
1397
  "pressure": 1013,
1398
  "units": {
1399
  "temperature": "Celsius",
 
1401
  "pressure": "hPa"
1402
  }
1403
  },
1404
+ "state": {
1405
+ "device": "warning",
1406
  "batteryLife": 69.5
1407
  }
1408
  },
 
1414
  "timeStamp": "2023-07-18T11:22:30Z",
1415
  "readings": {
1416
  "temperature": 185.5,
1417
+ "humidity": 40.8,
1418
  "pressure": 1013,
1419
  "units": {
1420
  "temperature": "Celsius",
 
1422
  "pressure": "hPa"
1423
  }
1424
  },
1425
+ "state": {
1426
+ "device": "warning",
1427
  "batteryLife": 69.3
1428
  }
1429
  },
 
1435
  "timeStamp": "2023-07-18T11:23:30Z",
1436
  "readings": {
1437
  "temperature": 188.4,
1438
+ "humidity": 40.8,
1439
  "pressure": 1013,
1440
  "units": {
1441
  "temperature": "Celsius",
 
1443
  "pressure": "hPa"
1444
  }
1445
  },
1446
+ "state": {
1447
+ "device": "warning",
1448
  "batteryLife": 69.0
1449
  }
1450
  },
 
1456
  "timeStamp": "2023-07-18T11:24:30Z",
1457
  "readings": {
1458
  "temperature": 191.3,
1459
+ "humidity": 40.9,
1460
  "pressure": 1013,
1461
  "units": {
1462
  "temperature": "Celsius",
 
1464
  "pressure": "hPa"
1465
  }
1466
  },
1467
+ "state": {
1468
+ "device": "warning",
1469
  "batteryLife": 68.8
1470
  }
1471
  },
 
1477
  "timeStamp": "2023-07-18T11:25:30Z",
1478
  "readings": {
1479
  "temperature": 194.2,
1480
+ "humidity": 40.8,
1481
  "pressure": 1013,
1482
  "units": {
1483
  "temperature": "Celsius",
 
1485
  "pressure": "hPa"
1486
  }
1487
  },
1488
+ "state": {
1489
+ "device": "warning",
1490
  "batteryLife": 68.6
1491
  }
1492
  },
 
1498
  "timeStamp": "2023-07-18T11:26:30Z",
1499
  "readings": {
1500
  "temperature": 197.1,
1501
+ "humidity": 40.9,
1502
  "pressure": 1013,
1503
  "units": {
1504
  "temperature": "Celsius",
 
1506
  "pressure": "hPa"
1507
  }
1508
  },
1509
+ "state": {
1510
+ "device": "warning",
1511
  "batteryLife": 68.3
1512
  }
1513
  },
 
1519
  "timeStamp": "2023-07-18T11:27:30Z",
1520
  "readings": {
1521
  "temperature": 200.0,
1522
+ "humidity": 41.1,
1523
  "pressure": 1013,
1524
  "units": {
1525
  "temperature": "Celsius",
 
1527
  "pressure": "hPa"
1528
  }
1529
  },
1530
+ "state": {
1531
+ "device": "warning",
1532
  "batteryLife": 68.1
1533
  }
1534
  },
 
1540
  "timeStamp": "2023-07-18T11:28:30Z",
1541
  "readings": {
1542
  "temperature": 202.9,
1543
+ "humidity": 41.2,
1544
  "pressure": 1013,
1545
  "units": {
1546
  "temperature": "Celsius",
 
1548
  "pressure": "hPa"
1549
  }
1550
  },
1551
+ "state": {
1552
+ "device": "warning",
1553
  "batteryLife": 67.8
1554
  }
1555
  },
 
1561
  "timeStamp": "2023-07-18T11:29:30Z",
1562
  "readings": {
1563
  "temperature": 205.8,
1564
+ "humidity": 41.4,
1565
  "pressure": 1013,
1566
  "units": {
1567
  "temperature": "Celsius",
 
1569
  "pressure": "hPa"
1570
  }
1571
  },
1572
+ "state": {
1573
+ "device": "warning",
1574
  "batteryLife": 67.6
1575
  }
1576
  },
 
1590
  "pressure": "hPa"
1591
  }
1592
  },
1593
+ "state": {
1594
+ "device": "warning",
1595
  "batteryLife": 67.4
1596
  }
1597
  },
 
1603
  "timeStamp": "2023-07-18T11:31:30Z",
1604
  "readings": {
1605
  "temperature": 211.6,
1606
+ "humidity": 41.2,
1607
  "pressure": 1013,
1608
  "units": {
1609
  "temperature": "Celsius",
 
1611
  "pressure": "hPa"
1612
  }
1613
  },
1614
+ "state": {
1615
+ "device": "warning",
1616
  "batteryLife": 67.1
1617
  }
1618
  },
 
1624
  "timeStamp": "2023-07-18T11:32:30Z",
1625
  "readings": {
1626
  "temperature": 214.5,
1627
+ "humidity": 41.4,
1628
  "pressure": 1013,
1629
  "units": {
1630
  "temperature": "Celsius",
 
1632
  "pressure": "hPa"
1633
  }
1634
  },
1635
+ "state": {
1636
+ "device": "warning",
1637
  "batteryLife": 66.9
1638
  }
1639
  },
 
1653
  "pressure": "hPa"
1654
  }
1655
  },
1656
+ "state": {
1657
+ "device": "warning",
1658
  "batteryLife": 66.7
1659
  }
1660
  },
 
1666
  "timeStamp": "2023-07-18T11:34:30Z",
1667
  "readings": {
1668
  "temperature": 220.3,
1669
+ "humidity": 41.3,
1670
  "pressure": 1013,
1671
  "units": {
1672
  "temperature": "Celsius",
 
1674
  "pressure": "hPa"
1675
  }
1676
  },
1677
+ "state": {
1678
+ "device": "warning",
1679
  "batteryLife": 66.4
1680
  }
1681
  },
 
1687
  "timeStamp": "2023-07-18T11:35:30Z",
1688
  "readings": {
1689
  "temperature": 223.2,
1690
+ "humidity": 41.2,
1691
  "pressure": 1013,
1692
  "units": {
1693
  "temperature": "Celsius",
 
1695
  "pressure": "hPa"
1696
  }
1697
  },
1698
+ "state": {
1699
+ "device": "warning",
1700
  "batteryLife": 66.2
1701
  }
1702
  },
 
1708
  "timeStamp": "2023-07-18T11:36:30Z",
1709
  "readings": {
1710
  "temperature": 226.1,
1711
+ "humidity": 41.4,
1712
  "pressure": 1013,
1713
  "units": {
1714
  "temperature": "Celsius",
 
1716
  "pressure": "hPa"
1717
  }
1718
  },
1719
+ "state": {
1720
+ "device": "warning",
1721
  "batteryLife": 66.0
1722
  }
1723
  },
 
1729
  "timeStamp": "2023-07-18T11:37:30Z",
1730
  "readings": {
1731
  "temperature": 229.0,
1732
+ "humidity": 41.5,
1733
  "pressure": 1013,
1734
  "units": {
1735
  "temperature": "Celsius",
 
1737
  "pressure": "hPa"
1738
  }
1739
  },
1740
+ "state": {
1741
+ "device": "warning",
1742
  "batteryLife": 65.7
1743
  }
1744
  },
 
1750
  "timeStamp": "2023-07-18T11:38:30Z",
1751
  "readings": {
1752
  "temperature": 231.9,
1753
+ "humidity": 41.3,
1754
  "pressure": 1013,
1755
  "units": {
1756
  "temperature": "Celsius",
 
1758
  "pressure": "hPa"
1759
  }
1760
  },
1761
+ "state": {
1762
+ "device": "warning",
1763
  "batteryLife": 65.5
1764
  }
1765
  },
 
1771
  "timeStamp": "2023-07-18T11:39:30Z",
1772
  "readings": {
1773
  "temperature": 234.8,
1774
+ "humidity": 41.2,
1775
  "pressure": 1013,
1776
  "units": {
1777
  "temperature": "Celsius",
 
1779
  "pressure": "hPa"
1780
  }
1781
  },
1782
+ "state": {
1783
+ "device": "warning",
1784
  "batteryLife": 65.3
1785
  }
1786
  },
 
1792
  "timeStamp": "2023-07-18T11:40:30Z",
1793
  "readings": {
1794
  "temperature": 237.7,
1795
+ "humidity": 41.1,
1796
  "pressure": 1013,
1797
  "units": {
1798
  "temperature": "Celsius",
 
1800
  "pressure": "hPa"
1801
  }
1802
  },
1803
+ "state": {
1804
+ "device": "warning",
1805
  "batteryLife": 65.0
1806
  }
1807
  },
 
1813
  "timeStamp": "2023-07-18T11:41:30Z",
1814
  "readings": {
1815
  "temperature": 240.6,
1816
+ "humidity": 41.3,
1817
  "pressure": 1013,
1818
  "units": {
1819
  "temperature": "Celsius",
 
1821
  "pressure": "hPa"
1822
  }
1823
  },
1824
+ "state": {
1825
  "device": "failure",
1826
  "batteryLife": 64.8
1827
  }
 
1834
  "timeStamp": "2023-07-18T11:42:30Z",
1835
  "readings": {
1836
  "temperature": 243.5,
1837
+ "humidity": 41.4,
1838
  "pressure": 1013,
1839
  "units": {
1840
  "temperature": "Celsius",
 
1842
  "pressure": "hPa"
1843
  }
1844
  },
1845
+ "state": {
1846
  "device": "failure",
1847
  "batteryLife": 64.6
1848
  }
 
1863
  "pressure": "hPa"
1864
  }
1865
  },
1866
+ "state": {
1867
  "device": "failure",
1868
  "batteryLife": 64.3
1869
  }
 
1884
  "pressure": "hPa"
1885
  }
1886
  },
1887
+ "state": {
1888
  "device": "failure",
1889
  "batteryLife": 64.1
1890
  }
 
1905
  "pressure": "hPa"
1906
  }
1907
  },
1908
+ "state": {
1909
  "device": "failure",
1910
  "batteryLife": 63.9
1911
  }
 
1918
  "timeStamp": "2023-07-18T11:46:30Z",
1919
  "readings": {
1920
  "temperature": 255.1,
1921
+ "humidity": 41.6,
1922
  "pressure": 1013,
1923
  "units": {
1924
  "temperature": "Celsius",
 
1926
  "pressure": "hPa"
1927
  }
1928
  },
1929
+ "state": {
1930
  "device": "failure",
1931
  "batteryLife": 63.6
1932
  }
 
1939
  "timeStamp": "2023-07-18T11:47:30Z",
1940
  "readings": {
1941
  "temperature": 258.0,
1942
+ "humidity": 41.8,
1943
  "pressure": 1013,
1944
  "units": {
1945
  "temperature": "Celsius",
 
1947
  "pressure": "hPa"
1948
  }
1949
  },
1950
+ "state": {
1951
  "device": "failure",
1952
  "batteryLife": 63.4
1953
  }
 
1960
  "timeStamp": "2023-07-18T11:48:30Z",
1961
  "readings": {
1962
  "temperature": 260.9,
1963
+ "humidity": 41.8,
1964
  "pressure": 1013,
1965
  "units": {
1966
  "temperature": "Celsius",
 
1968
  "pressure": "hPa"
1969
  }
1970
  },
1971
+ "state": {
1972
  "device": "failure",
1973
  "batteryLife": 63.1
1974
  }
 
1989
  "pressure": "hPa"
1990
  }
1991
  },
1992
+ "state": {
1993
  "device": "failure",
1994
  "batteryLife": 62.9
1995
  }
 
2002
  "timeStamp": "2023-07-18T11:50:30Z",
2003
  "readings": {
2004
  "temperature": 266.7,
2005
+ "humidity": 41.9,
2006
  "pressure": 1013,
2007
  "units": {
2008
  "temperature": "Celsius",
 
2010
  "pressure": "hPa"
2011
  }
2012
  },
2013
+ "state": {
2014
  "device": "failure",
2015
  "batteryLife": 62.7
2016
  }
 
2031
  "pressure": "hPa"
2032
  }
2033
  },
2034
+ "state": {
2035
  "device": "failure",
2036
  "batteryLife": 62.4
2037
  }
 
2044
  "timeStamp": "2023-07-18T11:52:30Z",
2045
  "readings": {
2046
  "temperature": 272.5,
2047
+ "humidity": 42.0,
2048
  "pressure": 1013,
2049
  "units": {
2050
  "temperature": "Celsius",
 
2052
  "pressure": "hPa"
2053
  }
2054
  },
2055
+ "state": {
2056
  "device": "failure",
2057
  "batteryLife": 62.2
2058
  }
 
2065
  "timeStamp": "2023-07-18T11:53:30Z",
2066
  "readings": {
2067
  "temperature": 275.4,
2068
+ "humidity": 41.9,
2069
  "pressure": 1013,
2070
  "units": {
2071
  "temperature": "Celsius",
 
2073
  "pressure": "hPa"
2074
  }
2075
  },
2076
+ "state": {
2077
  "device": "failure",
2078
  "batteryLife": 62.0
2079
  }
 
2086
  "timeStamp": "2023-07-18T11:54:30Z",
2087
  "readings": {
2088
  "temperature": 278.3,
2089
+ "humidity": 42.0,
2090
  "pressure": 1013,
2091
  "units": {
2092
  "temperature": "Celsius",
 
2094
  "pressure": "hPa"
2095
  }
2096
  },
2097
+ "state": {
2098
  "device": "failure",
2099
  "batteryLife": 61.7
2100
  }
 
2107
  "timeStamp": "2023-07-18T11:55:30Z",
2108
  "readings": {
2109
  "temperature": 281.2,
2110
+ "humidity": 42.2,
2111
  "pressure": 1013,
2112
  "units": {
2113
  "temperature": "Celsius",
 
2115
  "pressure": "hPa"
2116
  }
2117
  },
2118
+ "state": {
2119
  "device": "failure",
2120
  "batteryLife": 61.5
2121
  }
 
2128
  "timeStamp": "2023-07-18T11:56:30Z",
2129
  "readings": {
2130
  "temperature": 284.1,
2131
+ "humidity": 42.0,
2132
  "pressure": 1013,
2133
  "units": {
2134
  "temperature": "Celsius",
 
2136
  "pressure": "hPa"
2137
  }
2138
  },
2139
+ "state": {
2140
  "device": "failure",
2141
  "batteryLife": 61.3
2142
  }
 
2157
  "pressure": "hPa"
2158
  }
2159
  },
2160
+ "state": {
2161
  "device": "failure",
2162
  "batteryLife": 61.0
2163
  }
 
2178
  "pressure": "hPa"
2179
  }
2180
  },
2181
+ "state": {
2182
  "device": "failure",
2183
  "batteryLife": 60.8
2184
  }
 
2191
  "timeStamp": "2023-07-18T11:59:30Z",
2192
  "readings": {
2193
  "temperature": 292.8,
2194
+ "humidity": 41.9,
2195
  "pressure": 1013,
2196
  "units": {
2197
  "temperature": "Celsius",
 
2199
  "pressure": "hPa"
2200
  }
2201
  },
2202
+ "state": {
2203
  "device": "failure",
2204
  "batteryLife": 60.6
2205
  }
 
2212
  "timeStamp": "2023-07-18T12:00:30Z",
2213
  "readings": {
2214
  "temperature": 295.7,
2215
+ "humidity": 41.8,
2216
  "pressure": 1013,
2217
  "units": {
2218
  "temperature": "Celsius",
 
2220
  "pressure": "hPa"
2221
  }
2222
  },
2223
+ "state": {
2224
  "device": "failure",
2225
  "batteryLife": 60.3
2226
  }
 
2233
  "timeStamp": "2023-07-18T12:01:30Z",
2234
  "readings": {
2235
  "temperature": 298.6,
2236
+ "humidity": 41.9,
2237
  "pressure": 1013,
2238
  "units": {
2239
  "temperature": "Celsius",
 
2241
  "pressure": "hPa"
2242
  }
2243
  },
2244
+ "state": {
2245
  "device": "failure",
2246
  "batteryLife": 60.1
2247
  }
 
2254
  "timeStamp": "2023-07-18T12:02:30Z",
2255
  "readings": {
2256
  "temperature": 301.5,
2257
+ "humidity": 42.0,
2258
  "pressure": 1013,
2259
  "units": {
2260
  "temperature": "Celsius",
 
2262
  "pressure": "hPa"
2263
  }
2264
  },
2265
+ "state": {
2266
  "device": "shutdown",
2267
  "batteryLife": 59.9
2268
  }
 
2283
  "pressure": "hPa"
2284
  }
2285
  },
2286
+ "state": {
2287
  "device": "shutdown",
2288
  "batteryLife": 0
2289
  }
 
2304
  "pressure": "hPa"
2305
  }
2306
  },
2307
+ "state": {
2308
  "device": "shutdown",
2309
  "batteryLife": 0
2310
  }
 
2325
  "pressure": "hPa"
2326
  }
2327
  },
2328
+ "state": {
2329
  "device": "shutdown",
2330
  "batteryLife": 0
2331
  }
 
2346
  "pressure": "hPa"
2347
  }
2348
  },
2349
+ "state": {
2350
  "device": "shutdown",
2351
  "batteryLife": 0
2352
  }
 
2367
  "pressure": "hPa"
2368
  }
2369
  },
2370
+ "state": {
2371
  "device": "shutdown",
2372
  "batteryLife": 0
2373
  }
 
2388
  "pressure": "hPa"
2389
  }
2390
  },
2391
+ "state": {
2392
  "device": "shutdown",
2393
  "batteryLife": 0
2394
  }
 
2409
  "pressure": "hPa"
2410
  }
2411
  },
2412
+ "state": {
2413
  "device": "shutdown",
2414
  "batteryLife": 0
2415
  }
 
2430
  "pressure": "hPa"
2431
  }
2432
  },
2433
+ "state": {
2434
  "device": "shutdown",
2435
  "batteryLife": 0
2436
  }
 
2451
  "pressure": "hPa"
2452
  }
2453
  },
2454
+ "state": {
2455
  "device": "shutdown",
2456
  "batteryLife": 0
2457
  }
 
2472
  "pressure": "hPa"
2473
  }
2474
  },
2475
+ "state": {
2476
  "device": "shutdown",
2477
  "batteryLife": 0
2478
  }
 
2493
  "pressure": "hPa"
2494
  }
2495
  },
2496
+ "state": {
2497
  "device": "shutdown",
2498
  "batteryLife": 0
2499
  }
 
2514
  "pressure": "hPa"
2515
  }
2516
  },
2517
+ "state": {
2518
  "device": "shutdown",
2519
  "batteryLife": 0
2520
  }
ml_to_nl_translation/translation.py CHANGED
@@ -8,6 +8,8 @@ from sklearn.metrics import classification_report, PrecisionRecallDisplay
8
  from collections import Counter
9
  from nltk.corpus import wordnet
10
  from nltk.tokenize import word_tokenize
 
 
11
 
12
  # Set embedding model parameters
13
  pd.set_option('display.max_rows', None)
@@ -15,80 +17,163 @@ pd.set_option('display.max_columns', None)
15
  pd.set_option('display.width', None)
16
  pd.set_option('display.max_colwidth', None)
17
 
18
-
19
  embedding_model = "text-embedding-ada-002"
20
  embedding_encoding = "cl100k_base"
21
  max_tokens = 8000
22
  input_datapath = "ml_to_nl_translation/data/temperature_sensor_data.json"
23
- output_theme_path = "data/datastream.json"
 
 
 
 
 
 
 
24
 
25
  class DataStream:
26
- def __init__(self, sensorId, location, timestamp, temperature, temperatureUnits, humidity, humidityUnits, pressure, pressureUnits, state, batteryLife):
 
 
27
  self.sensor = {
28
  'sensorId':sensorId,
29
  'location':location
30
  }
31
  self.timestamp = timestamp
32
- self.data = [
33
- { 'measurement': 'temperature', 'value': temperature, 'units': temperatureUnits },
34
- { 'measurement': 'humidity', 'value': humidity, 'units': humidityUnits },
35
- { 'measurement': 'pressure', 'value': pressure, 'units': pressureUnits }
36
- ]
37
- self.state=state
38
- self.batteryLife=batteryLife
39
 
40
  def to_dict(self):
41
  return {
42
  'sensor': self.sensor,
43
  'timestamp': self.timestamp,
44
- 'data': self.data,
 
 
45
  'state': self.state,
46
- 'batteryLife': self.batteryLife
47
- }
48
 
49
- class DataStreamDSF:
50
- def __init__(self, **args):
51
- self.sensor = {
52
- 'sensorId': args["sensorId"],
53
- 'location': args["location"]
54
- }
55
- self.timestamp = args["timeStamp"]
56
- self.data = [
57
- {'measurement': 'temperature', 'value': args["data"]["temperature"], 'units': args["data"]["units"]["temperature"]},
58
- {'measurement': 'humidity', 'value': args["data"]["humidity"], 'units': args["data"]["units"]["humidity"]},
59
- {'measurement': 'pressure', 'value': args["data"]["pressure"], 'units': args["data"]["units"]["pressure"]}
60
- ]
61
- self.state = args["status"].get("state", "unknown") # If state is missing, set it to "unknown"
62
- self.batteryLife = args["status"]["batteryLife"]
63
 
64
- def to_dict(self):
65
- return {
66
- 'sensor': self.sensor,
67
- 'timestamp': self.timestamp,
68
- 'data': self.data,
69
- 'state': self.state,
70
- 'batteryLife': self.batteryLife
71
- }
72
-
73
- def process_status (status):
74
- return "status:" + status["device"]
75
 
76
  def process_location (location):
77
  return location["description"]
78
 
79
- def process_readings (readings):
80
  return readings["temperature"]
81
 
82
- df = pd.read_json(input_datapath)
83
- df = df[["sensorId", "location", "readings", "timeStamp", "status"]]
84
- df['timeStamp'] = pd.to_datetime(df['timeStamp'])
85
- df['timeStamp'] = df['timeStamp'].dt.strftime('%H:%M:%S') # Format to 'HH:MM:SS'
86
- df["readings"] = df["readings"].apply(process_readings)
87
- df["location"] = df["location"].apply(process_location)
88
- df["status"] = df["status"].apply(process_status)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
- print (df)
 
 
 
 
 
 
 
 
91
 
92
- def getTranslations(key):
93
- return df
94
- #return df.to_json(orient='records')
 
 
 
 
 
8
  from collections import Counter
9
  from nltk.corpus import wordnet
10
  from nltk.tokenize import word_tokenize
11
+ from utilities import api_keys
12
+ openai.api_key = api_keys.APIKeys().get_key('OPENAI_API_KEY')
13
 
14
  # Set embedding model parameters
15
  pd.set_option('display.max_rows', None)
 
17
  pd.set_option('display.width', None)
18
  pd.set_option('display.max_colwidth', None)
19
 
 
20
  embedding_model = "text-embedding-ada-002"
21
  embedding_encoding = "cl100k_base"
22
  max_tokens = 8000
23
  input_datapath = "ml_to_nl_translation/data/temperature_sensor_data.json"
24
+ output_path = "ml_to_nl_translation/data/datastream.json"
25
+ dataStreams = []
26
+ sensorId = "Undefined"
27
+ MEASUREMENT_DEFAULT= "temperature"
28
+ minDf=pd.DataFrame()
29
+ df=pd.DataFrame()
30
+ prototype = ""
31
+ json_data=""
32
 
33
  class DataStream:
34
+ def __init__(self, message, sensorId, location, timestamp, reading, readingType, readingUnit,state):
35
+ self.message= message
36
+ self.readingType = readingType
37
  self.sensor = {
38
  'sensorId':sensorId,
39
  'location':location
40
  }
41
  self.timestamp = timestamp
42
+ self.reading= reading
43
+ self.readingUnit= readingUnit
44
+ self.state=state
 
 
 
 
45
 
46
  def to_dict(self):
47
  return {
48
  'sensor': self.sensor,
49
  'timestamp': self.timestamp,
50
+ 'readingType': self.readingType,
51
+ 'reading': self.reading,
52
+ 'readingUnit': self.readingUnit,
53
  'state': self.state,
54
+ 'message':self.message
55
+ }
56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
+ def process_state (state):
59
+ return state["device"]
 
 
 
 
 
 
 
 
 
60
 
61
  def process_location (location):
62
  return location["description"]
63
 
64
+ def process_temperature (readings):
65
  return readings["temperature"]
66
 
67
+ def process_units (readings):
68
+ return readings["units"]["temperature"]
69
+
70
+ def madLibsFun(reading, location, timestamp, state, sensorId, readingUnit):
71
+ global prototype
72
+ #print("madLibsFun, prototype: "+prototype)
73
+ message = prototype.format(
74
+ readingType=MEASUREMENT_DEFAULT,
75
+ sensorId=sensorId,
76
+ reading=reading,
77
+ readingUnit=readingUnit,
78
+ location=location,
79
+ state=state,
80
+ time=timestamp
81
+ )
82
+ #print (message)
83
+ dataStreamObj = DataStream(message=message, sensorId=sensorId, location=location, timestamp=timestamp, reading=reading, readingType= MEASUREMENT_DEFAULT, readingUnit=readingUnit, state=state)
84
+ dataStreams.append(dataStreamObj.to_dict())
85
+ return message
86
+
87
+ def process_message(reading, location, timestamp, state, sensorId, readingUnit):
88
+ print("readings: "+str(reading))
89
+ global prototype
90
+ message=""
91
+ if(prototype==""):
92
+ message_content = f"Convey concisely: ID of the sensor, its operational state (like working or failed), the type of measurement it takes (like temperature), the specific reading value, and the unit of the measurement (like Celsius), its placement location, and the timestamp of the reading, ."
93
+
94
+ completion = openai.ChatCompletion.create(
95
+ model="gpt-3.5-turbo",
96
+ messages=[
97
+ {"role": "system", "content": "Generate a structured sentence using the following placeholders: {sensorId}, {state}, {readingType}, {reading}, {readingUnit}, {location}, {time}. This sentence should describe sensor data in natural language. Be brief, 1 sentence"},
98
+ {"role": "user", "content": message_content}],
99
+ n=1,
100
+ temperature=0.2,
101
+ stop=None
102
+ )
103
+ message= completion.choices[0].message.content
104
+ prototype=message
105
+ print("prototype: "+prototype)
106
+ print("sensor temp: "+str(reading)+ "prototype: "+prototype)
107
+ message = madLibsFun(reading, location, timestamp, state, sensorId, readingUnit)
108
+ return message
109
+
110
+ def process_message2(temperature, location, timestamp, state, sensorId, temperatureUnit):
111
+ print("readings: "+str(temperature))
112
+ message_content = f"temperature : {temperature} degrees location : {location} time : {timestamp} state : {state}"
113
+ completion = openai.ChatCompletion.create(
114
+ model="gpt-3.5-turbo",
115
+ messages=[
116
+ {"role": "system", "content": "Tell me in as few words as possible what is going on with the sensor."},
117
+ {"role": "user", "content": message_content}],
118
+ max_tokens=30,
119
+ n=7,
120
+ temperature=0.2,
121
+ stop=None
122
+ )
123
+ message= completion.choices[0].message.content
124
+ print("sensor temp: "+str(temperature)+ "message: "+message)
125
+ dataStreamObj = DataStream(message=message, sensorId=sensorId, location=location, timestamp=timestamp, temperature=temperature, temperatureUnit=temperatureUnit, state=state)
126
+ dataStreams.append(dataStreamObj.to_dict())
127
+ return message
128
+
129
+ def writeDataFrameToFile(dataStream):
130
+ dataStream_dict = [dataStream for dataStream in dataStreams]
131
+ with open(output_path, "w") as json_file:
132
+ json.dump(dataStream_dict, json_file, indent=4)
133
+ print(f"DataStreams saved to {output_path+sensorId}")
134
+
135
+ def processTranslations():
136
+ global minDf, df
137
+ df["message"] = df.apply(lambda row: process_message(row["reading"], row["location"], row["timeStamp"], row["state"], row["sensorId"], row["readingUnits"]), axis=1)
138
+ minDf = df[["timeStamp","state","message"]]
139
+ writeDataFrameToFile(dataStreams)
140
+
141
+ def loadData():
142
+ global json_data, df
143
+ df = pd.read_json(input_datapath)
144
+ json_data = df.to_json(orient='records')
145
+ df = df[["sensorId", "location", "readings", "timeStamp", "state"]]
146
+ df['timeStamp'] = pd.to_datetime(df['timeStamp'])
147
+ df['timeStamp'] = df['timeStamp'].dt.strftime('%H:%M:%S') # Format to 'HH:MM:SS'
148
+ df["reading"] = df["readings"].apply(process_temperature)
149
+ df["readingUnits"] = df["readings"].apply(process_units)
150
+ df["location"] = df["location"].apply(process_location)
151
+ df["state"] = df["state"].apply(process_state)
152
+
153
+ def getTranslations():
154
+ global minDf
155
+ if(minDf.empty):
156
+ processTranslations()
157
+ return minDf
158
+
159
+ def getTranslationsBySensorId(sensorId):
160
+ global minDf
161
+ return minDf[minDf["sensorId"] == sensorId]
162
 
163
+ def getJSONData():
164
+ global json_data
165
+ print("in getJsonData")
166
+ if(json_data==""):
167
+ print("--loading data")
168
+ loadData()
169
+ formatted= json.dumps(json.loads(json_data), indent=4)
170
+ print("formatted: "+formatted)
171
+ return formatted
172
 
173
+ def getJSONDF():
174
+ global df
175
+ if(df.empty):
176
+ print("--loading data")
177
+ loadData()
178
+
179
+ return df[["sensorId", "location", "reading", "timeStamp", "state"]]