vodafone-station-cli
Version:
Access your Vodafone Station from the comfort of the command line.
93 lines (92 loc) • 3.3 kB
TypeScript
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>;
}