fritzsmartapi

0.6.2 • Public • Published

fritzSmartAPI [WIP]

NPM Version NPM Downloads GitHub node-lts Donate

node.js module for Fritzbox Smart Home API (AHA-HTTP-Interface)

This module is still work in progress!
Major changes can and will happend before v1.0.0 Do not use this in an production enviroment

Instalation

npm install fritzsmartapi

Basic Usage

Example to get the session ID using default Fritz!Box hostname (fritz.box):
Supports PBKDF2 (Default; Requires Fritz!OS 7.24) or MD5 (Requires Fritz!OS 5.50) Challenge-Response Process for login
If the Fritz!OS version does not support PBKDF2 then the function automaticly falls back to MD5.

import * as fritzAPI from 'fritzsmartapi';

const credentials = {
  password: 'mypassword',
  user: 'username',
};

const connection = {
  host: 'fritz.box',
  mode: 'PBKDF2', // [Optional] Challenge-Response Process
  useSSL: false,  // [Optional] Use SSL/TLS Connection (default=false)
};

fritzAPI.doInitSession(credentials, connection).
  then((sessionId) => {
    console.log('Session ID: ' + sessionId); // e.g. Session ID: 9c977765016899f8
  }).
  catch((error) => {
    console.log('Login failed', error);
  });

Example to get the a list of all devices with the same connection details:

fritzAPI.getDeviceListInfos(sessionId, connection).
  then((response) => {
    console.log(response); // Device List
    const {device} = response.devicelist;
    const actorId = device[0].identifier; // e.g. Actor identifier of the first device in list
  });

Example to switch a socket on a socket switch on or off:

const switchOn = true;

fritzAPI.setSwitchOnOff(sessionId, actorId, switchOn, connection).
  then((switchState) => {
    console.log('Switch is set to: ' + switchState); // e.g. Switch is set to: true
  });

Functions

Not yet documented

Fritzbox Interface Documentation

FRITZ!Box login process

AHA HTTP Interface Documentation

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.6.2
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.6.2
    0
  • 0.6.1
    0

Package Sidebar

Install

npm i fritzsmartapi

Weekly Downloads

0

Version

0.6.2

License

MIT

Unpacked Size

32.5 kB

Total Files

12

Last publish

Collaborators

  • magraina