Node

data class Node(val num: Int, val metadata: DeviceMetadata? = null, val user: User = User(), val position: Position = Position(), val snr: Float = Float.MAX_VALUE, val rssi: Int = Int.MAX_VALUE, val lastHeard: Int = 0, val deviceMetrics: DeviceMetrics = DeviceMetrics(), val channel: Int = 0, val viaMqtt: Boolean = false, val hopsAway: Int = -1, val isFavorite: Boolean = false, val isIgnored: Boolean = false, val isMuted: Boolean = false, val environmentMetrics: EnvironmentMetrics = EnvironmentMetrics(), val powerMetrics: PowerMetrics = PowerMetrics(), val airQualityMetrics: AirQualityMetrics = AirQualityMetrics(), val paxcounter: Paxcount = Paxcount(), val publicKey: ByteString? = null, val notes: String = "", val powerChannelLabels: List<String> = emptyList(), val manuallyVerified: Boolean = false, val signsPackets: Boolean = false, val nodeStatus: String? = null, val lastTransport: Int = 0)(source)

Domain model representing a node in the mesh network.

This class aggregates user information, position data, and hardware metrics.

Constructors

Link copied to clipboard
constructor(num: Int, metadata: DeviceMetadata? = null, user: User = User(), position: Position = Position(), snr: Float = Float.MAX_VALUE, rssi: Int = Int.MAX_VALUE, lastHeard: Int = 0, deviceMetrics: DeviceMetrics = DeviceMetrics(), channel: Int = 0, viaMqtt: Boolean = false, hopsAway: Int = -1, isFavorite: Boolean = false, isIgnored: Boolean = false, isMuted: Boolean = false, environmentMetrics: EnvironmentMetrics = EnvironmentMetrics(), powerMetrics: PowerMetrics = PowerMetrics(), airQualityMetrics: AirQualityMetrics = AirQualityMetrics(), paxcounter: Paxcount = Paxcount(), publicKey: ByteString? = null, notes: String = "", powerChannelLabels: List<String> = emptyList(), manuallyVerified: Boolean = false, signsPackets: Boolean = false, nodeStatus: String? = null, lastTransport: Int = 0)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val airQualityMetrics: AirQualityMetrics
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val deviceMetrics: DeviceMetrics
Link copied to clipboard
val environmentMetrics: EnvironmentMetrics
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The transport mechanism this node was last heard over (see MeshPacket.TransportMechanism).

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val metadata: DeviceMetadata?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val num: Int
Link copied to clipboard
val paxcounter: Paxcount
Link copied to clipboard
val position: Position
Link copied to clipboard

User-editable labels per power-metrics channel (e.g. "Solar", "Battery"), indexed by channel - 1.

Link copied to clipboard
val powerMetrics: PowerMetrics
Link copied to clipboard
val publicKey: ByteString?
Link copied to clipboard
val rssi: Int
Link copied to clipboard

True when this node signs its broadcasts via XEdDSA (NodeInfo.has_xeddsa_signed). Automatic trust.

Link copied to clipboard
val snr: Float
Link copied to clipboard
val user: User
Link copied to clipboard
val validPosition: Position?
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun bearing(o: Node?): Int?
Link copied to clipboard
fun distance(o: Node): Int?
Link copied to clipboard
fun distanceStr(o: Node, displayUnits: Config.DisplayConfig.DisplayUnits): String?
Link copied to clipboard
fun getTelemetryStrings(isFahrenheit: Boolean = false): List<String>
Link copied to clipboard