Files
Symcon_Belevo_Energiemanage…/Ladestation_OCPP/libs/TransactionStore.php
T

37 lines
915 B
PHP

<?php
class TransactionStore
{
public static function empty(): array
{
return [
'activeTransactionId' => '',
'transactionStartTime' => 0,
'transactionStartEnergyImport' => 0.0,
'transactionStartEnergyExport' => 0.0,
'lastTransactionState' => '',
'lastIdToken' => '',
'sessionEnergyImport' => 0.0,
'sessionEnergyExport' => 0.0,
'sessionPeakPower' => 0.0,
'sessionStopReason' => ''
];
}
public static function fromJson(string $json): array
{
$data = json_decode($json, true);
if (!is_array($data)) {
return self::empty();
}
return array_replace(self::empty(), $data);
}
public static function toJson(array $state): string
{
return json_encode(array_replace(self::empty(), $state));
}
}
?>