Browse Source

0.7.34

* fixed timezone offset of alarms
* added `AC` and `DC` to `/live` #1098
* changed `ESP8266` default NRF24 pin assignments (`D3` = `CE` and `D4` = `IRQ`)
* fixed background of modal window for bright color
pull/1121/head
lumapu 1 year ago
parent
commit
65758efd99
  1. 243
      doc/logo.svg
  2. 6
      src/CHANGES.md
  3. 4
      src/config/config.h
  4. 2
      src/defines.h
  5. 8
      src/hm/hmPayload.h
  6. 8
      src/hms/hmsPayload.h
  7. 1
      src/web/html/colorBright.css
  8. 1
      src/web/html/colorDark.css
  9. 2
      src/web/html/style.css
  10. 15
      src/web/html/visualization.html

243
doc/logo.svg

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="210mm"
viewBox="0 0 210 210"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="-64.5"
inkscape:cy="344.5"
inkscape:window-width="3840"
inkscape:window-height="2093"
inkscape:window-x="2391"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
height="250mm" />
<defs
id="defs2" />
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g17240"
transform="matrix(35.775665,0,0,35.775665,-5334.8144,-5018.4716)">
<path
style="fill:none;stroke:#000000;stroke-width:0.06;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 154.74994,142.50187 0.11434,0.1422"
id="path3943-4-7-5"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.06;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 154.60774,142.59822 0.11434,0.1422"
id="path3943-4-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 149.91398,140.85599 c 1.40225,-0.87812 3.19468,-0.2033 3.84858,0.202 l -0.7442,1.04188 c -0.62612,-0.22114 -1.00154,-0.60932 -2.41333,-0.24452 l -0.0691,0.35083 z"
id="path869"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.21392,141.55155 c -1.2599,1.01266 -1.06455,2.51317 -0.45941,3.48791 0.75456,1.0271 2.3239,0.99969 2.9768,0.62726 0.63779,-0.42426 1.94377,-1.05377 1.81267,-2.09971 -0.0961,-1.04178 -0.70484,-1.20153 -1.40336,-1.20667 -1.68783,0.0748 -1.32362,1.22986 -0.90367,1.23856"
id="path1892"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.5931,144.45474 c 0.27817,0.40103 0.87303,0.19024 0.90899,-0.14885"
id="path3577"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.82168,143.83811 0.016,0.32958"
id="path3943" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 153.17515,143.83279 0.016,0.32958"
id="path3943-4" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.63359,142.72181 -0.49431,0.39868"
id="path3943-0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.66548,143.38096 -0.46773,-0.0744"
id="path3943-9"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.15518,143.56701 0.47315,0.41995"
id="path3943-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 153.4702,141.47793 c 0.35162,0.1119 0.68235,0.34203 0.97756,0.72187"
id="path4724"
sodipodi:nodetypes="cc" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.02;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.493548"
d="m 154.49613,142.67397 c -0.14568,-0.16932 -0.21004,-0.43524 -0.0664,-0.53822 0.1167,-0.0882 0.24394,0.0122 0.4173,0.28838 z"
id="path5014"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.63886,143.6043 c -0.22738,0.22406 -0.55619,0.0284 -0.55818,-0.50556 0.001,-0.51057 0.48248,-0.98524 0.68974,-0.26687 -0.25538,0.32971 -0.28706,0.58303 -0.13156,0.77243 z"
id="path6624"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.77042,142.83187 c 0.28449,-0.0583 0.27264,0.14573 0.0864,0.49803 0.15907,0.18282 0.13989,0.41353 -0.23304,0.29131"
id="path7200"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.43025,142.9108 c 0,0.008 0.0282,0.23117 0.0282,0.23117"
id="path7548" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.36634,143.68323 c -0.18348,0.48635 0.0257,0.62262 0.22929,0.68786 0.14066,0.0401 0.36543,-0.13425 0.20673,-0.71981"
id="path7616"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.31185,143.82043 c -0.30007,0.27917 -0.36322,0.63293 -0.39656,0.99607"
id="path8434"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.30245,145.23185 c -0.13569,-0.47896 -0.1,-0.94743 0.009,-1.41142"
id="path8630"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 149.72547,144.97813 c 0.0722,-0.10776 0.14669,-0.2286 0.18982,-0.16163 0.13456,0.22578 0.0397,0.29149 -0.0338,0.37212 z"
id="path8788"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.1427,145.43107 c 0.0349,-0.0999 0.071,-0.19742 0.15975,-0.19922 0.0816,0.10619 0.12444,0.22461 0.11088,0.36084 z"
id="path9060"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.9148,142.84878 -0.13907,0.28191 0.19545,-0.015 -0.1729,0.39467 0.34581,-0.49992 h -0.16915 l 0.0789,-0.16162 z"
id="path9579"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 153.71166,142.8375 -0.0752,0.24809 0.15787,-0.004 -0.16539,0.43601 0.39843,-0.54126 -0.21425,0.003 0.0677,-0.14659 z"
id="path9647"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 154.30179,142.82998 -1.714,0.0339 c -0.13676,0.0223 -0.19869,0.1058 -0.22553,0.21801 l -0.004,0.46984 2.13875,0.0188"
id="path9715"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.32091,145.81446 0.0373,-2.26273"
id="path9991"
sodipodi:nodetypes="cc" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.33632,143.83079 0.004,-0.51871 c -0.10484,0.0106 -0.20274,0.0769 -0.20673,0.26687 0.007,0.24041 0.11891,0.24699 0.20273,0.25184 z"
id="path10491"
sodipodi:nodetypes="cccc" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.30738,145.47203 0.004,-0.51871 c -0.10484,0.0106 -0.20274,0.0769 -0.20673,0.26687 0.007,0.24041 0.11891,0.24699 0.20273,0.25184 z"
id="path11162"
sodipodi:nodetypes="cccc" />
<path
id="path11664"
style="stroke:#000000;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round"
d="m 151.46569,145.3596 c 1e-4,0.0434 -0.12209,0.0786 -0.27285,0.0786 -0.15076,0 -0.22697,-0.0621 -0.25735,-0.0931 -0.0636,-0.0648 0.11416,-0.0493 0.27285,-0.0651 0.14988,-0.015 0.25726,0.0362 0.25735,0.0796 z"
sodipodi:nodetypes="sssss" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.41195,145.36787 c 0.27147,0.0125 0.54294,0.0128 0.81442,-0.11575"
id="path11779"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.05;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.42461,145.0546 c 0.27147,0.0125 0.57808,0.10577 0.91984,0.031"
id="path12208"
sodipodi:nodetypes="cc" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.02;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.04401,144.84697 -0.0413,0.25632 c 0.20579,0.002 0.48558,0.0245 0.49429,-0.0343 0.085,-0.16251 -0.25632,-0.16515 -0.45296,-0.22205 z"
id="path12623"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.63853,141.57642 -0.0468,-0.82335 0.0994,-0.0537 0.3274,0.77467"
id="path13234"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150.62099,141.24317 0.25433,-0.0701"
id="path13510"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.15595,140.58837 0.16371,0.85359"
id="path13820"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 151.63245,141.43903 c 0.0886,-0.46733 -0.10049,-0.44742 -0.35957,-0.35079"
id="path14054"
sodipodi:nodetypes="cc" />
<ellipse
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.11875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path14763"
cx="152.07677"
cy="141.24318"
rx="0.21148355"
ry="0.2085603" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.51526,141.15548 -0.0558,0.30693"
id="path14941"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 152.72866,141.30164 -0.43556,0.34787"
id="path15009"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 153.19346,140.93916 -0.24555,0.49987"
id="path15851"
sodipodi:nodetypes="cc" />
<ellipse
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.263573;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path15941"
cx="152.81931"
cy="141.6875"
rx="0.11400716"
ry="0.11693043" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

