Skip to content

Node RED module for controlling a remote pi-hole

License

Notifications You must be signed in to change notification settings

naimo84/node-red-contrib-pi-hole-remote

Repository files navigation

Node RED pi-hole remote

This Node RED module controls a remote pi-hole.

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.

💖 Support my projects

I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).

However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:

  • Starring and sharing the projects you like 🚀
  • PayPal PayPal— You can make one-time donations via PayPal. I'll probably buy a coffee tea. 🍵
  • ko-fi Ko-fi— I'll buy a tea coffee. ☕ 😉
  • Bitcoin—You can send me bitcoins at this address (or scanning the code): 3GqiebqcZeonziRUMYxU35J3jPSMJzpTAc
  • <iframe src="https://github.com/sponsors/naimo84/button" title="Sponsor naimo84" height="35" width="116" style="border: 0;"></iframe>

Thanks! ❤️

☁️ Installation

First of all install Node-RED

$ sudo npm install -g node-red

Then open the user data directory ~/.node-red and install the package

$ cd ~/.node-red
$ npm install node-red-contrib-pi-hole-remote

Or search for pi-hole-remote in the manage palette menu

Then run

node-red

😋 How to contribute

git clone https://github.com/naimo84/node-red-contrib-pi-hole-remote.git
cd node-red-contrib-pi-hole-remote
npm install
gulp
cd ~/.node-red 
npm install /path/to/node-red-contrib-pi-hole-remote

Usage

Inputs

  • payload
    • command
      • toggle
      • enable
      • disable
      • status
      • version
    • disabletime number if pihole is disabled, it will be reenabled after disabletime.
    • statustime number After enable/disable/toggle a status is send after statustime (in seconds).
    • pihole string If defined, the config with this name is used. Instead of the config in the properties. If msg.payload.pihole == "all", command will be sent to all configs.

example:

{
    payload: {
        "command": "toggle",
        "pihole": "pihole #1"
    }
}

Configuration:

  • URL URL of pi-hole, without http/https and without admin path. (e.g. pihole:8080)
  • Send command to all piholes command wwill to send to all configs

📜 The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Coded with ❤️ in 🇮🇹