NAME

power-outlet-mqtt-listener.pl - MQTT listener to control Power::Outlet devices

SYNOPSIS

power-outlet-mqtt-listener.pl [-c /etc/power-outlet-mqtt-listener.yml]

DESCRIPTION

This script provides an MQTT listener to control Power::Outlet devices

CONFIGURATION

The YAML formatted file /etc/power-outlet-mqtt-listener.yml is a key-value hash.

The "host" key value is a string representing the host name of the MQTT server.

The "directives" key value is a list of individual directives with "name", "topic", "value" (topic payload to match) and "actions".

The "actions" key value is a list of individual actions to run when "topic" and "value" match. Individual actions have keys "name", "driver", "command", and "options". "options" is a hash of options that is passed to the driver.

Example:

---
host: mqtt

directives:

- name: Smart Outlet Top Button Press
  topic: cmnd/smartoutlet_button_topic/POWER1
  value: TOGGLE
  actions:
  - name: Outside Lights
    driver: iBootBarGroup
    command: 'ON'
    options:
      outlets: '1,2,6,7'
      host: bar

- name: Smart Outlet Bottom Button Press
  topic: cmnd/smartoutlet_button_topic/POWER2
  value: TOGGLE
  actions:
  - name: Outside Lights
    driver: iBootBarGroup
    command: 'OFF'
    options:
      outlets: '1,2,6,7'
      host: bar

SYSTEMD

The included rpm spec file installs a systemd service file so you can run this process from systemd.

systemctl power-outlet-mqtt-listener.service enable
systemctl power-outlet-mqtt-listener.service start

BUILD

rpmbuild -ta Power-Outlet-*.tar.gz

INSTALL

sudo yum install perl-Power-Outlet-mqtt-listener 

COPYRIGHT

Copyright (c) 2020 Michael R. Davis <mrdvt92>

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.