- Notifications
You must be signed in to change notification settings - Fork11
☎️ The leading AVM Fritz!Box API for NodeJS and JavaScript.
License
lesander/fritzbox.js
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The most powerful, simple and completeAVM Fritz!BoxAPI.
This project is still a work in progress.See issue #1 for the current status.
This module is future-proof and uses async/await promises.
This means that you need to run NodeJS version7.6.0
or newer. If your NodeJS version is between7.0.0
and7.5.0
you can use the harmony flag--harmony-async-await
to make use of the async/await promises.
This package was tested on Fritz!Box 7390 and 7490, with firmware versions6.53
,6.51
and6.83
.
npm install fritzbox.js
A simple example showing how to get the history of calls made with aFritz!Fon can be seen below.
constfritz=require('fritzbox.js')constoptions={username:'xxx',password:'xxx',server:'fritz.box',protocol:'https'};(async()=>{constcalls=awaitfritz.getCalls(options)if(calls.error)returnconsole.log('Error: '+calls.error.message)console.log('Got '+calls.length+'calls.')})()
To minimize overhead and limit login requests made to the Fritz!Box it is recommended to store the SID once one has been obtained usingfritz.getSessionId
.
Want to get started with FritzBox.js? Cool! The API isdocumented and available here, and you cansee some examples in thetest/
folder.
If you'd like to contribute to FritzBox.js, or file a bug or feature request,please head over tothe issue tracker oropen a pull request.
FritzBox.js v2.x is not backwards compatible with v1.x.One of the mayor changes includes the switch toasync/await
Promises.In v1.x, Promises were implemented with athen
,catch
:
fritz.getCalls(options).then((callHistory)=>{console.log(callHistory)}).catch((error)=>{console.log(error)})
With v2.x, thecatch
will no longer catch any errors, since the module is nowbuilt to provide support forawait
. Any errors will be passed along like this:
fritz.getCalls(options).then((callHistory)=>{if(callHistory.error)returnconsole.log(callHistory.error.message)console.log(callHistory)})
Of course, this can be simplified usingawait
:
letcallHistory=awaitfritz.getCalls(options)if(callHistory.error)returnconsole.log(callHistory.error.message)console.log(callHistory)
Note that any Promise waiting to be fulfilled usingawait
should be put inside anasync
function.
For more changes, please see theroadmap.
This software is open-sourced under the MIT License (see the LICENSE file forthe full license).
You are required to include a copy of this project's license and copyright notice in your modified or distributed version of FritzBox.js
About
☎️ The leading AVM Fritz!Box API for NodeJS and JavaScript.