se/pilight

用于从 PHP 调用 Pilight(目前为 pilight-send)的库。

v0.1-beta 2013-12-11 08:03 UTC

This package is not auto-updated.

Last update: 2024-09-10 00:15:50 UTC


README

#pilight

Latest Stable Version SensioLabsInsight

从 PHP 调用 pilight(目前通过 pilight-send)的库。

开发分支是 master 分支。

Build Status

目录
  1. 安装
  2. 使用方法

安装

建议的安装方式是通过 Composer

{
    "require": {
        "se/pilight": "dev-master"
    }
}

基本使用

需要引入 composer 自动加载文件并导入命名空间。

require_once __DIR__.'/vendor/autoload.php';

use \SE\Component\Pilight;

发送

$sender =  new Pilight\Sender();
// or set a custom ip and port
$sender =  new Pilight\Sender($host = '129.168.2.1', $port = 6535);

$protocol = 'elro';
$arguments = array(
    's' => 31,
    'u' => 1,
);

$device = new Pilight\Device($protocol, $arguments);
// or add the arguments later via setArguments
$device->setArguments($arguments);

// turn it on
$device->addArgument('t');

// send it!
$sender->send($device);

如果您需要 root 权限来调用 pilight-send,请在 $sender 上调用 setSudo(true)。

$sender->setSudo(true);
$sender->send($device);

您可以将 pilight-send 可执行文件添加到 sudoers 配置中,以便可以通过 sudo 无需输入密码来调用它。这是以防您的 pilight-send 需要通过 sudo 权限调用,如果在设置时未这样做,则在运行时可能会得到一些意外的输出。

$ sudo nano /etc/sudoers.d/pilight

内容

www-data ALL= NOPASSWD: /usr/local/sbin/pilight-send
pi ALL= NOPASSWD: /usr/local/sbin/pilight-send
<REPLACE YOU USER> ALL= NOPASSWD: /usr/local/sbin/pilight-send