igormukhingmailcom/ajax-systems-api

用于操作ajax.systems API的库

v0.1.0 2018-09-17 22:08 UTC

This package is auto-updated.

Last update: 2024-09-26 05:23:05 UTC


README

Latest Version on Packagist Software License Quality Score

ajax.systems安全系统的API客户端

警告 此库基于2018年关闭的grey/reverse engineered Ajax Systems Web API,因此目前此库无法工作。

未来升级 新的非公开的 Ajax Systems Enterprise API 正在开发中。如果您对此项目感兴趣,并希望一旦 Enterprise API 公开并对所有客户端可用时收到通知,请为该项目加星。

当前库支持的案例

(子列表包含库可能被使用的案例)

  • 开启/关闭WallSwitch
    • 使用CRON开启/关闭连接到WallSwitch的灯光/锅炉/灌溉
    • 在某些外部事件发生时点燃连接到WallSwitch的TNT
  • 武装/解除武装/部分武装(夜间模式)
    • 使用CRON武装/解除武装您的Hub
  • 发送紧急情况
    • 在某些外部事件发生时向Hub发送紧急情况
  • 获取Hub的原始数据
    • 每天获取所有传感器的电池电量并发送通知到用户邮箱
    • 获取某些房间的温度传感器以开启房间的加热器
    • 获取连接到WallSwitch的设备的功耗以存储统计信息
    • 自我测试脚本以检查重要传感器的设置,并在某些重要设置自上次更改以来发生变化时向用户邮箱发送通知
  • 读取原始日志
    • 跟踪HUB事件以实现家庭自动化
    • 将事件备份到外部源
  • 获取Hub的SIM卡余额
    • 跟踪并警告用户余额低
    • 跟踪并在余额低时自动向余额中添加资金(通过某些服务支付)
  • 获取已登录用户的数据

安装

composer require igormukhingmailcom/ajax-systems-api

用法

<?php

require('vendor/autoload.php');

use Mukhin\AjaxSystemsApi\AjaxSystemsApiClient;
use Mukhin\AjaxSystemsApi\Exception\Exception;

$ajaxSystemsClient = new AjaxSystemsApiClient();

try {
    $ajaxSystemsClient->login('login', 'password');
    $ajaxSystemsClient->getCsaConnection();
    $ajaxSystemsClient->setArm(AjaxSystemsApiClient::ARM_STATE_PARTIAL, 'hub id');
    echo "Partially armed";
} catch (Exception $e) {
    echo $e->getMessage();
}

贡献

测试/运行示例

composer install

# Put your credentials to credentials.php
cp examples/credentials.php.dist examples/credentials.php
nano examples/credentials.php

# Go to any example an run it
cd examples/arm
php index.php

待办事项

  • 如果app.ajax.systems支持,开启/关闭Ajax Relay(没有此设备进行测试)
  • 如果app.ajax.systems支持,开启/关闭Ajax Socket(没有此设备进行测试)
  • 将原始数据转换为对象
  • 保存对象
  • SSE(服务器发送事件)
  • Symfony包