The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

np05bctl -- Command line utility for accessing the Synaccess NP-05B networked power strip

SYNOPSIS

    $ np05bctl --addr=10.1.2.3 --user=bob --pass=w00t login pset 3 1
    ["login", "OK"]
    ["pstat", "OK", {"1": 0, "2": 0, "3": 1, "4": 0, "5": 0}]

    $ np05bctl --addr=10.1.2.3 -p stat
    [
       "stat",
       "OK",
       {
          "eth": "on",
          "gw": "192.168.1.1",
          "ip": "10.1.2.3",
          "mac": "00:90:c2:12:34:56",
          "mask": "255.255.0.0",
          "model": "NP-05B",
          "port_http": "80",
          "port_telnet": "23",
          "power_hr": {
             "1": 0,
             "2": 0,
             "3": 1,
             "4": 0,
             "5": 0
          },
          "s_gw": "192.168.1.1",
          "s_ip": "10.1.2.3",
          "s_mask": "255.255.0.0",
          "source": "static",
          "src_ip": "0.0.0.0"
       }
    ]

ABSTRACT

np05bctl is a light wrapper around Device::Power::Synaccess::NP05B, providing its functionality as a command line utility.

Please see Device::Power::Synaccess::NP05B for details.

OPTIONS

   -p         Pretty-format json output
   -q         Do not print results of command to stdout
   --addr=<#> Dotted IP address of NP-05B (default: 192.168.1.100)
   --user=<s> Username for logging into NP-05B (default: admin)
   --pass=<s> Password for logging into NP-05B (default: admin)

COMMANDS

Command results are written to stdout as JSON of one of the two formats:

    [<operation>, "OK", <optional JSON object>]
    [<operation>, "ERROR", <error description>]

Commands may be stacked. For instance, to authenticate and then turn on ports 3 and 4:

    np05bctl login pset 3 1 pset 4 1
    ["login", "OK"]
    ["pstat", "OK", {"1": 0, "2": 0, "3": 1, "4": 0, "5": 0}]
    ["pstat", "OK", {"1": 0, "2": 0, "3": 1, "4": 1, "5": 0}]
login

Authenticate with the NP-05B. Depending on your configuration this might not be necessary.

pset X Y

Turn outlet X on (Y=1) or off (Y=2).

For the author's five-port device, the valid range for X is 1..5

pstat

Show which outlets are on or off.

stat

Dump the NP-05B's system configuration.

BUGS

At the time of this writing, following login with stat does not work correctly. If you have configured your NP-05B to allow unauthenticated commands, stat without login works fine. This is a fairly heinous bug and the author will be fixing it.

TO DO

Support additional features as they become implemented in Device::Power::Synaccess::NP05B (also developed by this author).

AUTHOR

TTK Ciar <ttk@ciar.org>

COPYRIGHT

Copyright (C) 2017 TTK Ciar

LICENSE

You may use and distribute this program under the same terms as Perl itself.