Added additional conditions for lastHeard, voltage, batteryLevel

feature/plugin_nodes_new_formatting
mate-dev 2023-12-06 18:03:53 +00:00
rodzic 8eef301a8e
commit 5af42c8fe4
1 zmienionych plików z 11 dodań i 9 usunięć

Wyświetl plik

@ -6,12 +6,17 @@ from datetime import datetime
def get_relative_time(timestamp):
now = datetime.now()
dt = datetime.fromtimestamp(timestamp)
# Calculate the time difference between the current time and the given timestamp
delta = now - dt
# Extract the relevant components from the time difference
days = delta.days
seconds = delta.seconds
# Convert the time difference into a relative timeframe
if days > 7:
return dt.strftime("%b %d, %Y")
return dt.strftime("%b %d, %Y") # Return the timestamp in a specific format if it's older than 7 days
elif days >= 1:
return f"{days} days ago"
elif seconds >= 3600:
@ -37,8 +42,8 @@ $shortname $longname / $devicemodel / $battery $voltage / $snr / $lastseen
from meshtastic_utils import connect_meshtastic
meshtastic_client = connect_meshtastic()
response = f">**Nodes: {len(meshtastic_client.nodes)}**\n\n"
response = f"Nodes: {len(meshtastic_client.nodes)}\n"
for node, info in meshtastic_client.nodes.items():
snr = ""
@ -56,11 +61,8 @@ $shortname $longname / $devicemodel / $battery $voltage / $snr / $lastseen
voltage = f"{info['deviceMetrics']['voltage']}V "
if "batteryLevel" in info["deviceMetrics"] and info["deviceMetrics"]["batteryLevel"] is not None:
battery = f"{info['deviceMetrics']['batteryLevel']}% "
response += f"><hr/>\n\n"\
f">**[{info['user']['shortName']} - {info['user']['longName']}]**\n"\
f">{info['user']['hwModel']} {battery}{voltage}\n"\
f">{snr}{last_heard}\n\n"
response += f"{info['user']['shortName']} {info['user']['longName']} / {info['user']['hwModel']} / {battery} {voltage} / {snr} / {last_heard}\n"
return response
@ -75,7 +77,7 @@ $shortname $longname / $devicemodel / $battery $voltage / $snr / $lastseen
return False
response = await self.send_matrix_message(
room_id=room.room_id, message=self.generate_response(), formatted=True
room_id=room.room_id, message=self.generate_response(), formatted=False
)
return True