From ebe1d82924240648e6f2699489a07c9841be883e Mon Sep 17 00:00:00 2001
From: joBr99 <29555657+joBr99@users.noreply.github.com>
Date: Sat, 14 Jan 2023 14:46:46 +0100
Subject: [PATCH] some final cleanup of power page
---
HMI/README.md | 89 ++++++++++++-------
HMI/code_gen/pages/cardPower.py | 24 +++--
HMI/nspanel.HMI | Bin 9475267 -> 9475267 bytes
HMI/nspanel.tft | Bin 8092048 -> 8097844 bytes
apps/nspanel-lovelace-ui/luibackend/pages.py | 13 ++-
5 files changed, 80 insertions(+), 46 deletions(-)
diff --git a/HMI/README.md b/HMI/README.md
index 8ceee328..7950e59f 100644
--- a/HMI/README.md
+++ b/HMI/README.md
@@ -1868,12 +1868,14 @@ Example: `entityUpd~Guest Wifi~button~navigate.prev~<~65535~~~button~navigate.ne
-### cardPower (in development)
+### cardPower
+
+```entityUpd~LightTest~button~navigate.prev~<~65535~~~button~navigate.next~>~65535~~~17299~C~1~100 W~17299~D~0~100 W~17299~E~3~3499.5 kWh~17299~F~-1~3499.5 kWh~17299~G~-2~3499.5 kWh~17299~H~-3~3499.5 kWh~17299~G~1~3499.5 kWh~17299~H~1~100 W```
- | Parameter Number |
+ Parameter Number |
Category |
Location |
Type |
@@ -1965,153 +1967,178 @@ Example: `entityUpd~Guest Wifi~button~navigate.prev~<~65535~~~button~navigate.ne
| 14 |
- cardPower specific |
- Home Icon Middle |
- |
+ cardPower specific |
+ Home Icon / Value below Home Icon |
+ Power Entity Definition |
iconColor |
|
| 15 |
- |
icon |
|
| 16 |
- |
+ speed |
+ ignored |
+
+
+ | 17 |
text |
|
- | 17 |
+ 18 |
+ Value above Home Icon |
+ Power Entity Definition |
+ iconColor |
+ ignored |
+
+
+ | 19 |
+ icon |
+ ignored |
+
+
+ | 20 |
+ speed |
+ ignored |
+
+
+ | 21 |
+ text |
+ |
+
+
+ | 22 |
1st Item Upper Left |
Power Entity Definition |
iconColor |
|
- | 18 |
+ 23 |
icon |
|
- | 19 |
+ 24 |
speed |
numbers (-2,-1,0,1,2) |
- | 20 |
+ 25 |
text |
|
- | 21 |
+ 26 |
2nd Item Middle Left |
Power Entity Definition |
iconColor |
|
- | 22 |
+ 27 |
icon |
|
- | 23 |
+ 28 |
speed |
numbers (-2,-1,0,1,2) |
- | 24 |
+ 29 |
text |
|
- | 25 |
+ 30 |
3rd Item Bottom Left |
Power Entity Definition |
iconColor |
|
- | 26 |
+ 31 |
icon |
|
- | 27 |
+ 32 |
speed |
numbers (-2,-1,0,1,2) |
- | 28 |
+ 33 |
text |
|
- | 29 |
+ 34 |
4th Item Upper Right |
Power Entity Definition |
iconColor |
|
- | 30 |
+ 35 |
icon |
|
- | 31 |
+ 36 |
speed |
numbers (-2,-1,0,1,2) |
- | 32 |
+ 37 |
text |
|
- | 33 |
+ 38 |
5thItem Middle Right |
Power Entity Definition |
iconColor |
|
- | 34 |
+ 39 |
icon |
|
- | 35 |
+ 40 |
speed |
numbers (-2,-1,0,1,2) |
- | 36 |
+ 41 |
text |
|
- | 37 |
+ 42 |
6th Item Bottom Right |
Power Entity Definition |
iconColor |
|
- | 38 |
+ 43 |
icon |
|
- | 39 |
+ 44 |
speed |
numbers (-2,-1,0,1,2) |
- | 40 |
+ 45 |
text |
|
diff --git a/HMI/code_gen/pages/cardPower.py b/HMI/code_gen/pages/cardPower.py
index d917e174..7adf81ed 100644
--- a/HMI/code_gen/pages/cardPower.py
+++ b/HMI/code_gen/pages/cardPower.py
@@ -6,15 +6,25 @@ head = sharedhead + """
spstr strCommand.txt,tHeading.txt,"~",1
""" + navigation + """
// icon color home
- spstr strCommand.txt,tTmp.txt,"~",14
- covx tTmp.txt,t1.pco,0,0
- // icon home
- spstr strCommand.txt,t1.txt,"~",15
- // text home
- spstr strCommand.txt,tHome.txt,"~",16
+ spstr strCommand.txt,tTmp.txt,"~",14
+ covx tTmp.txt,t1.pco,0,0
+ // icon home
+ spstr strCommand.txt,t1.txt,"~",15
+ // speed 16 ignored
+ // text home
+ spstr strCommand.txt,tHome.txt,"~",17
+ spstr tHome.txt,tHome2.txt," ",1
+ spstr tHome.txt,tHome.txt," ",0
+ // icon color 18 ignored
+ // icon 19 ignored
+ // speed 20 ignored
+ // text home
+ spstr strCommand.txt,tHomeO.txt,"~",21
+ spstr tHomeO.txt,tHomeO2.txt," ",1
+ spstr tHomeO.txt,tHomeO.txt," ",0
"""
print(head)
-start = 17
+start = 22
for i in range(0,6):
idxstart = start + (i)*4
item = f"""
diff --git a/HMI/nspanel.HMI b/HMI/nspanel.HMI
index d808e98062a1acf6da0889e0e0735e87b3544ba9..07320188660927b46128b6106e6a0277d58208e1 100644
GIT binary patch
delta 5342
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