6
src/CHANGES.md

@ -1,5 +1,11 @@
# Development Changes
## 0.7.34 - 2023-08-16
* fixed timezone offset of alarms
* added `AC` and `DC` to `/live` #1098
* changed `ESP8266` default NRF24 pin assignments (`D3` = `CE` and `D4` = `IRQ`)
* fixed background of modal window for bright color
## 0.7.33 - 2023-08-15
* add alarms overview to WebGui #608
* fix webGui total values #1084

4
src/config/config.h

@ -68,8 +68,8 @@
#define DEF_SCLK_PIN 18
#else
#define DEF_CS_PIN 15
#define DEF_CE_PIN 2
#define DEF_IRQ_PIN 0
#define DEF_CE_PIN 0
#define DEF_IRQ_PIN 2
// these are given to relay the correct values via API
// they cannot actually be moved for ESP82xx models
#define DEF_MISO_PIN 12

2
src/defines.h

@ -13,7 +13,7 @@
//-------------------------------------
#define VERSION_MAJOR 0
#define VERSION_MINOR 7
#define VERSION_PATCH 33
#define VERSION_PATCH 34
//-------------------------------------
typedef struct {

8
src/hm/hmPayload.h

@ -291,12 +291,16 @@ class HmPayload {
record_t<> *rec = iv->getRecordStruct(mPayload[iv->id].txCmd); // choose the parser
mPayload[iv->id].complete = true;
uint8_t payload[100];
uint8_t payload[150];
uint8_t payloadLen = 0;
memset(payload, 0, 100);
memset(payload, 0, 150);
for (uint8_t i = 0; i < (mPayload[iv->id].maxPackId); i++) {
if((mPayload[iv->id].len[i] + payloadLen) > 150) {
DPRINTLN(DBG_ERROR, F("payload buffer to small!"));
break;
}
memcpy(&payload[payloadLen], mPayload[iv->id].data[i], (mPayload[iv->id].len[i]));
payloadLen += (mPayload[iv->id].len[i]);
yield();

8
src/hms/hmsPayload.h

@ -276,12 +276,16 @@ class HmsPayload {
record_t<> *rec = iv->getRecordStruct(mPayload[iv->id].txCmd); // choose the parser
mPayload[iv->id].complete = true;
uint8_t payload[100];
uint8_t payload[150];
uint8_t payloadLen = 0;
memset(payload, 0, 100);
memset(payload, 0, 150);
for (uint8_t i = 0; i < (mPayload[iv->id].maxPackId); i++) {
if((mPayload[iv->id].len[i] + payloadLen) > 150) {
DPRINTLN(DBG_ERROR, F("payload buffer to small!"));
break;
}
memcpy(&payload[payloadLen], mPayload[iv->id].data[i], (mPayload[iv->id].len[i]));
payloadLen += (mPayload[iv->id].len[i]);
yield();

1
src/web/html/colorBright.css

@ -15,6 +15,7 @@
--secondary: #0072c8;
--nav-active: #555;
--footer-bg: #282828;
--modal-bg: #fff;
--total-head-title: #8e5903;
--total-bg: #b06e04;

1
src/web/html/colorDark.css

@ -15,6 +15,7 @@
--secondary: #0072c8;
--nav-active: #555;
--footer-bg: #282828;
--modal-bg: #666;
--total-head-title: #555511;
--total-bg: #666622;

2
src/web/html/style.css

@ -677,7 +677,7 @@ div.hr {
position: relative;
display: flex;
width: 100%;
background-color: var(--nav-active);
background-color: var(--modal-bg);
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.2);
flex-direction: column;

15
src/web/html/visualization.html

@ -120,8 +120,8 @@
ml("div", {class: "row mt-2"},[
numMid(obj.ch[0][11], "W", "Max AC Power"),
numMid(obj.ch[0][8], "W", "DC Power"),
numMid(obj.ch[0][0], "V", "Voltage"),
numMid(obj.ch[0][1], "A", "Current"),
numMid(obj.ch[0][0], "V", "AC Voltage"),
numMid(obj.ch[0][1], "A", "AC Current"),
numMid(obj.ch[0][3], "Hz", "Frequency"),
numMid(obj.ch[0][9], "%", "Efficiency"),
numMid(obj.ch[0][10], "var", "Reactive Power"),
@ -154,13 +154,13 @@
ml("div", {class: "p-2 a-c " + clh}, name),
ml("div", {class: "p-2 " + clbg}, [
ml("div", {class: "row"}, [
numCh(vals[2], units[2], "Power"),
numCh(vals[2], units[2], "DC Power"),
numCh(vals[6], units[2], "Max Power"),
numCh(vals[5], units[5], "Irradiation"),
numCh(vals[3], units[3], "Yield Day"),
numCh(vals[4], units[4], "Yield Total"),
numCh(vals[0], units[0], "Voltage"),
numCh(vals[1], units[1], "Current")
numCh(vals[0], units[0], "DC Voltage"),
numCh(vals[1], units[1], "DC Current")
])
])
]);
@ -222,6 +222,7 @@
function parseIvAlarm(obj) {
var html = [];
var offs = new Date().getTimezoneOffset() * -60;
html.push(
ml("div", {class: "row"}, [
ml("div", {class: "col"}, ml("strong", {}, "String")),
@ -237,8 +238,8 @@
ml("div", {class: "row"}, [
ml("div", {class: "col mt-3"}, String(a.str)),
ml("div", {class: "col mt-3"}, String(a.code)),
ml("div", {class: "col mt-3"}, String(toIsoTimeStr(new Date(a.start * 1000)))),
ml("div", {class: "col mt-3"}, String(toIsoTimeStr(new Date(a.end * 1000))))
ml("div", {class: "col mt-3"}, String(toIsoTimeStr(new Date((a.start + offs) * 1000)))),
ml("div", {class: "col mt-3"}, String(toIsoTimeStr(new Date((a.end + offs) * 1000))))
])
);
}

Loading…
Cancel
Save