dutchie027 / wallbox
这个库调用 Wallbox API 来获取电动汽车充电器上的统计数据
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.5
- monolog/monolog: ^3.0
- serhiy/pushover: ^1.1
Requires (Dev)
- composer/composer: ^2.4
- friendsofphp/php-cs-fixer: ^3.8
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^9
- psalm/phar: ^4.27
- dev-master
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.0
- dev-dependabot/composer/phpstan/phpstan-1.10.11
- dev-dependabot/composer/psalm/phar-5.9.0
- dev-dependabot/composer/composer/composer-2.5.5
- dev-dependabot/composer/phpunit/phpunit-9.6.6
- dev-dependabot/composer/serhiy/pushover-1.3.2
- dev-dependabot/github_actions/actions/cache-3.3.1
This package is auto-updated.
Last update: 2024-09-10 20:45:30 UTC
README
概述
编写这个 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