'op-original', 'observedAt' => gmdate('c', $now), 'gridW' => -3000.0, 'batteries' => [['id' => 'b', 'capacityKwh' => 20.0, 'socPercent' => 50.0, 'minSocPercent' => 15.0, 'maxSocPercent' => 90.0, 'physicalMinSocPercent' => 3.0, 'rearmSocPercent' => 17.0, 'gridCharging' => true, 'dischargeBlocked' => false, 'maxChargeW' => 39000.0, 'maxDischargeW' => 39000.0, 'measuredAt' => gmdate('c', $now)]], 'limits' => ['importW' => 25000.0, 'exportW' => 25000.0, 'managerMonthLimitsW' => []]]; $points = []; for ($i = 0; $i < 6; $i++) $points[] = ['time' => gmdate('c', $now + $i*300), 'validUntil' => gmdate('c', $now + ($i+1)*300), 'baselineGridW' => -3000.0, 'gridTargetW' => 0.0, 'batteryTargetW' => 3000.0, 'pvCurtailmentW' => 0.0, 'assetTargetsW' => ['b' => 3000.0], 'socEndPercent' => ['b' => 50.0 + $i], 'intent' => 'pvCharge', 'importLimitW' => 25000.0, 'exportLimitW' => 25000.0]; $plan = ['schemaVersion' => 2, 'planId' => '10000000-0000-4000-8000-000000000001', 'installationId' => $id, 'configRevision' => 1, 'sourceFamily' => '3', 'runMode' => 'shadow', 'liveEnabled' => false, 'executable' => true, 'status' => 'optimal', 'generatedAt' => gmdate('c', $now), 'validFrom' => gmdate('c', $now), 'validUntil' => gmdate('c', $now + 1800), 'pricesKnownUntil' => gmdate('c', $now + 1800), 'controlContext' => \Belevo\EnelixEMS\NetzfahrplanV4Planpruefung::kontext($operation), 'inputRefs' => ['operation' => 'op-original', 'forecast' => 'fc-original', 'tariffs' => 'tar-original'], 'points' => $points, 'warnings' => ['Estimated peak; shadow only']]; $response = ['receiverProtocolVersion' => 1, 'installationId' => $id, 'checkedAt' => gmdate('c', $now), 'liveEnabled' => false, 'fresh' => true, 'pending' => null, 'settings' => ['revision' => 1, 'family' => '3', 'runMode' => 'shadow', 'roundtripEfficiency' => .9], 'families' => [['key' => '3'], ['key' => '13'], ['key' => '23']], 'plan' => $plan, 'lastRun' => ['status' => 'optimal', 'detail' => ['planId' => $plan['planId']]]]; return [$response, $id, $operation, $now]; }