Merge branch 'main' of 100.91.210.38:mcotton/EE-status-v3

main
Ubuntu 2023-08-15 16:22:30 +00:00
commit 03cc8797bc
2 changed files with 11 additions and 5 deletions

10
app.py
View File

@ -143,7 +143,7 @@ def cameras():
else: else:
een = EagleEyev3(config) een = EagleEyev3(config)
een.get_list_of_cameras() logging.debug(een.get_list_of_cameras())
values = { values = {
"current_user": een.current_user, "current_user": een.current_user,
@ -261,10 +261,16 @@ def camera_status_plot(esn=None):
cam = een.get_camera_by_id(esn) cam = een.get_camera_by_id(esn)
logging.debug(cam.events['status'][0])
if cam.events['status'][0]['endTimestamp'] == None:
logging.debug('found empty end_timestamp')
cam.events['status'][0]['endTimestamp'] = str(pd.Timestamp.utcnow())
atm_df = pd.DataFrame(cam.events['status'][::-1], columns=['id', 'startTimestamp', 'actorId', 'data']) atm_df = pd.DataFrame(cam.events['status'][::-1], columns=['id', 'startTimestamp', 'actorId', 'data'])
atm_df['ts'] = pd.to_datetime(atm_df.startTimestamp) atm_df['ts'] = pd.to_datetime(atm_df.startTimestamp)
atm_df['status_desc'] = atm_df['data'].apply(lambda x: x[0]['newStatus']['connectionStatus']) atm_df['status_desc'] = atm_df['data'].apply(lambda x: x[0]['newStatus']['connectionStatus'])
atm_df['status'] = atm_df['status_desc'].replace(to_replace=['online', 'offline', 'error', 'deviceOffline', 'deviceOnline', 'off', 'bridgeOffline'], value=[1,0,0,0,0,0,0]) atm_df['status'] = atm_df['status_desc'].replace(to_replace=['online', 'offline', 'error', 'deviceOffline', 'deviceOnline', 'off', 'bridgeOffline', 'unknown'], value=[1,0,0,0,0,0,0,0])
imp = atm_df.set_index(['ts']) imp = atm_df.set_index(['ts'])
imp['startTimestamp'] = pd.to_datetime(imp['startTimestamp']) imp['startTimestamp'] = pd.to_datetime(imp['startTimestamp'])

View File

@ -1,16 +1,16 @@
<h3>List of Events <i class="bi bi-calendar-event"></i></h3> <h3>List of Events <i class="bi bi-calendar-event"></i></h3>
<h5>{{ template_values['camera'].name }}</h5> <h5>{{ template_values['camera'].name }}</h5>
<a href="/camera/{{ template_values['camera'].id }}/events/1" hx-get="/camera/{{ template_values['camera'].id }}/events/3" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress"> <a href="/camera/{{ template_values['camera'].id }}/events/3" hx-get="/camera/{{ template_values['camera'].id }}/events/3" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress">
<button class="btn btn-outline-success"> <button class="btn btn-outline-success">
<i class="bi bi-calendar-event" title="click to load events list for 3 days">3x</i> <i class="bi bi-calendar-event" title="click to load events list for 3 days">3x</i>
</button> </button>
</a> </a>
<a href="/camera/{{ template_values['camera'].id }}/events/3" hx-get="/camera/{{ template_values['camera'].id }}/events/7" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress"> <a href="/camera/{{ template_values['camera'].id }}/events/7" hx-get="/camera/{{ template_values['camera'].id }}/events/7" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress">
<button class="btn btn-outline-success"> <button class="btn btn-outline-success">
<i class="bi bi-calendar-event" title="click to load events list for 7 days">7x</i> <i class="bi bi-calendar-event" title="click to load events list for 7 days">7x</i>
</button> </button>
</a> </a>
<a href="/camera/{{ template_values['camera'].id }}/events/7" hx-get="/camera/{{ template_values['camera'].id }}/events/14" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress"> <a href="/camera/{{ template_values['camera'].id }}/events/14" hx-get="/camera/{{ template_values['camera'].id }}/events/14" hx-trigger="click" hx-target="#camera_status_events" hx-indicator=".progress">
<button class="btn btn-outline-success"> <button class="btn btn-outline-success">
<i class="bi bi-calendar-event" title="click to load events list for 14 days">14x</i> <i class="bi bi-calendar-event" title="click to load events list for 14 days">14x</i>
</button> </button>