* Plugins: make javascript return values more permissive * Persist targetSoc/Energy, minSoc and target time, remove experimental from minSoc UI * go generate * Fix tests * Update minSoc description * Store settings by index. Show plan outside pv mode. Add help texts. * remove slug * go mock * lint * chore: simplify templates (#8304) * Add e2e tests with playwright (#8123) * Revert "1p3p: let charger handle session stop/restart (#7723)" This reverts commitdd787ce52f. * mazda2mqtt: document vin required (#8319) * FoxESS: split H1/H3 devices (#7376) Co-authored-by: premultiply <4681172+premultiply@users.noreply.github.com> * Translations update from Hosted Weblate (#8124) * Translated using Weblate (Czech) Currently translated at 37.3% (99 of 265 strings) Co-authored-by: Dusan Suja <bc.suja.dusan@googlemail.com> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/cs/ Translation: evcc/evcc * Translated using Weblate (Finnish) Currently translated at 100.0% (265 of 265 strings) Co-authored-by: Arna Lepikkö <arna.lepikko@telemail.fi> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/fi/ Translation: evcc/evcc * Translated using Weblate (German) Currently translated at 100.0% (265 of 265 strings) Co-authored-by: ThinkEV <claas@rootdir.de> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/de/ Translation: evcc/evcc * Translated using Weblate (Croatian) Currently translated at 100.0% (265 of 265 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (265 of 265 strings) Co-authored-by: Žiga Deisinger <ziga@deisinger.si> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/hr/ Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/sl/ Translation: evcc/evcc * Translated using Weblate (Catalan) Currently translated at 100.0% (265 of 265 strings) Co-authored-by: Norbert Poch <npoch@yahoo.com> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/ca/ Translation: evcc/evcc * Translated using Weblate (Dutch) Currently translated at 76.6% (203 of 265 strings) Translated using Weblate (Dutch) Currently translated at 74.3% (197 of 265 strings) Co-authored-by: Ruben Van Boxem <vanboxem.ruben@gmail.com> Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/nl/ Translation: evcc/evcc * fix toml --------- Co-authored-by: Dusan Suja <bc.suja.dusan@googlemail.com> Co-authored-by: Arna Lepikkö <arna.lepikko@telemail.fi> Co-authored-by: ThinkEV <claas@rootdir.de> Co-authored-by: Žiga Deisinger <ziga@deisinger.si> Co-authored-by: Norbert Poch <npoch@yahoo.com> Co-authored-by: Ruben Van Boxem <vanboxem.ruben@gmail.com> Co-authored-by: premultiply <4681172+premultiply@users.noreply.github.com> * Add OBO Betterman Ion (#8321) Also aligns heartbeat implementations * Enphase: add token auth (firmware D7.x.xxx) and grid (#8247) * Mqtt: fix smartCostLimit topic case (#8328) * Add ISO15118 vehicle template (#8302) * Mqtt: simplify setters * Mqtt: disable message ordering to improve performance * chore: simplify random state generation * Porsche: remove deprecated mobile api (#8349) * Porsche: remove remaining mobile api types * Cupra: add odometer (#8340) * chore: refactor go-stylish * chore: fix stale handler * mazda2mqtt: longer timeout (#8364) * chore: pre-process toml * chore: prevent toml double quotes * Audi: temporarily switch to etron (#8374) * Fix nightly build (#8384) * Update SunSpec templates (#8270) * Revert "Fix nightly build (#8384)" This reverts commit536dbc936c. * Revert "Add e2e tests with playwright (#8123)" This reverts commit0df815729b. * Easee: update Observation IDs (#8391) * Easee: handle smartCharging errors (#8389) * TWC: add non-Tesla vehicle warning (#8329) * TWC: allow loadpoint to wakeup vehicle (#8284) * chore: use gridx consts * Fix ISO15118 vehicle (#8402) Such vehicles would be reported as `(Offline)` previously, as no Soc can be fetched and thus needs to behave as the `offline` template. The SoC is fetched via the charger, so hardcode it to 0 in here * Modbus: add coils (#8385) * OpenEVSE: fix api (#8415) * chore: refactor offline vehicles (#8404) * Easee: wait for api confirmation (#8307) * Revert "Easee: wait for api confirmation (#8307)" This reverts commitce0e4277aa. * automatically switch session log energy unit (#8371) Show the charged energy in the session log table and details in Wh for values below 1 kWh and in kWh for larger values * Fix nightly/release + integration workflow (#8450) * Revert "Add e2e tests with playwright (#8123)" This reverts commit0df815729b. * Revert "Revert "Add e2e tests with playwright (#8123)"" This reverts commit2299306954. * fix nightly/release * fix nightly/release * fix nightly/release --------- Co-authored-by: andig <cpuidle@gmx.de> * chore: no integration on nightly * chore: no integration on nightly * chore: no integration on nightly * Sessions: filter, monthly sums, paging (#8278) * fmt * Update i18n/en.toml Co-authored-by: Simon Riepl <43091717+savus4@users.noreply.github.com> * Use exp/slices * Use mux consistently * add integration tests --------- Co-authored-by: andig <cpuidle@gmx.de> Co-authored-by: C64Axel <33828760+C64Axel@users.noreply.github.com> Co-authored-by: premultiply <4681172+premultiply@users.noreply.github.com> Co-authored-by: Weblate (bot) <hosted@weblate.org> Co-authored-by: Dusan Suja <bc.suja.dusan@googlemail.com> Co-authored-by: Arna Lepikkö <arna.lepikko@telemail.fi> Co-authored-by: ThinkEV <claas@rootdir.de> Co-authored-by: Žiga Deisinger <ziga@deisinger.si> Co-authored-by: Norbert Poch <npoch@yahoo.com> Co-authored-by: Ruben Van Boxem <vanboxem.ruben@gmail.com> Co-authored-by: salz3n <79696598+salz3n@users.noreply.github.com> Co-authored-by: Daniel Paschke <paschdan@gmail.com> Co-authored-by: Andreas Linde <42185+DerAndereAndi@users.noreply.github.com> Co-authored-by: lex777777 <84906358+lex777777@users.noreply.github.com> Co-authored-by: Oscar <OAltr@users.noreply.github.com> Co-authored-by: Michael Heß <GrimmiMeloni@users.noreply.github.com> Co-authored-by: RTTTC <94727758+RTTTC@users.noreply.github.com> Co-authored-by: kscholty <47229207+kscholty@users.noreply.github.com> Co-authored-by: Jan Alexander <jan.alexander@posteo.de> Co-authored-by: Simon Riepl <43091717+savus4@users.noreply.github.com>
63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
import fs from "fs";
|
|
import waitOn from "wait-on";
|
|
import axios from "axios";
|
|
import { exec, execSync } from "child_process";
|
|
import playwrightConfig from "../playwright.config";
|
|
|
|
const BASE_URL = playwrightConfig.use.baseURL;
|
|
|
|
const DB_PATH = "./evcc.db";
|
|
const BINARY = "./evcc";
|
|
|
|
export async function start(config, database) {
|
|
await _clean();
|
|
if (database) {
|
|
await _restoreDatabase(database);
|
|
}
|
|
await _start(config);
|
|
}
|
|
|
|
export async function stop() {
|
|
await _stop();
|
|
await _clean();
|
|
}
|
|
|
|
export async function restart(config) {
|
|
await _stop();
|
|
await _start(config);
|
|
}
|
|
|
|
export async function cleanRestart(config) {
|
|
await _stop();
|
|
await _clean();
|
|
await _start(config);
|
|
}
|
|
|
|
async function _restoreDatabase(database) {
|
|
console.log("loading database", { database });
|
|
execSync(`sqlite3 ${DB_PATH} < tests/${database}`);
|
|
}
|
|
|
|
async function _start(config) {
|
|
console.log("starting evcc", { config });
|
|
const instance = exec(`EVCC_DATABASE_DSN=${DB_PATH} ${BINARY} --config tests/${config}`);
|
|
instance.stdout.pipe(process.stdout);
|
|
instance.on("exit", (code) => {
|
|
if (code !== 0) {
|
|
throw new Error("evcc terminated", code);
|
|
}
|
|
});
|
|
await waitOn({ resources: [BASE_URL] });
|
|
}
|
|
|
|
async function _stop() {
|
|
console.log("shutting down evcc");
|
|
await axios.post(BASE_URL + "/api/shutdown");
|
|
}
|
|
|
|
async function _clean() {
|
|
if (fs.existsSync(DB_PATH)) {
|
|
console.log("delete database", DB_PATH);
|
|
fs.unlinkSync(DB_PATH);
|
|
}
|
|
}
|