def METHOD_NAME():
    from optparse import Option, OptionParser
    keys={}
    options = [
        Option( '--dryrun', dest='dryrun', action='store_true',
                help='Dryrun, only collect HAL pin values, do not send them to MQTT.'),
        Option( '--mqtt-broker', dest='mqttbroker', metavar='FQDN',
                default='localhost', help='The FQDN of the MQTT broker.  Default is "localhost".'),
        Option( '--mqtt-port', dest='mqttport', metavar='PORTNUMBER', type=int,
                default=1883, help='The port to use of the MQTT broker. Default is 1883.'),
        Option( '--mqtt-user', dest='mqttuser', metavar='USERNAME',
                help='The user name to use when connecting to the MQTT broker.'),
        Option( '--mqtt-password', dest='mqttpassword', metavar='PASSWORD',
                help='The password to use when connecting to the MQTT broker.'),
        Option( '--mqtt-prefix', dest='mqttprefix', metavar='PREFIX',
                default='devices/linuxcnc/machine',
                help='The prefix to use when publishing to the MQTT broker.  Default is "devices/linuxcnc/machine".'),
        ]
    parser = OptionParser(usage=LinuxCNC2MQTT.usage())
    parser.disable_interspersed_args()
    parser.add_options(options)
    (opts, args) = parser.parse_args()
    if not opts.dryrun and (not opts.mqttbroker or not opts.mqttprefix):
        parser.print_help()
        sys.exit(1)
    if not args:
        parser.print_help()
        sys.exit(1)
    for extra in args:
        if 0 == extra.find('keys='):
            keys = extra.split('=')[1].split(',')
    h = LinuxCNC2MQTT(opts.mqttbroker, opts.mqttport, opts.mqttprefix,
                      opts.mqttuser, opts.mqttpassword, dryrun=opts.dryrun)
    h.create_pins(keys)
    h.update_mqtt()