Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including node-red-contrib-fritz with all npm packages installed. Try it out:

node-red-contrib-fritz lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("node-red-contrib-fritz/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-red-contrib-fritz v1.3.9

Get full access to all functions of your fritzbox. Including Callmonitor, Presence Detection and much more

npm version Build Status



This node for the node-RED application provides easy access to your avm fritzbox. You can read and write the configuration of your fritzbox including the VoIP and Dect configuration.


Just install this module in your node-RED configuration folder

cd ~/.node-red
npm install node-red-contrib-fritz

Or globally:

npm install -g node-red-contrib-fritz


You can use the generic node to access every function provided by the development api of your fritzbox. First create a configuration including the hostname (e.g., username (e.g. admin) and password of your fritzbox. If this informations are provided you can use the search button to discover available services. Select the service you want to use. Select the action the same way.

The msg.payload of the incoming message will be used as arguments. You have to provide a json object with argument name as key and the value, e.g. { "NewEnable" : 1, "NewUrl" : "string" }. Available arguments will be shown in the the hint after you selected the action. You can override the settings if you provide msg.provider ("IGD" or "TR064"), msg.service or/and msg.action.

Note: To use the callmonitor node, you have to activate the callmonitor service in your FritzBox (Otherwise the node will emit the error connect ECONNREFUSED). This can be done by using a telephone which is connected to the FritzBox. Call #96*5*to enable the callmonitor service. Use #96*4* if you want disable the feature again.


Presence Detection


[{"id":"f80158f1.d27ab8","type":"inject","z":"5517edea.ed19e4","name":"20:82:C0:26:86:FE","topic":"","payload":"{\"NewMACAddress\": \"20:82:C0:26:86:FE\" }","payloadType":"json","repeat":"","crontab":"","once":false,"x":350,"y":140,"wires":[["7b27936b.08bc8c"]]},{"id":"7b27936b.08bc8c","type":"fritzbox-in","z":"5517edea.ed19e4","device":"28b24ff3.2b8f1","name":"","service":"urn:dslforum-org:service:Hosts:1","action":"GetSpecificHostEntry","arguments":"{\"NewMACAddress\":\"value\"}","x":530,"y":140,"wires":[["12274598.0e46da"]]},{"id":"12274598.0e46da","type":"debug","z":"5517edea.ed19e4","name":"","active":true,"console":"false","complete":"false","x":690,"y":140,"wires":[]},{"id":"28b24ff3.2b8f1","type":"fritzbox-config","z":"","name":"","host":"","port":"49000","ssl":false}]




Note: Don't forget to enable the callmonitor service in your FritzBox. See above for instructions.


  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D



Jochen Scheib




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free