Skip to content
Generic Fritzbox node for node-RED, giving access to tr064 api
HTML JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
icons
.gitignore
.travis.yml
LICENSE
README.md
callmonitor.html
callmonitor.js
contact.html
contact.js
fritz.html
fritz.js
package-lock.json
package.json

README.md

npm version Build Status

NPM

node-red-contrib-fritz

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.

Installation

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

Usage

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. fritz.box), 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.

Examples

Presence Detection

Presence

[{"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":"192.168.80.1","port":"49000","ssl":false}]

Callmonitor

Callmonitor

[{"id":"49ea9337.0f9fdc","type":"fritzbox-callmonitor","z":"8d4a73b4.140f","device":"28b24ff3.2b8f1","name":"","topic":"","x":240,"y":100,"wires":[["635c2f29.f18ad"]]},{"id":"635c2f29.f18ad","type":"fritzbox-contact","z":"8d4a73b4.140f","device":"28b24ff3.2b8f1","name":"","topic":"","phonebook":"0","ccode":"DE","x":450,"y":100,"wires":[["6a4a06bc.f70b48"]]},{"id":"6a4a06bc.f70b48","type":"debug","z":"8d4a73b4.140f","name":"","active":true,"console":"false","complete":"false","x":630,"y":100,"wires":[]},{"id":"28b24ff3.2b8f1","type":"fritzbox-config","z":"","name":"","host":"192.168.80.1","port":"49000","ssl":false}]

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

Contributing

  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

NPM

Credits

Jochen Scheib

License

MIT

You can’t perform that action at this time.