1500, 'Entladeleistung' => 0, 'Modus' => 0, 'Management' => 1, ], BatterieRegler::registerwerte( BatterieRegler::TYP_HERSTELLERUNABHAENGIG, BatterieRegler::STEUERUNG_ENELIX, 1500 ) ); self::assertSame( [ 'Ladeleistung' => 0, 'Entladeleistung' => 1500, 'Modus' => 1, 'Management' => 1, ], BatterieRegler::registerwerte( BatterieRegler::TYP_HERSTELLERUNABHAENGIG, BatterieRegler::STEUERUNG_ENELIX, -1500 ) ); } public function testGoodweRegisterwerte(): void { self::assertSame( ['Leistung' => 750, 'Modus' => 11, 'Management' => 2], BatterieRegler::registerwerte( BatterieRegler::TYP_GOODWE, BatterieRegler::STEUERUNG_ENELIX, 750 ) ); self::assertSame( ['Leistung' => 750, 'Modus' => 12, 'Management' => 2], BatterieRegler::registerwerte( BatterieRegler::TYP_GOODWE, BatterieRegler::STEUERUNG_ENELIX, -750 ) ); self::assertSame( ['Leistung' => 0, 'Management' => 1], BatterieRegler::registerwerte( BatterieRegler::TYP_GOODWE, BatterieRegler::STEUERUNG_WECHSELRICHTER, -750 ) ); } public function testSolarEdgeRegisterwerte(): void { self::assertSame( [ 'Ladeleistung' => 0, 'Entladeleistung' => 500, 'Modus' => 4, 'Management' => 4, ], BatterieRegler::registerwerte( BatterieRegler::TYP_SOLAREDGE, BatterieRegler::STEUERUNG_ENELIX, -500 ) ); } public function testSigenergySkaliertLeistungAufKilowatt(): void { self::assertSame( [ 'Ladeleistung' => 1.5, 'Entladeleistung' => 0.0, 'Modus' => 3, 'Management' => 1, ], BatterieRegler::registerwerte( BatterieRegler::TYP_SIGENERGY, BatterieRegler::STEUERUNG_ENELIX, 1500 ) ); self::assertSame( [ 'Ladeleistung' => 0.0, 'Entladeleistung' => 1.5, 'Modus' => 6, 'Management' => 1, ], BatterieRegler::registerwerte( BatterieRegler::TYP_SIGENERGY, BatterieRegler::STEUERUNG_ENELIX, -1500 ) ); } public function testUngueltigeGrenzenWerdenAbgewiesen(): void { $this->expectException(InvalidArgumentException::class); BatterieRegler::leistungsraster(-1.0, 1000.0); } }