@@ -668,6 +668,42 @@ def removeNode(self, nodeId: Union[int, str]):
668668 onResponse = self .onAckNak
669669 return self ._sendAdmin (p , onResponse = onResponse )
670670
671+ def setFavorite (self , nodeId : Union [int , str ]):
672+ """Tell the node to set the specified node ID to be favorited on the NodeDB on the device"""
673+ self .ensureSessionKey ()
674+ if isinstance (nodeId , str ):
675+ if nodeId .startswith ("!" ):
676+ nodeId = int (nodeId [1 :], 16 )
677+ else :
678+ nodeId = int (nodeId )
679+
680+ p = admin_pb2 .AdminMessage ()
681+ p .set_favorite_node = nodeId
682+
683+ if self == self .iface .localNode :
684+ onResponse = None
685+ else :
686+ onResponse = self .onAckNak
687+ return self ._sendAdmin (p , onResponse = onResponse )
688+
689+ def removeFavorite (self , nodeId : Union [int , str ]):
690+ """Tell the node to set the specified node ID to be un-favorited on the NodeDB on the device"""
691+ self .ensureSessionKey ()
692+ if isinstance (nodeId , str ):
693+ if nodeId .startswith ("!" ):
694+ nodeId = int (nodeId [1 :], 16 )
695+ else :
696+ nodeId = int (nodeId )
697+
698+ p = admin_pb2 .AdminMessage ()
699+ p .remove_favorite_node = nodeId
700+
701+ if self == self .iface .localNode :
702+ onResponse = None
703+ else :
704+ onResponse = self .onAckNak
705+ return self ._sendAdmin (p , onResponse = onResponse )
706+
671707 def resetNodeDb (self ):
672708 """Tell the node to reset its list of nodes."""
673709 self .ensureSessionKey ()
0 commit comments