mstroink/solax-inverter

此软件包最新版本(v1.1.0)没有提供许可证信息。

从Solax逆变器收集数据

v1.1.0 2019-07-19 06:36 UTC

This package is auto-updated.

Last update: 2024-09-06 23:26:58 UTC


README

Build Status Coverage Status Stable php Version

Solax Inverter

用于从Solax逆变器读取实时数据的简单PHP客户端

目录

安装

通过Composer:如果您想快速开始,应运行以下命令

$ composer require mstroink/solax-inverter php-http/guzzle6-adapter php-http/message

为什么使用 php-http/guzzle6-adapter php-http/message?我们在HTTPlug的帮助下与任何HTTP消息客户端解耦。在HTTPlug文档中了解有关客户端的信息。

使用

确保逆变器连接到您的网络。指南(pdf) 通过检查您是否可以访问以下URL并获取响应来确认逆变器数据流。http://INVERTERIP/api/historyData.htm

默认适配器

使用guzzle6-adapter和默认设置(超时等)初始化逆变器客户端

require 'vendor/autoload.php';

use MStroink\Solax\Inverter;

$inverter = Inverter:create('192.168.178.10');
其他适配器

以下是HTTPlug官方支持的所有客户端和适配器的列表:http://docs.php-http.org/en/latest/clients.html

注意超时:夜间没有足够的阳光来为逆变器供电。

require 'vendor/autoload.php';

use MStroink\Solax\Http\HttpClientConfigurator;
use MStroink\Solax\Inverter;
use Cake\Http\Client as CakeClient;

$clientConfigurator = (new HttpClientConfigurator())
    ->setHost('192.168.178.10');
    ->setClient(new CakeClient(['timeout' => 10]));

$inverter = new Inverter($clientConfigurator)
响应
try {
    $response = $inverter->getRealTimeData();

    echo $response->Inverter->getYieldToday() . "\n";
    echo $response->Inverter->getYieldTotal() . "\n";
    echo $response->Inverter->getInnerTemperature() . "\n";

    $response->Grid->getCurrent();
    $response->Grid->getExported();
    $response->Grid->getFeedInPower();
    $response->Grid->getFrequency();
    $response->Grid->getImported();
    $response->Grid->getPower();
    $response->Grid->getVoltage();

    $response->Meta->getMethod();
    $response->Meta->getSerialNumber();
    $response->Meta->getStatus();
    $response->Meta->getType();
    $response->Meta->getVersion();

    $response->Pv->getPv1Current();
    $response->Pv->getPv1Power();
    $response->Pv->getPv1Voltage();
    $response->Pv->getPv2Current();
    $response->Pv->getPv2Power();
    $response->Pv->getPv2Voltage();

    $response->toArray();
} catch (HttpServerException $e) {
    //inverter is offline?
}

测试

vendor/bin/phpunit

支持

打开一个问题以获取支持。