MB8611(1)

NAME
mb8611 - mb8611 v0.0.1

COMMANDS

  mb8611

Manage a MB8611 series modem.

    mb8611 [OPTIONS] {addr|address|clear-log|conn|connection|connection-
           info|conninfo|down|downstream|lag|lag-
           status|log|reboot|software|software-status|startup|startup-
           sequence|up|upstream}

Options

-H, --host <host>
    Host to connect to.

-d, --debug
    Enable debug level logging.

-j, --json
    Only output JSON. Encoded lists (tables) will still be parsed.

-p, --password <password>
    Administrator password.

-u, --username <username>
    Administrator username.

    Arguments

ACTION
    Required argument

  Client

Client class.

exception mb8611.client.CallHNAPError(response: GetHomeAddressResponse | GetMultipleHNAPsResponse | GetNetworkModeSettingsResponse | LoginResponse | SetMotoLagStatusResponse | SetStatusLogSettingsResponse | SetStatusSecuritySettingsResponse)

class mb8611.client.Client(password:  link https://docs.python.org/3/library/stdtypes.html#str'str link', host:  link https://docs.python.org/3/library/stdtypes.html#str'str link' = '192.168.100.1', username:  link https://docs.python.org/3/library/stdtypes.html#str'str link' = 'admin')
    Client implementation.

call_hnap(action: 'GetMultipleHNAPs', payload: GetMultipleHNAPsPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> GetMultipleHNAPsResponse

call_hnap(action: 'GetNetworkModeSettings', payload: GetNetworkModeSettingsPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> GetNetworkModeSettingsResponse

call_hnap(action: 'Login', payload: LoginPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> LoginResponse

call_hnap(action: 'SetMotoLagStatus', payload: SetMotoLagStatusPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> SetMotoLagStatusResponse

call_hnap(action: 'SetStatusLogSettings', payload: SetStatusLogSettingsPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> SetStatusLogSettingsResponse

call_hnap(action: 'SetStatusSecuritySettings', payload: SetStatusSecuritySettingsPayload | RebootPayload, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> SetStatusLogSettingsResponse

call_hnap(action: 'GetHomeAddress' | 'GetHomeConnection' | 'GetMotoLagStatus' | 'GetMotoStatusConnectionInfo' | 'GetMotoStatusDownstreamChannelInfo' | 'GetMotoStatusLog' | 'GetMotoStatusLogXXX' | 'GetMotoStatusSecAccount' | 'GetMotoStatusSecXXX' | 'GetMotoStatusSoftware' | 'GetMotoStatusStartupSequence' | 'GetMotoStatusUpstreamChannelInfo' | 'GetMultipleHNAPs' | 'GetNetworkModeSettings' | 'Login' | 'Logout' | 'SetMotoLagStatus' | 'SetMotoStatusDSTargetFreq' | 'SetStatusLogSettings' | 'SetStatusSecuritySettings', payload:  link https://docs.python.org/3/library/constants.html#None'None link' = None, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> GetHomeAddressResponse | GetMultipleHNAPsResponse | GetNetworkModeSettingsResponse | LoginResponse | SetMotoLagStatusResponse | SetStatusLogSettingsResponse | SetStatusSecuritySettingsResponse

call_hnap(action:  link https://docs.python.org/3/library/stdtypes.html#str'str link', payload:  link https://docs.python.org/3/library/typing.html#typing.Any'Any link' = None, *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> GetHomeAddressResponse | GetMultipleHNAPsResponse | GetNetworkModeSettingsResponse | LoginResponse | SetMotoLagStatusResponse | SetStatusLogSettingsResponse | SetStatusSecuritySettingsResponse
    Invoke an action.

call_multiple_hnaps(actions:  link https://docs.python.org/3/library/collections.abc.html#collections.abc.Collection'Collection link'['GetHomeAddress' | 'GetHomeConnection' | 'GetMotoLagStatus' | 'GetMotoStatusConnectionInfo' | 'GetMotoStatusDownstreamChannelInfo' | 'GetMotoStatusLog' | 'GetMotoStatusLogXXX' | 'GetMotoStatusSecAccount' | 'GetMotoStatusSecXXX' | 'GetMotoStatusSoftware' | 'GetMotoStatusStartupSequence' | 'GetMotoStatusUpstreamChannelInfo'], *, check:  link https://docs.python.org/3/library/functions.html#bool'bool link' = True) -> GetMultipleHNAPsResponse
    Call multiple HNAPs.

    Equivalent to calling call_hnap with action 'GetMultipleHNAPs' and the correct payload. Some actions must be called this way even if they are the only action.

login() ->  link https://docs.python.org/3/library/constants.html#None'None link'
    Login. This is 99% the same as what happens in a browser but is not fully correct.

exception mb8611.client.LockedError

exception mb8611.client.LoginFailed

  Constants

Common constants.

mb8611.constants.MUST_BE_CALLED_FROM_MULTIPLE :  link https://docs.python.org/3/library/typing.html#typing.Final'Final link'[ link https://docs.python.org/3/library/stdtypes.html#set'set link'[ link https://docs.python.org/3/library/typing.html#typing.Literal'Literal link'['GetHomeAddress', 'GetHomeConnection', 'GetMotoLagStatus', 'GetMotoStatusConnectionInfo', 'GetMotoStatusDownstreamChannelInfo', 'GetMotoStatusLog', 'GetMotoStatusLogXXX', 'GetMotoStatusSecAccount', 'GetMotoStatusSecXXX', 'GetMotoStatusSoftware', 'GetMotoStatusStartupSequence', 'GetMotoStatusUpstreamChannelInfo']]] = {'GetHomeAddress', 'GetHomeConnection', 'GetMotoLagStatus', 'GetMotoStatusConnectionInfo', 'GetMotoStatusDownstreamChannelInfo', 'GetMotoStatusLog', 'GetMotoStatusLogXXX', 'GetMotoStatusSecAccount', 'GetMotoStatusSecXXX', 'GetMotoStatusSoftware', 'GetMotoStatusStartupSequence', 'GetMotoStatusUpstreamChannelInfo'}
    Actions that do not work without using GetMultipleHNAPs.

mb8611.constants.ROW_DELIMITERS :  link https://docs.python.org/3/library/typing.html#typing.Final'Final link'[ link https://docs.python.org/3/library/stdtypes.html#dict'dict link'[ link https://docs.python.org/3/library/stdtypes.html#str'str link',  link https://docs.python.org/3/library/stdtypes.html#str'str link']] = {'MotoStatusLogList': '}-{'}
    Delimiters used in encoded table strings, keyed by action.

mb8611.constants.SHARED_HEADERS :  link https://docs.python.org/3/library/typing.html#typing.Final'Final link'[ link https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping'Mapping link'[ link https://docs.python.org/3/library/stdtypes.html#str'str link',  link https://docs.python.org/3/library/stdtypes.html#str'str link']] = {'accept': 'application/json', 'cache-control': 'no-cache', 'connection': 'keep-alive', 'content-type': 'application/json', 'x-requested-with': 'XMLHttpRequest'}
    Common HTTP headers.

mb8611.constants.TABLE_KEYS = ('MotoConnDownstreamChannel', 'MotoConnUpstreamChannel', 'MotoStatusLogList')
    Keys that contain specially encoded lists to be displayed in tables.

  Utilities

Utility functions.

mb8611.utils.make_hnap_auth(action:  link https://docs.python.org/3/library/stdtypes.html#str'str link', private_key:  link https://docs.python.org/3/library/stdtypes.html#str'str link' = 'withoutloginkey') ->  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    Create the value required for the HNAP_AUTH header.

mb8611.utils.make_soap_action_uri(action:  link https://docs.python.org/3/library/stdtypes.html#str'str link') ->  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    Return the SOAP action URI for the given action.

mb8611.utils.parse_table_str(table_str:  link https://docs.python.org/3/library/stdtypes.html#str'str link', row_delimiter:  link https://docs.python.org/3/library/stdtypes.html#str'str link' = '|+|') ->  link https://docs.python.org/3/library/collections.abc.html#collections.abc.Iterator'Iterator link'[ link https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence'Sequence link'[ link https://docs.python.org/3/library/stdtypes.html#str'str link']]
    Parse a string that represents a table displayed in the UI.

  Typing utilities

class mb8611.api.ClearLogPayload

class mb8611.api.GetHomeAddressResponse
    Network address information.

MotoHomeIpAddress :  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    IPv4 address.

MotoHomeIpv6Address :  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    IPv6 address.

MotoHomeMacAddress :  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    MAC address.

MotoHomeSfVer :  link https://docs.python.org/3/library/stdtypes.html#str'str link'
    Firmware version.

class mb8611.api.GetMultipleHNAPsPayload
    Multiple HNAPs payload.

class mb8611.api.GetMultipleHNAPsResponse
    Multiple HNAPs response.

class mb8611.api.GetNetworkModeSettingsPayload

class mb8611.api.GetNetworkModeSettingsResponse
    Not used in cable-modem only models.

class mb8611.api.LoginPayload
    Login payload.

class mb8611.api.LoginResponse
    Login response.

LoginResponse : _LoginResponseLoginResponse
    Login response.

class mb8611.api.RebootPayload

class mb8611.api.SetMotoLagStatusPayload
    Not used in cable-modem only models.

class mb8611.api.SetMotoLagStatusResponse

class mb8611.api.SetMotoStatusDSTargetFreqPayload
    Not used in cable-modem only models.

class mb8611.api.SetStatusLogSettingsPayload

class mb8611.api.SetStatusLogSettingsResponse

class mb8611.api.SetStatusSecuritySettingsPayload

•   Index

•   Module Index

•   Search Page

AUTHOR
Andrew Udvare <audvare@gmail.com>

COPYRIGHT
2025