Commit Graph

2062 Commits

Author SHA1 Message Date
helgeerbe
8e4f234517 action build on each push 2023-08-10 13:21:35 +02:00
helgeerbe
6601e9a44b catch exception during git access 2023-08-10 13:17:39 +02:00
helgeerbe
801fe5d027
Update test_build.yml 2023-08-10 13:08:16 +02:00
helgeerbe
c8a561dbd7 fix linting errors 2023-08-10 13:03:51 +02:00
helgeerbe
cc3ab9b14b
Create test_build.yml 2023-08-10 13:02:42 +02:00
helgeerbe
9475a78211 catch error if git repo can't be accessd 2023-08-10 10:53:33 +02:00
Thomas Basler
4bf094c3ef webapp: Update default proxy ip 2023-08-09 18:23:50 +02:00
Thomas Basler
871dc051d7 Merge branch 'pr1229' into dev 2023-08-09 18:22:58 +02:00
Stefan Schultheis, OE1SCS
629ede3cbd Update en.json
typo. power safe != power save
2023-08-09 18:21:36 +02:00
Stefan Schultheis, OE1SCS
94f6078c9e Update de.json
bessere Übersetzung
2023-08-09 18:20:36 +02:00
helgeerbe
5a72d74982
fix #362 system Info checks git head, instead of build branch (#374) 2023-08-09 17:45:54 +02:00
Bernhard Kirchen
452679e90b make vite proxy target easily configurable
the current proxy target IP address is probably only working for a
single developer at a time. this change introduces a vite.user.ts, which
is ingored by GIT, and which can define a proxy_target that works for
the respective developer.

this does not change the default behavior, as the fallback value is
still the old IP address. if the new vite.user.ts file does not exist,
or if it does not export proxy_target, the fallback value is used.

