Device List

class n2k.device_list.DeviceList(node: Node) None[source]

Bases: MessageHandler

__init__(node: Node) None[source]

Initialize Device List

sources: list[n2k.device.Device | None]
max_devices: int
list_updated: bool
has_pending_requests: bool
handle_msg(msg: Message) None[source]
Return type:

None

_handle_iso_address_claim(msg: Message) None[source]
Return type:

None

_handle_product_information(msg: Message) None[source]
Return type:

None

_handle_configuration_information(msg: Message) None[source]
Return type:

None

_handle_supported_pgn_list(msg: Message) None[source]
Return type:

None

_handle_other(msg: Message) None[source]
Return type:

None

_request_product_information(source: int) bool[source]

Send ISO Request Message, requesting Product Information, to source

Parameters:

source (int) – Address of NMEA2000 Device.

Return type:

bool

Returns:

Whether message was sent successfully.

_request_configuration_information(source: int) bool[source]

Send ISO Request Message, requesting Configuration Information, to source

Parameters:

source (int) – Address of NMEA2000 Device.

Return type:

bool

Returns:

Whether message was sent successfully.

_request_supported_pgn_list(source: int) bool[source]

Send ISO Request Message, requesting a list of supported PGNs, to source

Parameters:

source (int) – Address of NMEA2000 Device.

Return type:

bool

Returns:

Whether message was sent successfully.

_request_iso_address_claim(source: int) bool[source]

Send ISO Request Message, requesting the device to claim the address it is currently using, to source

Parameters:

source (int) – Address of NMEA2000 Device.

Return type:

bool

Returns:

Whether message was sent successfully.

_add_device(source: int) None[source]
Return type:

None

_save_device(dev: Device, source: int) None[source]
Return type:

None

find_device_by_source(source: int) Device | None[source]
Return type:

Device | None

find_device_by_name(name: int) Device | None[source]
Return type:

Device | None

find_device_by_ids(manufacturer_code: int, unique_number: int) Device | None[source]
Return type:

Device | None

find_device_by_product(manufacturer_code: int, product_code: int, source: int = 255) Device | None[source]
Look for the next device with a given manufacturer_code and product_code behind the provided source.

This means to find the first device by code you would need to provide source >= max_devices. As this is weird behavior it is subject to change and source will be probably renamed to starting_source, …

Parameters:
  • manufacturer_code (int)

  • product_code (int)

  • source (int, default: 255)

Return type:

Device | None

Returns:

get_device_last_message_time(source: int) int[source]
Return type:

int

read_reset_is_list_updated() bool[source]
Return type:

bool

count() int[source]
Return type:

int