Thomas Basler
9179b672f5
Use lock_guard to simplify code
2023-08-05 01:25:53 +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
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
Martin Dummer
8bfa7e530c
Feature: Admin AccessPoint Timeout now configurable
...
Make the administrative accesspoint timeout configurable. The default
value is 3 minutes, values from 0-99999 are possible, where 0 means
infinite (no timeout).
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-07-22 18:14:07 +02:00
Thomas Basler
658a42db80
Apply code formatter without functional changes
2023-07-22 18:00:41 +02:00
Thomas Basler
a06a56a490
Harden config parser by defining right unsigned data type
2023-07-22 17:41:56 +02:00
Thomas Basler
736220c80d
Reorder config struct components
2023-07-22 17:28:58 +02:00
Thomas Basler
fe3d6588bc
Feature: Turn off LED 1 if no inverters are enabled for polling
...
This means that e.g. at night, when polling at night is disabled, LED 1 will be turned off now.
2023-07-10 18:31:04 +02:00
Thomas Basler
5a37948ca9
Fix: If no sunset/sunrise calculation is possible a wrong value is shown
...
This is catched now and a proper message is shown in the web UI. Also the mode is set to day.
2023-06-01 18:39:50 +02:00
Thomas Basler
24f063dd7b
Fix: Prevent partly calculated total data in web ui and display
...
Leads to zeros where no zeros should be.
2023-05-30 22:10:27 +02:00
Thomas Basler
1c8bd8091b
Feature: Allow reordering of the inverters in the live view
...
Reordering can be done in the inverter settings via drag&drop.
2023-05-29 20:17:07 +02:00
Thomas Basler
e7198073af
Feature: Allow configuration of sunset type
2023-05-24 19:21:44 +02:00
Thomas Basler
752362d2df
Feature: Added localization setting to display
...
Its possible to change the language of the display
2023-05-23 18:25:12 +02:00
Thomas Basler
cd98941c5d
Implement global data store to handle all invert total values
...
Use the new values in the LED, MQTT and Web interface.
2023-05-21 22:37:33 +02:00
Thomas Basler
98da2b64e2
Rename FLD_PRA to FLD_Q
2023-04-24 22:29:59 +02:00
Thomas Basler
26cbc496a7
Feature: Implemented MQTT publishing of total values
...
If one or more inverter is not reachable the flag is_valid changes to zero. Disabled inverters are ignored.
2023-04-24 18:51:30 +02:00
Thomas Basler
371e405eed
Added configuration of CMT modules frequency to webapp
2023-04-15 10:55:48 +02:00
Thomas Basler
996404ceed
Introduce gpio2 for the CMT2300A module
...
This implements the sending interrupt instead of polling. On the other hand, gpio3 is made optional.
2023-04-15 10:55:48 +02:00
Thomas Basler
854fcdaeae
Allow configuration of the TX PA Level of the CMT2300A module
2023-04-15 10:55:48 +02:00
Thomas Basler
dc91929d6e
First rough implementation of HMT inverters
2023-04-15 10:55:47 +02:00
Thomas Basler
45882543b6
Allow dynamic pin mapping for CMT module
2023-04-15 10:55:47 +02:00
Martin Dummer
bea0a738c1
include/Configuration.h: rename MQTT_MAX_ROOT_CA_CERT_STRLEN
...
rename const MQTT_MAX_ROOT_CA_CERT_STRLEN to more generic name MQTT_MAX_CERT_STRLEN
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 11:58:27 +02:00
Martin Dummer
d920726a76
src/WebApi_mqtt.cpp: rename function getRootCaCertInfo
...
rename function WebApiMqttClass::getRootCaCertInfo to more generic
name WebApiMqttClass::getTlsCertInfo
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 08:47:24 +02:00
Martin Dummer
971ae6d1be
Feature: MQTT add TLS authentication
...
User asked for TLS client certificate based login from DTU to MQTT
server. This PR implements storage and use of x509 client certificate
and private key.
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-04-12 08:33:10 +02:00
Thomas Basler
ae323cd26f
Status LED's: Implemented
...
They can be activated using device profiles.
2023-04-04 18:53:23 +02:00
Thomas Basler
2e33f5cd51
Display: Implement rotation setting and removed icons
2023-03-15 20:20:14 +01:00
Thomas Basler
c0b5049a74
Auto format: Reorder includes
2023-03-14 18:45:39 +01:00
Markus Dobel
9eff5f228b
feat: export panel settings (name, max power, offset) as prometheus metrics
2023-03-08 09:11:25 +01:00
Thomas Basler
f36a31723a
Fix #636 : Allow full SSID length of 32 characters
2023-02-27 14:32:55 +01:00
Thomas Basler
c67b3e3cbd
Prometheus API: Set correct metrics type
2023-02-24 19:10:35 +01:00
Thomas Basler
759f8b7208
Log errors if too less memory for webapi is available
2023-02-23 21:10:00 +01:00
Thomas Basler
dc66a82695
Fix typo in configuration. Relates to #603
...
Also increase buffer size to read whole config
2023-02-19 22:33:35 +01:00
Thomas Basler
cd99ab8e42
Added settings to pause polling/sending commands in general and at night
2023-02-18 19:44:16 +01:00
Thomas Basler
b319c78dc1
Added methods to calculate and show sunrise and sunset times
2023-02-18 18:15:48 +01:00
Thomas Basler
19a1c0aa54
Added config parameters to set longitude and latitude
2023-02-18 16:53:28 +01:00
Thomas Basler
8cbae76797
Implement offsets for YieldTotal ( #549 )
...
This allows to enter a offset in kWh in the inverter properties which will be applied to the read Yield Total value of the inverter. Using this can set your total production to zero if you e.g. are using a used device.
2023-02-13 20:25:00 +01:00
Thomas Basler
d4c838a16e
BREAKING CHANGE: Prometheus API!
...
Added additional field to the prometheus api which identifies a channel by it's type. That means that e.g. channel 0 exists for type AC and DC.
This commit also introduces a additional field in the statistics byte assignment table. This field identifies whether a channel is on the AC or DC side. MQTT and WebAPI is still compatible with the previous design.
2023-02-06 19:51:10 +01:00
Thomas Basler
2288a193e7
Extend pin mapping name to 63 characters
2023-01-20 18:28:35 +01:00
Thomas Basler
e89fd64439
Added WebAPI to setup display settings. Also reboot only if device profile was changed.
2023-01-20 18:28:34 +01:00
Thomas Basler
f7fb9a2bd6
Display: Add property to enable or disable the screensaver
2023-01-20 18:28:34 +01:00
Thomas Basler
d1483468c6
Rename Display properties and apply power safe immediatly
2023-01-20 18:28:33 +01:00
Thomas Basler
b96d87b933
Read display pinmapping from json file
2023-01-20 18:28:33 +01:00
Thomas Basler
bb3e12814d
Move display pin assignment to main function
2023-01-20 18:28:32 +01:00
Thomas Basler
592dd73fca
Implement _dispX as function local variable
2023-01-20 18:28:23 +01:00
Thomas Basler
1d07574f8a
Rename _lastPublish to _lastDisplayUpdate
2023-01-18 23:22:36 +01:00
Thomas Basler
e572e711a4
Code Style Changes
...
* Add License Identifier
* Move non public required includes to cpp
* Add curly brackets
2023-01-18 23:22:36 +01:00
dAjaY85
7074dd5757
Display init zum Zweiten
...
chango to full Buffer Mode, remove picture loop,
because it's not worked.
look: https://github.com/olikraus/u8glib/wiki/tpictureloop
snprintf + public vars
- dispPowerSafe => true: PowerSafe Mode on
- dispLogo => true: showing Logo upper right corner
- dispContrast => possible to adjust the Display Contrast
change in date time, buffer deleted
Display-Constructor changed, reset goes to front
Arrow and Logo only shown, when production is on
Refactor OLEDDisplayClass to DisplayGraphicClass
2023-01-18 23:22:36 +01:00
Thomas Basler
a4858b4598
Fix #520 : Allow larger certificates
2023-01-17 19:05:02 +01:00
Thomas Basler
3d3feb3517
Allow Ethernet Pin Settings via json config
2023-01-16 22:26:35 +01:00
Thomas Basler
5f699f4927
Added Device Profiles
...
Allows the pin assignment during runtime.
Pin settings will be read from a json file called "pin_mapping.json"
2023-01-16 21:09:24 +01:00