some more fixes and stuff
This commit is contained in:
parent
7e759fefd5
commit
d4c5fbefd9
4 changed files with 15 additions and 6 deletions
|
@ -35,7 +35,7 @@
|
|||
<td>{{ msg.get_message_type_display }}</td>
|
||||
<td>
|
||||
{% if msg.get_message_type_display == "CONFIG_FIRMWARE" %}
|
||||
<strong>Chip:</strong> {{ msg.parsed.get_chip_display }} rev{{ msg.parsed.revision|join:"." }}
|
||||
<strong>Chip:</strong> {{ msg.parsed.get_chip_display }} rev{{ msg.parsed.revision_major }}.{{ msg.parsed.revision_minor }}
|
||||
<br>
|
||||
<strong>Firmware:</strong> {{ msg.parsed.project_name }} {{ msg.parsed.version }} (IDF {{ msg.parsed.idf_version }})
|
||||
<br>
|
||||
|
|
|
@ -22,7 +22,8 @@
|
|||
|
||||
<h4>Firmware</h4>
|
||||
<p>
|
||||
<strong>Chip:</strong> {{ node.last_messages.CONFIG_FIRMWARE.parsed.get_chip_display }} rev{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision|join:"." }}
|
||||
<strong>Chip:</strong> {{ node.last_messages.CONFIG_FIRMWARE.parsed.get_chip_display }}
|
||||
rev{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision_major }}.{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision_minor }}
|
||||
<br>
|
||||
<strong>Firmware:</strong> {{ node.last_messages.CONFIG_FIRMWARE.parsed.project_name }} {{ node.last_messages.CONFIG_FIRMWARE.parsed.version }} (IDF {{ node.last_messages.CONFIG_FIRMWARE.parsed.idf_version }})
|
||||
<br>
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
{% block heading %}{% trans 'Mesh' %}{% endblock %}
|
||||
|
||||
{% block subcontent %}
|
||||
<a class="button" href="{% url "control.mesh_messages" %}">
|
||||
{% trans 'View messages' %}
|
||||
</a>
|
||||
<table>
|
||||
<tr>
|
||||
<th>{% trans 'Node' %}</th>
|
||||
|
@ -18,7 +21,7 @@
|
|||
<td><a href="{% url "control.mesh_node.detail" pk=node.address %}">{{ node }}</a></td>
|
||||
<td>
|
||||
{{ node.last_messages.CONFIG_FIRMWARE.parsed.get_chip_display }}
|
||||
rev{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision|join:"." }}
|
||||
rev{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision_major }}.{{ node.last_messages.CONFIG_FIRMWARE.parsed.revision_minor }}
|
||||
</td>
|
||||
<td>
|
||||
{{ node.last_messages.CONFIG_FIRMWARE.parsed.version }}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from collections import UserDict
|
||||
from functools import cached_property
|
||||
from operator import attrgetter
|
||||
|
||||
from django.db import models, NotSupportedError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
@ -33,12 +34,12 @@ class MeshNodeQuerySet(models.QuerySet):
|
|||
for message in NodeMessage.objects.order_by('-datetime', '-pk').filter(
|
||||
message_type__in=self._prefetch_last_messages,
|
||||
src_node__in=nodes.keys(),
|
||||
).distinct('message_type', 'src_node'):
|
||||
).prefetch_related("uplink_node").distinct('message_type', 'src_node'):
|
||||
nodes[message.node].last_messages[message.message_type] = message
|
||||
for node in nodes.values():
|
||||
node.last_messages["any"] = max(node.last_messages.values(), key=attrgetter("datetime"))
|
||||
except NotSupportedError:
|
||||
pass
|
||||
print(tuple(nodes.values())[0].last_messages[MeshMessageType.MESH_SIGNIN])
|
||||
|
||||
|
||||
class LastMessagesByTypeLookup(UserDict):
|
||||
def __init__(self, node):
|
||||
|
@ -56,6 +57,10 @@ class LastMessagesByTypeLookup(UserDict):
|
|||
return MeshMessageType(item)
|
||||
|
||||
def __getitem__(self, key):
|
||||
if key == "any":
|
||||
msg = self.node.received_messages.order_by('-datetime', '-pk').first()
|
||||
self.data["any"] = msg
|
||||
return msg
|
||||
key = self._get_key(key)
|
||||
try:
|
||||
return self.data[key]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue