feat: Prognosetelemetrie aus Demoanlage senden
Tests / test (push) Successful in 48s

This commit is contained in:
dh
2026-09-23 06:40:17 +00:00
parent f250dea59a
commit efa8fe698c
7 changed files with 227 additions and 7 deletions
+14 -1
View File
@@ -59,6 +59,10 @@ final class ManagerModulstrukturTest extends TestCase
'AnlagenWechselrichter',
'AnlagenPVFlaechen',
'AnlagenBatterien',
'PrognosePVVariableID',
'PrognoseHausverbrauchVariableID',
'PrognoseSOCVariableID',
'PrognoseSendeintervall',
] as $property) {
self::assertStringContainsString($property, $json);
}
@@ -190,7 +194,7 @@ final class ManagerModulstrukturTest extends TestCase
self::assertStringContainsString("'issueDeviceToken' =>", $inhalt);
self::assertStringContainsString("unset(\$neueLease['deviceToken'])", $inhalt);
self::assertStringContainsString(
"\$geraetezugangFehlt = \$this->hatAnlagentopologie()",
"\$geraetezugangFehlt = (\$this->hatAnlagentopologie() || \$this->prognoseTelemetrieKonfiguriert())",
$inhalt
);
self::assertStringContainsString(
@@ -198,6 +202,15 @@ final class ManagerModulstrukturTest extends TestCase
$inhalt
);
self::assertStringContainsString('synchronisiereAnlagentopologie()', $inhalt);
self::assertStringContainsString(
'https://license.enelix.ch/api/v1/installations/%s/prognosis/telemetry',
$inhalt
);
self::assertStringContainsString("'PrognoseSenden',", $inhalt);
self::assertStringContainsString("'capturedAt' => gmdate(", $inhalt);
foreach (["'PV'", "'Hausverbrauch'", "'Netzleistung'", "'SOC'"] as $messwert) {
self::assertStringContainsString($messwert, $inhalt);
}
self::assertStringContainsString("'Authorization: Bearer ' . \$token", $inhalt);
self::assertStringNotContainsString(
"protokolliere('Prognosesynchronisation', \$token)",