UNPKG

vodafone-station-cli

Version:

Access your Vodafone Station from the comfort of the command line.

93 lines (92 loc) 3.3 kB
import { Log } from '../logger'; import { Protocol } from './discovery'; import { DocsisChannelType, DocsisStatus, HumanizedDocsis31ChannelStatus, HumanizedDocsisChannelStatus, Modem } from './modem'; export interface TechnicolorBaseResponse { data?: { [key: string]: unknown; }; error: 'error' | 'ok' | string; message: string; } export interface TechnicolorConfiguration extends TechnicolorBaseResponse { data: { AFTR: string; DeviceMode: 'Ipv4' | 'Ipv4'; firmwareversion: string; internetipv4: string; IPAddressRT: string[]; LanMode: 'modem' | 'router'; }; } export interface TechnicolorSaltResponse extends TechnicolorBaseResponse { salt: string; saltwebui: string; } export interface TechnicolorTokenResponse extends TechnicolorBaseResponse { token: string; } export interface TechnicolorDocsisStatus { data: { downstream: TechnicolorDocsisChannelStatus[]; ofdm_downstream: TechnicolorDocsis31ChannelStatus[]; ofdma_upstream: TechnicolorDocsis31UpstreamChannelStatus[]; upstream: TechnicolorDocsisUpstreamChannelStatus[]; }; error: string; message: string; } export interface TechnicolorDocsisUpstreamChannelStatus extends Omit<TechnicolorDocsisChannelStatus, 'channelid' | 'locked' | 'SNR'> { CentralFrequency: string; channelidup: string; RangingStatus: string; } export interface TechnicolorDocsis31UpstreamChannelStatus { __id: string; bandwidth: string; CentralFrequency: string; channelidup: string; ChannelType: string; end_frequency: string; FFT: string; power: string; RangingStatus: string; start_frequency: string; } export interface TechnicolorDocsisChannelStatus { __id: string; CentralFrequency: string; channelid: string; ChannelType: DocsisChannelType; FFT: string; locked: string; power: string; SNR: string; } export interface TechnicolorDocsis31ChannelStatus { __id: string; bandwidth: string; CentralFrequency_ofdm: string; channelid_ofdm: string; ChannelType: DocsisChannelType; end_frequency: string; FFT_ofdm: string; locked_ofdm: string; power_ofdm: string; SNR_ofdm: string; start_frequency: string; } export declare function normalizeChannelStatus(channelStatus: TechnicolorDocsisChannelStatus): HumanizedDocsisChannelStatus; export declare function normalizeUpstreamChannelStatus(channelStatus: TechnicolorDocsisUpstreamChannelStatus): HumanizedDocsisChannelStatus; export declare function normalizeUpstreamOfdmaChannelStatus(channelStatus: TechnicolorDocsis31UpstreamChannelStatus): HumanizedDocsis31ChannelStatus; export declare function normalizeOfdmChannelStatus(channelStatus: TechnicolorDocsis31ChannelStatus): HumanizedDocsis31ChannelStatus; export declare function normalizeDocsisStatus(channelStatus: TechnicolorDocsisStatus): DocsisStatus; export declare class Technicolor extends Modem { readonly modemIp: string; readonly protocol: Protocol; readonly logger: Log; constructor(modemIp: string, protocol: Protocol, logger: Log); docsis(): Promise<DocsisStatus>; login(password: string): Promise<void>; logout(): Promise<void>; restart(): Promise<unknown>; }