从 SMA Sunny Portal 提取实时数据的脚本

dev-master 2021-05-05 22:42 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:32:25 UTC


README

Latest Version on Packagist Software License Total Downloads

这是一个通过 SMA Sunny Portal 网页界面从 SMA 家庭能源监测器收集数据的 PHP 类。

安装

通过 Composer

$ composer require gunna-php/sma

手动

下载 Zip 文件并解压

require_once '[PATH/TO]/src/SunnyPortal.php';

使用方法

创建实例

use GunnaPHP\SMA\SunnyPortal;

$portal  = new SunnyPortal([
	'username' => '{Portal Login Email}',
	'password' => '{Portal Login Password}'
]);

获取植物列表

$plants = $portal->getPlantList();
foreach ($plants AS $plantOID=>$plantName) {
    echo $plantName.': '.$plantOID.PHP_EOL;
}

选择植物

选择您想要收集实时数据的植物

$poral->setPlant('{SMA Plant OID}');

收集数据

while ( true ) {
  $data = $portal->liveData();
  echo 'PV Generation: '.$data->PV.'kW'.PHP_EOL;
  echo 'Grid Consumption: '.$data->GridConsumption.'kW'.PHP_EOL;
  sleep(60); // Note: Minimum Interval between data reads is 15 secs
}

示例输出

stdClass Object
(
    [__type] => LiveDataUI
    [Timestamp] => stdClass Object
        (
            [__type] => DateTime
            [DateTime] => 2015-12-12T08:15:10
            [Kind] => Unspecified
        )
    [PV] => 
    [FeedIn] => 0
    [GridConsumption] => 0
    [DirectConsumption] => 
    [SelfConsumption] => 
    [SelfSupply] => 
    [TotalConsumption] => 0
    [DirectConsumptionQuote] => 
    [SelfConsumptionQuote] => 
    [AutarkyQuote] => 
    [BatteryIn] => 
    [BatteryOut] => 
    [BatteryChargeStatus] => 
    [OperationHealth] => 
    [BatteryStateOfHealth] => 
    [InfoMessages] => Array()
    [WarningMessages] => Array()
    [ErrorMessages] => Array()
    [Info] => stdClass Object()
)

致谢

许可证

MIT 许可证 (MIT)。更多信息请参阅许可证文件