dutchie027/wallbox

这个库调用 Wallbox API 来获取电动汽车充电器上的统计数据


README

Packagist Downloads CodeFactor

概述

编写这个 API 包装器是为了让我能够更好地获取 wallbox 电动汽车充电器的指标和用途。

用法

首先,使用 composer 下载此软件包

composer require dutchie027/wallbox

使用 composer 下载后,打开 wallbox.ini 并输入您的变量和凭证。

有了所有这些信息后,根据您想要如何使用它,创建一个简单的 PHP 文件来调用该库

#!/usr/bin/php
<?php

include_once 'vendor/autoload.php';

$wallbox = new dutchie027\Wallbox\Wallbox();
...

作为监控程序运行

脚本最常见的使用案例是监控系统。为此,有一个名为 monitor 的函数,它使用了很多默认值,并将通知您系统的任何更改。它默认每 30 秒检查一次电动汽车充电器,并使用 .env 中的配置设置通过 pushover 通知您任何更改。要监控系统,首先创建一个名为 monitor.php 的文件,如下所示

#!/usr/bin/php
<?php

include_once 'vendor/autoload.php';

$wallbox = new dutchie027\Wallbox\Wallbox();
$wallbox->monitor();

创建监控文件后,确保它是可执行的,通过运行 chmod +x monitor.php。完成此操作后,只需使用 nohup 触发它,使其在后台运行

nohup ./monitor.php >/dev/null 2>&1 &

函数

checkLock

如果充电器被锁定,则返回 true/false。如果充电器被锁定,则返回 true,如果充电器未锁定,则返回 false

print $wallbox->checkLock($id);

getStats

返回充电器从开始到 int(时间戳)之间的统计信息的 JSON 有效负载。

print $wallbox->getStats($id, $start, $end);

getChargerStatus

返回特定充电器的状态 JSON 有效负载。 示例有效负载

print $wallbox->getChargerStatus($id);

getFullPayload

返回所有充电器的状态 JSON 有效负载。 示例有效负载

print $wallbox->getFullPayload();

getLastChargeDuration

如果按小时和分钟返回时间,则为 xh xm。如果只按分钟返回,则为 xm xs。

print $wallbox->getLastChargeDuration();

checkFirmwareStatus

检查固件是否为最新版本。返回有关状态的文本信息

print $wallbox->checkFirmwareStatus($id);

unlockCharger

解锁充电器。

print $wallbox->unlockCharger($id);

lockCharger

锁定充电器。

print $wallbox->lockCharger($id);

getChargerData

返回特定充电器数据的 JSON 有效负载 示例

print $wallbox->getChargerData($id);

getTotalChargeTime

如果按小时和分钟返回时间,则为 xh xm。如果只按分钟返回,则为 xm xs。

print $wallbox->getTotalChargeTime($id);

getTotalSessions

返回一个表示总充电会话的整数。

print $wallbox->getTotalSessions($id);

依赖项

代码使用了一些外部库,但它们都包含在 composer.json 文件中。

  • monolog/monolog
  • guzzlehttp/guzzle
  • serhiy/pushover

致谢

Python 工作 致敬,这是由 cliviu74 完成的。这是为我提供了许多 URL 的基础。