gunna-php / sma
从 SMA Sunny Portal 提取实时数据的脚本
dev-master
2021-05-05 22:42 UTC
Requires
- php: >=7.2
- ext-curl: >=5.5.0
- monolog/monolog: ^2.2
This package is not auto-updated.
Last update: 2024-09-18 19:32:25 UTC
README
这是一个通过 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)。更多信息请参阅许可证文件。