mirror of
https://github.com/meshtastic/python.git
synced 2026-01-03 21:37:57 -05:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
55d3188408 | ||
|
|
7b64fbb71b | ||
|
|
7f85eb0285 | ||
|
|
d05ef17ab3 | ||
|
|
d161291ca4 | ||
|
|
4e267c75b0 |
@@ -389,6 +389,40 @@ class MeshInterface: # pylint: disable=R0902
|
|||||||
channelIndex=channelIndex,
|
channelIndex=channelIndex,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def sendAlert(
|
||||||
|
self,
|
||||||
|
text: str,
|
||||||
|
destinationId: Union[int, str] = BROADCAST_ADDR,
|
||||||
|
onResponse: Optional[Callable[[dict], Any]] = None,
|
||||||
|
channelIndex: int = 0,
|
||||||
|
):
|
||||||
|
"""Send an alert text to some other node. This is similar to a text message,
|
||||||
|
but carries a higher priority and is capable of generating special notifications
|
||||||
|
on certain clients.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
text {string} -- The text of the alert to send
|
||||||
|
|
||||||
|
Keyword Arguments:
|
||||||
|
destinationId {nodeId or nodeNum} -- where to send this
|
||||||
|
message (default: {BROADCAST_ADDR})
|
||||||
|
|
||||||
|
Returns the sent packet. The id field will be populated in this packet
|
||||||
|
and can be used to track future message acks/naks.
|
||||||
|
"""
|
||||||
|
|
||||||
|
return self.sendData(
|
||||||
|
text.encode("utf-8"),
|
||||||
|
destinationId,
|
||||||
|
portNum=portnums_pb2.PortNum.ALERT_APP,
|
||||||
|
wantAck=False,
|
||||||
|
wantResponse=False,
|
||||||
|
onResponse=onResponse,
|
||||||
|
channelIndex=channelIndex,
|
||||||
|
priority=mesh_pb2.MeshPacket.Priority.ALERT
|
||||||
|
)
|
||||||
|
|
||||||
def sendData(
|
def sendData(
|
||||||
self,
|
self,
|
||||||
data,
|
data,
|
||||||
@@ -402,6 +436,7 @@ class MeshInterface: # pylint: disable=R0902
|
|||||||
hopLimit: Optional[int]=None,
|
hopLimit: Optional[int]=None,
|
||||||
pkiEncrypted: Optional[bool]=False,
|
pkiEncrypted: Optional[bool]=False,
|
||||||
publicKey: Optional[bytes]=None,
|
publicKey: Optional[bytes]=None,
|
||||||
|
priority: mesh_pb2.MeshPacket.Priority.ValueType=mesh_pb2.MeshPacket.Priority.RELIABLE,
|
||||||
): # pylint: disable=R0913
|
): # pylint: disable=R0913
|
||||||
"""Send a data packet to some other node
|
"""Send a data packet to some other node
|
||||||
|
|
||||||
@@ -453,6 +488,8 @@ class MeshInterface: # pylint: disable=R0902
|
|||||||
meshPacket.decoded.portnum = portNum
|
meshPacket.decoded.portnum = portNum
|
||||||
meshPacket.decoded.want_response = wantResponse
|
meshPacket.decoded.want_response = wantResponse
|
||||||
meshPacket.id = self._generatePacketId()
|
meshPacket.id = self._generatePacketId()
|
||||||
|
if priority is not None:
|
||||||
|
meshPacket.priority = priority
|
||||||
|
|
||||||
if onResponse is not None:
|
if onResponse is not None:
|
||||||
logging.debug(f"Setting a response handler for requestId {meshPacket.id}")
|
logging.debug(f"Setting a response handler for requestId {meshPacket.id}")
|
||||||
|
|||||||
8
poetry.lock
generated
8
poetry.lock
generated
@@ -1,4 +1,4 @@
|
|||||||
# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
|
# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "altgraph"
|
name = "altgraph"
|
||||||
@@ -1459,13 +1459,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"]
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jinja2"
|
name = "jinja2"
|
||||||
version = "3.1.4"
|
version = "3.1.5"
|
||||||
description = "A very fast and expressive template engine."
|
description = "A very fast and expressive template engine."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
{file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
|
{file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
|
||||||
{file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
|
{file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "meshtastic"
|
name = "meshtastic"
|
||||||
version = "2.5.7"
|
version = "2.5.8"
|
||||||
description = "Python API & client shell for talking to Meshtastic devices"
|
description = "Python API & client shell for talking to Meshtastic devices"
|
||||||
authors = ["Meshtastic Developers <contact@meshtastic.org>"]
|
authors = ["Meshtastic Developers <contact@meshtastic.org>"]
|
||||||
license = "GPL-3.0-only"
|
license = "GPL-3.0-only"
|
||||||
|
|||||||
Reference in New Issue
Block a user