file vite.config.ts adds an example in a comment of how to bootstrap a
vite.user.ts.
2023-08-09 16:58:58 +02:00
helgeerbe
40c720aa57 add webapp 2023-08-09 16:01:03 +02:00
helgeerbe
c06299878b compare git hash to branch 2023-08-09 15:59:11 +02:00
helgeerbe
940d1a6145 fix label for branch info 2023-08-09 15:47:31 +02:00
helgeerbe
401a3b86a8 show branch in system info 2023-08-09 15:32:08 +02:00
helgeerbe
21bbed9b8e Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-08-09 12:37:33 +02:00
Thomas Basler
b71106c9ef webapp: add app.js.gz 2023-08-08 22:54:07 +02:00
Thomas Basler
ac4ddbe23d webapp: Fix lint error 2023-08-08 22:50:30 +02:00
Thomas Basler
3d67d934c1 webapp: Update dependencies 2023-08-08 22:50:09 +02:00
helgeerbe
ec67fe1ff7 fix: Power meter value not displayed #355
Enlarge JsonBuffer for webservice response to 2048
2023-08-08 15:58:24 +02:00
Bernhard Kirchen
3db237c109
DPL: save verbose logging switch value to config (#363) 2023-08-07 18:20:45 +02:00
helgeerbe
c950eb7245 Merge branch 'development' of https://github.com/helgeerbe/OpenDTU into development 2023-08-06 17:02:53 +02:00
helgeerbe
3cb30b14cd add webapp 2023-08-06 17:02:44 +02:00
Bernhard Kirchen
e6eaa001e7
DPL: use testThreshold() in useFullSolarPassthrough() (#357) 2023-08-06 17:00:27 +02:00
Thomas Basler
9179b672f5 Use lock_guard to simplify code 2023-08-05 01:25:53 +02:00
Thomas Basler
188a6cf39d Replace template by abstract class 2023-08-05 01:01:53 +02:00
Thomas Basler
22d9b128b9 Fix: Move setting of CMD_PENDING state into the right order 2023-08-04 23:44:18 +02:00
Bernhard Kirchen
aff7924411
Inhibit solar passthrough while battery below stop threshold (#354)
* DPL: improve verbose logging

* shorten DPL log prefix
* canUseDirectSolarPower() was printed two times
* _batteryDischargeEnabled was printed two times
* convert boolean values to human-readable strings
* add units where possible
* split messages into block "before calculating new limit" and "after
  calculating new limit", as the latter cannot rely on _inverter being
  available.
* order messages such that variables whose value is derived from other
  variables are printed later than their dependencies.
* merge output into blocks (one instance near "Printout some stats")
* remove more redundant info (produced in functions outside loop())
* print target grid consumption

* DPL: inhibit solar passthrough while stop threshold reached

* DPL: implement and use isBelowStopThreshold()

we only want to inhibit solar passthrough if the SoC is *below* the stop
threshold, not if it is equal to the stop threshold. otherwise, when
discharging, we would discharge until the battery reached the stop
threshold, then we would also inhibit solar passthrough, until the
battery is charged to the SoC stop threshold plus one percent.
2023-08-04 12:35:37 +02:00
helgeerbe
5335ec1bde Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-08-04 12:21:16 +02:00
Thomas Basler
f3e3ec0685 webapp: Update dependencies 2023-08-03 22:36:48 +02:00
Thomas Basler
43cba67531 Fix: Virtual console scrambled output when the output came from different contexts 2023-08-03 22:16:29 +02:00
Thomas Basler
10ba10d792 cpplint: do not complain mutex include 2023-08-03 22:07:53 +02:00
Thomas Basler
0bdee6ec99 Fix: Prevent access to nullptr object when reconnecting to mqtt
It could occour when saving the settings via the web ui
2023-08-03 18:46:28 +02:00
Thomas Basler
832df5a80e Implement the command queue thread safe
The queue will be maybe filled from within another thread (mqtt/web) and handled from the main loop
2023-08-03 00:17:32 +02:00
Thomas Basler
be09c4052f Fix: Ensure that only completly assembled packets are put into the command queue 2023-08-02 22:41:53 +02:00
helgeerbe
69456affce Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-08-02 19:46:35 +02:00
Thomas Basler
686112e4ee Fix: Wrong detection of HM-300 inverters
Was introduced in v23.8.1; Fixes #1198
2023-08-02 18:41:25 +02:00
Thomas Basler
77528f6e6a webapp: add app.js.gz 2023-08-01 21:55:25 +02:00
Thomas Basler
ba9bddf277 webapp: Update dependencies 2023-08-01 21:54:19 +02:00
Bernhard Kirchen
81864b3420
execute MQTT client synchronously in main loop() (#350)
processing a published valued on a subscribed topic is currently running
in a task that is not the task executing the main loop(). that's because
the espMqttClient(Secure) was constructed without arguments, which
selects the constructor with two arguments priority and core, both of
which have default values. that constructor selects
espMqttClientTypes::UseInternalTask::YES, causing a task to be created
in which context the MQTT client loop is executed.

MQTT subscribers assume they are running in the same context as the main
loop(). most code assumes exactly that. as the scheduler is preemptive
and very little (none at all?) code is interlocked, we have to make sure
to meet the programmer's expectations.

this changeset calls the MQTT client loop in the context of the main
loop() and enforces the use of espMqttClientTypes::UseInternalTask::NO.
2023-08-01 09:20:04 +02:00
Thomas Basler
5bbc67bc49 Fix: Clear parser buffers to prevent random numbers if no data was received 2023-07-31 22:52:38 +02:00
Thomas Basler
2eeb7423bf Update olikraus/U8g2 from 2.35.3 to 2.35.4 2023-07-31 22:42:06 +02:00
Thomas Basler
c374a83cfe Update bblanchon/ArduinoJson from 6.21.2 to 6.21.3 2023-07-31 22:40:54 +02:00
Thomas Basler
a90073cba2 webapp: Update dependencies 2023-07-31 22:31:53 +02:00
Thomas Basler
ef65094181 Fix: Prevent wrong values of devinfo data because of non-atomic transaction 2023-07-31 22:27:28 +02:00
Thomas Basler
74169c3b17 Fix: Prevent wrong values of systemconfigpara data because of non-atomic transaction 2023-07-31 22:06:04 +02:00
Thomas Basler
698ecbcd53 Fix: Prevent wrong values of alarm data because of non-atomic transaction and fix calculation of getEntryCount() 2023-07-31 22:06:04 +02:00
Thomas Basler
14305a9f12 Fix: Prevent wrong values of statistics data because of non-atomic transaction 2023-07-31 22:05:22 +02:00
Thomas Basler
9821c1905b Fix: Uninitliazed variable used before first use 2023-07-31 21:44:50 +02:00