mirror of
https://github.com/pablorevilla-meshtastic/meshview.git
synced 2026-07-30 21:43:18 +02:00
Changes:
- Added the ability to change the message on the weekly net
This commit is contained in:
+26
-43
@@ -81,52 +81,35 @@ async def process_envelope(topic, env):
|
||||
)
|
||||
session.add(seen)
|
||||
|
||||
|
||||
|
||||
if env.packet.decoded.portnum == PortNum.NODEINFO_APP:
|
||||
user = decode_payload.decode_payload(
|
||||
PortNum.NODEINFO_APP, env.packet.decoded.payload
|
||||
)
|
||||
if user:
|
||||
result = await session.execute(select(Node).where(Node.id == user.id))
|
||||
if user.id and user.id[0] == "!":
|
||||
try:
|
||||
node_id = int(user.id[1:], 16)
|
||||
except ValueError:
|
||||
node_id = None
|
||||
pass
|
||||
else:
|
||||
node_id = None
|
||||
try:
|
||||
user = decode_payload.decode_payload(PortNum.NODEINFO_APP, env.packet.decoded.payload)
|
||||
if user and user.id:
|
||||
node_id = int(user.id[1:], 16) if user.id[0] == "!" else None
|
||||
hw_model = HardwareModel.Name(user.hw_model) if hasattr(HardwareModel, 'Name') else "unknown"
|
||||
role = Config.DeviceConfig.Role.Name(user.role) if hasattr(Config.DeviceConfig.Role,
|
||||
'Name') else "unknown"
|
||||
|
||||
try:
|
||||
hw_model = HardwareModel.Name(user.hw_model)
|
||||
except ValueError:
|
||||
hw_model = "unknown"
|
||||
try:
|
||||
role = Config.DeviceConfig.Role.Name(user.role)
|
||||
except ValueError:
|
||||
role = "unknown"
|
||||
node = (await session.execute(select(Node).where(Node.id == user.id))).scalar_one_or_none()
|
||||
|
||||
if node := result.scalar_one_or_none():
|
||||
node.node_id = node_id
|
||||
node.long_name = user.long_name
|
||||
node.short_name = user.short_name
|
||||
node.hw_model = hw_model
|
||||
node.role = role
|
||||
node.channel = env.channel_id
|
||||
node.last_update =datetime.datetime.now()
|
||||
|
||||
else:
|
||||
node = Node(
|
||||
id=user.id,
|
||||
node_id=node_id,
|
||||
long_name=user.long_name,
|
||||
short_name=user.short_name,
|
||||
hw_model=hw_model,
|
||||
role=role,
|
||||
channel=env.channel_id,
|
||||
)
|
||||
session.add(node)
|
||||
if node:
|
||||
node.node_id = node_id
|
||||
node.long_name = user.long_name
|
||||
node.short_name = user.short_name
|
||||
node.hw_model = hw_model
|
||||
node.role = role
|
||||
node.channel = env.channel_id
|
||||
node.last_update = datetime.datetime.now()
|
||||
else:
|
||||
node = Node(
|
||||
id=user.id, node_id=node_id,
|
||||
long_name=user.long_name, short_name=user.short_name,
|
||||
hw_model=hw_model, role=role, channel=env.channel_id,
|
||||
last_update=datetime.datetime.now(),
|
||||
)
|
||||
session.add(node)
|
||||
except Exception as e:
|
||||
print(f"Error processing NODEINFO_APP: {e}")
|
||||
|
||||
if env.packet.decoded.portnum == PortNum.POSITION_APP:
|
||||
position = decode_payload.decode_payload(
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="container" > Weekly Mesh check-in. We will keep it open on every Wednesday from 5:00pm for checkins so you do not have to rush.<br>
|
||||
The message format should be (LONG NAME) - (CITY YOU ARE IN) #BayMeshNet.<br><br>
|
||||
<div class="container" > {{ site_config["site"]["weekly_net_message"] }} <br><br>
|
||||
</div>
|
||||
<div class="container">
|
||||
{% for packet in packets %}
|
||||
|
||||
+1
-1
@@ -1127,7 +1127,7 @@ async def net(request):
|
||||
print_memory_usage()
|
||||
# Fetch packets for the given node ID and port number
|
||||
packets = await store.get_packets(
|
||||
node_id=0xFFFFFFFF, portnum=PortNum.TEXT_MESSAGE_APP, limit=200
|
||||
node_id=0xFFFFFFFF, portnum=PortNum.TEXT_MESSAGE_APP, limit=1000
|
||||
)
|
||||
|
||||
# Convert packets to UI packets
|
||||
|
||||
+8
-6
@@ -1,25 +1,27 @@
|
||||
[server]
|
||||
bind = *
|
||||
port = 8081
|
||||
tls_cert =
|
||||
acme_challenge =
|
||||
tls_cert =
|
||||
acme_challenge =
|
||||
|
||||
[site]
|
||||
domain = http://meshview.bayme.sh
|
||||
domain = https://www.bayme.sh
|
||||
title = Bay Area Mesh
|
||||
message =
|
||||
message = Real time data from around the bay area and beyond.
|
||||
# Map structure
|
||||
map_top_left_lat=39
|
||||
map_top_left_lon=-123
|
||||
map_bottom_right_lat=36
|
||||
map_bottom_right_lon=-121
|
||||
# Note about how your weekly mesh runs. time and tag used for the system to track.
|
||||
weekly_net_message= Weekly Mesh check-in. We will keep it open on every Wednesday from 5:00pm for checkins. The message format should be (LONG NAME) - (CITY YOU ARE IN) #BayMeshNet.
|
||||
|
||||
[mqtt]
|
||||
server = mqtt.bayme.sh
|
||||
topics = ["msh/US/bayarea/#", "msh/US/CA/mrymesh/#"]
|
||||
topics = ["msh/US/bayarea/#", "msh/US/CA/mrymesh/#"]
|
||||
port = 1883
|
||||
username = meshdev
|
||||
password = large4cats
|
||||
|
||||
[database]
|
||||
connection_string = sqlite+aiosqlite:///packets.db
|
||||
connection_string = sqlite+aiosqlite:///packets.db
|
||||
Reference in New Issue
Block a user